Preset Catalog

Presets bundle related resource types. Install a preset with:

weos resource-type preset install <name>

core

Auto-install: Yes (installed on first run)

Type Slug @type Properties
Person person foaf:Person / schema:Person givenName*, familyName*, name (computed), email, avatarURL
Organization organization org:Organization / schema:Organization name*, slug*, description, url, logoURL

The Person type auto-computes name from givenName + familyName.


ecommerce

Auto-install: No

Type Slug @type Properties
Product product schema:Product name*, description, sku, brand, image (format: uri)
Offer offer schema:Offer name*, price* (number), priceCurrency, availability
Review review schema:Review name*, reviewBody, reviewRating (integer), author
Service service schema:Service name*, description, provider, serviceType

tasks

Auto-install: No

Type Slug @type Properties
Project project schema:Project name*, description, status
Task task schema:Action name*, description, status, priority, dueDate (format: date), project (ref→project, display: name)

The Task type’s project property references the Project type, creating a foreign key relationship.


website

Auto-install: No

Type Slug @type Properties
Web Site web-site schema:WebSite name*, url (format: uri), description, inLanguage
Web Page web-page schema:WebPage name*, slug, description, template
Web Page Element web-page-element schema:WebPageElement name*, cssSelector, content
Web Page Template web-page-template schema:WebPage (variant: template) name*, templateBody, slots (array of strings)
Theme theme schema:CreativeWork name*, version, thumbnailUrl (format: uri)
Article article schema:Article headline*, articleBody, author, datePublished (format: date-time)
Blog Post blog-post schema:BlogPosting headline*, articleBody, author, datePublished (format: date-time)
FAQ faq schema:FAQPage name*, mainEntity (array of {name, acceptedAnswer})
Breadcrumb List breadcrumb-list schema:BreadcrumbList name*, itemListElement (array of {name, item (uri), position (int)})

events

Auto-install: No

Type Slug @type Properties
Event event schema:Event name*, description, startDate (format: date-time), endDate (format: date-time), location
Place place schema:Place name*, address, geo (object: latitude, longitude)
Venue venue schema:EventVenue name*, address, maximumAttendeeCapacity (integer)

knowledge

Auto-install: No

Type Slug @type Properties
Concept concept skos:Concept prefLabel*, altLabel (array), definition
Concept Scheme concept-scheme skos:ConceptScheme title*, description
Collection collection skos:Collection prefLabel*, member (array)

meal-planning

Auto-install: No

Type Slug @type Properties
Recipe recipe schema:Recipe name*, description, recipeYield (object), prepTime, cookTime, totalTime, recipeCuisine, recipeCategory, keywords (array), suitableForDiet (ref→restricted-diet), recipeInstructions (ref→how-to-step), recipeIngredient (ref→recipe-ingredient), nutrition (ref→nutrition-information), image (format: uri)
How-To Step how-to-step schema:HowToStep position* (integer), text*, image (format: uri), recipe* (ref→recipe)
Ingredient ingredient fo:Food name*, description, alternateNames (array), shoppingCategory (enum), season (array), suitableForDiet (ref→restricted-diet), defaultUnit, image (format: uri)
Recipe Ingredient recipe-ingredient mp:RecipeIngredient quantity* (number), unit*, preparation, optional (boolean), recipe* (ref→recipe), ingredient* (ref→ingredient)
Nutrition Information nutrition-information schema:NutritionInformation servingSize*, calories, proteinContent, carbohydrateContent, fatContent, saturatedFatContent, fiberContent, sugarContent, sodiumContent, recipe (ref→recipe), ingredient (ref→ingredient)
Cookbook cookbook schema:Collection name*, description, image (format: uri), keywords (array), recipes (ref→recipe)
Meal Plan meal-plan schema:MealPlan name*, description, startDate* (format: date), endDate* (format: date), suitableForDiet (ref→restricted-diet)
Scheduled Meal scheduled-meal schema:Schedule startDate*, endDate, startTime, endTime, duration, repeatFrequency, repeatCount (integer), byDay (array), mealType* (enum), servings (number), notes, recipe* (ref→recipe), mealPlan* (ref→meal-plan)
Meal Occurrence meal-occurrence mp:MealOccurrence date* (format: date), mealType* (enum), servings (number), status* (enum: planned, cooked, skipped), cookedAt (format: date-time), notes, scheduledMeal* (ref→scheduled-meal)
Pantry pantry mp:Pantry name*, description, location, isDefault (boolean)
Food Item food-item mp:FoodItem quantity* (number), unit*, storage (enum), purchaseDate (format: date), expirationDate (format: date), notes, ingredient* (ref→ingredient), pantry* (ref→pantry)
Shopping List shopping-list mp:ShoppingList name*, createdAt (format: date-time), status (enum: draft, active, completed), mealPlan (ref→meal-plan), pantry (ref→pantry)
Shopping List Item shopping-list-item mp:ShoppingListItem quantity* (number), unit*, checked (boolean), notes, ingredient* (ref→ingredient), shoppingList* (ref→shopping-list)
Restricted Diet restricted-diet schema:RestrictedDiet name*, description, identifier

Behaviors: pantry (enforce single default), scheduled-meal (generate meal occurrences), meal-occurrence (deplete pantry on cook). Hidden from sidebar by default: how-to-step, recipe-ingredient, nutrition-information, meal-occurrence, food-item, shopping-list-item, restricted-diet.


* = required property

JSON Schema Extensions

Extension Purpose Example
x-resource-type Foreign key to another resource type "x-resource-type": "project"
x-display-property Which property of the referenced type to show "x-display-property": "name"

Back to top

WeOS is open source under AGPL-3.0. Built by Wepala.

This site uses Just the Docs, a documentation theme for Jekyll.