TABLE OF CONTENTS

This API enables DerbySoft to send LOS ARI to distributors for a hotel within a specified date range. The LOS Push Model provides detailed availability and rate information based on the length of stay for a specific hotel. This allows distributors to receive pricing that is tailored to different stay durations, providing more precise and relevant data for each booking scenario.


Whenever the supplier updates prices or availability for an activated hotel or product, we will push the updated LOS ARI data, ensuring that distributors always receive the most current and accurate information.


In the following sections, we will provide the schemas and examples for the LOS Push Model, outlining the structure of the ARI data and how to integrate it into your system.

POST /ari/los/push HTTP/1.1 
URL: {AvailabilityPeer-Endpoint}}/ari/los/push 
Authorization: 53ac07777cdffac2d53000002d698728ce964432d7167596bc005c5fc Accept-Encoding: gzip 
Content-Encoding: gzip 
Content-Type: application/json;charset=utf-8

LOS Push Request Schema

Level

Field Name

Data Type

Required

Description

Example

1

header

object

Y

 /

 /

2

@supplierId

string

Y

The ID of hotel suppliers in DerbySoft's system.

MaxLength: 32

HILTON

2

@distributorId

string

Y

The ID of distributor in DerbySoft's system.

MaxLength: 32

GTA

2

@version

string

Y

Version of API. MaxLength: 20

v4

2

@token

string

Y

A unique identifier is used for requests and responses, typically a UUID. MaxLength: 64

Note that this is an echo token, not an access token.

18393849028490234

1messageTypeenumN

Enum: [ Delta, Overlay ]

Omit the attributor means the Message Type is Overlay.

Refer to Delta vs. Overlay for more information

Delta
1

hotelId

string

Y

The ID of a hotel in the supplier's system

GATHI

1

dateRange

object

Y

 /

 /

2

@startDate

string

Y

Start date of date range expressed as YYYY-MM-DD

2028-01-01

2

@endDate

string

Y

End date of the date range expressed as YYYY-MM-DD

2028-01-04

1

currency

string

Y

Currency code[ISO-4217]

USD

1

losAris

array

Y

Length of stay rate and inventory within a date range.  If no available rates, it means the hotel was closed.  If the available rates are only for certain room types, it means other room types are closed.

 /

2

@roomId

string

Y

Room ID in supplier's system

10000101

2

@rateId

string

Y

Rate ID in supplier's system

123456

2@connectionTypeenumN

Enum: [Exchange, Standard]

Indicates the connection type of products. 

Notes: If the field is omitted, it means the Connection Type is Standard.

Standard
2

@los

integer

Y

Length of stay

1

2

@mealPlans

array[string]

N

Meal plan for each date

[ "BB", "BB", "BB", "BB" ]

2

@inventories

array[integer]

Y

Room inventory for each date

[ 9, 0, 9, 9 ]

2

rates

 /

Y

 /

 /

3

@type

enum

Y

Enum: [ OccupancyRate, CommonRate ]

Indicates which rate model to be used: OccupancyRate or CommonRate.

 /

3

rates

array[object]

Y

This node will not display if it’s the Common Rate Model.

 /

4

@adultCount

integer

C

This node will not display if it’s the Common Rate Model.

 /

4

@childCount

integer

N

The node will not display if it’s the Common Rate Model.

 /

4

@amountBeforeTax

array[number]

C

Mandatory if AAT is not provided

[ 502.19, 502.19, 502.19, 502.19 ]

4

@amountAfterTax

array[number]

C

Mandatory if ABT is not provided

[ 623.23, 623.23, 623.23, 623.23 ]

3

extraChildRates

object

N

The extra child rate is applicable only for the Occupancy Rate. 

 /

4

@minAge

integer

C

Minimum child age is greater than or equal to zero.

0

4

@maxAge

integer

C

Maximum child age is less than or equal to maxChildAge.

2

4

@amountBeforeTax

array[number]

C

Mandatory if AAT is not provided

[ 40, 40 ]

4

@amountAfterTax

array[number]

C

Mandatory if ABT is not provided

[ 40, 40 ]

4
@suggestedSellingPriceBeforeTaxarray[number]N

Amount of rate without tax & fee for exchange.

Notes: If the connection type is "Exchange" and the "Net" Rate Model, the field will be visible; otherwise, it will not appear.

[100, 100, 100]
4
@suggestedSellingPriceAfterTaxarray[number]N

Amount of rate with tax & fee for exchange.

Notes: If the connection type is "Exchange" and the "Net" Rate Model, the field will be visible; otherwise, it will not appear.

[110, 110, 110]
1

extensions

object

N

A common extension object for extra attributes like account, extra settings required by a distributor, etc.

 /

LOS Push Request Example

Occupancy Rate
{
  "header": {
    "supplierId": "HILTON",
    "distributorId": "GTA",
    "version": "v4",
    "token": "18393849028490234"
  },
  "messageType": "Delta",
  "hotelId": "GATHI",
  "dateRange": {
    "startDate": "2028-01-01",
    "endDate": "2028-01-04"
  },
  "currency": "USD",
  "losAris": [
    {
      "roomId": "K1",
      "rateId": "BARB",
      "los": 1,
      "mealPlans": [
        "BB",
        "BB",
        "RO",
        "BB"
      ],
      "inventories": [
        9,
        0,
        9,
        9
      ],
      "rates": {
        "type": "OccupancyRate",
        "rates": [
          {
            "adultCount": 2,
            "childCount": 1,
            "amountBeforeTax": [
              502.19,
              502.19,
              502.19,
              502.19
            ],
            "amountAfterTax": [
              623.23,
              623.23,
              623.23,
              623.23
            ]
          }
        ]
      }
    }
  ]
}
Occupancy Rate from Exchange Supplier and Net Rate Model
{
  "header": {
    "supplierId": "HILTON",
    "distributorId": "GTA",
    "version": "v4",
    "token": "18393849028490234"
  },
  "messageType": "Delta",
  "hotelId": "GATHI",
  "dateRange": {
    "startDate": "2028-01-01",
    "endDate": "2028-01-04"
  },
  "currency": "USD",
  "losAris": [
    {
      "roomId": "K1",
      "rateId": "BARB",
      "connectionType": "Exchange",
      "los": 1,
      "mealPlans": [
        "BB",
        "BB",
        "RO",
        "BB"
      ],
      "inventories": [
        9,
        0,
        9,
        9
      ],
      "rates": {
        "type": "OccupancyRate",
        "rates": [
          {
            "adultCount": 2,
            "childCount": 1,
            "amountBeforeTax": [
              502.19,
              502.19,
              502.19,
              502.19
            ],
            "amountAfterTax": [
              623.23,
              623.23,
              623.23,
              623.23
            ],
            "suggestedSellingPriceBeforeTax": [
              100,
              100,
              120,
              120
            ],
            "suggestedSellingPriceAfterTax": [
              110,
              110,
              130,
              130
            ]
          }
        ]
      }
    }
  ]
}
Occupancy Rate with Child Pricing based on age bands
{
    "header": {
        "supplierId": "HILTON",
        "distributorId": "GTA",
        "version": "v4",
        "token": "18393849028490234"
    },
    "messageType": "Delta",
    "hotelId": "GATHI",
    "dateRange": {
        "startDate": "2028-01-01",
        "endDate": "2028-01-04"
    },
    "currency": "USD",
    "losAris": [
        {
            "roomId": "K1",
            "rateId": "BARB",
            "los": 1,
            "mealPlans": [
                "BB",
                "BB",
                "RO",
                "BB"
            ],
            "inventories": [
                9,
                0,
                9,
                9
            ],
            "rates": {
                "extraChildRates": [
                    {
                        "minAge": 0,
                        "maxAge": 2,
                        "amountAfterTax": [
                            50.00,
                            50.00,
                            50.00,
                            50.00
                        ],
                        "amountBeforeTax": [
                            40.00,
                            40.00,
                            40.00,
                            40.00
                        ]
                    },
                    {
                        "minAge": 3,
                        "maxAge": 8,
                        "amountAfterTax": [
                            60.00,
                            60.00,
                            60.00,
                            60.00
                        ],
                        "amountBeforeTax": [
                            50.00,
                            50.00,
                            50.00,
                            50.00
                        ]
                    },
                    {
                        "minAge": 9,
                        "maxAge": 17,
                        "amountAfterTax": [
                            70.00,
                            70.00,
                            70.00,
                            70.00
                        ],
                        "amountBeforeTax": [
                            60.00,
                            60.00,
                            60.00,
                            60.00
                        ]
                    }
                ],
                "type": "OccupancyRate",
                "rates": [
                    {
                        "adultCount": 2,
                        "amountBeforeTax": [
                            200.00,
                            200.00,
                            200.00,
                            200.00
                        ],
                        "amountAfterTax": [
                            220.00,
                            220.00,
                            220.00,
                            220.00
                        ]
                    },
                    {
                        "adultCount": 1,
                        "amountBeforeTax": [
                            160.00,
                            160.00,
                            160.00,
                            160.00
                        ],
                        "amountAfterTax": [
                            192.00,
                            192.00,
                            192.00,
                            192.00
                        ]
                    }
                ]
            }
        },
        {
            "roomId": "K1",
            "rateId": "BARB",
            "los": 2,
            "mealPlans": [
                "BB",
                "BB",
                "RO",
                "BB"
            ],
            "inventories": [
                9,
                0,
                9,
                9
            ],
            "rates": {
                "extraChildRates": [
                    {
                        "minAge": 0,
                        "maxAge": 2,
                        "amountAfterTax": [
                            100.00,
                            100.00,
                            100.00,
                            100.00
                        ],
                        "amountBeforeTax": [
                            80.00,
                            80.00,
                            80.00,
                            80.00
                        ]
                    },
                    {
                        "minAge": 3,
                        "maxAge": 8,
                        "amountAfterTax": [
                            120.00,
                            120.00,
                            120.00,
                            120.00
                        ],
                        "amountBeforeTax": [
                            100.00,
                            100.00,
                            100.00,
                            100.00
                        ]
                    },
                    {
                        "minAge": 9,
                        "maxAge": 17,
                        "amountAfterTax": [
                            140.00,
                            140.00,
                            140.00,
                            140.00
                        ],
                        "amountBeforeTax": [
                            120.00,
                            120.00,
                            120.00,
                            120.00
                        ]
                    }
                ],
                "type": "OccupancyRate",
                "rates": [
                    {
                        "adultCount": 2,
                        "amountBeforeTax": [
                            400.00,
                            400.00,
                            400.00,
                            400.00
                        ],
                        "amountAfterTax": [
                            440.00,
                            440.00,
                            440.00,
                            440.00
                        ]
                    },
                    {
                        "adultCount": 1,
                        "amountBeforeTax": [
                            320.00,
                            320.00,
                            320.00,
                            320.00
                        ],
                        "amountAfterTax": [
                            384.00,
                            384.00,
                            384.00,
                            384.00
                        ]
                    }
                ]
            }
        }
    ]
}
All possible occupancy combinations
Note: GO supports completing possible occupancy combinations up to the maximum occupancy supported by each hotel in cases where children will be free of charge by hotel suppliers. Example as follow: Max occupancy = 4, max adult = 3, max children = 2, child pricing = 0. But suppliers don't provide occupancy rates for adult plus child combinations. GO supports to complele it for 3A1C, 3A0C, 2A2C, 2A1C, 2A0C, 1A1C and 1A0C.

*** The feature increases the ARI pushing traffic volume, and is turned off as a default setting. If you wish to enable it, please reach out to your Client Manager for more details.
{
    "header": {
        "supplierId": "HILTON",
        "distributorId": "GTA",
        "version": "v4",
        "token": "18393849028490234"
    },
    "messageType": "Delta",
    "hotelId": "GATHI",
    "dateRange": {
        "startDate": "2028-01-01",
        "endDate": "2028-01-07"
    },
    "currency": "USD",
    "losAris": [
        {
            "roomId": "NCAA",
            "rateId": "LHGKX",
            "los": 1,
            "mealPlans": [
                "BB",
                "BB",
                "BB",
                "BB",
                "BB",
                "BB",
                "BB"
            ],
            "inventories": [
                0,
                0,
                0,
                0,
                1,
                1,
                1
            ],
            "rates": {
                "rates": [
                    {
                        "adultCount": 1,
                        "childCount": 0,
                        "amountBeforeTax": [
                            183.01,
                            141,
                            166,
                            176,
                            176,
                            158,
                            182
                        ]
                    },
                    {
                        "adultCount": 1,
                        "childCount": 1,
                        "amountBeforeTax": [
                            183.01,
                            141,
                            166,
                            176,
                            176,
                            158,
                            182
                        ]
                    },
                    {
                        "adultCount": 2,
                        "childCount": 0,
                        "amountBeforeTax": [
                            183.01,
                            141,
                            166,
                            176,
                            176,
                            158,
                            182
                        ]
                    },
                    {
                        "adultCount": 2,
                        "childCount": 1,
                        "amountBeforeTax": [
                            183.01,
                            141,
                            166,
                            176,
                            176,
                            158,
                            182
                        ]
                    },
                    {
                        "adultCount": 2,
                        "childCount": 2,
                        "amountBeforeTax": [
                            183.01,
                            141,
                            166,
                            176,
                            176,
                            158,
                            182
                        ]
                    },
                    {
                        "adultCount": 3,
                        "childCount": 0,
                        "amountBeforeTax": [
                            191.85,
                            149.87,
                            175.07,
                            184.84,
                            184.84,
                            166.83,
                            190.84
                        ]
                    },
                    {
                        "adultCount": 3,
                        "childCount": 1,
                        "amountBeforeTax": [
                            191.85,
                            149.87,
                            175.07,
                            184.84,
                            184.84,
                            166.83,
                            190.84
                        ]
                    }
                ],
                "type": "OccupancyRate"
            }
        }
    ]
}

LOS Push Response Schema

Level

Field Name

Data Type

Required

Description

Example

1

header

object

Y

 /

 /

2

@supplierId

string

Y

The ID of hotel suppliers in DerbySoft's system.

MaxLength: 32

HILTON

2

@distributorId

string

Y

The ID of distributor in DerbySoft's system.

MaxLength: 32

GTA

2

@version

string

Y

Version of API. MaxLength: 20

v4

2

@token

string

Y

A unique identifier is used for requests and responses, typically a UUID. MaxLength: 64

Note that this is an echo token, not an access token.

18393849028490234

1

hotelId

string

Y

ID of a hotel in supplier's system

GATHI

1

updateDateRange

object

Y

 /

 /

2

@startDate

string

Y

Start date of date range expressed as YYYY-MM-DD

2028-01-01

2

@endDate

string

Y

End date of the date range expressed as YYYY-MM-DD

2028-01-04

1errorstringNerror responseKey not authorized
1errorCodestringCerror responseInvalidField
1errorMessagestringCerror responseInvalid Message

LOS Push Response Example

Success Response(HTTP Status 200)
{
  "header": {
    "supplierId": "ABCDE",
    "distributorId": "GTA",
    "version": "v4",
    "token": "18393849028490234"
  },
  "hotelId": "ABC123",
  "updateDateRange": {
    "startDate": "2028-01-01",
    "endDate": "2028-01-04"
  }
}
Error Response (HTTP Status 403)
{
  "errorCode": "InvalidField",
  "errorMessage": "  Unauthorized token"
}
Error Response (HTTP Status 500)
{
  "errorCode": "InvalidField",
  "errorMessage": "Invalid Message"
}