Booking status describes the stay lifecycle. Payment status is derived from the settled payment and refund ledger and must not be treated as a free-text label.
Booking status
| Status | Operational meaning | Blocks availability |
|---|---|---|
| Pending | Booking exists and is awaiting the next required action. | Yes |
| Confirmed | Booking is accepted for the stay. | Yes |
| Checked In | Guest has arrived within the stay window. | Yes |
| Checked Out | Stay is complete. | No |
| Cancelled | Booking was cancelled. | No |
| No-show | Guest did not arrive under the applicable workflow. | No |
The stay interval is check-in inclusive and check-out exclusive.
Payment status
Hotel Booking displays Unpaid, Paid, Partially Paid, Partially Refunded or Refunded. A gateway transaction can be processing while the settled booking ledger remains unchanged; wait for provider confirmation before describing a payment as paid.
Verify and act
Open a booking from Hotel Booking → Bookings, read both badges and inspect the payment history. Do not infer a refund from a cancelled booking. Use the documented payment or cancellation action and confirm the ledger result after it returns.
If a status is unknown, leave the record unchanged and report the booking code, visible status and redacted timeline. The admin renderer shows unknown values as an escaped neutral badge for observability.