Test Cases - Trusted Getaways
Following information should be displayed to the users in the Trusted Getaways booking flow. Some of it is mandatory; the rest is optional but suggested for clarity. These test cases are in place to minimise post-booking escalations caused by missing or wrong information.
Pre-Booking Flow:
- Package title, nights and days, star category and route (e.g. "3N Hanoi → 2N Danang → 2N Ho Chi Minh City" for
fdljkya) - Mandatory - Departures - travel dates, price per adult and seats left; sold-out or closed departures not bookable - Mandatory
- Prices by traveller type - adult, single adult, child with bed, child without bed, infant - Mandatory
- Age bands and room rules in the travellers picker (minimum adults, maximum per room) - Mandatory
- Day-wise itinerary - date of each day, transfers with place names, sightseeing with type (Shared / Private / Ticket only), hotel stays (
fdljkya) - Mandatory - Flights - airline, flight number, times, duration, baggage, "+1d" for next-day arrival, internal flights placed on the right day and in the right order (fdljkya) - Mandatory
- Upgrades and add-ons, each with its price per traveller type - Mandatory (when the package has them):
◦ Hotel upgrade (fdljkkv,fdljkya)
◦ Sightseeing add-on (fdljkkv)
◦ Transfer add-on (fdljkya)
◦ Start-from-another-city flight add-on (fdljkkv) - Inclusions and exclusions - Mandatory
- Payment policy and cancellation policy - Mandatory
- Price breakdown and trip total on the review page - Mandatory
- Price change pop-up (Book returns 409) - Mandatory
- Lead traveller name, contact number and email address - Mandatory
- Market price struck through - Optional
- Package images and sightseeing images - Optional
- Seats-left badge - Optional
Post-Booking Flow:
- Provisional booking code (booking_code from the Book API) - Mandatory
- Status "Booking received · seats held" until the final code arrives; never shown as confirmed before that - Mandatory
- Final booking code once the Booking Status Webhook sends FINAL_BOOKING_CODE_ASSIGNED - Mandatory
- Your booking reference (buyer_booking_reference) - Mandatory
- Trip summary - package title and listing code (e.g. fdljkkv), travel dates, rooms and travellers, chosen upgrades and add-ons - Mandatory
- Booking amount - Mandatory
- Note that the traveller's documents will be collected before the booking is confirmed - Mandatory
Pricing Rules to Verify:
Every total is checked by the Book API. If your total differs, Book returns 409 with TravClan's expected_amount, so a mismatch shows up as a failed booking. Full rules: Pricing and Occupancy Rule and Add-ons and Upgrades.
| Rule | What to check |
|---|---|
| Child-to-adult promotion | In a room with 1 adult + 1 child, charge the lower of: single adult price + child price, or 2 × adult price (the child is charged as an adult). |
| Upgrade follows the room | The hotel upgrade is charged the same way as the room. If the child is charged as an adult for the room, use the adult upgrade price for that child too. |
| Sightseeing, transfer and flight add-ons | Charged per traveller: adult price × adults, child price × children (with and without bed), infant price × infants. |
| Seats | Adults and children take a seat; infants do not. |
Worked example (5N Singapore Getaway, sandbox prices at the time of writing: adult ₹40,000, single adult ₹55,000, child with bed ₹30,000, One Farrer upgrade ₹500 per adult, ₹200 per child with bed):
| Room | Option A | Option B | Charged |
|---|---|---|---|
| Room 1: 2 adults | — | — | ₹80,000 |
| Room 2: 1 adult + 1 child with bed | ₹55,000 + ₹30,000 = ₹85,000 | 2 × ₹40,000 = ₹80,000 | ₹80,000 (B) |
| One Farrer upgrade, both rooms | — | Room 2 follows B: 2 × ₹500 | 4 × ₹500 = ₹2,000 |
| Trip total | ₹1,62,000 |
Charging the child's upgrade at the child rate (₹500 + ₹200 in room 2) gives ₹1,61,700, which Book refuses.
Bookings in SANDBOX
Use these two sandbox packages. Pick any departure that is open for booking with enough seats at the time of testing; prices and dates may change, so always compare your total with the Book API.
| Package | Code | Covers |
|---|---|---|
| 5N Singapore Getaway | Ex-DEL | fdljkkv | Hotel upgrade, sightseeing add-on, start-from-another-city flight add-on |
| 7N Vietnam Getaway with Day Cruise | Ex-DEL | fdljkya | Hotel upgrade, transfer add-on, next-day arrival flight, multiple internal flights |
| Package | Rooms and travellers | Upgrades / add-ons | What to verify | |
|---|---|---|---|---|
| 1 | fdljkkv | 1 room: 2 adults | None | Total = 2 × adult price; seats held with a provisional code |
| 2 | fdljkkv | Room I: 1 adult + 1 child with bed | None | Minimum price: lower of single adult + child with bed, or 2 × adult price |
| 3 | fdljkkv | Room I: 2 adults · Room II: 1 adult + 1 child with bed | Hotel upgrade | Child-to-adult promotion in Room II; upgrade charged the same way as the room (see worked example) |
| 4 | fdljkkv | 1 room: 2 adults + 1 child with bed | Sightseeing add-on | Add-on shown on its day with adult, child and infant prices; charged per traveller |
| 5 | fdljkkv | 1 room: 2 adults | Start from another city | Option shown on the Day 1 flight; charged per traveller; sent in flight_origin_addon_codes |
| 6 | fdljkya | 1 room: 2 adults + 1 infant | Hotel upgrade + transfer add-on | Both priced per traveller type , infant included; sent in hotel_upgrades and transfer_addon_codes |
| 7 | fdljkya | Room I: 1 adult + 1 child without bed | Transfer add-on | Minimum price with a child without bed; add-on charged at the child price |
| 10 | Booking from case 3 (see Booking Status Webhook test below) | — | TravClan sends FINAL_BOOKING_CODE_ASSIGNED; your status page replaces "seats held" with the final booking code |
Room add-ons on hotels (for example "Single sofa cum bed") are not accepted by the Book API. Do not show them as bookable and do not send them in Book.
Booking Status Webhook test
The sandbox does not confirm bookings on its own, so ask the TravClan team to confirm one of your sandbox bookings. This tests the full journey from "seats held" to "confirmed" on your site.
| Step | Who | What happens | What to verify |
|---|---|---|---|
| 1 | You | Make a sandbox booking (for example case 3) | Book returns a provisional booking_code; your status page shows "Booking received · seats held" with your buyer_booking_reference, and does not show the booking as confirmed |
| 2 | You | Share your webhook URL and the buyer_booking_reference and booking_code of that booking with the TravClan team | - |
| 3 | TravClan | Confirms the booking in sandbox and sends FINAL_BOOKING_CODE_ASSIGNED to your webhook | Your webhook answers 200 |
| 4 | You | Open the booking status page again | The page shows the final booking code from the webhook, and the booking is marked Confirmed |
| 5 | TravClan | Sends the same callback again | Nothing changes on your side; your webhook still answers 200 |
Bookings in PRODUCTION
IMPORTANT❗ Please alert the TravClan team before testing in production, so that the test is not processed as an actual booking.
| Room Count | Occupancy Pattern | |
|---|---|---|
| 1 | 1 | 2 Adults |
| 2 | 2 | Room I - 2 Adults Room II - 1 Adult + 1 Child with bed + 1 Infant |
Updated 3 days ago
