TABLE OF CONTENTS

Introduction

Child Pricing based on Age bands is a new feature released on GO Supply v4.7.

AgencyUSB/ExtranetUSB - 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 v4.7?


1. Changes on Hotel Product API

  • Remove fields: freeChildAge and childPriceRules
  • Add fields: childRateType and maxChildAge
{    
    "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. Add a field on the ARI API

Add field extraChildRates 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.