Skip to content

โœ… Door Access Synced

Topic: RESERVATION_DOOR_ACCESS_SYNC_SUCCESS

What It Does

The doors stored on a reservation changed after a successful interaction with the door access provider. The event carries the change as patches, so a subscriber can keep track of exactly which doors a guest can open.

Key Info

  • Object: Reservation
  • Actors: Guest or Staff
  • Source: BACKOFFICE, GUEST_JOURNEY, PLATFORM, PMS

When It Fires

Only when the stored doors changed. A sync whose result equals what is already stored (for example a manual re-sync of the same state from the backoffice) does not emit an event. Triggers:

  • After pre-checkin completion
  • After check-in completion
  • After check-out
  • After room assignment
  • After amend stay
  • After a backoffice or Public API sync

If the provider failed, Door Access Sync Failed fires instead, also when the automatic recovery changed the stored doors.

Context Data

โš ๏ธ context.request is deprecated and will be removed on December 31, 2026. Read the top level fields instead.

{
    "requestor": "KEYS_IN_HOUSE",
    "doorAccessState": "PUBLIC_AND_PRIVATE",
    "patches": [
        {
            "op": "add",
            "path": "/accessibleDoors/1",
            "value": {
                "id": "8D9378B2CA5D2FCC6D8008D934ABA012",
                "title": "216",
                "lockAccessibility": "PRIVATE"
            }
        }
    ],
    "request": {
        "reservationId": "ABCDEFGH-1",
        "doorAccessState": "PUBLIC_AND_PRIVATE",
        "requestor": "KEYS_IN_HOUSE"
    }
}
Field Description
requestor What triggered the sync, see Requestors
doorAccessState The access state the sync reached, see Door Access States. Not set for KEYS_REFRESH and WALLET_ADD
patches JSON Patch from the previous to the new reservation, door changes under /accessibleDoors
request Deprecated, removed on December 31, 2026. Legacy copy of the sync request (id, reservationId, doorAccessState, requestor, principal). Use the top level fields instead
user The staff member who triggered the sync. Only present for syncs started from the backoffice

Door Access States

State Description
NONE No door access granted - guest cannot access any doors
PUBLIC Access to public areas only (lobby, common areas)
PUBLIC_INHOUSE Access to public areas for checked-in guests
PUBLIC_AND_PRIVATE Full access to both public areas and private room/unit

Requestors

Requestor Description
CHANGE_PIN Guest requested PIN code change through self-service
ADMIN Staff manually triggered sync from backoffice
KEYS_CONFIRMED Guest completed pre checkin and on arrival day public doors are issued
KEYS_CONFIRMED_TIMER Guest completed pre checkin and on arrival day public doors are issued by timer
KEYS_FORCE_PRIVATE_TIMER Automatic sync triggered by private access timer
KEYS_IN_HOUSE Sync triggered when guest checks in (in-house status)
KEYS_FORCE_IN_HOUSE Force sync for in-house guest (override existing state)
KEYS_CHECKED_OUT Legacy, no longer emitted. Replaced by KEYS_CLEANUP_CHECKED_OUT
KEYS_SYNC General door access synchronization request
KEYS_REFRESH Nightly refresh of the stored doors from the provider
KEYS_CLEANUP_CHECKED_OUT Guest checked out, private doors removed and public doors kept
KEYS_CLEANUP_FINAL All doors removed after the stay ends, a cancellation or a no-show
WALLET_ADD Guest added a key to their mobile wallet

What To Do With It

  • Apply patches - Keep your own copy of the guest's doors current
  • Notify guest - Keys are ready to use
  • Confirm access validity - Verify access times are correct
  • Log sync success - Track for operational metrics
  • Enable access notifications - Alert on door usage if configured