Appearance
Multi-day booking — the rules
Guest Direct Booking, desktop.
Two modes exist: flexible selects one bookable day; consecutive selects a continuous stay.
If a case is not decided by these rules, a rule is missing. Say so.
R1 — A date is open when at least one slot is bookable. Do not add capacity across separate slots.
R2 — A slot is bookable when it is open and fits party. Limited-by-seats needs enough seats and minimum party met. Limited-by-bookings needs one booking left. Unlimited and on-request are bookable.
R3 — Flexible booking selects one open date. That date's selected slot must be bookable for party.

Flexible booking has one selected date. No range is implied.
R4 — Consecutive stay is valid only when every day in it is open. No skipped closed day. Chosen time must exist on every day; stay capacity is lowest capacity of that time across stay.

Consecutive booking shows only times that work across whole stay.
R5 — Changed selection invalidates visibly. Changing date, party, availability, or chosen time cannot leave invalid booking looking valid.

Three guests invalidate times holding one or two seats.
R6 — Booking detail shows one row per booked day. Grouping may improve reading; it must not hide day-level booking facts.
R7 — Dates outside vendor booking window are never offered. No separate minimum or maximum stay length beyond these rules.
What to check
| Check | Expected |
|---|---|
| Two slots each fit two guests; party is four | Date is closed. No slot fits four. |
| Limited-by-bookings slot has one booking left | Date and slot are open for any party size. |
| Limited-by-seats slot has fewer seats than party | Date and slot are closed. |
| Consecutive stay crosses closed day | End date cannot pass closed day. |
| One time is missing on any day of stay | That time is not offered for stay. |
| Party grows after date or time selection | Invalid date or time is visibly rejected. |
| Flexible product | Guest selects one open day; no range is implied. |
| Booking has three consecutive days | Detail retains three day rows. |
Test rules, not table. Anything contradicting R1–R7 is a bug.
Out of scope
- Booking creation enforcement after picker. Picker rules do not replace backend validation.
- Vendor configuration of schedules, rates, capacity, or booking window.
Flag: ems_l3_gdbk_product_detail_multidaypicker_desktop_v2_show