Ratefox API - v2

The Ratefox API searches for the hotel room at a better price than the one specified in the request. If the search is successful, the Ratefox API automatically proceeds with the room booking. Otherwise, it indicates that no better offer is available.

Ratefox API URL

https://api.ratefox.io

Authorization and authentication

Ratefox API uses HTTP Basic Authentication. The username and password must be encoded in Base64 and sent in the HTTP header with each request.

Authentication format:

  • Username and password should be combined with a colon (:)
  • This string must be Base64 encoded
  • The encoded string is included in the Authorization header with the “Basic” prefix.

Example:

  • If your Username is “api_user” and Password is “secret123”
  • Combined string: “api_user:secret123”
  • Base64 encoded: "YXBpX3VzZXI6c2VjcmV0MTIz”
  • Authorization header: Basic YXBpX3VzZXI6c2VjcmV0MTIz

Code examples

curl -X GET 'https://api.example.com/endpoint' \
-H 'Authorization: Basic YXBpX3VzZXI6c2VjcmV0MTIz'
import requests
import base64

# Encode credentials
credentials = base64.b64encode(b'api_user:secret123').decode('utf-8')

# Make request
headers = {'Authorization': f'Basic {credentials}'}
response = requests.get('https://api.example.com/endpoint', headers=headers)
// Encode credentials
const credentials = btoa('api_user:secret123');

// Make request
fetch('https://api.example.com/endpoint', {
  headers: {
    'Authorization': `Basic ${credentials}`
  }
})
.then(response => response.json())
.then(data => console.log(data));

Ratefox API Endpoints

Ratefox API endpoints are:

POST /hotels/ratefox - to ask Ratefox to find for better price and make booking if succeded

POST /hotel/prefetch - optimization for Ratefox flow times. Only for Prefetch mode.

Also there are several postbooking endpoints:

POST /hotels/cancel/{segmentId} - cancel the Ratefox segment reservation with specified ID

POST /hotels/checkstatus/{segmentId} - check status of the Ratefox segment reservation with specified ID

GET /hotels/orderdata/{orderId} - provide description of the Ratefox segment reservation with specified ID


Implementing Ratefox

Depending on your choice of the implementation mode Standard or Prefetch you will need to implement one or two methods in your booking flow.

POST /hotels/ratefox

Standard Mode Ratefox API request for booking the specified hotel room at a better price

Request body example:

{
  "SupplierHotel": {
    "SupplierId": 0,
    "SupplierHotelId": "string"
  },
  "CheckIn": "2025-01-21T12:23:55.641Z",
  "CheckOut": "2025-01-21T12:23:55.641Z",
  "Residency": "string",
  "Price": {
    "BookingPrice": 0,
    "Currency": "string",
    "TotalTax": {
      "Amount": 0,
      "IsIncluded": true,
      "Currency": "string"
    },
    "TotalFee": {
      "Amount": 0,
      "IsIncluded": true,
      "Currency": "string"
    },
    "Commission": {
      "Amount": 0,
      "Currency": "string"
    }
  },
  "RefundableUntil": "2025-01-21T12:23:55.641Z",
  "Rooms": [
    {
      "Id": "string",
      "RoomName": "string",
      "RoomBasis": "string",
      "AdultsCount": 0,
      "KidsAges": [
        0
      ]
    }
  ],
  "WorkMode": "string",
  "LeadPassenger": {
    "Id": "string",
    "Allocation": "string",
    "Name": {
      "GivenName": "string",
      "NamePrefix": "string",
      "Surname": "string"
    },
    "Type": "string",
    "Age": 0,
    "PhoneNumber": "string",
    "CustomerEmail": "string",
    "Address": {
      "CountryCode": "string",
      "AddressLine": "string",
      "StateProv": "string",
      "PostalCode": "string"
    }
  },
  "AdditionalPassengers": [
    {
      "Id": "string",
      "Allocation": "string",
      "Name": {
        "GivenName": "string",
        "NamePrefix": "string",
        "Surname": "string"
      },
      "Type": "string",
      "Age": 0
    }
  ],
  "LeadPaxRoomId": "string",
  "Language": "string",
  "RoomsRemarks": {
    "additionalProp1": "string",
    "additionalProp2": "string",
    "additionalProp3": "string"
  },
  "InternalAgentRef1": "string",
  "CustomBookingReference": "string",
  "PointOfSale": "string"
}

Response example:

{
  "Result": {
    "GimmonixHotelId": 0,
    "OrderId": 0,
    "SupplierName": "string",
    "ContractId": 0,
    "SupplierId": 0,
    "RequestPrice": 0,
    "RequestedCurrency": "string",
    "FinalPrice": 0,
    "Profit": 0,
    "Segments": [
      {
        "SegmentId": 0,
        "Status": "string",
        "RoomName": "string",
        "MealPlan": "string",
        "TotalPrice": {
          "Commission": 0,
          "CommissionInSupplierCurrency": 0,
          "Currency": "string",
          "FinalPrice": 0,
          "FinalPriceInSupplierCurrency": 0,
          "PayOnArrivalFinal": 0,
          "SupplierCurrency": "string",
          "AdditionalTaxesMayApply": true,
          "FinalTax": 0,
          "TaxesAndFees": [
            {
              "FeeTitle": "string",
              "IsIncludedInPrice": true,
              "IsMandatory": true,
              "Currency": "string",
              "UnitType": "string",
              "FrequencyType": "string",
              "Value": "string",
              "IsValuePercentage": true,
              "Remarks": "string"
            }
          ],
          "VccTax": 0
        },
        "SupplierReservationDetails": {
          "BookingID": "string",
          "BookingReference": "string",
          "BookingRemarks": [
            "string"
          ],
          "SupplierVoucherId": "string"
        },
      }
    ],
    "CancellationPolicies": [
      {
        "CancellationFee": {
          "Commission": 0,
          "CommissionInSupplierCurrency": 0,
          "Currency": "string",
          "FinalPrice": 0,
          "FinalPriceInSupplierCurrency": 0,
          "PayOnArrivalFinal": 0,
          "SupplierCurrency": "string",
          "AdditionalTaxesMayApply": true,
          "FinalTax": 0,
          "TaxesAndFees": [
            {
              "FeeTitle": "string",
              "IsIncludedInPrice": true,
              "IsMandatory": true,
              "Currency": "string",
              "UnitType": "string",
              "FrequencyType": "string",
              "Value": "string",
              "IsValuePercentage": true,
              "Remarks": "string"
            }
          ],
          "VccTax": 0
        },
        "DateFrom": "2025-01-21T12:27:32.954Z",
        "DateTo": "2025-01-21T12:27:32.954Z",
        "Description": "string"
      }
    ]
  },
  "Errors": [
    {
      "Message": "string",
      "ErrorCode": "string",
      "ErrorText": "string"
    }
  ]
}

Response codes:

CodeValue
200OK
403Forbidden
500Internal server error

Request parameters

FieldDescriptionFormatMandatory
SupplierHotelobjectYes
SupplierIdSupplier’s ID in Ratefox. Integrated suppliers list <https://documentation.hsp.gimmonix.com/docs/roomworks-setup#1-rooms-content-supported-suppliers>IntegerYes
SupplierHotelIdSupplier’s HotelIDStringYes
CheckInCheck-in dateString Unix Epoch timeYes
CheckOutCheck-out dateString Unix Epoch timeYes
ResidencyThe lead passenger residencyString(2) ISO Country Code (Ex: US, CZ, IL)Yes
PriceobjectYes
BookingPriceThe price from client’s booking flow. Taxes, fees and commission from the request will be applied to the BookingPrice to obtain “clear” price for comparison with alternative packages’ prices. See examples below the table (*).DoubleYes
CurrencyThe currency of the BookingPrice. Rates in response will be in this currencyString(3) ISO Currency Code (Ex: USD, EUR)Yes
TotalTaxobject
AmountAmount of taxesDoubleYes
IsIncludedAre taxes included in the BookingPrice. If excluded, BookingPrice will be increased by Tax Amount before comparing with alternative packages’ prices. Otherwise does not affect.BooleanYes
CurrencyIf not provided (NULL), then Price Currency is usedString(3) ISO Currency Code
TotalFeeobject
AmountAmount of feesDoubleYes
IsIncludedAre fees included in the BookingPrice. If included, BookingPrice will be reduced by Fee Amount before comparing with alternative packages’ prices. Otherwise does not affect.BooleanYes
CurrencyIf not provided (NULL), then Price Currency is usedString(3) ISO Currency Code
Commissionobject
AmountAmount of client’s commission. BookingPrice will be reduced by Commission Amount before comparing with alternative packages’ prices.DoubleYes
CurrencyISO Currency Codes. If not provided (NULL), then Price Currency is usedString(3) ISO Currency Codes
RefundableUntilRefundability deadlineString Unix Epoch timeYes
RoomsArray of objects. Possible room quantity is between 1 and 4ArrayYes
IdRoom Id inside the request. Is generated by client GUID. Should be a unique per each room in the arrayGUIDYes
RoomNameThe name of the requested room (as it used by supplier from SupplierID)StringYes
RoomBasisThe meal-plan, ”Board” (as it used by supplier from SupplierID)StringYes
AdultsCountNumber of adults in the room. The value must be between 1 and 8IntegerYes
KidsAgesArray of kids ages. Each value must be between 0 and 17. If empty, there are no kids in the roomArray of integer
WorkModeDefines the WorkMode for the request.
Possible values: “live”. Can be used only by the client which is set “live” in Gimmonix. The request in this mode produces the real booking;
“evaluation”. The mode for testing and evaluation. The request in this mode doesn’t produce the real booking but full description of Ratefox found alternative is steal returned. This mode can be used by both clients connected to Ratefox as "evaluation" (new clients before the certification stage is completed) and those who are set "live".
StringYes
LeadPassengerArray of objects. The main passenger from the bookingYes
IdLead passenger’s Id inside the request. Is generated by client GUID. Should be a unique per each passenger in the requestGUIDYes
AllocationId from Rooms array. Identifies the room for the LeadPassengerGUIDYes
NameobjectYes
GivenNameFirst name. Use English characters only, otherwise the booking might fail on the supplier side. For internal use only: there is some “cleaning” process in the flow of non English charactersString(50)Yes
NamePrefixMr, Mrs, Ms etc. If not provided, “Mr” is used.String
SurnameLast name. Use English characters only, otherwise the booking might fail on the supplier side.String(50)
TypeMust be “adult” for the LeadPassengerStringYes
AgeLead passenger ageInteger
PhoneNumberPassenger’s phone number to specify in the bookingString(50)
CustomerEmailPassenger’s email to specify in the bookingString(254)
Addressobject. Address details to specify in the booking
CountryCodeString(2) ISO Country Code (Ex: US, CZ, IL)
AddressLineString(254)
StateProvString(20)
PostalCodeString(20)
AdditionalPassengersArray of objects. All passengers (adults and kids) except LeadPassenger must be described in this array.Array
IdPassenger’s Id inside the request. Is generated by client GUID. Should be a unique per each passenger in the requestGUIDYes
AllocationId from Rooms array. Identifies the room for the PassengerGUIDYes
NameobjectYes
GivenNameFirst name. Use English characters only, otherwise the booking might fail on the supplier side.String(50)
NamePrefixMr, Mrs, Ms etc. If not provided, “Mr” is used.String
SurnameLast name. Use English characters only, otherwise the booking might fail on the supplier side.String(50)
Type“adult” or “child”StringYes
AgeMandatory in case the passenger’s type is ”child”. The value must be between 0 and 17 and match one of the KigsAges array’s values.Integer
LeadPaxRoomIdId from Rooms array. Identifies the room of the LeadPassengerGUIDYes
LanguageOnly “en” is currently supportedStringYes
RoomsRemarksFree text remarks to be sent to the supplier within booking. Collection of "Key" : "Value” pairs, where Key is room Id from the Rooms array. Only suppliers that support this feature will receive the remarks.
InternalAgentRef1Agent reference of the bookingString
CustomBookingReferenceClient referenceString
PointOfSaleDefines the sales environment. Possible values:

- “web” - rates that are available to be sold through desktop websites,
- ”mobileapp” - rates that are available to be sold through mobile apps/websites,
- ”cug” - Closed User Group. Discounted rates which are sold to ‘members-only’ groups,
- ”b2b” - rates which are intended to be sold by travel agents, operating under a B2B booking engine. Suppliers forbid selling B2B rates in B2C channels.
StringYe

(*) Examples of price (P) calculations for comparison with alternative packages’ prices.

Ex.1Ex.2Ex.3Ex.3
BookingPrice500500500500
TotalTax
Amount100100100100
IsIncludedtruefalsetruefalse
TotalFee
Amount50505050
IsIncludedtruefalsefalsetrue
Commission
Amount25252525

General formula:

P = BookingPrice - Commission.Amount + If(TotalTax.Included == True; 0; TotalTax.Amount) - If(TotalFee.Included == True; TotalFee.Amount; 0)

Ex.1: P = 500 - 50 - 25 = 425

Ex.2: P = 500 + 100 - 25 = 575

Ex.3: P = 500 - 25 = 475

Ex.4: P = 500 + 100 - 50 - 25 = 525

Response parameters

FieldDescriptionFormatMandatory
Resultobject. Filled in if Ratefox has made the bookingYes
GimmonixHotelIdRatefox internal Hotel IdIntegerYes
OrderIdRatefox internal Id of made bookingIntegerYes
SupplierNameRatefox internal Supplier Name (supplier from the booking made by Ratefox)String
ContractIdId of the contract between Client and Supplier in RatefoxIntegerYes
SupplierIdSupplier’s ID in RatefoxIntegerYes
RequestPriceBookingPrice from the Request after applying Taxes, Fees and Commission (see request description above)DoubleYes
RequestedCurrencyPrice.Currency from the requestString ISO Currency Code
FinalPricePrice from the booking made by RatefoxDoubleYes
ProfitRequestPrice - FinalPriceDoubleYes
SegmentsArray of objects. Depending on the supplier multi-room booking may have one or several segmentsArray
SegmentIdRatefox Segment IdIntegerYes
StatusSegment status. Possible statuses list: https://documentation.hsp.gimmonix.com/docs/orders-and-segments-statuses#segment-statuses. Note: in Evaluation mode Segment status is “EV” (successful Ratefox request doesn’t result real booking)String
RoomNameThe name of the booked room in supplier termsString
MealPlanThe meal-plan name of the booked room in supplier termsString
TotalPriceobject
CommissionCommission amountDoubleYes
CommissionInSupplierCurrencyCommission amount in SupplierCurrencyDoubleYes
CurrencyCurrency specified in the request in Price.CurrencyString ISO Currency CodeYes
FinalPricethe price of the booking in CurrencyDoubleYes
FinalPriceInSupplierCurrencythe price of the booking in SupplierCurrencyDoubleYes
PayOnArrivalFinalAmount to be paid upon arrival in CurrencyDoubleYes
SupplierCurrencyThe currency in which the price were originally received from the supplierString ISO Currency Code
AdditionalTaxesMayApplythe value is assigned by supplierBooleanYes
FinalTaxTax assigned from supplier response in CurrencyDoubleYes
TaxesAndFeesArray of objectsarray
FeeTitlethe tax or fee title as returned by the supplierString
IsIncludedInPriceis this tax or fee included in the FinalPriceBoolean
IsMandatoryis the tax or fee mandatory to be paid. For instance, 'resort fees' are typically mandatory, while 'wifi fee' might be not.Boolean
CurrencyCurrency specified in the request in Price.CurrencyString ISO Currency Code
UnitTyperepresents the category of the tax or fee: “Other” (not specified), “NotApplicable” (the supplier specified that this tax/fee is not applicable for the selected room), “NotSpecified”, “PerOccurrence” (of the fee title), “PerItem” (eg.: number of speedboats), “PerReservation” (the tax/fee will be applied per the entire reservation), “PerChild”, “PerAdult”, “PerNight”, “PerRoom”, “PerStay”, “PerPerson”.String
FrequencyTyperepresents the repetitive type of tax or fee: “Other”, ”NotApplicable”, “NotSpecified”, “PerMinute”, “PerHour”, ”PerHalfDay”, “PerNight”, “PerWeek”, “PerStay”.String
Valuethe decimal value of the taxes and feesString
IsValuePercentageis the tax or fee a percentage value or an absolute valueBoolean
Remarksthe tax or fee description as the supplier returnedString
VccTaxDouble
SupplierReservationDetailsobject
BookingIDSupplier’s booking confirmation IdString
BookingReferenceSupplier’s booking referenceString
BookingRemarksSupplier’s booking remarksArray of strings
SupplierVoucherIdSupplier’s voucher IdString
CancellationPoliciesArray of objectsArray
CancellationFeeSame approach to detail CancellationFee as for the TotalPrice object aboveYes
CommissionDoubleYes
CommissionInSupplierCurrencyDoubleYes
CurrencyString ISO Currency Code
FinalPriceDoubleYes
FinalPriceInSupplierCurrencyDoubleYes
PayOnArrivalFinalDoubleYes
SupplierCurrencyString ISO Currency Code
AdditionalTaxesMayApplyBooleanYes
FinalTaxDoubleYes
TaxesAndFeesarray of objects
FeeTitleString
IsIncludedInPriceBoolean
IsMandatoryBoolean
CurrencyString ISO Currency Code
UnitTypeString
FrequencyTypeString
ValueString
IsValuePercentageString
RemarksString
VccTaxDouble
DateFromfirst date and time of the cancellation policy. Time is GMT. Please be aware that we won't be able to service complaints on a cancellation fee that was charged by the supplier because of time-zone differences between the supplier cancellation policy time to your timeString Unix Epoch timeYes
DateToend date and time for the policy. Time is GMT.String Unix Epoch timeYes
Descriptionpolicy description as returned from the supplier.String
ErrorsArray of error codes and messages.Array
Messageerror descriptionString
ErrorCodeList of possible error codes with description https://documentation.hsp.gimmonix.com/docs/error-code-handlingString
ErrorTextshort error messageString

POST /hotels/prefetch

Prefetch Mode Ratefox API request (pre-loading data, no booking is made). To proceed with the booking, a subsequent Ratefox API call is required.

NOTES:

  1. The Prefetch Request will store room information for period of time specified in “Prefetch results expiration (seconds)” Smartbook Settings section of the user parameters in HSP.
  2. For the Ratefox API request to recognize the prefetch results, the information must be identical to the previous Prefetch request (including Room Name, Basis, Cancellation Policy, Check-in/out dates, number of Adults and Kids, Booking price, Hotel, etc.). Otherwise the Ratefox API request will proceed detached

Request body example:

{
  "SupplierHotel": {
    "SupplierId": 0,
    "SupplierHotelId": "string"
  },
  "CheckIn": "2025-01-21T12:30:03.205Z",
  "CheckOut": "2025-01-21T12:30:03.205Z",
  "Residency": "string",
  "Price": {
    "BookingPrice": 0,
    "Currency": "string",
    "TotalTax": {
      "Amount": 0,
      "IsIncluded": true,
      "Currency": "string"
    },
    "TotalFee": {
      "Amount": 0,
      "IsIncluded": true,
      "Currency": "string"
    },
    "Commission": {
      "Amount": 0,
      "Currency": "string"
    }
  },
  "RefundableUntil": "2025-01-21T12:30:03.205Z",
  "Rooms": [
    {
      "Id": "string",
      "RoomName": "string",
      "RoomBasis": "string",
      "AdultsCount": 0,
      "KidsAges": [
        0
      ]
    }
  ],
  "Language": "string",
  "WorkMode": "string"
}

Response example:

{
  "Result": {
    "Success": true
  },
  "Errors": [
    {
      "Message": "string",
      "ErrorCode": "string",
      "ErrorText": "string"
    }
  ]
}

Response codes:

CodeValue
200OK
403Forbidden
500Internal server error

Request parameters

FieldDescriptionFormatMandatory
SupplierHotelobjectYes
SupplierIdSupplier’s ID in Ratefox. Integrated suppliers list: https://documentation.hsp.gimmonix.com/docs/roomworks-setup#1-rooms-content-supported-suppliersIntegerYes
SupplierHotelIdSupplier’s HotelIDStringYes
CheckInCheck-in dateString Unix Epoch timeYes
CheckOutCheck-out dateString Unix Epoch timeYes
ResidencyThe lead passenger residencyString(2) ISO Country Code (Ex: US, CZ, IL)Yes
PriceobjectYes
BookingPriceThe price from client’s booking flow. Taxes, fees and commission from the request will be applied to the BookingPrice to obtain “clear” price for comparison with alternative packages’ prices. See examples below the /hotels/ratefox endpoint request parameters table (*).DoubleYes
CurrencyThe currency of the BookingPrice. Rates in response will be in this currencyString(3) ISO Currency Code (Ex: USD, EUR)Yes
TotalTaxobject
AmountAmount of taxesDoubleYes
IsIncludedAre taxes included in the BookingPrice. If excluded, BookingPrice will be increased by Tax Amount before comparing with alternative packages’ prices. Otherwise does not affect.BooleanYes
CurrencyIf not provided (NULL), then Price Currency is usedString(3) ISO Currency Code
TotalFeeobject
AmountAmount of feesDoubleYes
IsIncludedAre fees included in the BookingPrice. If included, BookingPrice will be reduced by Fee Amount before comparing with alternative packages’ prices. Otherwise does not affect.BooleanYes
CurrencyIf not provided (NULL), then Price Currency is usedString(3) ISO Currency Code
Commissionobject
AmountAmount of client’s commission. BookingPrice will be reduced by Commission Amount before comparing with alternative packages’ prices.DoubleYes
CurrencyISO Currency Codes. If not provided (NULL), then Price Currency is usedString(3) ISO Currency Codes
RefundableUntilRefundability deadlineString Unix Epoch timeYes
RoomsArray of objects. Possible room quantity is between 1 and 4ArrayYes
IdRoom Id inside the request. Is generated by client GUID. Should be a unique per each room in the arrayGUIDYes
RoomNameThe name of the requested room (as it used by supplier from SupplierID)StringYes
RoomBasisThe meal-plan, ”Board” (as it used by supplier from SupplierID)StringYes
AdultsCountNumber of adults in the room. The value must be between 1 and 8IntegerYes
KidsAgesArray of kids ages. Each value must be between 0 and 17. If empty, there are no kids in the roomArray of integer
WorkModeDefines the WorkMode for the request.
Possible values: “live”. Can be used only by the client which is set “live” in Gimmonix. The request in this mode produces the real booking;
“evaluation”. The mode for testing and evaluation. The request in this mode doesn’t produce the real booking but full description of Ratefox found alternative is steal returned. This mode can be used by both clients connected to Ratefox as "evaluation" (new clients before the certification stage is completed) and those who are set "live".
StringYes
Language Only “en” is currently supportedStringYes

Postbooking endpoints

POST /hotels/cancel/{segmentId}

Cancel the Ratefox segment reservation with specified ID.

Parameters: segmentId (integer)

Response example:

{
  "Result": {
    "BookCancelID": "string",
    "CancellationComment": "string",
    "CancellationFee": 0,
    "Currency": "string",
    "Status": "string"
  },
  "Errors": [
    {
      "Message": "string",
      "ErrorCode": "string",
      "ErrorText": "string"
    }
  ]
}

Possible Statuses list: https://documentation.hsp.gimmonix.com/docs/orders-and-segments-statuses

Response parameters:

FieldDescriptionFormatMandatory
BookCancelIDCancellation IDString
CancellationCommentCancellation CommentString
CancellationFeeCancellation FeeDouble
CurrencyCurrency of the cancellation feeString ISO Currency Code
StatusCancellation Status. Possible statuses list: https://documentation.hsp.gimmonix.com/docs/orders-and-segments-statuses#segment-cancellation-statusesString
ErrorsArray of error codes and messages.Array
Messageerror descriptionString
ErrorCodeList of possible error codes with description https://documentation.hsp.gimmonix.com/docs/error-code-handlingString
ErrorTextshort error messageString

POST /hotels/checkstatus/{segmentId}

Check status of the Ratefox segment reservation with specified ID.

Parameters: segmentId (integer)

Response example:

{
  "Result": {
    "Status": "string"
  },
  "Errors": [
    {
      "Message": "string",
      "ErrorCode": "string",
      "ErrorText": "string"
    }
  ]
}

Response parameters:

FieldDescriptionFormatMandatory
StatusSegment Status. Possible statuses list: https://documentation.hsp.gimmonix.com/docs/orders-and-segments-statuses#segment-statusesString
ErrorsArray of error codes and messages.Array
Messageerror descriptionString
ErrorCodeList of possible error codes with description https://documentation.hsp.gimmonix.com/docs/error-code-handlingString
ErrorTextshort error messageString

GET /hotels/orderdata/{orderId}

Provide description of the Ratefox order (booking) reservation with specified ID

Parameters: orderId (integer)

Response example:

{
 "Result": { 
   "HotelId": 0,
   "OrderId": 0,
   "SupplierName": "string",
   "ContractId": 0,
   "SupplierId": 0,
   "RequestPrice": 0,
   "RequestedCurrency": "string",
   "FinalPrice": 0,
   "Profit": 0,
   "CheckIn": "2025-01-21T12:43:38.569Z",
   "CheckOut": "2025-01-21T12:43:38.569Z",
   "Segments": [
    {
      "SegmentId": 0,
      "Status": "string",
      "Rooms": [
        {
          "RoomName": "string",
          "MealPlan": "string"
        }
      ],
      "TotalPrice": {
        "Commission": 0,
        "CommissionInSupplierCurrency": 0,
        "Currency": "string",
        "FinalPrice": 0,
        "FinalPriceInSupplierCurrency": 0,
        "PayOnArrivalFinal": 0,
        "SupplierCurrency": "string",
        "AdditionalTaxesMayApply": true,
        "FinalTax": 0,
        "TaxesAndFees": [
          {
            "FeeTitle": "string",
            "IsIncludedInPrice": true,
            "IsMandatory": true,
            "Currency": "string",
            "UnitType": "string",
            "FrequencyType": "string",
            "Value": "string",
            "IsValuePercentage": true,
            "Remarks": "string"
          }
        ],
        "VccTax": 0
      },
      "SupplierReservationDetails": {
        "BookingID": "string",
        "BookingReference": "string",
        "BookingRemarks": [
          "string"
        ],
        "SupplierVoucherId": "string"
      },
      "CancellationPolicies": [
        {
          "CancellationFee": {
            "Commission": 0,
            "CommissionInSupplierCurrency": 0,
            "Currency": "string",
            "FinalPrice": 0,
            "FinalPriceInSupplierCurrency": 0,
            "PayOnArrivalFinal": 0,
            "SupplierCurrency": "string",
            "AdditionalTaxesMayApply": true,
            "FinalTax": 0,
            "TaxesAndFees": [
              {
                "FeeTitle": "string",
                "IsIncludedInPrice": true,
                "IsMandatory": true,
                "Currency": "string",
                "UnitType": "string",
                "FrequencyType": "string",
                "Value": "string",
                "IsValuePercentage": true,
                "Remarks": "string"
              }
            ],
            "VccTax": 0
          },
          "DateFrom": "2025-01-21T12:43:38.569Z",
          "DateTo": "2025-01-21T12:43:38.569Z",
          "Description": "string"
        }
      ]
    }
  ],
  "Errors": [
    {
      "Message": "string",
      "ErrorCode": "string",
      "ErrorText": "string"
    }
  ]
 }
}

Response parameters:

FieldDescriptionFormatMandatory
Resultobject
OrderIdRatefox internal Id of the bookingIntegerYes
SupplierIdSupplier’s ID in RatefoxIntegerYes
SupplierNameRatefox internal Supplier Name (supplier from the booking made by Ratefox)StringYes
HotelIdRatefox Hotel IdStringYes
ContractIdId of the contract between Client and Supplier in RatefoxIntegerYes
RequestPriceBookingPrice from the Request after applying Taxes, Fees and Commission (see Ratefox API request description above)DoubleYes
RequestCurrencyPrice.Currency from the requestString ISO Currency CodeYes
FinalPricePrice from the booking made by RatefoxDoubleYes
ProfitRequestPrice - FinalPriceDoubleYes
CheckInString Unix Epoch timeYes
CheckOutString Unix Epoch timeYes
SegmentsArray of objects
SegmentIdRatefox Segment IdIntegerYes
StatusSegment status. Possible statuses list: https://documentation.hsp.gimmonix.com/docs/orders-and-segments-statuses#segment-statuses. Note: in Evaluation mode Segment status is “EV” (successful Ratefox request doesn’t result real booking)StringYes
RoomsArray of objects
RoomNameThe name of the booked room in supplier termsStringYes
MealPlanThe meal-plan name of the booked room in supplier termsStringYes
TotalPriceobject
CommissionCommission amountDoubleYes
CommissionInSupplierCurrencyCommission amount in SupplierCurrencyDoubleYes
CurrencyCurrency specified in the request in Price.CurrencyString ISO Currency CodeYes
FinalPricethe price of the booking in CurrencyDoubleYes
FinalPriceInSupplierCurrencythe price of the booking in SupplierCurrencyDoubleYes
PayOnArrivalFinalAmount to be paid upon arrival in CurrencyDoubleYes
SupplierCurrencyThe currency in which the price were originally received from the supplierString ISO Currency Code
AdditionalTaxesMayApplythe value is assigned by supplierBooleanYes
FinalTaxTax assigned from supplier response in CurrencyDoubleYes
TaxesAndFeesArray of objectsarray
FeeTitlethe tax or fee title as returned by the supplierString
IsIncludedInPriceis this tax or fee included in the FinalPriceBoolean
IsMandatoryis the tax or fee mandatory to be paid.Boolean
CurrencyCurrency specified in the request in Price.CurrencyString ISO Currency Code
UnitTyperepresents the category of the tax or fee: “Other” (not specified), “NotApplicable” (the supplier specified that this tax/fee is not applicable for the selected room), “NotSpecified”, “PerOccurrence” (of the fee title), “PerItem” (eg.: number of speedboats), “PerReservation” (the tax/fee will be applied per the entire reservation), “PerChild”, “PerAdult”, “PerNight”, “PerRoom”, “PerStay”, “PerPerson”.String
FrequencyTyperepresents the repetitive type of tax or fee: “Other”, ”NotApplicable”, “NotSpecified”, “PerMinute”, “PerHour”, ”PerHalfDay”, “PerNight”, “PerWeek”, “PerStay”.String
Valuethe decimal value of the taxes and feesString
IsValuePercentageis the tax or fee a percentage value or an absolute valueBoolean
Remarksthe tax or fee description as the supplier returnedString
VccTaxDouble
SupplierReservationDetailsobject
BookingIDSupplier’s booking confirmation IdString
BookingReferenceSupplier’s booking referenceString
BookingRemarksSupplier’s booking remarksArray of strings
SupplierVoucherIdSupplier’s voucher IdString
CancellationPoliciesArray of objectsArray
CancellationFeeSame approach to detail CancellationFee as for the TotalPrice object aboveYes
 CommissionDoubleYes
CommissionInSupplierCurrencyDoubleYes
CurrencyString ISO Currency Code
FinalPriceDoubleYes
FinalPriceInSupplierCurrencyDoubleYes
PayOnArrivalFinalDoubleYes
SupplierCurrencyString ISO Currency Code
AdditionalTaxesMayApplyBooleanYes
FinalTaxDoubleYes
TaxesAndFeesarray of objects
FeeTitleString
IsIncludedInPriceBoolean
IsMandatoryBoolean
CurrencyString ISO Currency Code
UnitTypeString
FrequencyTypeString
ValueString
IsValuePercentageString
RemarksString
VccTaxDouble
DateFromfirst date and time of the cancellation policy. Time is GMT. Please be aware that we won't be able to service complaints on a cancellation fee that was charged by the supplier because of time-zone differences between the supplier cancellation policy time to your timeString Unix Epoch timeYes
DateToend date and time for the policy. Time is GMT.String Unix Epoch timeYes
Descriptionpolicy description as returned from the supplier.String
ErrorsArray of error codes and messages
Messageerror descriptionString
ErrorCodeList of possible error codes with description https://documentation.hsp.gimmonix.com/docs/error-code-handlingString
ErrorTextshort error messageString