- Guest and property scope are explicit
- Bind tenant, property, channel, requester, guest and delegation, party, service, resource, local time and zone, duration, quantity, accessibility need, purpose, contact destination, consent and retention before retrieval or disclosure.
- Availability remains authoritative and expiring
- Read current resource, allocation, capacity and closure state, expose source and freshness, label cached, partial, request-only or waitlisted options and revalidate before hold, review, commit, change and cancellation.
- Price and policy are complete
- Calculate exact currency, quantity, unit, inclusions, mandatory charges, authoritative taxes, optional additions, deposit, guarantee, balance, cancellation, no-show, amendment and refund terms and prohibit hidden conditions or preselected extras.
- Access and review are usable
- Preserve guest corrections, support keyboard and assistive paths, explain errors and terms, provide human help and require property acknowledgment before presenting an accessibility request as an available accommodation.
- Payment and reservation commit separately
- Keep account data outside model context, use approved hosted or tokenized payment, distinguish authentication, authorization, capture and settlement, commit idempotently and reconcile unknown reservation and payment effects before retry.
- Change, cancellation, and service reconcile
- Authenticate later requests, refresh current state, preview consequences, preserve versions, separate cancellation from inventory release and refund and follow communication into arrival, service, no-show, complaint, dispute and recovery.