JJijibora
Docs & Product Guide
On this page (3 sections)

Appendix B — Hotel NATS JetStream KV Lookups

Status: Reference
Sources: datasets/lookups/ (existing lookup schema patterns), AGENTS.md — Sovereign OS / Cosmic Circuit mandate 4 (no filesystem reads at runtime; KV seeded offline via scripts/seed-nats-kv-declarative.mjs)

All hotel configuration lives in NATS JetStream KV buckets (SOVEREIGN_LOOKUPS, SOVEREIGN_SCENARIOS, SOVEREIGN_TEMPLATES). The files under datasets/lookups/ are offline seed sources only.


1. Existing Lookup Patterns Reused by Hotels

Lookup KeyPurposeHotel Use
lookup.claims.threshold.v1Quorum threshold VALUES by claim typeFolio adjustment, PO approval tiers
lookup.claims.threshold.procurement.v1Procurement amount bands → quorum + approver rolesF&B requisition approval routing
lookup.claims.sod.v1Separation-of-duties rules by claim typeHousekeeping (cleaner≠inspector), dual control
lookup.claims.sla.v1SLA bindings to KestraHousekeeping turnaround SLA, fault response SLA
lookup.claims.evidence.v1Evidence requirementsPhoto evidence for housekeeping/maintenance/incident
lookup.claims.panel.v1Approver panels / role listsNamed approvers per tier
lookup.claims.transition_policy.v1Stage transition policyClaim lifecycle stages per hotel claim type
lookup.claims.outbox_subjects.v1Outbox subject keysNATS subjects for hotel playbook events
lookup.entity.indexability.entity.building.v1Indexability for building/space entitiesRoom & function space resolution
lookup.camel.intake.maps.v1Camel intake route mapsExternal webhook → claim mapping

2. Hotel-Specific Lookups to Declare

These are proposed hotel lookups (values bind at wiring time; no rates/counts/prices invented here):

Lookup Key (proposed)PurposeExample Value Shape
lookup.hotel.reservation.policy.v1Reservation rules (deposit, cancellation, hold window){deposit_required: true, hold_window_min: 15}
lookup.hotel.housekeeping.checklist.v1Room turnover checklist items{items: [linens, amenities, sanitization]}
lookup.hotel.maintenance.priority.v1Fault priority bands{P1: emergency, P2: urgent, P3: routine}
lookup.hotel.event.space.v1Function space capacity & constraints{capacity: 200, fnb_minimum: true}
lookup.hotel.approval.tiers.v1Approval tier thresholds{TIER_1_AUTO: <KES X, TIER_2_MANAGEMENT: ...}
lookup.hotel.escalation.ladder.v1Incident escalation ladder{level1: security_desk, level2: gm, level3: regional}
lookup.hotel.room.status.v1Room status vocabulary{VACANT_DIRTY, VACANT_CLEAN, OCCUPIED, OUT_OF_ORDER}

Values, thresholds, cadences, and prices are UNKNOWN in this document and must bind from governed NATS KV at wiring time. No hotel-specific rates, counts, or prices are hardcoded.


3. Declaration Pattern (offline seed)

json
{
  "schema_id": "lookup.hotel.housekeeping.checklist.v1",
  "version": "1.0.0",
  "canonical_subject": "platform.criteria.v1.housekeeping.checklist",
  "canonical_event_type": "checklist_definition",
  "pipeline_id": "pipe:jijibora:hotel:housekeeping",
  "checklist": {
    "room_turnover": ["stripped_linen", "fresh_linen", "amenities_stocked", "surfaces_sanitized", "inspection_ready"]
  }
}

Seeded to SOVEREIGN_LOOKUPS via scripts/seed-nats-kv-declarative.mjs; runtime reads KV only.