Record / Decisions & evidencePermalink ↗
Recommendation
An authored proposal for a trip brief and home; several proposals can coexist.
- Viewer ID
zendo/recommendation- Identity
- recommendations[].id
- Owner
- Recommending concierge or Hermes actor.
Fields 11
| Field | Contract |
|---|---|
schemaRequired | "zendo.recommendation/v1"Schema constraints{
"const": "zendo.recommendation/v1"
} |
idRequired | stringStable record ID; on Guest Profile, the legacy guest-ID alias. Schema constraints{
"type": "string"
} |
guestIdRequired | stringThe Guest this record concerns. Schema constraints{
"type": "string"
} |
briefIdRequired | stringActive trip reference for trip scope; null for reusable guest scope. Schema constraints{
"type": "string"
} |
briefRevisionRequired | integerSchema constraints{
"type": "integer",
"minimum": 1
} |
propertyIdRequired | stringSchema constraints{
"type": "string"
} |
reasonRequired | stringSchema constraints{
"type": "string",
"minLength": 1,
"maxLength": 2000
} |
createdByRequired | objectSchema constraints{
"type": "object"
} |
createdAtRequired | stringSchema constraints{
"type": "string"
} |
statusRequired | current | review-needed | withdrawnSchema constraints{
"enum": [
"current",
"review-needed",
"withdrawn"
]
} |
legacyOptional | booleanSchema constraints{
"type": "boolean"
} |
Scope & rules
- Adding a recommendation does not select it or change an existing draft.
- A changed brief retains history and marks current proposals review-needed.
- Review-needed and withdrawn proposals cannot be selected. Recommending again creates a new proposal for the current revision.
Relationships 2
is forTrip brief 0..* → 1
proposesHome listing 0..* → 1