Markup Pricing#

This appendix describes the pricing behavior applicable to integrators operating under a markup model (also referred to as the Reseller model). In this model, you, as reseller, purchase the product at a net price from Amadeus Discover and resell it at a higher price, retaining the difference as margin.

This section covers how prices are computed and exposed in API responses, how discounted pricing is represented, and how refunds should be handled in the context of markup.

Note

The markup model requires a specific contractual agreement. If you are unsure about which model applies to your organization, please contact your Account Manager or Implementation Manager.

Pricing Computation#

When the markup model is active for your organization, all prices returned by the API will indlude indications of the net price and the suggested retail price.

Important

As an integrator, The price.net represents the amount to be paid to Amadeus on confirmation, while the price.retail represents the recommended price suggested for the final customer. Your organization is free to apply the desired markup on top of the price.net.

Discounted Pricing#

Some products may have discounted pricing valid for specific periods. When a special price applies to the selected activity date, the API response includes additional fields to help you build a compelling display for the traveler.

API representation when a special offer is active:

In the unitOptions array of the pricing response, each unit option exposes:

Field

Description

price

The discounted (special) price to charge the traveler. This is the active retail price.

priceBeforeDiscount

The original (non-discounted) price. Use this to display a strikethrough price or to compute the savings for the traveler.

price.discountDetails

An object containing the validity window of the promotional offer.

Discount details object:

Field

Description

offerStart

Start date of the promotional offer period (date format).

offerEnd

End date of the promotional offer period (date format).

travelStart

Start date of the travel period eligible for this offer (date format).

travelEnd

End date of the travel period eligible for this offer (date format).

Tip

Use the discountDetails fields to display promotional banners or urgency messaging (e.g. “Offer valid until…”) in your traveler-facing UI.

Behavior when no discounted offer applies:

If no valid discounted pricing exists for the selected date, the priceBeforeDiscount field is absent from the response, and the price field contains the standard retail price.

Example response with active discounted price
{
    "label": "Adult",
    "id": "143731",
    "restrictions": {
        "minQuantity": 1,
        "maxQuantity": 10,
        "accompagniedBy": []
    },
    "price": {
        "net": 85.50,
        "retail": 95.00,
        "currency": "EUR",
        "convertedNet": 93.20,
        "convertedRetail": 103.55,
        "convertedCurrency": "USD",
        "discountDetails": {
            "offerStart": "2026-06-01",
            "offerEnd": "2026-06-30",
            "travelStart": "2026-06-15",
            "travelEnd": "2026-07-31"
        }
    },
    "priceBeforeDiscount": {
        "net": 103.41,
        "retail": 114.90,
        "currency": "EUR",
        "convertedNet": 112.72,
        "convertedRetail": 125.24,
        "convertedCurrency": "USD"
    },
    "unitQuantity": 2,
    "minAge": 13,
    "maxAge": 99
}

Cancellation and Refund Behavior#

As the payment is handled by the integrator, refunding the correct amount to the traveler remains under the integrator’s responsibility. This ensures consistency between what the travelers paid and what they receive as a refund.

What is exposed in the API:

When retrieving booking details for a confirmed booking (via GET /booking-flow/v1/bookings/:bookingId), the cancellationInformation object includes:

Field

Description

cancellation.isCancellable

Whether the booking can currently be cancelled.

cancellation.cancellationPolicy

Array of policy entries with refundPercentage, label, and optional duration.

cancellation.refundDetails.itemPrice

The total net booking price.

cancellation.refundDetails.refundAmount

The computed refund amount based on the applicable policy.

cancellation.refundDetails.refundPercentage

The refund percentage being applied.

cancellation.refundDetails.currencyCode

The currency of the refund.

Price Fields Summary#

The following table summarizes the key price-related fields available in the booking flow responses under the markup model.

Field

Description

price.net

Net price in the product’s original currency.

price.retail

Retail price suggested in the product’s original currency.

price.currency

Original currency code.

price.convertedNet

Net price converted to the requested currency (if currency conversion is needed).

price.convertedRetail

Retail price converted to the requested currency.

price.convertedCurrency

The target currency code.

price.discountDetails

Promotional offer validity window (present only when a special offer applies).

priceBeforeDiscount

Full price object representing the original (non-discounted) price (present only when a special offer applies).