TABLE OF CONTENTS

Cancellation API

The Cancel API enables distributors to send cancellation requests to DerbySoft, which then communicates with the hotel suppliers’ systems to cancel the booking in real time. This ensures a smooth and efficient cancellation process. For non-multiroom bookings, using the supplierResId is sufficient to trigger the cancellation. However, for multi-room reservations, both the derbyResId and supplierResId must be used, as DerbySoft handles the splitting of original reservations in these cases. Once the cancellation request is sent, distributors receive immediate confirmation from the supplier’s system, ensuring the cancellation is processed and accurately reflected. This functionality is essential for managing booking changes, giving distributors the ability to process customer cancellations quickly and confidently.

POST /reservation/cancel HTTP/1.1
URL: {BookingUSB-Endpoint}/reservation/cancel
Authorization: 53ac07777cdffac2d53000002d698728ce964432d7167596bc005c5fc
Accept-Encoding: gzip
Content-Encoding: gzip
Content-Type: application/json;charset=utf-8

Cancellation Request Schema

Request
Level

Field Name

Required

Data Type

Description

Example

1

header

object

Y

 /

 /

2

@supplierId

string

Y

The ID of hotel supplier in DerbySoft's system.

Max Length: 32

HILTON

2

@distributorId

string

Y

The ID of the distributor in DerbySoft's system

MaxLength: 32

GTA

2

@version

string

Y

Max Length: 20

Version of API

v4

2

@token

string

Y

Max Length: 64

A unique identifier is used for requests and responses, typically a UUID. Note that this is an echo token, not an access token.

18393849028490234

1

reservationIds

object

Y

 /

 /

2

@distributorResId

string

Y

Distributor's reservation ID. Distributors should keep the ID unique on their system to avoid any potential issues caused by duplicate reservation IDs.

C2084DFL0

2

@derbyResId

string

N

Reservation ID in Derbysoft's system, it's a unique ID as DerbySoft would be splitting the reservation.

D15F893D34DF

2

@supplierResId

string

N

Reservation ID in supplier's system

89389494

1

extensions

object

N

Optional: Additional agreed-upon attributes between suppliers and distributors (DerbySoft will provide the specified format). Please don't transmit sensitive information through this field. For more information refer to:

Sensitive Information

{"key": "value"}

Cancellation Request Example

Cancellation Request Example
{
        "header": {
            "supplierId": "HILTON",
            "distributorId": "GTA",
            "version": "v4",
            "token": "18393849028490234"
        },
        "reservationIds": {
            "distributorResId": "C2084DFL0",
            "derbyResId": "D15F893D34DF",
            "supplierResId": "89389494"
        },
        "extensions": {
            "key1": "value1",
            "key2": "value2"
        }
      }

Cancellation Response Schema

Response
Level

Field Name

Required

Data Type

Description

Example

1

header

object

Y

 /

 /

2

@supplierId

string

Y

The ID of hotel suppliers is in DerbySoft's system.

Max Length: 32

HILTON

2

@distributorId

string

Y

The ID of the distributor in DerbySoft's system

MaxLength: 32

GTA

2

@version

string

Y

Max Length: 20

Version of API

v4

2

@token

string

Y

Max Length: 64

A unique identifier is used for requests and responses, typically a UUID. Note that this is an echo token, not an access token.

18393849028490234

1

reservationIds

object

Y

 /

100001

2

@distributorResId

string

Y

Distributor's reservation ID. Distributors should keep the ID unique on their system to avoid any potential issues caused by duplicate reservation IDs.

C2084DFL0

2

@derbyResId

string

Y

Reservation ID in Derbysoft's system, It's a unique ID as DerbySoft would be splitting the reservation.

D15F893D34DF

2

@supplierResId

string

Y

Reservation ID in supplier's system

89389494

2

cancellationId

string

Y

Cancellation confirmation number in supplier's system

C89389494

1

extensions

object

N

Optional: Additional agreed-upon attributes between suppliers and distributors (DerbySoft will provide the specified format)

 /

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

Cancellation Response Example

Success Response (HTTP Status 200)
{
  "header": {
    "supplierId": "HILTON",
    "distributorId": "GTA",
    "version": "v4",
    "token": "18393849028490234"
  },
  "reservationIds": {
    "distributorResId": "C2084DFL0",
    "derbyResId": "D15F893D34DF",
    "supplierResId": "89389494"
  },
  "cancellationId": "C89389494",
  "extensions": {
    "key1": "value1",
    "key2": "value2"
  }
}
Error Response (HTTP Status 403)
{
  "error": "Key not authorized"
} 
Error Response (HTTP Status 500)
{
  "errorCode": "string",
  "supplierErrorCode": "string",
  "errorMessage": "string"
}