Guest profile
Reusable context about a Guest: prompted sections, notes and pinned places.
- Viewer ID
zendo/guest-profile- Term IRI
urn:zendo:concierge:v1#GuestProfile- Identity
- guestProfile.profileId; guestId points to Guest. id remains the legacy guest-ID alias.
- Owner
- Concierge-maintained context with attributed contributions; no authenticated guest editor is simulated.
Fields 10
| Field | Contract |
|---|---|
schemaRequired | "zendo.guest-profile/v1"Schema constraints{
"const": "zendo.guest-profile/v1"
} |
idRequired | stringStable record ID; on Guest Profile, the legacy guest-ID alias. Schema constraints{
"type": "string",
"maxLength": 120
} |
revisionRequired | integerRecord-local revision; distinct from the workspace version. Schema constraints{
"type": "integer",
"minimum": 1
} |
nameRequired | stringGuest-selected or concierge-entered display identity. Schema constraints{
"type": "string",
"minLength": 1,
"maxLength": 100
} |
companyOptional | stringOptional organisation display text; no directory membership is implied. Schema constraints{
"type": "string",
"maxLength": 100
} |
notesRequired | stringOrdinary freeform notes in the owning record. Schema constraints{
"type": "string",
"maxLength": 2000
} |
preferencesRequired | stringEnduring interests and routines; soft retrieval context. Schema constraints{
"type": "string",
"maxLength": 4000
} |
profileIdOptional | stringIdentity of the reusable profile record. Schema constraints{
"type": "string"
} |
guestIdOptional | stringThe Guest this record concerns. Schema constraints{
"type": "string"
} |
chunksOptional | arrayPrompted topic responses with source, revision and contribution history. Schema constraints{
"type": "array",
"maxItems": 7,
"items": {
"$ref": "#/$defs/ProfileChunk"
}
} |
Scope & rules
- A profile describes one Guest. Profile chunks describe topics; they are not new identity classes.
- Company is optional; notes are ordinary freeform notes.
- Guest-provided, concierge-observed and agent-suggested are sources, not separate profile types.
- Profile context informs matching. Hard trip requirements require an explicit brief edit.
- Pinned places are places the guest specifically likes; relevant places belong to a trip brief.
- Profile edits preserve the active brief, recommendations, selection and draft.
- Guest-only confirmation remains unavailable until a verified guest session exists.