Skip to main content
The Promotions API allows you to create and manage promotional campaigns with discount codes for your booking engine. Promotions support various discount types including percentage off, fixed amounts, and more.

Key concepts

Promotions

A promotion defines the discount rules and constraints:
  • Type: The kind of discount (percentage, fixed amount, BOGO, bundle, tiered, free shipping, gift with purchase)
  • Scope: What the promotion applies to (all products, specific products, categories, collections, or departures)
  • Value: The discount amount or percentage
  • Validity period: When the promotion is active
  • Usage limits: Maximum total uses or per-customer limits

Promotion codes

Codes are the actual strings customers enter to redeem a promotion:
  • Each promotion can have multiple codes
  • Codes can have their own validity periods and usage limits
  • Codes are automatically uppercased for case-insensitive matching

Scopes required

EndpointScope
List, get, validatemarketing:read
Create, update, delete, redeemmarketing:write

Promotion types

TypeDescription
percentagePercentage discount off the order
fixed_amountFixed monetary discount
bogoBuy one get one free
bundleBundle discount
tieredTiered pricing based on quantity
free_shippingFree shipping discount
gift_with_purchaseFree gift with purchase

Promotion scopes

ScopeDescription
all_productsApplies to all products
specific_productsOnly applies to listed product IDs
specific_categoriesOnly applies to listed category IDs
specific_collectionsOnly applies to listed collection IDs
specific_departuresOnly applies to listed departure IDs

Validation flow

When validating a promotion code:
  1. Code lookup: Find the code and check it’s active
  2. Code validity: Check date range and usage limits
  3. Promotion status: Verify parent promotion is active
  4. Promotion validity: Check promotion date range and total usage
  5. Order constraints: Verify minimum order value, currency, product eligibility
  6. Customer limits: Check per-customer usage if customer ID provided
  7. Calculate discount: Return the applicable discount amount