06 Guest App · Module
Accommodation Booking & My Bookings
Takes a guest from "Reserve" on a property page to a confirmed, paid stay, and lets them manage it afterwards.
- Module
- Room Type & Date Selector → Guest details & payment (not designed) → Booking Confirmation → My Bookings → Cancel booking → Modify dates
- Apps
- Desktop Web (1440), Tablet Web (834), Mobile Web, Native App (390)
- Figma
- Page New → sections Room Type & Date Selector, Booking Confirmation, My Bookings, Cancel Booking Confirmation, Modify Dates (20 frames). Example: Dar Tarabin Coastal Ecolodge, booking DHB-2025-8841-ARB
- SRS
- §3.3 FR-3.1–3.6, §3.5 FR-5.1, 5.3, 5.5, FR-8.3, FR-13.4, NFR-5, NFR-6, NFR-8, NFR-10, NFR-12
- Screens
- 5 screens designed + 1 missing (checkout) · 20 frames
1. Module summary
Takes a guest from "Reserve" on a property page to a confirmed, paid stay, and lets them manage it afterwards.
Step 1 – Select room & dates → Step 2 – Guest details & accords + payment (no screen in the new Figma — see §7 G1) → Step 3 – Confirmation (voucher, offline QR check-in pass, host contact, arrival logistics) → My Bookings (upcoming / past / cancelled; view voucher; modify; cancel) → Cancel (refund per policy) / Modify dates (with sold-out conflict handling).
2. Business requirements covered (SRS)
| FR-3.1 |
Select room type, dates, guests; live price & availability before booking |
High |
MVP ✓ |
Room Type & Date Selector |
| FR-3.2 |
Complete booking with online payment |
High |
MVP ✓ |
Checkout step 2 — missing |
| FR-3.3 |
View booking confirmation; receive it by email/notification |
High |
MVP ✓ |
Booking Confirmation ("Voucher dispatched to …") |
| FR-3.4 |
View, modify (where policy allows), or cancel an upcoming booking |
High |
MVP ✓ |
My Bookings, Modify Dates, Cancel |
| FR-3.5 |
Enforce cancellation policy; calculate refunds |
High |
MVP ✓ |
Cancel dialog (refund eligibility & amount) |
| FR-3.6 |
Prevent double booking (atomic availability decrement) |
High |
MVP ✓ |
Backend; "Units left" badges; sold-out conflict on Modify |
| FR-5.1 |
Pay by card via integrated gateway |
High |
MVP ✓ |
Missing checkout; confirmation shows "Paid in full (Visa •••• 9012)" |
| FR-5.3 |
Automatic refund to original payment method |
High |
MVP ✓ |
Cancel dialog ("returned to Visa / Apple Pay •••• 9012 within 3–5 business days") |
| FR-5.5 |
Receipt/invoice for each completed payment |
Medium |
MVP ✓ |
"Download PDF", "Print Voucher" |
| FR-8.3 |
Push/email/SMS for confirmations, cancellations |
High |
MVP ✓ |
Confirmation email + notifications (module 09) |
| NFR-6 |
First-time guest books in ≤ 5 screens/steps |
— |
MVP ✓ |
3-step progress bar |
| NFR-12 |
Full audit trail of booking/payment transactions |
— |
MVP ✓ |
Backend |
3. Screen inventory
| 4.1 |
Room Type & Date Selector (Step 1) |
Default |
All 4 |
| 4.2 |
Guest Details & Payment (Step 2) |
— |
Not designed |
| 4.3 |
Booking Confirmation (Step 3) |
Default |
All 4 |
| 4.4 |
My Bookings |
Default (upcoming booking selected) |
All 4 |
| 4.5 |
Cancel Booking Confirmation |
Dialog / bottom sheet |
All 4 |
| 4.6 |
Modify Dates |
Sold-out collision error |
All 4 |
4. Screen specifications
4.1 Room Type & Date Selector — Step 1 of 3
Entry: Reserve on Property Detail (values carried over). Exit: Continue → Step 2; back → Property Detail.
Default
UI elements
| Progress |
Step 1 Select Room & Dates · Step 2 Guest Details & Accords · Step 3 Confirmation (native "STEP 1 OF 3") |
Shows position; previous steps clickable. |
| Property summary |
Name, "100% OFF-GRID SOLAR & REEF CERTIFIED", rating 4.99 (67), "SANCTUARY CAPACITY — Low Impact (3/5 Units Left)" |
Units left = live inventory. |
| 1. Dates |
Two-month calendar (Oct/Nov 2025); legend Selected · Stay span · Past / Full; preset chips Weekend Escape (2N) · Lunar Stargazing (4N) · Deep Reef Dive (7N) (native: 3 Nights · 4 Nights · 7 Nights (10% off) · Custom); CHECK-IN "Thu, Oct 16, 2025 — After 2:00 PM", CHECK-OUT "Mon, Oct 20, 2025 — Before 11:00 AM"; note "New Moon Night: Oct 18 (Best Milky Way view)" |
Past and fully booked dates disabled. Preset = check-in + N nights. Min/max stay per property (to define). |
| 2. Guest allocation |
Steppers: Adults (13+) · Children (2–12) · Extra Cot / Majlis (+EGP 300/night) ; "Off-grid sanctuary preserves strict max capacity per hut" |
Total guests ≤ selected tier capacity; extra cot adds a nightly fee. |
| 3. Room tier |
3 tier cards (see module 05) with "MOST POPULAR", "2 Units Left" / "ONLY 1 LEFT", specs, inclusions, TIER SELECTED / Select Suite / Select Hut; tablet shows price difference ("+EGP 3,200 total difference") and Switch Room |
One tier per booking (multi-room not designed). |
| Arrival note |
"Arrival via Camel or Coastal Footpath — accessible only by a 1.5-hour coastal walk from the Blue Hole or Bedouin camel transfer" |
Property-specific access info. |
| Reservation summary (sticky) |
Tier, dates, "4 Nights · 2 Adults"; lines: EGP 2,400 × 4 = 9,600 · Eco-Conservation Reef Fund (5%) 480 · Solar Microgrid & Desal Water 350 · Bedouin Hearth Breakfast "EGP 0 (Included)" · Subtotal 10,430 · Sinai Eco Tourism Tax (10%) 1,043 · Total Payable EGP 11,473 · "Approx. $240 USD" · "Free cancellation up to 5 days before check-in — 100% refund until 2:00 PM on Oct 11, 2025" |
Recalculates on every change. Refund deadline = check-in − policy days. |
| Primary CTA |
Continue to Guest Details & Accords (tablet: "Continue to Guest Details (EGP 11,473)"; native: "Continue") |
Re-validates availability, places a short hold on the unit (see rules), goes to Step 2. |
| Host contact |
"Questions for Sheikh Salama? Message on WhatsApp" |
See module 05 G1. |
Step-by-step
| 1 |
Arrives from Reserve |
Pre-fills tier, dates, guests from the property page. |
| 2 |
Picks check-in, then check-out (or a preset) |
Highlights span; disables unavailable dates; recalculates nights and total. |
| 3 |
Adjusts adults / children / extra cot |
Enforces tier capacity (disables "+" at max, message); adds cot fee. |
| 4 |
Switches tier |
Re-checks availability for the dates; shows difference; updates total. |
| 5 |
Taps Continue |
Server re-prices and re-checks availability; creates a pending reservation with a hold (e.g. 15 min); opens Step 2. |
| 5b |
Unit no longer available |
Shows error and suggests other tiers/dates (reuse Modify-dates conflict pattern 4.6). |
4.2 Guest Details & Payment — Step 2 of 3 (NOT DESIGNED)
The new Figma has no screen for Step 2 although both progress bars reference it ("Guest Details & Accords"). An older version exists in the first Stitch project (Coral Coast Camp – Checkout & Payment / Confirm & Pay). Minimum content required by the SRS:
| Lead guest details |
Full name, email, phone (+20 default), nationality; pre-filled from profile |
FR-1.3 |
| Special requests / arrival transfer choice |
Camel caravan vs boat shuttle (shown later on confirmation) |
— |
| Accords |
Accept house rules, cancellation policy, Environmental Charter (checkbox) |
FR-13.4 |
| Price summary |
Same breakdown as Step 1 |
FR-3.1 |
| Payment |
Card via PCI-DSS gateway (Paymob/Fawry/Stripe), tokenised; 3-D Secure; Pay EGP 11,473 |
FR-5.1, NFR-3, NFR-8 |
| Coupon code |
Later (FR-5.4) |
— |
| Cash on arrival |
Later (FR-5.2) |
— |
| Errors |
Card declined, 3DS failed, timeout, hold expired |
— |
4.3 Booking Confirmation — Step 3 of 3
Entry: successful payment. Exit: My Bookings, Discovery, Browse Expeditions.
Default
UI elements
| Progress |
Step 1 ✓ · Step 2 ✓ · Step 3: Confirmed |
— |
| Success message |
"Mabrouk! Your Sanctuary is Secured" / "Reservation Confirmed!" / "Booking Confirmed • مبروك!" |
Bilingual celebration line. |
| Booking reference |
DHB-2025-8841-ARB + Copy Pass / Copy / Copy Ref; "Voucher dispatched to guest@redseadive.com" |
Unique reference format DHB-YYYY-NNNN-XXX; confirmation email sent (FR-3.3). |
| Stay voucher |
Property, tier (Stargazing Palm Arish, Tier 01), CHECK-IN Thu Oct 16 from 2:00 PM, CHECK-OUT Mon Oct 20 until 11:30 AM, 2 Adults, 4 nights, board (Bedouin breakfast), meeting point "Blue Hole Camel Staging Hub" |
From the booking record. |
| Offline check-in pass |
QR code + PIN 4192, "Present this digital token to the Ras Abu Galum Protectorate Gate rangers…", "Valid without mobile reception", "Sinai Park Entry Taxes Pre-cleared"; native Add to Wallet, Trailhead Map |
QR encodes booking ref + signature; must work offline; Apple/Google Wallet pass. |
| Host card |
Sheikh Salama Tarabin, rating, message; Chat on WhatsApp (+20 10 2481 9920) · Direct Call · In-App Chat |
Host contact revealed after booking. In-app chat is FR-8.1 (Later). |
| Arrival protocol |
"NO PAVED ROADS" — Option A Bedouin camel caravan (1.5 h), Option B coastal boat shuttle (20 min, weather-dependent, 250 EGP paid to captain); "Open Blue Hole Staging on GPS" / "Get Directions" |
Property-specific arrival instructions (provider content). |
| Payment summary |
"Paid in Full (Visa •••• 9012)": 4 nights 9,600 · Reef restoration 480 · Solar desal 350 · EEAA levies 1,043 · Total Settled EGP 11,473 |
Must match Step 1 total. |
| Utilities |
Print Voucher · Download PDF · Add to Calendar (mobile: Add to Cal · Directions · Save PDF) |
PDF = voucher + receipt (FR-5.5); .ics calendar event. |
| Emergency channels |
Deco Chamber +20 69 3640 530 · Ranger coastal rescue 1909 / VHF 16 |
Shared config. |
| Charter accord |
Zero single-use plastics · mineral sunscreen · silent hours after 22:30 |
— |
| Cross-sell |
"Enhance Your Stay with Marine & Desert Safaris" · Browse Expeditions · Return to Discovery |
Opens activity search (03). |
Step-by-step
| 1 |
Payment succeeds (gateway webhook) |
Confirms booking, decrements availability atomically (FR-3.6), generates reference, QR/PIN, voucher PDF, receipt; sends email + push (FR-3.3, FR-8.3); notifies provider (FR-15.3). |
| 2 |
Sees confirmation |
Shows voucher, pass, host contact, arrival options. |
| 3 |
Copies reference / adds to wallet / calendar / downloads PDF |
Performs action with feedback toast. |
| 4 |
Taps Go to My Bookings / Bookings tab |
Opens My Bookings with this booking selected. |
4.4 My Bookings
Entry: "My Bookings" in the web header, Bookings tab (native/mobile), confirmation screen, notifications. Exit: booking actions (voucher, modify, calendar, cancel), host contact, Book Again.
Default
UI elements (checked against the exported Desktop screen)
| Header |
"My Bookings" active in the top nav (native: Bookings tab) |
— |
| Title & tabs |
"My Sanctuary Bookings" · segmented Upcoming (1) · Past Stays (2) · Cancelled (0) · search "Search ref, lodge, guide…" |
Counts per status; search by reference, property or guide name. |
| Upcoming card (left list) |
"Confirmed & Secured", #DHB-2025-8841, zone, Dar Tarabin Coastal Ecolodge, "Stargazing Palm Arish • 2 Guests", Thu Oct 16 – Mon Oct 20 2025, 4 Nights, countdown "In 14 Days • New Moon Tide", EGP 11,473 Paid in Full |
Selecting a card opens its detail on the right (desktop/tablet) or a new screen (mobile/native). |
| Past journeys |
"2 Completed": Canyon Dune Camp (White Canyon Stargazer Expedition, Sep 4–7 2025, 3 nights, EGP 6,800, Receipt & Tax Leaf, Book Again); Bells & Arch Guided Freediving (Aug 18 2025, EGP 2,400, Dive Log Certificate, Book Again) |
Stays and activities in one list. Receipt = FR-5.5. Book Again → the listing with new dates. |
| Impact card |
"Your completed 2025 stays have contributed 350 sqm of coral reef surveillance…" |
Informational; needs a data source or static copy. |
| Detail header |
BOOKING REFERENCE DHB-2025-8841-ARB + COPY REF, status "Confirmed • 100% Off-Grid Solar Sanctuary"; actions Download PDF Voucher · Modify Dates · Add to Calendar · Cancel Stay |
Actions shown only when allowed by status/policy. |
| Stay block |
Photo, rating 4.96 (64 reviews), CHECK-IN Thu Oct 16 from 2:00 PM (habak tea welcome at Blue Hole), CHECK-OUT Mon Oct 20 until 11:30 AM (camel footpath escort), room "Stargazing Palm Arish • 34 m²", "2 Adults (Private Sanctuary)", inclusions (breakfast, solar, spring water) |
Same data as confirmation. |
| Offline check-in pass |
QR + PIN 4192, "Valid at Ras Abu Galum Checkpoint — No cellular coverage needed", "EEAA Sinai Marine Reserve Permit pre-cleared", "Port Police coastal clearance logged"; native: Add to Apple / Google Wallet |
Cached for offline use. |
| Settled financials |
Receipt #4810-RC: 4 nights 9,600 · Eco-Conservation Reef Fund (5%) 480 · Solar microgrid 350 · EEAA levy 1,043 · TOTAL PAID EGP 11,473 via Visa •••• 9012 |
Matches Step 1/Step 3. |
| Host card |
Sheikh Salama Tarabin, message, WhatsApp Sheikh Salama (+20 10 2481 9920) · Call Host · In-App Chat |
In-app chat = FR-8.1 (Later). |
| Arrival logistics |
3 steps (Blue Hole taxi drop → coastal canyon passage 1.5 h trek or 15 min boat → Dar Tarabin arish), map with coordinates, Open Trailhead in GPS |
Provider content. |
| Policy box |
"Free cancellation until Saturday, Oct 11, 2025 (5 days prior to arrival). 100% refund… Cancellations within 5 days retain the 5% Eco-Conservation Reef Fund" |
This is the refund rule after the deadline (FR-3.5). |
Step-by-step
| 1 |
Opens My Bookings |
Lists the guest's bookings by tab; the nearest upcoming booking is selected. |
| 2 |
Searches by reference/lodge/guide |
Filters the list. |
| 3 |
Selects a booking |
Shows detail, pass, financials, host, logistics, policy. |
| 4 |
Taps Download PDF Voucher / Add to Calendar |
PDF voucher + receipt / .ics event. |
| 5 |
Taps Cancel Stay |
Opens Cancel dialog (4.5). |
| 6 |
Taps Modify Dates |
Opens Modify Dates (4.6). |
| 7 |
On a past item taps Receipt / Dive Log Certificate / Book Again |
Downloads document / opens the listing to rebook. |
4.5 Cancel Booking Confirmation
Default
| Presentation |
Desktop/Tablet: centred modal over dimmed My Bookings. Mobile/Native: bottom sheet with drag handle and ✕ |
— |
| Title & reference |
"Cancel Reservation?" · REFERENCE DHB-2025-8841-ARB |
— |
| Booking summary |
Dar Tarabin, Oct 16–20 2025 (4 nights), Stargazing Palm Arish • 2 Adults, Total paid / Settled charge EGP 11,473 (Visa •••• 9012) |
— |
| Refund status |
Badge "Full 100% Refund Eligible" / "100% Full Refund Guarantee"; "Grace period valid until Oct 11, 2025, 2:00 PM (5 days prior to arrival)"; native: "the entire amount of EGP 11,473 will be refunded to Apple Pay (•••• 9012). Zero penalty or conservation levy withheld." |
Refund % from policy + time (FR-3.5); after the deadline the 5% reef fund is retained (see 4.4). |
| Refund ledger (desktop) |
Accommodation & Breakfast +9,600 (100%) · Solar microgrid +350 (100%) · EEAA levy +1,043 (100%) · Eco-Conservation Reef Fund (5%) +480 "Fully refunded to card" · TOTAL REFUND AMOUNT |
Line-by-line refundability. |
| Cancellation reason (native) |
"Why are you cancelling? (Optional)": Change in dates · Trip postponed · Found another stay · Other |
Optional; stored for reporting. |
| Host note |
"Sheikh Salama and your Bedouin guide will be notified to release your reserved Arish and trailhead camel." |
Provider notified (FR-15). |
| Actions |
Confirm Cancellation (destructive) · Keep My Stay |
Confirm is irreversible. |
Step-by-step: 1) Guest taps Cancel Stay → 2) system computes refund lines with policy + current time → 3) guest (optionally) picks a reason and taps Confirm Cancellation → 4) system cancels the booking, releases inventory, refunds via gateway to the original method (FR-5.3), logs the audit trail (NFR-12), sends cancellation email/push (FR-8.3), notifies the provider → 5) booking moves to Cancelled with refund status.
4.6 Modify Dates — Sold-out collision
Sold-Out Collision Error
| Header |
"Modify Stay Dates" · DHB-2025-8841-ARB · "Dar Tarabin Coastal Ecolodge • Unit: Stargazing Palm Arish" · ✕ |
— |
| Collision alert |
"Selected Dates Unavailable — FULL MOON HIGH TIDE SURGE — Stargazing Palm Arish is fully booked on Friday, Oct 24 and Saturday, Oct 25…" · "Requested Window Oct 23 → Oct 27 (4N)" |
Lists conflicting nights. |
| Calendar |
Two months (Oct "Peak Season", Nov "Open Season"); legend Current Stay (Oct 16–20) · Sold Out / Collision · Requested Range (Broken) · Suggested Open Window; View full lodge calendar |
Sold-out nights struck through and disabled. |
| Conflict resolutions ("3 instant solutions") |
① RECOMMENDED • ZERO FEE — Shift 2 days earlier Oct 14–18, "Fare Difference: EGP 0" — Select Window → ② KEEP REQUESTED DATES — Upgrade to Limestone Canyon Suite +EGP 800/night, "Total Stay Delta (4 nights) +EGP 3,200", "Only 1 suite remaining" — Switch Room Tier ③ AUTOMATED WAITLIST — "Hold Oct 23–27 Cancellation Alert", WhatsApp number field — Join Waitlist |
Price difference charged/refunded; waitlist stores an alert subscription. |
| Host override |
"Need specific dates…? Sheikh Salama can coordinate a bespoke tent setup" — Request Host Override |
Sends a request to the provider (not in SRS — see §7). |
| Footer |
"Reservation In Conflict (2 unavailable nights selected)" · Revert to Original (Oct 16–20) · Update Reservation (disabled until conflict resolved) |
Original booking untouched until Update. |
Step-by-step: 1) Guest taps Modify Dates → 2) picks new dates → 3) system checks availability for the same tier → 4a) available → shows new total and difference → Update Reservation → booking updated, difference charged/refunded, new voucher, notifications → 4b) conflict → this state: guest selects an alternative window, switches tier, joins the waitlist, requests a host override, or reverts.
5. Cross-screen business rules
- Price formula (as designed): nights × nightly rate (with date overrides) + eco-conservation fund (5%) + fixed solar/desal fee + extra-cot fee → subtotal → + Sinai eco-tourism tax (10%) = total. Breakfast included. Fee names/percentages must be configurable per property/zone.
- Availability hold: at Continue (Step 1) the unit is held for a limited time; released if payment is not completed.
- Double booking: availability decremented atomically on payment confirmation (FR-3.6); if two guests pay for the last unit, the second payment is voided/refunded automatically.
- Policy snapshot: the cancellation policy is copied onto the booking at payment time; later policy edits don't affect existing bookings.
- Refund: amount = paid × refund % by time before check-in (FR-3.5); design rule for Dar Tarabin: 100% until 5 days before arrival (2:00 PM), after that everything except the 5% Eco-Conservation Reef Fund; refund to original method (FR-5.3); status tracked (pending → refunded).
- Modify: allowed only if the policy allows and before the refund deadline (to confirm); price difference charged or refunded.
- Offline pass: QR/PIN must be verifiable offline by the provider/ranger (signed token).
- Notifications: confirmation, modification, cancellation → email + push (+ SMS/WhatsApp) (FR-8.3).
- Audit: every state change and payment event is logged (NFR-12).
6. Story candidates for Jira
Epic: GUEST-BOOK-STAY — Accommodation booking & management
| STAY-1 |
As a guest, I want to choose dates with a calendar showing unavailable nights. |
Past/full dates disabled; presets set N nights; check-in/out times shown. |
| STAY-2 |
As a guest, I want to set adults, children and extra cot within the room's capacity. |
"+" disabled at capacity with message; cot adds EGP 300/night. |
| STAY-3 |
As a guest, I want to switch room tier and see the price difference. |
Availability per tier for chosen dates; total updates. |
| STAY-4 |
As a guest, I want a transparent price breakdown before paying. |
Lines & total as designed; USD approximation; refund deadline date computed. |
| STAY-5 |
As a guest, I want my selected unit held while I pay. |
Hold created on Continue; expiry handled with message. |
| STAY-6 |
As a guest, I want to enter guest details and pay by card securely. |
Needs design. PCI gateway, 3DS, tokenisation, error states. |
| STAY-7 |
As a guest, I want a confirmation with reference, voucher, QR pass and host contact. |
Email sent; reference copy; PDF/print; calendar; wallet pass (native). |
| STAY-8 |
As a guest, I want my check-in pass to work offline. |
QR + PIN visible without network after first load; signed token. |
| STAY-9 |
As a guest, I want to see my upcoming, past and cancelled bookings. |
Tabs with counts; detail view; stays and activities both listed. |
| STAY-10 |
As a guest, I want to cancel and see my refund before confirming. |
Refund % & amount per policy; confirm → cancelled, refund issued, emails, provider notified, inventory released. |
| STAY-11 |
As a guest, I want to change my dates. |
Availability check; price difference charged/refunded; new voucher. |
| STAY-12 |
As a guest, I want alternatives when new dates are sold out. |
Conflict nights shown; alternative dates, upgrade option, waitlist toggle; original kept until confirm. |
| STAY-13 (tech) |
Double-booking protection & audit log. |
Concurrent payments for last unit → one succeeds, other auto-voided; all events logged. |
7. Gaps, inconsistencies & open questions
| G1 |
Step 2 "Guest Details & Accords" + payment is not in the new Figma — required for FR-3.2 / FR-5.1 (High, MVP). |
Design Step 2 (all 4 breakpoints) incl. payment errors. |
| G2 |
Fee lines differ by breakpoint although the total is always EGP 11,473: Desktop 9,600 + 480 (5% fund) + 350 + 1,043 (10% tax) = 11,473 ✓; Tablet selector lists 520 + 310 + "14% tax" (10,430 × 1.14 would be 11,890, not 11,473); Mobile Web shows a single "EGP 830" levy; Tablet confirmation uses 8,800 for 4 nights (EGP 2,200/night) + 920 + 640 + 1,113; Property page shows "Total before taxes 10,350" with other fees. |
Define one fee/tax model (names, % vs fixed, taxable base) — needs finance/legal input (SRS §7.1 VAT) — and use it on every breakpoint. |
| G3 |
Cancellation window differs: 5 days (desktop/tablet/native) vs 48 hours (mobile web). |
Use the property's policy only. |
| G4 |
Check-out time differs: 11:00 AM vs 11:30 AM. |
Property field. |
| G5 |
Mobile Web calendar shows October 2024 and weekdays "Wed/Sun" for Oct 16/20 (other breakpoints Thu/Mon 2025). |
Fix copy. |
| G6 |
Tablet selector shows host "Sheikh Salem Tarabin"; elsewhere "Sheikh Salama". Review count 142/218 vs 67. |
Fix copy. |
| G7 |
Activity bookings appear in My Bookings (past list) but there is no activity-specific booking detail/cancel design. |
Reuse this pattern for activities (module 07). |
| G8 |
Refundability of third-party fees (EEAA permit, eco tax) after cancellation is undefined. |
Business decision. |
| G9 |
Modify rules (allowed until when? fee?) undefined. |
Define in policy model. |
| G12 |
Desktop Cancel dialog is rendered behind the page footer (title and total cut off) — layout bug in Figma. |
Fix the modal z-order/height. |
| G13 |
Refund destination shown as Visa (desktop) vs Apple Pay (native) for the same booking. |
Copy fix — always the original payment method. |
| G14 |
Cancel dialog says "Half-Board Bedouin Dining Included"; everywhere else breakfast only. |
Copy fix. |
| G15 |
"Request Host Override" (bespoke dates) and "Impact" card are not in the SRS. |
Decide scope. |
| G16 |
Past items in My Bookings have Book Again but no Leave a Review button (module 08 depends on it). |
Add "Leave a Review" to completed bookings. |
| G17 |
My Bookings uses a different brand lockup ("DAHAB SANCTUARY & SEA") from the rest of the app ("DAHAB • دهب RESERVATIONS • TOURING • TRIPS"). |
Pick one brand name. |
| G10 |
"Approx. $240 USD" conversion shown — multi-currency is FR-20.3 (Later). |
Keep as informational or remove. |
| G11 |
Multi-room booking ("2 Rooms" appears in search) — selector supports one tier/unit only. |
Decide MVP: one unit per booking. |
8. Out of scope for MVP
- Cash on arrival (FR-5.2), coupon codes (FR-5.4 / FR-21), booking reminders (FR-4.4-like for stays), in-app messaging (FR-8.1).