Playbooks for Hotels — Declarative Hotel Operations
Status: Product Specification
Sources: Sovereign OS Playbook Architecture: Common Business Workflows, Comprehensive Business Processes Specification, Playbook Catalog — Full Detail for Every Playbook, D-03 — Jijibora Playbook Designs (developer), AGENTS.md — Sovereign OS / Cosmic Circuit mandates 3 & 4
1. Playbook Philosophy for Hotels
Hotel standard operating procedures (SOPs) are expressed as declarative playbooks — versioned YAML specs stored in NATS JetStream KV (SOVEREIGN_SCENARIOS) — not as hardcoded application logic. Each playbook binds strictly to canonical primitives (claim, truth_node, truth_edge, resource, resource_edge, integration_entity) with zero bespoke tables.
A hotel playbook declares:
- Canonical schema bindings — which CNS types and claim traits the playbook touches
- Execution & state gates — Kestra (
:8180) macro-DAGs for multi-day flows, Apache Camel (:8181) micro-integrations for real-time steps, PoCE cryptographic sessions for sign-offs - External mediation — bidirectional sync to PMS, ERPNext, OpenMAINT, Plane, Synapse via
integration_entitymirrors - Declarative UI schemas — forms, checklist cards, approval modals rendered dynamically (UI Bolt-On Guide & Declarative Component Blueprints)
2. Hotel Playbook Catalog
| # | Playbook | Hotel Function | CNS Type | SoR Boundary | External Peer |
|---|---|---|---|---|---|
| H-1 | Reservation & Folio Lifecycle | Front desk | cns://claim/type/hotel/reservation | Sovereign / PMS | PMS |
| H-2 | Housekeeping Task & Turnover | Housekeeping | cns://workflow/task | Sovereign OS | — |
| H-3 | Maintenance & Work Order | Engineering | cns://operations/work_order | Sovereign / OpenMAINT | OpenMAINT |
| H-4 | Procurement & F&B Requisition | Purchasing / F&B | cns://workflow/requisition | Sovereign / ERPNext | ERPNext |
| H-5 | Event & Banquet Booking | Events / Catering | cns://claim/type/hotel/event | Sovereign OS | — |
| H-6 | Event Design / Mood Board | Events | cns://creative/mood_board | Sovereign OS | Gotenberg (PDF export) |
| H-7 | Staff Communication & Discussion | All staff | cns://collaboration/discussion | Sovereign / Synapse | Synapse (Matrix) |
| H-8 | Incident & Security Report | Security / Ops | cns://claim/type/hotel/incident | Sovereign OS | — |
| H-9 | Group Procurement (multi-property) | Corporate / Group | cns://federation/procurement | Multi-tenant | ERPNext (fiscal) |
| H-10 | Guest Identity & Access | Front desk / Security | cns://truth/node/person | Keycloak / APF | Keycloak |
3. Playbook H-1 — Reservation & Folio Lifecycle (Front Desk)
Use & purpose: Capture a reservation, bind it to a room resource, build the folio line-by-line, and close out at check-out with payment settlement.
Who uses it: Front desk agents, night auditor, revenue manager, cashier.
Flow:
- Guest reservation arrives (PMS webhook → Camel →
cns://claim/type/hotel/reservationclaim created, traits[booking_confirmed, poce_governed]) - Room resource reserved via
truth_edgeguest→occupies→room(lease-backed, time-bounded) - Folio lines posted as
cns://claim/type/hotel/folio_lineclaims (room charge, F&B, minibar, incidentals) - Budget threshold evaluated against
resource:budget_front_office(declarative lookuplookup.claims.threshold.v1) - Dual-custody approval gate for folio adjustments above tier (PoCE session,
fn::poce::record_step) - Check-out: settlement claim finalized via
fn::poce::finalize_session, ERPNext invoice mirror written viaintegration_entity(system: "erpnext") - Room lease released;
truth_edgeoccupancy ended; housekeeping task auto-triggered (H-2)
Guard rails: No auto-charge without folio evidence; no check-out without PoCE finalize; no rate change without named approver; PMS remains SoR for fiscal reservation details, Sovereign for operational state.
Evidence & rollout: Reservation claim, folio lines, PoCE receipt, ERPNext invoice ref. Version 1.0.0. Soft-first.
4. Playbook H-2 — Housekeeping Task & Turnover
Use & purpose: Turn a departed room into a clean, inspectable room; track attendant, checklist, and sign-off.
Who uses it: Housekeeping supervisors, room attendants, inspectors.
Flow:
- Departure event (from H-1 occupancy end) triggers
cns://workflow/taskclaimhousekeeping_HK-{room} - Task bound to room resource and assigned attendant via
truth_edge - Attendant works checklist (linens, amenities, sanitization); records photo evidence to MinIO (SHA-256 in claim.evidence)
- Inspector sign-off via SoD (separation of duties: inspector ≠ cleaner;
lookup.claims.sod.v1) fn::poce::record_stepfor clean-sign-off; room status →READY; new occupancy lease can bind- Real-time status streamed to front desk via NATS WebSocket (
workflow.{property}.housekeeping.*)
Guard rails: No auto-mark-clean without inspector sign-off; no room released to new guest while task OPEN; no invented checklist items (bind from lookup.claims.checklist.v1).
Evidence & rollout: Task claim, photo hashes, inspector sign-off, PoCE receipt. Soft-first.
5. Playbook H-3 — Maintenance & Work Order (Engineering)
Use & purpose: Fault report → inspection claim → OpenMAINT work order → technician dispatch → spare-parts deduction → close with expert sign-off.
Who uses it: Engineering supervisors, technicians, vendors, front desk (fault intake from guests).
Flow:
- Fault submitted as
cns://claim/type/hotel/incident(orcns://operations/incident) with photo evidence (MinIO) - Camel transforms claim into OpenMAINT card (
openmaint.v1.cmd.workorder.create); WO id stored inintegration_entity(system: "openmaint") - OpenMAINT schedules technician; status syncs back over NATS to the task claim
- Technician completes work, logs parts consumed; spare parts deducted from
resource:budget_maintenance - Expert sign-off mandatory (SoD);
fn::poce::finalize_session; work order closed - Recurring preventive maintenance scheduled as recurring
cns://operations/work_orderclaims
Guard rails: No auto-close without expert sign-off; no parts deduction without work-order close; OpenMAINT owns asset spec/depreciation, Sovereign owns booking availability and sign-off (conflict matrix in Integration Matrix & System Adapters Specification §3).
Evidence & rollout: Incident claim, OpenMAINT WO ref, parts log, sign-off, PoCE receipt. Soft-first.
6. Playbook H-4 — Procurement & F&B Requisition
Use & purpose: Assemble purchasing requisitions (F&B supplies, amenities, linens), route by budget threshold, multi-tier cryptographic approval, sync PO to ERPNext.
Who uses it: Procurement officer, F&B manager, executive chef, finance director.
Flow:
- Requisition claim
cns://workflow/requisitionwith line items, currency, cost center, urgency - Declarative threshold policy (
lookup.claims.threshold.v1/.procurement.v1) computes approval tier (TIER_1_AUTO/TIER_2_MANAGEMENT/TIER_3_EXECUTIVE) - Dual-custody approval via PoCE (
fn::poce::record_stepper signer) - Approved requisition → Camel → ERPNext
POST /api/resource/Purchase Order(idempotency key = requisition id); PO number stored inintegration_entity - Goods receipt matched to PO; three-way match (PO, receipt, invoice) before payment release
- Solver-gateway optional:
procurement.basket_split@1(branch_and_bound) to split F&B basket across vendors for least cost — proposes only; buyer disposes
Guard rails: No PO without PoCE-approved requisition; no synthetic vendor IDs; ERPNext owns fiscal GL/tax; Sovereign owns approval state. Fail closed if ERPNext unreachable (502).
Evidence & rollout: Requisition claim, approval signatures, ERPNext PO ref, three-way match, PoCE receipt. Soft-first.
7. Playbook H-5 — Event & Banquet Booking
Use & purpose: Book function spaces, set F&B minimums, manage event lifecycle from inquiry to post-event settlement.
Who uses it: Events manager, banquet chef, clients, finance.
Flow:
- Event claim
cns://claim/type/hotel/event(function space, dates, F&B minimum, AV needs, guest count) - Space resource reserved via time-bounded lease (no double-booking)
- Milestone approvals (menu sign-off, BEO, deposit) as PoCE steps
- Event execution; consumption logged to folio lines (H-1)
- Post-event settlement; escrow release if group/corporate contract (federated PoCE if client is a separate org)
Guard rails: No space double-booking (lease conflict check); no event start without deposit confirmation; no auto-cancellation.
Evidence & rollout: Event claim, lease binding, milestone PoCE steps, settlement receipt. Soft-first.
8. Playbook H-6 — Event Design / Mood Board
Use & purpose: Curate visual direction for events (layout, color palette, floral, AV); export presentation-grade PDF for client sign-off.
Who uses it: Events team, clients, designers.
Flow:
- Mood board claim
cns://creative/mood_boardwith pinned assets (MinIO URLs + SHA-256) - Client annotations and approval gate
- Camel
/services/playbook/moodboard/{board_id}/export-pdfvia Gotenberg (:3094) → signed PDF - PDF stored in MinIO; hash recorded on claim; client sign-off as PoCE step
Guard rails: No asset pinned without SHA-256 integrity; no export without board claim.
Evidence & rollout: Mood board claim, asset hashes, exported PDF ref, client sign-off. Soft-first.
9. Playbook H-7 — Staff Communication & Discussion
Use & purpose: Real-time, E2E-encrypted staff discussion rooms bound to operational threads; promote discussions to formal proposals.
Who uses it: All hotel staff, department heads.
Flow:
- Discussion thread claim
cns://collaboration/discussion→ Synapse Matrix room (!room_id:hotel.local) integration_entitymirror (system: "synapse", external_id: room_id)- Inbound Matrix messages mirrored back as
cns://collaboration/discussion_commentclaims (cryptographic provenance) - Moderator "Promote to Formal Proposal" → governance proposal claim (community governance
s165)
Guard rails: Synapse is real-time transport; Sovereign is authoritative record. No governance decision from chat alone.
Evidence & rollout: Discussion claim, room mirror, comment claims, promotion receipt. Soft-first.
10. Playbook H-8 — Incident & Security Report
Use & purpose: Log security/safety incidents (theft, injury, property damage); escalate ladder; preserve evidence for audit/insurance.
Who uses it: Security staff, front desk, GMs, insurers.
Flow:
- Incident claim
cns://claim/type/hotel/incidentwith location, severity, reporter, photo evidence - Escalation ladder: property security desk → GM → regional safety office (human approval at each step; no auto-fine, no auto-lockout)
- PoCE records each escalation step
- Insurance packet exported (Gotenberg PDF) with evidence hashes
Guard rails: No auto-fine; no auto-publish; human approval required for escalation; no invented severity scores.
Evidence & rollout: Incident claim, escalation receipts, evidence hashes, export packet. Soft-first.
11. Playbook H-9 — Group Procurement (Multi-Property Federation)
Use & purpose: Hotel group aggregates F&B/amenity demand across properties for volume pricing; federated escrow release on delivery verification.
Who uses it: Group procurement, property procurement officers, suppliers.
Flow:
- Federated requisition claim
cns://federation/procurementwithis_federated: true - Bound to peer property scopes via
record_federation_binding(s184) - Each property signs allocation quota with BBS+ key (selective disclosure — no internal margin leakage)
- Shared PoCE escrow session; supplier payment released only on multi-property delivery verification
Guard rails: Authority verdict required before award; missing verdict blocks award; no autonomous escrow release.
Evidence & rollout: Federated claim, federation bindings, BBS+ signatures, PoCE escrow receipt. See Cross-Organization Federation & Federated PoCE Specification.
12. Playbook H-10 — Guest Identity & Access
Use & purpose: Unified guest/staff identity with APF role-based access, BBS+ selective disclosure for age/nationality proofs, Keycloak anchoring.
Who uses it: Front desk, security, IT, compliance.
Flow:
- Identity
truth_node(cns://truth/node/person) linked to Keycloak DID - APF (
s230) resolves effective permissions per role per property (front desk agent vs. housekeeping vs. manager) - BBS+ credential: guest proves age/nationality without surrendering full ID document
- Access grants logged to PoCE for audit
Guard rails: No credential without Keycloak anchoring; no access beyond resolved APF permissions; no PHI custody (non-goal per Jijibora D-01 §7).
Evidence & rollout: Identity claim, APF resolution, BBS+ proof receipts. Soft-first.
13. Authoring the Next Hotel Playbook (Recipe)
Derived from D-03 — Jijibora Playbook Designs (developer):
- Reuse the spine, add nothing new. Consume
platform.criteria.v1.*subjects; emitplatform.criteria.v1.match.firedwithinherit_causation: true. No second bus, no second envelope. - Copy the rule JSON shape. Fields:
rule_id,name,domain,enabled,version,description,runtime{tier,engine,chain},pipeline{id,stage,max_depth,terminal},inputs[]{stream,filter},evaluation{kind,engine,key_by},outputs[]{on_match|on_feasible|on_breach},side_effects{handled_by}(terminal-only actuation). - Declare the pack in
dictionary.v1.jsonfirst:emits/consumes/enrichment/solver_stages/security_boundper pack. - Declare every lookup in NATS KV with
canonical_subject,canonical_event_type,pipeline_id. - Declare all side effects in NATS KV — never inline imperative SQL in route handlers.
- If it cannot be expressed as a fragment/config/lookup, stop and ask before writing code (AGENTS.md — Sovereign OS / Cosmic Circuit mandate 3).