Front-desk workflow
The browser screens use the public API through the SDK and its query factories. See reservations for exact request, money and version rules.
| Screen | URL below /w/:workspace/p/:property |
Data |
|---|---|---|
| Today | /today?date=YYYY-MM-DD |
Front-desk counters and stay lists |
| Planning | /planning?date=YYYY-MM-DD&nights=14 |
Calendar, units and authoritative availability |
| Reservations | /reservations |
Summary page with server search, filters, sort and cursor |
| Detail | /reservations/:id |
Guest, rooms, active segments, frozen nightly prices and version |
| Rooms and housekeeping | /rooms |
Calendar/next arrivals plus physical front-desk occupancy |
| Setup | /settings/rooms |
Room types and units, including archived entries |
| Rates | /rates |
Rate calendar: nightly prices and restrictions (rates) |
| Rate plans | /settings/rate-plans |
Plans and derivations (rates) |
| Policies | /settings/policies |
Commercial policies (policies) |
| Night audit | /night-audit |
Business date, checklist and history (night audit) |
| Reports | /reports |
Property performance (reports) |
| Channels | /channels |
Channex mapping, import health and ARI (booking import) |
| Inbox | /inbox |
Channex guest messages (Messages) |
| Property settings | /settings |
Name, time zone and currency (properties) |
?reservation=:id opens detail above a list/planning. ?new=1 opens creation; optional
arrival, departure, room_type_id and unit_id prefill a free planning range.
Workspace /w/:workspace/guests?guest=:id opens a guest profile and paginated history.
The profile also offers consent history, duplicate review and owning-property correction;
Guests → Duplicates opens the workspace review list. See guest identity
for merge choices, permissions and consent boundaries.
The shell palette searches reservation code/guest name in the selected property and
workspace guests. Lists and palettes use bounded pages, never an invented total count.
Each action checks a permission (roles and property access).
With the built-in roles, every role can read; the administrator configures rooms and types
(inventory.configure); administrators, front desk and revenue managers edit guests, bookings
and assignments (guests.manage, reservations.create, reservations.modify); check-in/out
and their undo (stays.check_in, stays.check_out) and cancellation (reservations.cancel)
belong to administrators and front desk; housekeeping status (housekeeping.update) also to
the housekeeping role. A custom role holds exactly the codes it grants, and a member limited
to selected properties uses them only there. The server rechecks every grant; disabling a button is not an authorization boundary.
Writes are never automatically retried. A lost response asks the operator to inspect saved state. A 409 retains the draft and reports holding codes/full nights; a 412 offers explicit reload. Lists, room readiness, the calendar, guest history and detail invalidate together after a confirmed write. No optimistic booking bar implies inventory has been held.
In Planning, a writable member drags a stay’s bar to another room or other nights; a dialog previews the change on the server (room, type used, dates, price kept or re-quoted) and nothing is saved before Confirm. The stay detail offers Move… and Split… with the same preview as the keyboard and single-pointer path. A split stay shows one bar per room; an in-house guest moves from tonight, never across nights already stayed while the night audit lags. Conflicts are linked to the field to change. See reservations and ADR 0042.
Planning also resizes either stay edge with server preview and Change dates… provides the
same action without dragging. Focus a bar, press M, use arrows to choose rooms/nights,
Shift+Left/Right to change departure, Alt+Shift+Left/Right to change arrival, Enter to review, and Escape to cancel. Channel dates and
nights already stayed remain protected. A Do not move marker appears on every segment;
changing its room or dates requires a separate acknowledgement. Members with
reservations.set_do_not_move set or clear it in stay detail. Successful planning moves and
resizes offer Undo for ten seconds; Ctrl/⌘ Z in Planning runs the same inverse. A later
edit is reported as a conflict and is never overwritten.
Creation from the screens and API books several rooms in one reservation. Add a room, select its type and occupancy, select its quote or enter its price, then preview the whole booking. Removing a room discards only that room draft; changing any draft invalidates the booking preview. All rooms persist together, and detail and Planning show each room. Folios and payments are on the reservation detail (folios). Manual screen-reader acceptance remains separate from component axe and Chromium audits. ADR 0026 records the UI decisions, scope and browser evidence.