Add-ons and Upgrades
Packages can offer optional extras on top of what is included: hotel upgrades, optional activities, transfer upgrades and flights from another city. They come in the Package Details response, and the traveller's choices go in the Book API request.
Try it liveCheck the total for any room mix, with upgrades, in the live pricing and occupancy calculator.
Types of Add-ons
| Add-on | In Package Details | Where to show it | Book API field |
|---|---|---|---|
| Hotel upgrade | hotels[].upgrades[] | On the hotel's card, on its day_of_trip | hotel_upgrades |
| Optional activity | addons[] | On its day_of_trip, with an Add button | sightseeing_addon_codes |
| Transfer upgrade | transfers[].addons[] | On the matching transfer's card | transfer_addon_codes |
| Start from another city | flights[].outbound.origin_addons[] | On the Day 1 flight | flight_origin_addon_codes |
Show an add-on only when the package has it.
Hotel Upgrades
An upgrade replaces an included hotel stay with a better hotel, often with a better meal plan (meal_type, e.g. HALFBOARD). Offer one choice per stay: the included hotel or one of its upgrades.
Price: the upgrade prices are extra amounts, charged room by room with the same rule as the package price, using upgrade_adult_price, upgrade_single_adult_price, upgrade_child_price_with_bed, upgrade_child_price_without_bed and upgrade_infant_price. See Pricing and Occupancy Rules.
Book API: keep the included stay in hotels and add one item per upgrade:
"hotel_upgrades": [
{ "base_hotel": { "code": "fhsjk49" }, "upgrade_hotel": { "code": "fhsjkyg" } }
]Optional Activities, Transfer Upgrades and Start from Another City
These three are priced per traveller, with one price each for adults, children (with or without bed) and infants:
Add-on price = adults × adult_price + children × child_price + infants × infant_priceFor example, an activity priced at adult ₹3,000, child ₹2,000 and infant ₹1,000, for 2 adults, 1 child and 1 infant: 2 × 3,000 + 2,000 + 1,000 = ₹9,000.
| Add-on | What the traveller gets | Send in Book API |
|---|---|---|
| Optional activity | A paid activity on its day_of_trip, e.g. a show or a tour. | addons[].code in sightseeing_addon_codes |
| Transfer upgrade | A different transfer type for that transfer, e.g. shared to private (transfer_type). | transfers[].addons[].code in transfer_addon_codes |
| Start from another city | A flight from home_origin_city that connects to the package flight at flight_origin. | origin_addons[].code in flight_origin_addon_codes |
Hotel Add-ons (View-only)
Hotel add-ons (hotels[].addons[], types ROOM and MEAL, e.g. "Single sofa cum bed") are not accepted by the Book API. Show them as information only, labelled "Request at the hotel", and never add them to the total.
Total with Add-ons
Total = Σ rooms (room price + upgrade price) + Σ add-onsSend it as total_amount in the Book API. Use [] for any add-on field with nothing chosen.
Updated 4 days ago
