Skip to main content

Query Coupons

Commerce
Coupons
REST API
Booking Solutions

What is it?

Use the Query Coupons API to return configuration information for active hotel-level or chain-level single-use and multi-use coupons. You can use this API to export or import the coupon configuration information to or from a CRM or a data warehouse.

Before You Begin

  • You must authenticate before you can use this API. For full instructions, see Get a Token for REST APIs.
  • At any time, you can go to this API's Reference Documentation tab, where you can make test calls with the following endpoints.

How to use

This section covers the endpoints for this API and examples of how to use them.

It also covers examples (use cases) for the following:

GET coupon information for a chain #

This endpoint enables you to retrieve a list of hotel-level or chain-level single-use or multi-use coupon configurations.

[GET] /v1/api/admin/product/coupons?chainId={chainId}

Query Parameters

The following table describes the elements that you can include when you query this endpoint:

ElementDescriptionTypeRequired?
chainId

The chainId uniquely identifies a single chain SynXis. Use this to specify the chain for which you want to get coupons.

Example : 9141

arrayRequired
hotelIdThe hotelId uniquely identifies a single hotel in Control Center. Use this to specify a list of hotels for which you want to request coupons.arrayOptional
primaryChannelThis is the primary channel for retrieving translated content.stringOptional
filterChannelFilter channel code accepts one or multiple channel codes to filter coupons based on its channel assignment in SynXis.arrayOptional
couponCodeThe couponCode is the Coupon Offer Code you specify to retrieve more information for that coupon configured in SynXis.arrayOptional
levelThis is the level of the coupons. Default is Any.stringOptional
pageStart

The starting record to return in the response.

Example: /v1/api/admin/product/coupons?pageStart=1

integerOptional
pageSize

The number of records to return in the response. Use 0 to return all.

Example: /v1/api/admin/product/coupons?pageSize=20

integerOptional

Response in JSON

{
  "paging": {
    "Size": 50,
    "Start": 0,
    "Total": 146
  },
  "ContentList": {
    "HotelList": [
      {
        "Code": "AMORIMF",
        "ID": 11113,
        "Name": "Aven Hospitality Test Hotel"
      }
    ],
    "ChainList": [
      {
        "Code": "SABTC",
        "ID": 19923,
        "Name": "Aven Hospitality Test Chain"
      }
    ],
    "RateList": [
      {
        "Code": "Rate1",
        "Name": "Rate One"
      }
    ],
    "RoomList": [
      {
        "Code": "Room1",
        "Name": "Room One"
      }
    ],
    "RateCategoryList": [
      {
        "Code": "Rate1Category",
        "Name": "Rate1 Category"
      }
    ],
    "RoomCategoryList": [
      {
        "Code": "Room1Category",
        "Name": "Room1 Category"
      }
    ],
    "ChannelList": [
      {
        "Code": "CRS",
        "Name": "SynXis Center Reservation"
      }
    ]
  },
  "CouponOfferList": [
    {
      "Code": "Exclusive",
      "Name": "Exclusive Offer",
      "Description": "Exclusive Offer for Black Friday in Texas",
      "Active": true,
      "MultiuseCoupon": true,
      "ChannelList": [
        {
          "Code": "WEB"
        }
      ],
      "GroupRateApplicable": false,
      "RoomUpsellAllowed": false,
      "ReusableAfterCancellation": false,
      "CombinedCouponsRestricted": false,
      "SellLimit": 10,
      "CouponAccessList": [
        {
          "Code": "Save50",
          "Consumed": true
        }
      ],
      "ExclusionList": [
        {
          "CouponOfferCode": "CHRISTMAS35,SPRING20"
        }
      ],
      "ValidityRules": {
        "ArrivalStartDate": "2026-05-01T00:00:00",
        "ArrivalEndDate": "2026-05-30T00:00:00",
        "BookingStartDate": "2026-04-01T00:00:00",
        "BookingEndDate": "2026-04-31T00:00:00"
      },
      "Hotel": {
        "Id": 65095
      },
      "Chain": {
        "Id": 14048
      },
      "PricingRule": {
        "Rule": "CombinedOffer",
        "Assignment": {
          "ValueList": [
            {
              "Code": "ADV"
            }
          ],
          "Type": "Rates"
        },
        "MinimumSpend": 100,
        "AppliesTo": "ReservationTotal",
        "PriceAdjustment": -50,
        "PriceAdjustmentUnit": "Percentage"
      }
    }
  ]
}

Response Elements

The following table explains the elements you receive in the response:

ElementDescriptionType
ContentListThe array to hold all the retrieved content.array
HotelListThe array to hold the list of hotels.array
CodeThe code that uniquely identifies a single hotel in SynXis.string
IDThe ID that uniquely identifies a single hotel in SynXis.number
NameThe name of the hotel.string
ChainListThe array to hold the list of chains.array
CodeThe code that uniquely identifies a single chain in SynXis.string
IDThe ID that uniquely identifies a single chain in SynXis.number
NameThe name of the chain.string
RateListThe array to hold the list of rates.array
CodeThe code that uniquely identifies a single rate.string
NameThe name of the rate.number
RoomListThe array to hold the list of rooms.array
CodeThe code that uniquely identifies a single room.string
NameThe name of the room.string
RateCategoryListThe array to hold the list of rate categories.array
CodeThe code that uniquely identifies a single rate category.string
NameThe name of the rate category.number
RoomCategoryListThe array to hold the list of room categories.array
CodeThe code that uniquely identifies a single room category.string
NameThe name of the room category.string
ChannelListThe array to hold the list of channels.array
CodeThe code that uniquely identifies a channel.string
NameThe name of the channel.string
CouponOfferListThe array to hold the list of active promotions.array
CodeThe SynXis CR code to identify the coupon.string
NameThe name of the coupon code. This supports multi-language content based on language and primary channel.string
DescriptionThe description for the coupon. This supports multi-language content based on language and primary channel.string
ActiveThis is true when the coupon is active. It is false when the coupon is inactive.boolean
MultiuseCouponThis is true when the coupon can be used more than once. It is false when the coupon is for a single use only.boolean
ChannelListThe array to hold the list of channels.array
CodeThis is the SynXis CR code for a reservation channel.string
GroupRateApplicableThis is true when the coupon can be applied to group rates. It is false when the coupon cannot be applied to group rates.boolean
RoomUpsellAllowedThis is true when the coupon can be used in a room upsell. It is false when the coupon cannot be used in a room upsell.boolean
ReusableAfterCancellationThis is true when the coupon can reused after a cancellation. It is false when when the coupon cannot reused after a cancellationboolean
CombinedCouponsRestrictedThis is true when the coupon cannot be combined with any other coupons. It is false when the coupon can be combined with another coupon.boolean
SellLimitYou can use the SellLimit to create urgency for your offers by limiting the number of coupons that can be redeemed. For example, 1000 coupons exist, but this offer applies to only the first 50 customers. You cannot use SellLimit MultiuseCoupon is true.integer
CouponAccessListThe array to hold coupon access informationb.array
CodeCode for a coupon or an offer. This is the code that a guest would use on a booking engine.string
ConsumedThis is true when the coupon has been consumed. This is false when the coupon has not been consumed.boolean
ExclusionListThe array to hold the list of offers that are excluded.array
CouponOfferCodeOffer codes that cannot be combined with this coupon when CombinedCouponsRestricted is true.string
ValidityRulesThe array to hold the start and end dates and times for the coupon.array
ArrivalStartDateThis the first date that a guest can check in for the coupon.string
ArrivalEndDateThis the last date that a guest can check in for the coupon.string
BookingStartDateThis is the first date that the coupon can be booked.string
BookingEndDateThis is the last date that the coupon can be booked.string
HotelIf the coupon is configured for specific hotel, this array holds the ID that uniquely identifies the single hotel property.array
IdThe ID that uniquely identifies a single hotel in SynXis.integer
ChainIf the coupon is configured for specific chain, this array holds the ID that uniquely identifies the chain.array
IdThe ID that uniquely identifies a single chain in SynXis.integer
PricingRuleThe array to hold a simple or combined pricing rule for a specific coupon.array
RuleThe Rule is CombinedOffer when the offer applies a discount by Rates, Rate Categories, Rooms, or Room Categories. It is SimpleOffer when the offer requires a minimum spend.string
AssignmentThe array to hold information about whether the offer applies a discount by Rates assignment, Rate Categories, Rooms, or Room Categories.array
ValueListThe array to hold a list of rates associated to the coupon.array
CodeThis is the code for the associated rate.string
TypeThe type is one of the following to specify what the pricing rule is based on: Rates, Rooms, RoomCategories, RateCategoriesstring
MinimumSpendThis is the amount (excluding tax and service charges) that must be spent to make the coupon valid.number
AppliesToThis is ReservationTotal when the adjustment applies to the entire reservation (less taxes and fees), including the room price and any packages selected in the booking process. It is RoomPrice when the adjustment applies to only the room portion of the reservation (less taxes and fees).string
PriceAdjustmentThis is the value of the price adjustment, shown as an increase or a discount. For example, a discount could be -50.number
PriceAdjustmentUnitThis is the discount basis unit for the coupon. It is Percentage if the offer is for a certain percentage off the price. It is Amount if the offer is for a certain amount off the price.string

▲ Back to top

Examples for Querying Coupons #

The following examples (use cases) demonstrate how to use query parameters for this API's endpoint.

Retrieve Coupon Information for a Hotel #

Use this request to retrieve a list of hotel-level single-use or multi-use coupon configurations. Note that chainId must be included because it is a required parameter.

[GET] /v1/api/admin/product/coupons?chainId=9141&hotelId=13098

Retrieve Coupon Information for One or More Coupon Codes #

Use this request to retrieve coupon information for one or more coupon codes.

[GET] /v1/api/admin/product/coupons?chainId=9141&couponCode=SAVE25,SAVE50

▲ Back to top