Check the Hotel Release Notes for updates across all Hotel APIs.

Hotel Rules Reference Payload API Reference

POST

rules/offershospitality/buildfromcatalogofferings

Use this base path if you have not yet received or not migrated to the new credentials from Travelport:

Pre-production https://api.pp.travelport.com/11/hotel/ | Production https://api.travelport.com/11/hotel/

Use this base path after you have migrated to the new credentials from Travelport (using .net instead of .com):

Pre-production https://api.pp.travelport.net/11/hotel/ | Production https://api.travelport.net/11/hotel/

Related Content: JSON Hotel APIs Guide, Hotel Workflows, Hotel Availability API Reference

Hotel Rules retrieves the rules associated with a specific rate. The reference payload references an offer by sending the unique offer ID from an Availability response, instead of sending all required offer details as in the full payload Rules request.


Request

As part of the request requirements, also see Authentication and Common Hotel API Headers.

Query Parameters

None.

Request Body

For additional examples, download the developer toolkits and see Using Postman and Developer Toolkits.
The red asterisk at the end of an object name below, as in Traveler*, marks that object as required in the request.

OfferQueryBuildFromCatalogOfferingsHospitality*

Top level object for rules request. Includes BuildFromCatalogOfferingsRequest object.


BuildFromCatalogOfferingsRequest*

Top level object for offer ID. Includes ProductIdentifier object.


ProductIdentifier*

Top level object for offer identifier.

id*: String. From the Availability response, send the value returned in CatalogOffering/id for the instance of the offer you want to request rules for.

Offers from an Availability response are stored in cache for 15 minutes. If the offers expire you must send a new Availability request.

Example

{
 "OfferQueryBuildFromCatalogOffering": {
  "BuildFromCatalogOfferingHospitality": {
   "@type": "BuildFromCatalogOfferingHospitality",
   "CatalogOfferingIdentifier": {
    "value": "6269ddc1-a017-40cb-bce6-140d5e74e104:cc3280205f5ae9a9b7944c1002c88b33"
   }
  }
 }
}

Response

The top level objects in the Rules response are listed below. For details see the individual dropdown objects following.

OfferHospitalityResponse

Top level object for rules response.

Includes Offer, Identifier, and CurrencyRateConversion objects.


Offer

Top level object for offer details.

Includes Product, Price, and TermsAndConditionsFull objects. See the individual sections below for details.


Identifier

Defines which supplier system returned the rules for that rate.

Properties:

authority: Indicates which supplier returned the rules. Possible values are:

  • TVPT: Travelport
  • BKNG: Booking.com

CurrencyRateConversion

Currency conversion factor returned if requestedCurrency sent in the request. See section below.





 

Example

{
 "OfferHospitalityResponse": {
  "Offer": {
   "@type": "Offer",
   "Product": [
    {
     "@type": "ProductHospitality",
     "bookingCode": "T00AABT",
     "guests": 1,
     "propertyName": "SpringHill Suites by Marriott Grand Rapids Airport Southeast",
     "PropertyAddress": {
      "@type": "Address",
      "AddressLine": [
       "5250 28th St. SE"
      ],
      "City": "Grand Rapids",
      "StateProv": {
       "value": "MI",
       "name": "MI"
      },
      "Country": {
       "name": "US"
      },
      "PostalCode": "49512"
     },
     "Telephone": {
      "@type": "Telephone",
      "phoneNumber": "464-1130",
      "cityCode": "GRR"
     },
     "GuestCounts": {
      "GuestCount": [
       {
        "count": 1,
        "ageQualifyingCode": "10"
       }
      ]
     },
     "PropertyKey": {
      "@type": "PropertyKey",
      "chainCode": "XV",
      "propertyCode": "89550"
     },
     "RoomType": {
      "@type": "RoomTypeDetail",
      "RoomCharacteristics": {
       "@type": "RoomCharacteristics",
       "smokingAllowed": "Unknown",
       "wifiIncluded": "No",
       "BedConfiguration": [
        {
         "quantity": 2,
         "bedType": "Queen Bed(s)",
         "size": "160 cm X 200 cm"
        }
       ]
      },
      "Description": {
       "value": "Maximum Occupancy- 5 Guests"
      }
     },
     "DateRange": {
      "start": "2025-10-16",
      "end": "2025-10-17"
     }
    }
   ],
   "Price": {
    "@type": "PriceDetail",
    "CurrencyCode": {
     "value": "USD",
     "decimalPlace": 2
    },
    "Base": 121.5,
    "TotalTaxes": 21.87,
    "TotalPrice": 143.37,
    "PriceBreakdown": [
     {
      "@type": "PriceBreakdownHospitality",
      "Amount": {
       "@type": "Amount",
       "CurrencyCode": {
        "value": "USD",
        "decimalPlace": 2
       },
       "Base": 121.5,
       "Taxes": {
        "@type": "TaxesDetail",
        "TotalTaxes": 21.87,
        "Tax": [
         {
          "value": 21.87,
          "currencyCode": "USD",
          "taxCode": "08",
          "purpose": "Lodging tax",
          "description": "Lodging tax",
          "includedInBase": "No"
         }
        ]
       },
       "Total": 143.37
      },
      "Commission": {
       "@type": "Commission",
       "application": "Commissionable"
      },
      "roomPricingType": "Per stay",
      "Description": "Best Available Rate"
     },
     {
      "@type": "PriceBreakdownHospitality",
      "roomPricingType": "Per night",
      "NightlyRate": [
       {
        "@type": "NightlyRate",
        "startDate": "2025-10-16",
        "nights": 1,
        "Amount": {
         "@type": "Amount",
         "CurrencyCode": {
          "value": "USD",
          "decimalPlace": 2
         },
         "Base": 121.5,
         "Taxes": {
          "@type": "TaxesDetail",
          "TotalTaxes": 21.87,
          "Tax": [
           {
            "value": 21.87,
            "currencyCode": "USD",
            "taxCode": "08",
            "purpose": "Lodging tax",
            "description": "Lodging tax",
            "includedInBase": "No"
           }
          ]
         },
         "Total": 143.37
        }
       }
      ],
      "AverageNightlyRate": [
       {
        "value": 121.5,
        "code": "USD",
        "approximateInd": true
       }
      ]
     }
    ]
   },
   "TermsAndConditionsFull": [
    {
     "@type": "TermsAndConditionsFullHospitality",
     "TextBlock": [
      {
       "@type": "TextBlock",
       "title": "Address",
       "TextFormatted": [
        {
         "value": "5250 28Th Street Se Grand Rapids Mi 49512"
        }
       ]
      },
      {
       "@type": "TextBlock",
       "title": "Promotional",
       "TextFormatted": [
        {
         "value": "Style And Space Beautifully Priced"
        }
       ]
      },
      {
       "@type": "TextBlock",
       "title": "Guarantee",
       "TextFormatted": [
        {
         "value": "ID Required Must Guarantee Late Arrival"
        }
       ]
      },
      {
       "@type": "TextBlock",
       "title": "Cancellation",
       "TextFormatted": [
        {
         "value": "cancel: 143.37 usd cancel fee person room cancellation permitted up to 1 days before arrival."
        }
       ]
      },
      {
       "@type": "TextBlock",
       "title": "Other",
       "TextFormatted": [
        {
         "value": "Available To AAA And Caa Members Only. Limit Of Two Rooms Person Member Person Night. Membership Card Required."
        }
       ]
      },
      {
       "@type": "TextBlock",
       "title": "Room detail",
       "TextFormatted": [
        {
         "value": "Maximum Occupancy- 5 Guests"
        }
       ]
      },
      {
       "@type": "TextBlock",
       "title": "Rate description",
       "TextFormatted": [
        {
         "value": "T00Aabt: AAA Caa Hot Deals Membership Card Required Suite 2 Queen 2 Queen Mini Fridge Microwave 450 Square Feet/41 Square Metre Living/Sitting Area Wireless Internet Complimentary"
        }
       ]
      },
      {
       "@type": "TextBlock",
       "title": "Rate amount",
       "TextFormatted": [
        {
         "value": "12150 Person Night Starting 16 Oct For 1 Night"
        }
       ]
      },
      {
       "@type": "TextBlock",
       "title": "Number Nights",
       "TextFormatted": [
        {
         "value": "1"
        }
       ]
      },
      {
       "@type": "TextBlock",
       "title": "Room rate",
       "TextFormatted": [
        {
         "value": "Taxes - Total Tax/Surch/Fee - 21.87 P/Stay Taxes: 21.87 Usd Commissionable Rate"
        }
       ]
      },
      {
       "@type": "TextBlock",
       "title": "Phone",
       "TextFormatted": [
        {
         "value": "1-616-464-1130"
        }
       ]
      },
      {
       "@type": "TextBlock",
       "title": "Total Amount",
       "TextFormatted": [
        {
         "value": "14337 Approx Total Include All Known Taxes/Fees"
        }
       ]
      },
      {
       "@type": "TextBlock",
       "title": "Room Hold Expiration Time",
       "TextFormatted": [
        {
         "value": "BOOKING HELD UNTIL 00:00 LOCAL HOTEL TIME ON ARRIVAL DATE"
        }
       ]
      }
     ],
     "Guarantee": [
      {
       "@type": "Guarantee",
       "guaranteeType": "GuaranteeRequired"
      }
     ],
     "CancelPenalty": [
      {
       "@type": "CancelPenalty",
       "Description": "Cancellations are free if made before Oct 15, 2025, 23:59 local hotel time.",
       "Deadline": {
        "@type": "Deadline",
        "SpecificDate": {
         "start": "2025-09-16",
         "end": "2025-10-15"
        },
        "Time": "23:59:59"
       },
       "HotelPenalty": {
        "@type": "HotelPenaltyPercent",
        "appliesTo": "Amount",
        "Percent": 0
       },
       "Refundable": "Yes"
      },
      {
       "@type": "CancelPenalty",
       "Description": "After this time, starting Oct 16, 2025, 00:00 local hotel time, a cancellation fee of 143.37 USD applies.",
       "Deadline": {
        "@type": "Deadline",
        "SpecificDate": {
         "start": "2025-10-16"
        }
       },
       "HotelPenalty": {
        "@type": "HotelPenaltyAmount",
        "Amount": [
         {
          "value": 143.37,
          "code": "USD"
         }
        ]
       },
       "Refundable": "No"
      }
     ],
     "AcceptedCreditCard": [
      {
       "value": "VI"
      },
      {
       "value": "JC"
      },
      {
       "value": "CA"
      },
      {
       "value": "AX"
      },
      {
       "value": "IK"
      },
      {
       "value": "DS"
      },
      {
       "value": "DC"
      },
      {
       "value": "AX"
      },
      {
       "value": "JC"
      },
      {
       "value": "CA"
      },
      {
       "value": "DS"
      },
      {
       "value": "VI"
      },
      {
       "value": "IK"
      },
      {
       "value": "DC"
      },
      {
       "value": "DC"
      },
      {
       "value": "CA"
      },
      {
       "value": "VI"
      },
      {
       "value": "DS"
      },
      {
       "value": "JC"
      },
      {
       "value": "IK"
      },
      {
       "value": "AX"
      }
     ],
     "Description": [
      "T00Aabt: AAA Caa Hot Deals Membership Card Required",
      "Suite 2 Queen",
      "2 Queen Mini Fridge",
      "Microwave 450 Square Feet/41 Square Metre Living/Sitting Area",
      "Wireless Internet Complimentary"
     ],
     "ProductRateCodeInfo": [
      {
       "@type": "ProductRateCodeInfo",
       "RateCodeInfo": {
        "rateCategory": "Association"
       }
      }
     ],
     "CheckInOutPolicy": {
      "@type": "CheckInOutPolicy",
      "checkInTime": "15:00:00",
      "checkOutTime": "12:00:00"
     },
     "RatePaymentInfo": "PostPay",
     "RateQualificationIDRequiredAtCheckIn": true
    }
   ]
  },
  "transactionId": "8673488b-349f-46f5-bb10-f1c4e3dca388",
  "traceId": "fd8acdb5-d9af-4274-9171-05689a5a98f5",
  "Identifier": {
   "authority": "TVPT"
  }
 }
}