AI HOSPITALITY ALLIANCE · WORKGROUP 2 · IMPLEMENTATION GUIDE

AI Orchestration Framework for Hospitality

A practical framework for placing one shared integration and control layer between AI agents and hotel systems — with a topology-neutral architecture and reusable implementation tools.

Includes free, reusable tools for each repeatable part of the workflow.

SegmentEnterprise
AudienceOperators & technology leadersArchitects, engineers & integratorsSecurity, governance & procurement
Operating levelCorporate level

Overview

Overview

For hotel estates where more than one AI agent or channel needs hotel data or actions, this guide recommends a shared AI integration and control layer between those agents and the hotel systems of record. The shared layer gives every agent one governed route to current facts and deterministic actions while each PMS, CRS, RMS, CRM, building system and service platform keeps its existing authority.

Scope

  • agent-to-system and agent-to-agent routing;
  • session, reservation, guest, property, and unit context;
  • identity, authorization, consent, and policy enforcement;
  • deterministic execution of state-changing actions;
  • event handling and cross-system workflow coordination;
  • observability, decision lineage, rollback, and human handoff;
  • portfolio, property, and multi-vendor deployment patterns.

Operating boundary: the layer governs interactions within hotel-owned or hotel-controlled systems. Third-party OTAs continue to interact with the CRS as they do today; once data reaches hotel-owned systems it is treated as within the hotel-controlled operating boundary, and the layer governs how systems interact from that point forward.

Out of scope

  • replacing hotel systems of record;
  • third-party OTA distribution channels — out of scope for Phase 1;
  • data ownership — introduces legal complexity best handled elsewhere; direct booking does not by itself settle all data rights;
  • the data foundation itself — entity definitions, key rules, identity resolution, survivorship and the quality gate are the data-foundation discipline’s; referenced here, not restated;
  • selecting a specific cloud, model, orchestration product, or agent vendor;
  • unit-level operating and disclosure models for individually managed inventory in Phase 1;
  • legal conclusions about channel consent, PCI scope, or distribution access;
  • numeric performance targets, until observed data exists (tenancy leakage excepted; its only defensible value is zero).

Metasearch is shown as an external distribution boundary. Whether agentic metasearch transactions belong within the framework’s scope remains unresolved.

What this guide provides

  • Capability model and control plane (Control plane) — the required orchestration functions.
  • Worked examples — how the systems coordinate, shown as illustrative flows.
  • Data plane and topology test (Data plane and topology test) — how the estate’s shape selects the configuration.
  • Integration and control-point inventory, and reliability checklist (Integration inventory–7).
  • Authorized-agent handshake (Guest and agent authorization) — what constitutes an authorized agent.
  • Adopted positions, deployment profiles, and the multi-agent contract (Deployment profiles–11).

Terminology

TermMeaning
Guarded writeAn independently authorized, validated and attributable state change executed by deterministic code.
Guarded conversionThe booking-specific handover and submission-time revalidation pattern.
Guarded disclosureDeterministic permission over the information admitted to context.
Semantic layerA shared entity vocabulary; the full layer is not supplied here.
Integration boundaryA system of record keeps authority even when a governed derived view serves retrieval.

A joint governance terminology crosswalk remains to be agreed. API gateways, ESBs, event-driven integration, retail order management, telecom ODA, healthcare interface engines and building protocols are useful analogies, not normative authority for hospitality agent behavior. [R7] [R8] [R9] [R10] [R11]

How to follow this guide

Read and apply the framework in this order

  1. Understand the shared-layer rationale, scope and two-plane reference architecture
  2. Establish the entire control plane: components, capabilities, registers, services and cross-cutting responsibilities
  3. Separate orchestration from deterministic execution and implement the guarded action path
  4. Choose the data-plane pattern, then inventory systems, interfaces, permissions and legacy access
  5. Design reliability, authorization, deployment and multi-agent coordination
  6. Test the stated positions
  7. Review the four worked examples so the controls are tied to hotel operations, then collect readiness and vendor evidence

Use this guide to decide whether a shared layer is needed, choose the data-plane pattern for your estate, document interfaces and controls, and request evidence from vendors. A separate layer may be unnecessary for a bounded workflow that stays inside one system and one vendor.

Metasearch is shown as an external distribution boundary for this release. Whether an emerging agentic metasearch transaction path belongs in the orchestration scope remains unresolved; do not assume an end-to-end distribution standard is supplied here. [R15]

Suggested architecture

Suggested architecture

The architecture in one view — open full-size diagram
The architecture in one view. One logical control plane and its declared registers sit above interchangeable services and a data-plane configuration selected for the estate. The diagram is a logical reference architecture, not a requirement for one physical server. Open full size ↗

Why use a shared layer?

Integration arithmetic is the weakest reason. Four agents against five backends is twenty connections; a layer between them makes it nine, and adds one connection per new agent rather than five. The arithmetic is correct and it is the least important of the three.

Consistency is what forces the decision. A guest who asks the same question through web chat and through messaging and gets two different answers is watching the operator’s own information contradict itself, and no prompt engineering inside either agent fixes it, because the disagreement is upstream of both. The same applies to actions: the same authorized intent under matching scope and state should have the same intended effect through either agent, with distinct audit records linked by correlation identifiers.

Substitutability is what pays off over years. If access to the systems of record is mediated by a layer the operator controls, changing a model, adding an agent, or replacing a vendor can be localized to that layer, subject to interface compatibility, policy review and conformance testing. If each agent holds its own credentials and integrations, every such decision reopens a negotiation with every backend, and switching cost — not product quality — is what keeps a vendor in place.

Why use a shared layer? — open full-size diagram
Why use a shared layer?. Four agents and five hotel systems produce 20 direct connections, compared with nine governed connections through a shared layer. The connection count is illustrative, not a measured cost reduction; every interface still needs contracts, permissions, freshness rules and operating support. Open full size ↗

How this interlocks with the platform architecture

The shared layer defines who may act, under whose authority, in what order and with what evidence. A platform architecture defines runtime isolation, storage, scaling and observability. Central, regional and property-local runtime cells are compatible with this guide when they implement the same scope, retrieval, permission, precedence and audit contract.

InterfaceWhat the platform must provideWhat the shared layer must enforce
RetrievalA scoped serving path over authoritative or governed resolved data.A common entitlement, freshness and merge contract at every retrieval.
ActionIsolated execution services with least-privilege backend credentials.Independent authorization, precedence, commercial-constraint and operating-mode checks before execution.
EventsDurable event intake and correlated operational telemetry.Declared delivery, idempotency, replay and visible recovery behavior.
Legacy accessNamed adapters for file, polling, interface-only and on-premise sources.A staleness budget and topology choice that reflect the actual access path.
PaymentsAn authorized payment surface or gateway outside model context.No raw cardholder data or charge-capable credential in retrieval, prompts, caches or agent context.

Several contributions converge on a shared control contract and deterministic execution, but the production examples and adjacent platform material are not three independent validations of the whole framework. The architecture remains a blueprint that must be tested in each estate.

Control plane

Control plane

The control plane — open full-size diagram
The control plane. This is the fixed logical contract from the architecture in one view. It is shown before the component detail so the reader can locate every control-plane responsibility in the full design. Open full size ↗

The control plane is where the AI-aware work happens, so that the PMS, CRS, RMS, CRM, and the rest of the stack keep doing what they already do, exposed through interfaces rather than rebuilt. It is described as five components an implementer can build, nine request-path capabilities those components hold, and a tenth event-handling capability on a separate asynchronous axis. The component view says what to build; the capability view says what each build must be responsible for.

Control plane components

ComponentResponsibilityWhat happens without it
Request routerClassifies a request as a knowledge question, an action, or both; resolves scope (which property, brand, region); holds conversation context across turns.Every agent implements its own classification, and scope is inferred from whatever the guest mentioned. Cross-property answers leak.
Knowledge gatewaySingle point of retrieval: exact lookup for structured facts, semantic retrieval for documents, a defined merge between them, and filtering by scope and entitlement before anything is returned.Two agents, two retrievals, two answers, and no way to say which was right.
Model routerMaps task type to model; applies cost, latency and quality policy; holds fallback chains when a provider is unavailable.Model choice is hard-coded inside each agent, so changing provider is a development project per agent and substitutability is lost.
Tool orchestratorTranslates an intent into one or more tool calls; sequences multi-step work; handles retries, circuit breaking, idempotency and compensation on partial failure.Agents call backend APIs directly with their own credentials; partial failures leave systems of record disagreeing and nobody owns reconciliation.
Auth & governancePer-agent identity and scopes; an audit record for every retrieval and action; personal-data handling rules; cost attribution.No answer to who did what, on whose authority — usually the finding that stops a program rather than delaying it.
Five control-plane components — open full-size diagram
Five control-plane components Open full size ↗

Control plane component capabilities

The capability map is retained as the statement of responsibilities. Nine request-path capabilities are held by the five components; event handling is the tenth capability and runs on a separate asynchronous path (Control plane). Integration boundaries is one of the nine request-path capabilities, but it is a cross-cutting constraint rather than a standalone component.

ComponentRequest-path capabilities it holds (of nine)Hospitality test
Request routerRouting & arbitration; Context managementCan one guest thread have one authoritative owner, and can context transfer without exposing another reservation?
Knowledge gatewayContext management (retrieval); Integration boundaries; supports guarded disclosureCan it answer from the systems that own the facts, returning one answer per question across channels?
Model routerModel selection; realizes part of Tool access & coordinationCan the provider change without touching an agent?
Tool orchestratorTool access & coordination; Failure handlingCan a workflow call availability, loyalty and PMS services without shared admin access, and end a partial workflow in a known state?
Auth & governanceIdentity & attestation; Permissions & policy; Observability & auditCan every action be attributed to a specific agent and principal, and can an incident be reconstructed across vendors?

Integration boundaries is one of the nine request-path capabilities. It is not a standalone component; it is a cross-cutting constraint on the knowledge gateway and tool orchestrator, which call systems of record without absorbing their authority.

The event path (event handling)

The five components above are request-driven: an agent asks, the layer decides, a tool executes. Event handling — the tenth capability — is the asynchronous axis, and it has no home among request-driven components. Yet it is load-bearing: Worked examples, the check-in fan-out, is the framework’s lead flow, and it is an event fan-out, not a request. The layer must therefore carry a distinct event path: state changes emitted by systems of record are published and fanned out to consumers (agents, workflows, downstream systems) without the emitting system knowing about any of them.

Minimum event-path requirements: at-least-once delivery with a deduplication key; per-resource ordering; versioned schemas; a stated replay window and backfill behavior; a correlation identifier on every event (an event that arrives without one terminates the audit trail at the vendor boundary); and operator-visible delivery failure. The event schema itself is the one genuinely open piece and is coordinated with the Agentic Protocols workstream; the envelope and the delivery semantics are separable from it and are stated here.

Three cross-cutting concerns

These are not components. They must be true at every hop, which is a different kind of requirement, and stating them separately keeps them from being delegated to one box and forgotten.

  • Tenancy and entitlement. Every request carries the property and organization it concerns, and every retrieval and tool call is checked against what the caller is entitled to for that scope. Checking once at the front door is not sufficient. This is the one requirement with a single acceptable value: a record must never reach a property, guest or agent context that is not entitled to it; explicitly authorized corporate or cross-property workflows remain possible.
  • One answer per question. A property of the layer, not of any agent, and a testable one: the same question, posed through applicable channels under matching property, guest, entitlement and freshness context, returns consistent authoritative facts, and someone runs that test on a cadence.
  • Observability and evaluation. What the gateway returned, which facts it drew on, which tool ran, and whether the answer was right — without which the layer cannot be improved or defended.
On governance appearing twice
Auth & governance is both a component and a cross-cutting concern, and that is deliberate. The component is where identity, scopes and audit are implemented and the records kept. The concern is that they are enforced at every hop rather than at the entrance. Architectures that treat governance only as a component tend to authenticate the agent once and trust it for the rest of the conversation.

Declared registers

The five components are processing. They are not the whole control plane, because each of them tests a decision against declared state that lives outside the request. That state is what an auditor asks to see, and it is the part most architectures leave implicit. Six registers, and the test for each is the same: can you produce it, and does the layer actually enforce what it says.

RegisterWhat it holdsThe question it answers
Agent registryEvery agent permitted to reach the layer, the authority under which it operates, and the scope within which it may actWhich agents are authorized, under whose authority, at what scope. Verifiable rather than asserted
Tool registryEvery tool, its backend, the authoritative source for the fact it returns, and whether it reads or writesWhat can be invoked, and against what
Action precedenceFor each resource more than one actor may act on, which actor’s action winsNot who was faster. Who is authoritative
Commercial constraintsThe contractual limits on a write, and their source: rate parity undertakings, franchise and brand standards, distribution agreement terms, allocation commitmentsIs this change permissible under what has been signed, whoever is asking
Model and prompt registryWhich model and which prompt version served a given interactionWhat produced this answer, and can it be reproduced
Operational modeThe declared condition of a property or brand, and what each condition changes. Night audit, peak, event and renovation are the common ones. Write blackout windows are the subset that refuses and queues rather than executesMay this act at all, right now, given what is going on
Enforce a registry from the first multi-agent deployment.
An operator running agents from several vendors at once needs this immediately. Without it there is no answer to the simplest governance question anyone will ask, which is who is allowed to do this, and the answer cannot be a document describing intent. It has to be the list the layer enforces, because a registry that does not gate anything is a diagram of a control, not a control.

Precedence and concurrency control are different mechanisms, and an architecture needs both. A lock decides who was faster. Precedence decides who is authoritative. Concurrency control stops two writes colliding; precedence decides which of two entitled actors should have been writing in the first place. An architecture with resource versions and locks but no declared precedence resolves genuine policy conflicts by timing, which is to say arbitrarily, and the outcome is not reproducible or defensible after the fact. Two agents may each be individually permitted to modify the same reservation. That is not a defect in either permission. It is the case precedence exists for.

Why commercial constraints are a register of their own

The other registers answer whether an actor is permitted and whether now is a permitted moment. Neither asks whether the change itself is permissible under what the operator has signed. A rate write can come from a correctly registered agent, win precedence cleanly, fall outside every blackout window, and still breach a parity undertaking or a brand standard. Nothing upstream would catch it, because nothing upstream is looking at the terms.

It is deliberately not folded into action precedence, and the reason is ownership rather than tidiness. Precedence is owned by whoever operates the platform. Parity undertakings, franchise standards and distribution terms are owned by commercial and franchising, and they change on a contractual cycle that has nothing to do with a release. A register with two owners is a register nobody maintains, and an unmaintained constraint register is worse than none, because the layer will report that it checked.

What makes this a control rather than a note in a policy document.
The register has to state, for each constraint, the instrument it derives from, the systems and write classes it constrains, how it is evaluated at request time, and who owns the rule. A constraint that cannot be evaluated by deterministic code before a write executes is guidance, not a gate. Where a constraint genuinely requires judgement, the correct outcome is escalation to a named human, not an approximation by a model.
For franchised estates this is the difference between a layer a brand will approve and one it will not. The franchisor is not being asked to trust the reasoning of an agent. It is being shown the check that runs before any agent reaches a rate.
Registers and policy checks — open full-size diagram
Registers and policy checks Open full size ↗

Multi-agent safeguards and trust boundaries

Multi-agent safeguards and trust boundaries

These three reference patterns combine engineering recommendations with reported production experience. Each brings together several capabilities. Independent validation across multiple vendors is not claimed.

Guarded write

The model proposes intent; no write to a system of record occurs unless it was authorized, validated, attributable, and repeatable — and the decision to permit it was not made by the model. The property, not one implementation, is what matters: either no credential reachable from the model’s context can write, or every write is executed by a deterministic component that validates it server-side against rate, occupancy and restriction rules and refuses on its own authority. A scoped, server-validated write API with an authenticated per-agent principal satisfies this as fully as a design where the model reaches no write path at all. A write whose only gate is model output is the failure.

Guarded conversion (the booking-specific instance)

The agent reads availability and price and agrees the stay, then hands off a pre-filled deep link into the booking engine (or an equivalent guarded surface). Deterministic code creates the reservation and runs the guarantee cycle. Because inventory can sell between agreement and submission, the quote is non-binding by construction: the write surface revalidates availability, price and cancellation terms at submission, and a defined fallback — a short TTL hold, or a graceful re-quote — applies when revalidation fails. On a multi-room link, revalidation runs per room and partial availability resolves to a stated policy (all-or-nothing, or re-composition). The payload of this handoff is specified in the Booking deep-link proposal below.

Booking deep-link proposal

The reusable proposal contains twelve design rules, fifteen example payloads and a validating lint. It covers multi-room composition and occupancy/ages, split-stay dates, entitlement references, preferred server-issued quote references, submission-time revalidation and distinguishable outcome events. Namespace and protocol version are placeholders. It is not an adopted interoperability standard.

ZIPReusable download

Booking deep-link proposal and examples

What it is
A provisional payload profile, fifteen synthetic examples and a Python validator, with source and issues on GitHub.
When to use it
Exploring a joint agent-to-booking-surface integration.
What you enter or decide
Synthetic payloads only; assign real ownership and protocol identifiers before production.
What it produces
A starting point for interoperability testing.

Proposal, not an adopted interoperability standard. Namespace and protocol version are provisional. The lint checks payload shape and some heuristics, not identity, signatures, prices, authorization, booking-engine compatibility or submission-time behavior. A green result is not a privacy or conformance certificate.

Source and issues: GitHub repository ↗

Download ZIP ↗

Guarded disclosure and untrusted input

What enters the model’s context window is itself a permission decision. Deterministic code selects the information tier before generation — general knowledge for any guest versus content released only after verification — so content the model was never given cannot be extracted by prompt injection, persuasion, or model error. An unverified session never contains verification-gated access instructions, payment details, or another reservation’s data.

Guarded disclosure controls which information enters context. Untrusted-input fencing is the complementary control for guest messages, free-text records and other third-party material that must be processed. The proposed control and tests below address this gap; ownership and implementation evidence remain outstanding.

One owner per guest thread, and default posture

At any moment, one agent or human role owns a guest thread; ownership transfer is an explicit, auditable event. The default posture for reads, disclosure, and non-write tool calls is deny-by-default with explicit, tiered grants: an operator should be able to answer "what can an agent see or do without approval?" with "nothing that has not been granted." The framework retains guarded write, guarded conversion, and guarded disclosure as its operating vocabulary; maintain a short cross-reference to the operator’s governance vocabulary.

The capabilities under multiple agents

The layer’s distinctive work begins where one property, or a group across properties, runs several agents from different vendors against the same systems of record at once. None of the nine request-path capabilities changes in kind; each acquires a second obligation no single vendor can discharge alone: routing becomes arbitration and conversation-level handoff; context management becomes shared-context ownership; identity becomes an agent registry and attestation; permissions become precedence; observability becomes a unified, per-agent-attributable audit; failure handling becomes a halt-or-defer decision across concurrent workflows. The idempotency keys and optimistic locking already required in Reliability and assurance are the right primitives; what changes is that they must hold across parties who share no runtime and no incentive to coordinate.

Untrusted input is data, never instruction

Proposed control: guest messages, reviews, PMS free-text fields and other third-party text carry no authority. Tag their origin, delimit them from operator- and vendor-authored content, and fence them before the knowledge gateway and model. Content cannot change the authenticated principal, promote a disclosure tier, select or authorize a tool.

Provenance and delimiting are necessary controls, not proof that prompt injection is solved. Deterministic authorization must remain independent of the model. Test both an injected instruction that must not execute and the same authorized principal instruction that must execute. UI-1, UI-2 and UI-3 in the self-assessment cover this proposed inclusion control; implementation evidence and a named engineering/governance owner remain outstanding.

Two paths the architecture must carry

  1. System-of-record event → durable event intake and minimum envelope
  2. Scope, principal and policy evaluation → workflow/tool orchestration
  3. Idempotent deterministic execution → correlated receipts, replay and visible recovery

Before third-party content reaches the model

  1. Third-party text → record origin and delimit content
  2. Input-fencing control → scope and entitlement filtering at retrieval
  3. Model proposes an action → independent deterministic authorization and execution

A partner agent is outside the operator’s initial trust boundary. Authenticate it and verify registry membership, delegated authority and request scope before it can retrieve information or propose actions. A label on an architecture diagram is not a trust grant.

Protocol boundaries can use MCP for tools and A2A for agent interaction; neither protocol replaces the operator’s authorization policy. [R1] [R2] Input-fencing and least-privilege controls should be reviewed against current prompt-injection guidance. [R6]

Interchangeable services

Interchangeable services

The five components decide. They do not themselves hold the models, the indexed content or the credentials. Those sit in a services band beneath the plane, and the reason to draw them separately is substitutability: every item in that band should be replaceable without touching anything above it. An operator who cannot swap a model provider without reopening each agent has not built this layer, whatever the diagram says.

Interchangeable services — open full-size diagram
Interchangeable services. This crop from the architecture in one view isolates the replaceable model, knowledge and execution services used by the control plane. Open full size ↗
Service groupWhat sits thereWhich component consumes it
Model providersSeveral frontier model APIs, held as interchangeable rather than as one dependency. Embedding models. Self-hosted or edge models where latency or data residency require them.Model router. The routing policy and the fallback chain live in the plane; the models do not
Knowledge servicesThe source content systems, whatever they are: content management, an intranet portal, a knowledge base, a ticketing system. Then the pipeline over them: connectors, chunking, embedding, a vector index, metadata, a structured cache, and hybrid search with rerank, and, where the authoritative copy of an operational procedure lives outside these systems, the sync path that keeps them current.Knowledge gateway. The merge rule, the scope filter and the entitlement check live in the plane; the index does not
Execution servicesOne server per backend, each holding least-privilege credentials for that system and nothing else: property management, maintenance, payments, activities. Where a backend has no usable API, a named legacy adapter sits here rather than nowhere.Tool orchestrator, through the boundary in Action path and deterministic execution. Selection, sequencing and policy live in the plane; the credentials do not
Why this band is drawn rather than assumed.
The band is where vendor lock-in accumulates. A model provider reached directly from four agents is four migrations; the same provider behind a model router can localize a migration to the router, subject to compatibility and conformance checks. Drawing the band makes the switching cost visible before it is incurred.
It also locates the knowledge pipeline correctly. Chunking, embedding and rerank are engineering choices that belong to a service, not positions the alliance should standardize. What the layer owes is the contract above them: one gateway, one merge rule, one entitlement check.

Legacy adapters belong in the band, not outside it

A simplified diagram can imply that each backend offers an API worth calling. In a real estate several will not. Access may be a nightly file, a scheduled extract, a screen-scraped interface, an on-premise system reachable only from inside the property network, or a vendor interface that exists but is not licensed to the operator.

The adapter for such a backend is a component with its own reliability profile, not a detail of the tool that calls it. It has a staleness budget rather than a latency figure, it usually cannot accept a write at all, and it fails in ways an API does not: a file that did not arrive looks identical to a file with nothing in it. Naming it in the services band puts that profile where a reviewer will see it. Leaving it out produces a diagram that only describes the systems that were easy.

The services the plane draws on — open full-size diagram
The services the plane draws on Open full size ↗

Action path and deterministic execution

Action path and deterministic execution

The shared layer must keep planning and execution separate. Orchestration discovers and sequences permitted work; deterministic execution services hold the least-privilege credentials and perform the specific backend operation.

Orchestration and execution

Orchestration and execution are used interchangeably in most material and name genuinely different jobs with different security properties. Model Context Protocol standardizes a boundary — how a system advertises tools and how a caller invokes them — but it is a protocol, not an architecture: it does not decide where the boundary sits, and it does not make the data behind it trustworthy.

  • Execution is the system side. A server that holds credentials for one backend and performs work against it — one PMS API, one maintenance-platform API — knowing that system deeply, including what it permits and rejects.
  • Orchestration is the layer side. The component that discovers which tools exist, chooses which tool or sequence satisfies the intent, checks that this agent in this scope is permitted it, sequences the steps, handles failure, and assembles the result.

Why the split matters: the credential boundary belongs at execution — each server holds least-privilege access to one backend, so a compromise is contained to one system. The policy boundary belongs at orchestration — what an agent may do, in whose name, with what audit record. Collapsing the two puts backend credentials directly behind a general-purpose planner, so the blast radius of a prompt injection or reasoning error is every system the planner can reach. One condition is easy to skip: a tool is only as good as what sits behind it — execution servers must point at the authoritative source for the fact they return, which in a mixed estate often means the resolved foundation of Data plane and topology test rather than any single source system.

Orchestration and execution — open full-size diagram
Orchestration and execution Open full size ↗

Guarded write path

Reads and writes are not symmetrical, and a layer that treats them the same will eventually let a model change a system of record on the strength of its own reasoning. The rule that prevents it is short enough to hold in one sentence: models propose, deterministic code acts, and no agent writes directly to a system of record.

What follows is the path a write takes, with the gates named in the order they are checked. Each gate tests the request against one of the registers in Control plane.

GateWhat it testsWhat a refusal looks like
Agent registryIs this agent authorized at all, at this scope, under whose authority. Checked against the register, not against a claim in the requestRefused with the gate named. The agent is told which check failed, and is not invited to rephrase and retry
Action precedenceMore than one actor may be entitled to act on this resource. Policy states in advance which one winsEscalated to a named human where the conflict is genuine, rather than resolved by whichever agent retried fastest
Commercial constraintsIs the change itself permissible under what has been signed. Rate parity undertakings, franchise and brand standards, distribution terms and allocation commitments, evaluated against the request rather than against intentRefused with the instrument named, so the refusal can be taken to the commercial owner rather than argued with the platform team. A constraint needing judgement escalates to a named human
Operational modeWhat condition is this property in, and is this class of write permitted while it holds. Night audit, peak, event and renovation are the common ones; the night audit is the case every hotelier will recognizeQueued with its idempotency key, released when the window closes, and surfaced to staff while it waits
Deterministic executorNot a gate but the actor. Validates the request, applies the idempotency key, calls one authoritative system. No model runs at this stepA failed call is a failed call, with a receipt, a reason and a compensating action where one is needed

The night-audit boundary

One blackout window is specific to this industry and belongs in any hospitality deliverable that claims to be complete. During the night audit, financial writes must be refused and queued until the window closes, and staff have to be told that something is pending rather than left to discover it. Every hotelier knows the constraint. No general-purpose agent framework knows it, which is exactly why it has to be written down here rather than assumed: a layer assembled from a generic reference architecture will attempt a folio posting at three in the morning and either fail in a way nobody notices or succeed in a way the audit cannot reconcile.

Queued, not dropped, and not retried blindly.
A write refused during a blackout window is held with its idempotency key, released when the window closes, and visible to staff while it waits. A layer that silently drops it is worse than one that never attempted it, because a guest has usually been told the thing was done. A layer that retries it in a loop is worse again, because the window exists precisely to stop that write landing.
This is also the clearest illustration of why the executor holds the idempotency key rather than the agent. A held request has to be releasable later, exactly once, without the agent that proposed it still being in the conversation.

Operational mode is the general case

The night audit is one condition among several, and it is worth naming the general form rather than only the instance. A property in a declared condition behaves differently: during a rate-parity event some price writes should refuse, during a renovation some inventory is not sellable however the system reports it, and at peak occupancy the layer may need to shed non-essential work rather than queue it. Each of these is the same shape of rule as the night audit, which is why the register in Control plane is operational mode rather than a list of blackout windows. Blackout windows are the subset of operational mode that refuses and queues writes.

The practical requirement is that mode is declared rather than inferred. A layer that guesses at the condition of a property from traffic patterns will be wrong during exactly the periods that matter most, and it will be wrong differently at each property.

Guarded write path — open full-size diagram
Guarded write path. Brand standards sit inside the commercial-constraints gate and are checked before execution, not documented after the write. Open full size ↗

Tokenization boundary

One boundary in the write path is not a policy decision the group gets to make, because it is set outside the group. Cardholder data has a compliance perimeter, and an AI layer is very good at moving data across perimeters without anyone deciding to. Retrieval copies facts into an index. Context assembly copies them into a prompt. A model provider may retain a prompt. None of those steps is visible as a data transfer in an architecture diagram, and all three would put an operator outside scope.

The position, stated so it can be tested.
No cardholder data enters retrieval, an index, a cache or a model context. Payment actions cross the boundary by token, executed against the payment system, and the layer holds the token and the receipt rather than the instrument.
The test is a search. Take the retrieval index, the conversation logs and the prompt store, and search them for card-shaped data. Any hit is a finding, and the absence of a search is also a finding. Stating the boundary in a diagram and never testing it is how operators discover it at audit.

The platform reference architecture in Overview draws this boundary in its integration layer, which is the right place from the platform side. It is drawn here as well because the risk this document is concerned with runs the other way: the boundary is breached from the retrieval side, not from the payment side, and a diagram that shows it only at the payment gateway invites exactly that mistake.

Keep raw cardholder data and sensitive authentication data out of retrieval indexes, caches, prompts, conversation logs and agent context. Payment capture and charge-capable credentials stay with the authorized payment surface or gateway. The agent receives a non-sensitive reference and outcome, not a token it can independently use to charge.

Tokenization is an architectural boundary, not a blanket claim of PCI compliance or de-scoping. Search and inspect the retrieval index, logs and prompt store for prohibited data, validate suspicious matches, and obtain the operator’s qualified compliance assessment. A card-number-shaped text scan alone is not sufficient assurance. [R5]

Governance is a component and a responsibility at every hop

The governance component implements identity, scope and audit records. Enforcement still happens at every retrieval and action boundary; authenticating once at the entrance does not authorize the rest of a conversation.

A dispatcher and a crew

Orchestration is the dispatcher: it selects and orders permitted work. Execution is the crew: it performs a specific operation against one backend. A tool must read the authoritative source, or a governed resolved foundation built from authoritative sources, not a convenient copy that merely looks authoritative.

PDFReusable download

Reference architecture diagrams

What it is
Eleven pages: the ten current presentation pages plus the integration-comparison diagram from the earlier linked deck.
When to use it
Explaining the design to operators, engineers and integration partners.
What you enter or decide
Identify the deployment and data-plane pattern relevant to your estate.
What it produces
A common visual reference for the control plane and action path.

Diagrams are conceptual; read the scope, security and topology qualifications beside them.

Download PDF ↗
JSONReusable download

Machine-readable architecture

What it is
The structured reference architecture, registers and position definitions.
When to use it
Mapping a design or using the framework in an analysis tool.
What you enter or decide
Compare your implementation against the named responsibilities.
What it produces
A structured architecture reference.

A reference model is not an executable policy engine or proof of conformance.

Download JSON ↗

Apply the framework

Apply the framework

01

Choose the data-plane pattern

Choose the data-plane pattern

This is the part that cannot be published as one universal picture; pretending otherwise is how a reference architecture gets adopted by an estate it does not fit. Two configurations cover most of the industry, and a third case is a signal to stop rather than a configuration. The control-plane responsibilities above them are the same; only the path from a source system to a trustworthy answer differs.

Pattern A — normalize and pass through

One product per function across the portfolio simplifies schema mapping, but uniform products alone do not establish identical configuration, source authority or freshness. Pattern A maps source data onto one hospitality model in flight, may cache briefly for read latency, and exposes scoped reads and guarded writes. It has no persistent resolved data foundation; any cache still needs explicit expiry, invalidation and freshness rules. Select it only when cross-system reconciliation is unnecessary and the authoritative sources are sufficiently fresh. A heterogeneous estate or batch-only source may require Pattern B. Standardization supports this pattern but does not replace the topology and freshness tests.

Pattern B — normalize, resolve and persist

Products differ by property, brand or region; data arrives in different shapes and cadences, with code sets that disagree and records that are not clean on arrival. Normalizing in flight makes shapes match but does not make two records refer to the same person, and does not let you report across properties, because you cannot reconcile what you have not landed. So the data plane gains layers — landed (source payloads exactly as received, with arrival time and a durable reference, nothing discarded), conformed (one canonical shape per entity, history preserved), resolved (deterministic identity matching on declared rules, survivorship precedence per attribute, ambiguous matches held for review), and a foundation of one current row per entity key that has passed a quality gate. The control plane reads the foundation, not the raw sources.

A data lake belongs in this design, and it belongs here as an optional, recommended element for complex estates — many already consolidate PMS/CRS/RMS/CRM data this way and would want their AI framework reading the same structure. It is a consolidated read/analytics plane, not a new system of record: the systems of record stay authoritative, and writes still go through guarded write. The entity set, key rules, resolution and quality gate are the data-foundation discipline’s to define; this framework references that work and states only how agents reach the result.

Pattern C — when orchestration is not the constraint

Sometimes the problem is not integration, retrieval or routing: the record does not exist, was never captured, or cannot be attributed — no property identifier, a guest whose identity was never captured, policies that live in people’s heads. Building an orchestration layer on that produces a fast, well-governed, fully audited path to answers nobody should act on. The honest recommendation is to name the gap and fix it first, and a published reference architecture should say so plainly.

The topology test

Four questions an operator can answer without a workshop, to place themselves in ten minutes:

#QuestionIf yesIf no
1For each function you need — PMS, POS, spa/activities, loyalty, CRM, content — is there exactly one product across the whole portfolio?Pattern A is availablePattern B, regardless of anything else
2Do you need to reconcile a guest, or report a figure, across properties or systems?Pattern B, even if #1 was yesPattern A remains sufficient
3For each entity your use cases depend on, can you name the authoritative source and the field that is its key?ContinuePattern C. That is the first project
4Do any intended actions write to more than one system of record to complete?Orchestration with compensation and idempotency, not simple pass-throughA simpler write path is defensible

Question 2 moves the most operators and catches those who answered 1 confidently: a uniform stack removes the shape problem but does not resolve a guest who appears in the PMS, the dining system and the loyalty system with three identifiers and no agreed precedence. Uniformity and resolution are different problems.

One control plane, several data services

The call debated whether one orchestration layer is enough or several are needed; both positions were right about different things. One control plane — do not build a second, because two request routers, two knowledge gateways and two authorization models produce two answers and two audit trails, the exact failure the layer exists to prevent. Several data services beneath it — expect them, because availability, guest identity, financial performance, operational tasks and content have different shapes, cadences and correctness criteria (freshness, resolution, stability, delivery, provenance), and forcing them into one service produces the all-encompassing layer nobody can change. The guardrail: the control plane owns routing, policy and audit and nothing else; business logic belongs to a data service or the consuming application.

Reuse an existing data lake or lakehouse

Where an enterprise data lake already exists

Pattern B describes four layers by what they do, not by what they are bought as, and a reader with an existing data lake or lakehouse should recognize the first two immediately. Landed is what their raw zone already holds. Conformed is what their curated zone already holds. Where that estate exists, the AI foundation belongs inside it rather than beside it. A second copy of guest data, with its own resolution logic and its own refresh cadence, is precisely the inconsistency this layer exists to prevent, so building alongside an existing lake contradicts the position in Positions and tests on one answer per question.

So the recommendation is to reuse it. Two things have to be said alongside that, though, because the phrase "the data is already there" is true of the first two layers and usually false of the next two.

  • A lake gives you landing and conforming. It rarely gives you resolution. Most hotel data lakes were built for reporting. They land source data and conform it for dashboards, which tolerates a duplicate guest in a way that an agent about to act on that guest does not. Deterministic identity matching on declared rules, survivorship precedence per attribute, and a quality gate that blocks promotion are the three things a BI-oriented lake most often lacks, and they are exactly what data-foundation guidance specifies. Reusing the lake is right. Assuming it is already AI-ready is the trap.
  • Analytical storage and serving latency are different problems. A lake tuned for batch loads and columnar scans will not answer a guest-facing agent inside a few hundred milliseconds. Treat the lake as the system of derivation, where the foundation is built and governed, and keep a serving path in front of it. That is a deployment question rather than an architectural one, but a diagram that omits it invites an operator to point an agent at a warehouse and conclude the pattern does not work.
What this means for an operator who has one.
The topology test in Choose the data-plane pattern does not change. An existing lake makes Pattern B cheaper to reach, not unnecessary, because the questions it asks are about authoritative sources and reconciliation rather than about storage. An operator with a mature lake and no declared survivorship rules is still in Pattern C for the entities those rules would govern.
Stated as a requirement rather than a recommendation: where an enterprise data platform exists, the AI foundation is a set of governed layers within it. Where one does not, the same four layers still have to exist somewhere, and the operator is choosing where.

Legacy access changes the answer

An authoritative source reachable only through a nightly file, scheduled extract, licensed user interface or property-local adapter cannot automatically satisfy a real-time workflow. Where a governed conformed copy is necessary, use Pattern B for the affected entities and state its staleness budget. Reuse existing governed storage where suitable; do not create a competing system of record.

Different data services, one logical control contract

The reason several data services are unavoidable is concrete rather than architectural taste. What each one has to be correct about is different:

Data serviceShape and cadenceWhat correctness means here
Availability, rates and inventoryHigh volume, low latency, continuousFreshness. A correct answer that is four hours old is a wrong answer, and the consumer is often external
Guest identityPersistent, matched and merged, moderate volumeResolution. Two records referring to one person, and a defensible precedence when sources disagree
Financial and performancePeriodic, with a closed periodStability. Queried live against operational systems the numbers move while you read them
Operational tasks and serviceEvent-driven, write-heavyDelivery. Idempotency, dispatch semantics, and no duplicate work orders from a retry
Content, policy and procedureLow volume, edited by peopleProvenance and scope. The right version, for the right property, in the right jurisdiction
The guardrail against the monster.
The concern about an all-encompassing layer is the right concern, and there is a single rule that prevents it. The control plane owns orchestration responsibilities; domain business logic stays in the authoritative domain service or consuming application. The moment business logic, per-use-case transformations or exceptions for particular properties start accumulating inside it, it stops being infrastructure and becomes an application that everything depends on and nobody can safely change. Business logic belongs to a data service or to the consuming application.
Data-plane patterns — open full-size diagram
Data-plane patterns. Uniformity is not identity resolution. Pattern B can be required even when every property uses the same products. Open full size ↗
XLSXReusable download

Integration and control-point inventory

What it is
A nine-tab workbook for interfaces, topology, tools, agents, commercial constraints, operating mode and consistency tests.
When to use it
Before selecting an architecture or evaluating integration claims.
What you enter or decide
Your systems, source authority, permissions, evidence and workflow constraints.
What it produces
An evidence-backed inventory and explicit unknowns.

Illustrative rows are examples. Incomplete answers must not be read as a cleared architecture decision.

Download XLSX ↗

A pass-through pattern still uses a bounded cache with an expiry and freshness rule. “No persistent foundation” does not mean no stored bytes, no cache invalidation or no synchronization work.

Analytical storage and a low-latency serving path are different responsibilities. Reuse an existing lake for landing and conforming where appropriate, but verify identity resolution, survivorship, quality gates and serving latency rather than assuming a reporting lake is already suitable for operational AI.

02

Inventory systems and permissions

Inventory systems and permissions

Minimum system interfaces

Every connected system should provide: documented, versioned APIs; scoped credentials below administrator level; structured, specific errors; idempotency or safe duplicate handling for writes; auditability and stable resource identifiers; and a documented integration and exit path. Where state can change, event support is required — and not merely "a webhook exists" but stated delivery guarantees:

  • at-least-once delivery with a deduplication key;
  • per-resource ordering;
  • a correlation identifier on every event;
  • versioned event schemas;
  • a stated replay window and backfill behavior;
  • operator-visible delivery failure.

These realize the event path (Control plane); the check-in fan-out (Worked examples) is not operable without them.

Systems of record and coordinated systems

Category / systemTypical interfaces & event sourcesPermission considerationEscalation point
PMSREST/HTNG API · events: reservation created/modified, check-in/out, folio chargeRead/write scoped by action typeRate override beyond threshold; VIP flag
CRSBrand-level API · events: inventory/rate syncBrand vs. property write scopeOverbooking conflict
RMSREST API · events: rate recommendation publishedRead-only for most agents; write needs revenue-manager approvalRecommendation below floor rate
CRM / LoyaltyREST API · events: profile updated, points earnedPII access scoped; consent requiredData deletion / opt-out request
Channel ManagerOTA/GDS connections · events: rate/availability pushChannel-specific credentialsRate parity conflict
Booking EngineREST API, webhook · events: booking confirmedGuest-initiated only; no agent price overridePayment failure
3rd-party OTAPartner API · events: booking/cancellation webhookExternal, contractually scoped; out of Phase 1 orchestration scope, shown for boundaryContent/rate mismatch dispute
BMS / GRMSBACnet/KNX/Matter via bridge · events: fault, device stateRead alerts within explicitly granted scopes; setpoint/guest writes restrictedSafety-related fault
Room LocksVendor lock API/BLE · events: credential issued/usedTime-boxed credentials; access instructions are verification-gated content, not general knowledgeForced entry / anomalous access
Fire / Life SafetyRead-only regulatory feed · events: alarmRead/alert-only, no agent controlAny alarm = immediate human handoff
POS (F&B, retail, spa)REST API · events: transaction postedStaff-role scopedCharge dispute / void
CMMS / MaintenanceREST API · events: work order created/closedEngineering-role scopedSafety-critical work order
Payment GatewayPCI-scoped, tokenized API · events: charge/refundHighly restricted. The agent issues a payment/card-capture link and reads the outcome; the guest enters card details on the gateway surface. The agent holds no card data, tokens includedChargeback; failed payment
Guest MessagingSMS/chat API · events: message receivedOpt-in requiredComplaint / negative sentiment

Agent-facing surfaces (for guest-facing agents)

A system can meet the baseline in full and still be unable to support a conversational agent. These surfaces are the additional requirements; Evaluate readiness restates them as a self-assessment.

SurfaceInterfaces & eventsPermission considerationEscalation point
Agent knowledge fieldsInternal fields at property (and unit) level · events: field updatedAuthorized agents only; never OTAs or guests; tiered by verification. Free-form custom variables preferred over a fixed pair, to allow more than two tiersContent stale beyond threshold, or a required field absent at conversation time — and where the authoritative copy lives outside the PMS, an undeclared sync path is itself the finding
Reservation matchingLookup by practical keys — name + arrival date; phone + arrival date; emailReturns the minimum to bind a conversation; rate-limited and logged to prevent enumerationAmbiguous match → human handoff; repeated failed lookups → security review
Payment capture linksAPI to issue card-capture/payment links and initiate charges · events: issued/paid/captured/expiredAgent issues the link and reads the outcome only; capture and storage stay with gatewayFailed capture; link expired before arrival
Room content & mediaContent read API — photos, amenities, marketing names, multilingual variantsPublic marketing content; the enrichment store that joins content to live availability is a standing component, not a fallbackContent absent/stale/single-language → enrichment store authoritative
Inventory hold & revalidationAPI to revalidate availability, price and terms at submission (per room), and place a short TTL hold where supportedHold duration set by revenue policy, not the agent; holds attributable to the issuing agentRevalidation failure at submission; partial availability on a multi-room request

Open agent access to operational knowledge

A store readable only by its own vendor’s native agent limits substitution. The adopted operational-knowledge requirement covers the existence of a documented, scoped, versioned and permissioned interface; broader cross-vendor access for operator-authorized agents remains proposed, as described below.

Agent Plugins as a packaging input

Where the layer supports Agent Plugins, it should treat the Agent Plugins Working Draft as a portable packaging input for Agent Skills and MCP configuration — not an authorization or sandboxing standard. The loader validates manifests against the pinned spec version before discovery; enforces plugin-root path containment; isolates failures so one invalid component does not disable others; supports only approved MCP transports; keeps credentials out of packages, with authorization and secret injection owned by the orchestration client; records plugin identity, version, publisher, configuration, approval and revocation in the unified audit; and requires separate process, network, tenant and resource isolation, because path containment does not sandbox a subprocess.

The adopted requirement is a documented, scoped, versioned and permissioned operational-knowledge interface. A broader rule allowing any operator-authorized agent to read that knowledge across vendors is not yet adopted. The proposed direction is SHOULD now and MUST in Phase 2; vendor feasibility and final requirement wording still need confirmation.

Do not interpret “open” as public or unauthenticated. Every retrieval remains deny-by-default and subject to the operator’s explicit grants.

When event schemas are defined, evaluate existing hospitality vocabularies before creating an extension, and document the resulting compatibility decision. [R3] [R4]

XLSXReusable download

Integration and control-point inventory

What it is
A nine-tab workbook for interfaces, topology, tools, agents, commercial constraints, operating mode and consistency tests.
When to use it
Before selecting an architecture or evaluating integration claims.
What you enter or decide
Your systems, source authority, permissions, evidence and workflow constraints.
What it produces
An evidence-backed inventory and explicit unknowns.

Illustrative rows are examples. Incomplete answers must not be read as a cleared architecture decision.

Download XLSX ↗
03

Plan reliability and assurance

Plan reliability and assurance

What must be true for AI-assisted workflows to fail safely rather than silently. Each workflow needs a correlation ID, an idempotency strategy, an authoritative receipt, a timeout budget, an owner, a recovery path, and a measurable success signal — or an explicit statement that none is available.

Failure modeWhat can go wrongRequired layer behaviorHuman handoff trigger
Downstream timeoutA request hangs or silently failsBounded timeout and exponential backoff for safe, retryable calls; reconcile ambiguous write outcomes and preserve the idempotency key before any write retry. Circuit breaker to degraded modeEscalate after the declared retry limit, or sooner when a write outcome cannot be safely resolved; preserve context
Idempotency failureA retried call double-charges or double-booksIdempotency keys on every write; dedupe at the layerAlert if a duplicate is detected despite this
Concurrent conflicting actionsTwo agents modify the same reservation at onceOptimistic locking with conflict detectionConflict flagged to staff
Partial multi-system failureCheck-in: lock succeeds, GRMS fails — inconsistent stateCompensating actions where possible; explicit partial-completion flag otherwiseStaff told exactly which steps completed
Event lost / duplicatedA state-change event is dropped or delivered twiceAt-least-once delivery with a deduplication key; consumers idempotent on the keySustained loss on a resource → integration owner
Event out of order / replayedEvents arrive out of sequence, or replay after a consumer outagePer-resource ordering; a stated replay window with backfill; correlation IDs so a trail survivesReplay gap beyond the window → operator alert
Agent acting outside policyAI attempts an action beyond its permissionPolicy blocks it before execution, not afterRouted to a human approver, never silently denied
Audit trail gapAn AI action is not traceable afterwardEvery action logged with actor identity, timestamp and inputs/outputs before completionNone — a hard requirement
Schema / API drift (silent)A vendor changes an API silently: the call succeeds but a field quietly means something differentContract validation on every call AND drift detection on the distribution of values — fail loudly on breaks, flag semantic drift (IF-1/IF-2)Alert the integration owner, not the guest-facing agent
Knowledge drift (stale SOP)The authoritative SOP or operating procedure lives outside the systems the layer reads — a shared drive, a wiki, a document maintained asynchronously by the operator — and the copy the agent reads at conversation time has drifted from itName the authoritative source and the sync mechanism for every operational-knowledge store the layer serves, with an SY code and a declared staleness budget; the layer owns the synchronisation, not the person who last edited the documentContent older than its declared budget, or a source with no declared sync mechanism → knowledge owner
Stale quote at submissionInventory quoted in conversation sells before the guest completes the surfaceRevalidate availability, price and terms at submission, per room; re-quote or hold on failureRepeated failures on one rate plan → revenue management
Premature disclosureGated content reaches an unverified guest via injection or model errorTier selection in deterministic code upstream of the context window; an unverified session never contains gated contentPatterned attempts on one reservation → security review
Untrusted input (open)Third-party text reaches the model with nothing fencing itProposed provenance, delimiting and deterministic input-fencing control; see Control plane and tests UI-1 to UI-3. Adoption, named ownership and execution evidence remain outstanding.
Assurance across every layer — open full-size diagram
Assurance across every layer. Use measures for retrieval, action integrity, tenancy, model behavior and telemetry. Revenue and operating-profit outcomes are not measures of this layer alone. Open full size ↗

No observed cross-segment performance thresholds are supplied. Establish workload-specific freshness, latency, recovery and retention targets with evidence; zero unauthorized cross-tenant disclosure is the security objective, not a claim that a pilot has demonstrated it.

PDFReusable download

Event delivery requirements

What it is
Seven requirements, an event envelope, capability tiers and seven checks.
When to use it
Designing event-driven workflows or testing recovery.
What you enter or decide
Delivery, ordering, replay, schema and failure-visibility evidence.
What it produces
An explicit event contract and recovery assessment.

Business event schemas and universal retention thresholds are not prescribed.

Download PDF ↗
04

Set guest and agent authorization

Set guest and agent authorization

This framework defines what an authorized agent must establish; interoperable protocol mechanics remain separate. The guest-verification pattern below covers a human guest, a property and an agent acting for that property. It does not settle autonomous agent-to-agent authentication.

The bar is a human at the front desk, and should not be raised

An agent acting for a property, talking to a guest, should authorize the guest the way a competent front-desk agent does on a phone call — not less, and deliberately not more. A front-desk agent does not ask for a passport number; they ask for a name and arrival date, find the reservation, and check that what the caller says lines up. Asking for a document number is worse practice, not better: it collects an identifier the property should not hold for this purpose, it cannot be verified over the phone so it raises the appearance of assurance without the substance, and it trains guests to recite identity documents to whoever asks — the behavior every phishing campaign depends on. This is the same reasoning that already keeps card numbers out of the channel; the framework should state it for identity data too.

Three steps, in order

  • Bind. The conversation is bound to a reservation using facts a legitimate guest already has — name and arrival date, or a reservation reference. This is a lookup, not an authentication event.
  • Confirm. The channel identifier the guest is reaching us on must match the one on the reservation. On messaging platforms the identifier is platform-verified and the match is meaningful; on voice the displayed number is a hint, so releasing anything gated requires one further confirming fact or sending the release to the number on record.
  • Gate. Release depends on the reservation being in a state where a guest legitimately holds the thing released — active booking, arrival day reached, and whatever settlement or online check-in the property requires.

Keep the light gate restricted

The agent in this restricted pattern cannot cancel, modify, move or refund a booking, change contact details, or create a charge. A mistaken disclosure or access release can still cause serious harm; rotating an access credential does not undo every consequence. Use the light gate only for the non-modifying pattern described here, with delivery to the channel of record and staff suppression. Do not reuse it for cancellation, refund, contact changes or other writes. Those workflows require stronger action-specific authentication, explicit authorization and independent deterministic execution.

Deliver on the day, do not recite on request

The front desk’s real control was never the questions; it was that the guest is standing there. The remote replacement is delivery rather than recitation: the access credential is sent by the access flow, on arrival day, to the channel of record — not read out on request to whoever passed the gate. Three operational requirements follow: never resolve ambiguity by choosing (two matches is not a match — ask one more fact or hand to a human); watch successful binds from a new channel identifier, not only failed lookups, because an attacker working from a real attendee list produces successful lookups; and carry a per-reservation staff suppression flag the agent can honor but cannot clear.

Scope caution
The "human-authorization parity — identity plus a booking reference" is the right bar for a guest conversation and the wrong bar for agent-to-agent, where nobody brings the judgement a person at a desk brings. That clause is scoped to guest conversations here. The agent-to-agent case remains open; a closed, operator-controlled registry of known agents is one implementation approach but does not extend to external agents outside that infrastructure.

Deliver access credentials through the access workflow to the channel of record on the appropriate arrival day. Do not recite credentials to an arbitrary remote caller. A staff suppression flag cannot be cleared by the agent.

This guest pattern does not solve autonomous agent-to-agent authorization. Registry identity, attestation and delegated scopes are a separate requirement. A universal registry or cross-operator trust mechanism is not supplied as a settled protocol.

Plugin packaging and commerce interfaces are adjacent specifications, not authority grants or a hospitality conformance standard. [R12] [R13] [R14]

05

Deployment profiles

Deployment profiles

The capability model is topology-independent (Data plane and topology test). The framework specifies outcomes and control boundaries rather than one topology. Self-built: the operator runs routing, policy, identity, telemetry and incident response, maintaining connector contracts, key rotation, runbooks and on-call. Vendor-sourced: the same outcomes remain required, and procurement must obtain evidence for tenant isolation, credential custody, exportable audit, version and incident notice, subcontractors, portability, exit, and hotel-controlled acceptance tests. Enterprise: a portfolio registry, federated identity, shared observability, centralized mandatory controls and property-scoped configuration — with central policy never erasing property-specific capacity and escalation truth. SMB and independent: managed orchestration, a narrow allowlist, one or two bounded workflows, and a clear manual fallback, starting read-only. Corporate owns platform selection, standards, identity, mandatory policy, data classification, payment rules and retention; the property owns current operational facts, capacity constraints, local escalation and the ability to suspend a workflow. Property overrides may tighten but not weaken mandatory security or privacy controls.

Choose physical placement from residency, latency, failure isolation and operations needs. A property-edge runtime is an option, not a universal requirement. Declare what continues, refuses or queues during disconnection and how conflicting state is reconciled on recovery.

06

Multi-agent coordination

Multi-agent coordination

Defined at the obligation level; detailed cross-vendor schemas are deferred to Phase 2. The first implementation artifact should be the agent registry and attestation model, because precedence, concurrency, shared context and unified audit all depend on knowing which agent is acting, for whom, under which scope and version. The layer — not any one vendor — owns: an agent registry (identity, owner, purpose, capabilities, versions, scopes); precedence rules for conflicting authorized actions; resource locks/idempotency across vendors; shared-context rules and redaction at handoff; a unified audit sequence; halt/defer/continue/compensate decisions after partial failure; and capability exposure to the current channel owner. Within-vendor hierarchy is useful evidence but not proof of cross-vendor interoperability.

The layer maintains an agent registry and attestation model recording identity, owning vendor or operator, authenticated principal, purpose, capabilities, versions and granted scopes. No agent acts unregistered. Attestation makes identity and authority verifiable rather than asserted.

The operational obligation applies whenever several agents share systems, including day one of such a deployment. The interoperable registry/attestation implementation artifact is first in Phase 2. Those are different timelines, not competing requirements. Universal alliance-level versus closed operator-controlled registries remains an open design choice.

Action precedence determines who is authoritative. Locks, idempotency keys and resource versions address concurrency and replay; they do not decide policy precedence.

07

Positions and tests

Positions and tests

The positions below pair plain-language definitions with a test for each. The first six are adopted; the remainder are proposed for adoption, stated as proposed extensions.

PositionWhat it meansHow you would test it
Topology-neutral deployment (adopted)The architecture assumes nothing about how many brands, PMSs, regions or data centers an operator runs. The control-plane responsibilities are identical in every case; only the data-plane configuration changes.Hand the document to an operator with several PMSs. If they cannot find themselves in it, it has failed.
Phase 2 unit-level scope (adopted)Phase 1 covers hotel-like properties; individually managed unit models move to Phase 2 without changing the capability model.Phase 2 has a named owner and a start date; unit-level surfaces stay in the text as forward-compatible.
Deny by default (adopted)An agent may call no tool and read no source unless a permission explicitly grants it, scoped to property and data class. New tools and sources start closed.Register a new tool and confirm no existing agent can call it until a permission is added.
Retained guarded-pattern terminology (adopted)Guarded write, conversion and disclosure are retained, with a future cross-reference to the AI Governance workstream.A maintained cross-reference between technical and governance terms.
Required operational-knowledge access (adopted)A documented, scoped, versioned and permissioned operational-knowledge interface exists. Broader cross-vendor authorized access remains proposed.A source inventory naming the interface, its scope and its version.
Bounded multi-agent contract (adopted)The contract stays at the obligation level in this release, registry/attestation first, with detailed schemas in Phase 2.The registry/attestation model is the named first artifact.
One answer per question (proposed)At matching property, guest, entitlement and freshness context, the same question uses the same logical retrieval contract and returns consistent authoritative facts; identical wording is not required.A standing set of questions asked through every production channel on a cadence, with differences treated as defects.
Read-only retrieval, guarded writes (proposed)Retrieval never changes a source; every change goes through a tool with an audit record and an idempotency key. Content is corrected at its source and the layer follows on the next sync.Attempt to correct a fact in the index and confirm it is overwritten on the next sync.
Authoritative sources only (proposed)Tools and retrieval point at the system that owns the fact, or at a resolved foundation built from those systems — not a convenient copy.For each tool, name the system that owns the fact it returns; any tool that cannot be traced to one is a finding.
Declared freshness (proposed)Every source states its sync mechanism and expected staleness; where an answer combines facts of different ages, the layer can say so.A source inventory with a sync mechanism and expected staleness on every row.
Measures before targets (proposed)Publish what should be measured, not numeric thresholds, until observed data exists across segments. Tenancy leakage is the one exception; its only defensible value is zero.No numeric target ships without observed data behind it.

Additional proposed controls

ControlMeaning and test
Declared precedenceProduce a policy for two entitled actors writing the same resource; demonstrate escalation when it cannot decide.
Verifiable registryRemove an agent and demonstrate refusal on its next request.
Operational modeDemonstrate a queued financial write during night audit and a visible staff notification, followed by revalidated release.
Commercial constraintsName the governing instrument and commercial owner; demonstrate deterministic refusal or human escalation.
Tokenization boundaryVerify payment capture and charge authority stay outside agent context; inspect retrieval and logging paths.
Untrusted-input fencingUI-1 through UI-3 test tool authority, tier integrity and origin at the decision point. This is a proposal, not a demonstrated production claim.
08

Worked examples

Worked examples

Walk the check-in fan-out, room upgrade, voice booking and verification-gated access examples with the operator and integration partners. For each, record the system owner, interface, permission gate, halt/defer behavior, compensation, evidence and human fallback.

A joint test needs at least two member/vendor stacks, an agreed evidence template and an operator-controlled non-production environment or witnessed vendor sandbox. The guide does not claim those tests have been run.

09

Evaluate readiness and vendors

Evaluate readiness and vendors

Two instruments for operators assessing whether a system can sit under this layer. The first is the baseline integration and event requirements, restated in procurement terms. The second is a self-assessment for the guarded patterns.

Guarded-pattern self-assessment (companion)

The self-assessment covers guarded conversion, guarded disclosure, and interface fidelity — 30 items in two levels, each with a procedure, what counts as demonstrated, and the evidence to keep. It is explicitly a self-assessment an operator or vendor runs on itself, not a pass/fail verdict on a vendor: outcomes are demonstrated / not demonstrated / not applicable, capability-absent is recorded separately from harness-unavailable, and results are not comparable between vendors. It ships as a companion, not inside this document.

Baseline — any system

A documented, versioned API (read at minimum, write where guests or staff need the system to act); an event or webhook mechanism with the delivery guarantees of Integration inventory; scoped permissions below administrator; structured, specific error responses; and a willingness to be logged. Guest-facing conversational agents additionally need an availability and pricing read that returns inventory counts (not a yes/no flag), card-capture/payment-link issuance via API, submission-time revalidation, agent-scoped internal fields, a reservation-matching lookup on practical keys, a content read API with an enrichment layer, and a documented integration path whose commercial terms are disclosed and evaluable before commitment.

The procurement companion supplies 14 operator-side questions covering need, stack readiness, operating ownership and vendor commitments. It does not fill the remaining quality-evaluation gap: answer quality, escalation judgment, language coverage and cost per resolution still need an agreed method, owner and evidence.

PDFReusable download

Guarded-pattern self-assessment

What it is
Thirty technical checks, each with a procedure and evidence requirement.
When to use it
Reviewing your own implementation or witnessing a sandbox test.
What you enter or decide
Demonstrated, not demonstrated or not applicable; evidence, gap owner and follow-up.
What it produces
A technical evidence record, not a score.

Untrusted-input checks are proposed. Answer quality, escalation judgment, language and cost evaluation remain outside this instrument.

Download PDF ↗
PDFReusable download

Operator-side procurement questions

What it is
Fourteen questions about fit, stack readiness, operations and vendor commitments.
When to use it
Before adopting, building or buying.
What you enter or decide
Written evidence and your acceptance decision with advisors.
What it produces
A documented buying-readiness and vendor-demand record.

A written answer is not automatically acceptable. These questions do not assess answer quality or rank vendors.

Download PDF ↗

Contributors

People whose substantive inputs shaped this guide.

Atik Khatri ↗

AWS · Solutions Architect

Co-authored the adjacent platform architecture that informed assurance, runtime boundaries and legacy-system integration.

Bharat Lakhiyani ↗

AWS · Senior Solutions Architect

Co-authored platform material used to clarify systems-of-record boundaries, runtime responsibilities and cross-layer assurance.

Darko Bosancic ↗

Sirma Travel and Hospitality · Senior Vice President, Travel & Hospitality

Refined revalidation, multi-room failure handling, multi-agent authority, precedence, night-audit controls and silent-drift detection; supplied the operator procurement questions.

David Lamb ↗

AWS · Enterprise Solutions Architect

Co-authored the platform architecture and clarified topology-neutral runtime placement and the interface between platform and orchestration responsibilities.

Evgeny Chernyshov ↗

Polydom.ai · CTO

Contributed production field notes, guarded patterns, guest verification, technical reviews, self-assessment tests and the reusable deep-link proposal.

Ian Clark ↗

Canary Technologies · Director of Engineering

Emphasized concrete operating problems, the difference between enterprise and single-property needs, and keeping first-release event mapping bounded.

Ira Vouk ↗

AI Hospitality Alliance · Founder

Directed the synthesis and publication structure, brought in operator architecture evidence, and clarified the common control plane, services layer and audience.

Jaffrey Ali ↗

Hapi · Chief Product Officer

Contributed the reference architecture and diagrams, topology test, integration workbook, event semantics, services band and declared control registers.

Nicole Adair ↗

FLYR Hospitality · Director of Product

Challenged system coverage, the location of the orchestration boundary and RMS/event-mapping review needs, helping bound the first-release scope.

Piyush Shrivastava ↗

Milestone · Vice President of Product Management

Co-defined the inaugural scope and the DIY-builder versus vendor-reliant audience split that shaped the guide’s implementation and vendor-evaluation paths.

Ramki Srinivasan ↗

Great Wolf Resorts · CTO

Provided the operator architecture behind the uniform-estate case, including source-owned knowledge and the infrastructure/services framing.

Sebastien Leitner ↗

Cloudbeds · Vice President of Strategic Partnerships

Clarified authorization definitions, deployment and distribution boundaries, and why different use cases need distinct data services.

Stephan Wiesener ↗

Apaleo · CTO & Founder

Co-defined the inaugural scope and the DIY-builder versus vendor-reliant audience split that shaped the guide’s implementation and vendor-evaluation paths.

Todd Herion ↗

AeroPath Consulting LLC · Founder; workgroup lead

Created and consolidated the framework, capability model and worked examples; organized technical feedback and articulated the remaining implementation decisions.

Zen Valli ↗

Grevon · Chief Commercial & Strategy Officer

Shared a multi-property, single-PMS example with one MCP layer and multiple AI platforms, emphasizing property-specific context across the guest journey.

External resources

External resources