TABLE OF CONTENTS

Introduction

AgencyUSB - Hotel Products API now includes the childRateType attribute, which allows GO Supply to support four business scenarios related to child pricing as follows. 


ValueDescription
NormalHotels provide rates for a combination of adults and children.
ByAgeHotels provide extra child pricing based on age bands.
FreeHotels indicate children as free of charge to stay.
AsAdultHotels indicate children will be charged the same rate as adults for their stay.


Definition in Hotel Product API

AttributeTypeDescription
childRateTypeenum

Enum: [Normal, ByAge, Free, AsAdult]

This text describes the different child rate types used with the Occupancy Rate model. There are four options: 

  • Normal: This is the default option, where the occupancy rate is combined with adult and child rates without age band settings.
  • ByAge: Children will be charged based on their age bands.
  • Free: Children will be free of charge to stay.
  • AsAdult: Children will be charged the same rate as adults for their stay.
maxChildAgeInteger

If childRateType is ByAge, the value of maxChildAge must be provided and it should be greater than zero.


How does it work on GO Supply?

1. GO Supplier indicate childRateType in Hotel Product API as shown in the example below:

{    
    "hotelId": "100001",
    "hotelName": "This is a test hotel",
    "distributorId": "GTA",
    "status": "Actived",
    "chainCode": "Marriott",
    "brandCode": "Courtyard",
    "longitude": 41.40338,
    "latitude": 2.17403,
    "city": "string",
    "country": "string",
    "state": "string",
    "address": [],
    "phone": {},
    "settings": {},
    "ariType": "Daily",
    "timezone": "America/Los_Angeles",
    "rateType": "AmountBeforeTax",
    "maxChildAge": 17,
    "childRateType": "ByAge",
    "products": []
} 

2. Go Supplier uses the extraChildRates node in the ARI API to provide child pricing by age bands in the OccupancyRate model.

If the value of maxChildAge is set to 8, the sample response will be as follows:

"rates": {
  "type": "OccupancyRate",
  "rates": [
    {
      "adultCount": 1,
      "amountBeforeTax": [
        100.00,
        100.00,
      ],
      "amountAfterTax": [
        120.00,
        120.00
      ]
    },
    {
      "adultCount": 2,
      "amountBeforeTax": [
        180.00,
        180.00,
      ],
      "amountAfterTax": [
        200.00,
        200.00
      ]
    }
  ],
  "extraChildRates": [
    {
      "minAge": "0",
      "maxAge": "2",
      "amountBeforeTax": [
        40.00,
        40.00,
      ],
      "amountAfterTax": [
        50.00,
        50.00
      ]
    },
    {
      "minAge": "3",
      "maxAge": "8",
      "amountBeforeTax": [
        50.00,
        50.00,
      ],
      "amountAfterTax": [
        60.00,
        60.00
      ]
    }
  ]
}

Notes:

  • Age bands will be clearly defined and non-overlapping, for example, [0-2], [3-8], and [9-12] when maxChildAge is 12. Error cases: if set maxChildAge=10, the below bands are incorrect.
    extraChildRates=[0-3],[3-5],[5-8],[8-10]
    extraChildRates=[0-3],[3-5]
    extraChildRates=[0-3],[4-8],[8-12]
    extraChildRates=[2-3],[3-6],[6-10]
  • Both minAge and maxAge are closed intervals, where minAge will be greater than or equal to 0, and maxAge should be less than or equal to maxChildAge.
  • Child pricing will be based on the same amount type (AAT/ABT) as the room.
  • The childCount field is supposed to be omitted from the rate combinations of adults and children when providing ARI with extra child rates.