Holibob Webhook API (1.0.0)

Download OpenAPI specification:

Notify about booking creation

Notify about booking creation

path Parameters
secret
required
string >= 5 characters

Security secret received from Holibob

Request Body schema:
required
consumerGivenName
string or null non-empty

The first name of the consumer, only. Example: Charlie

consumerPartnerExternalReference
string or null non-empty

The partner's unique reference of the consumer

consumerPhone
string or null >= 10 characters

All phone numbers must be added in the E.164 format to be considered valid. We are using https://www.npmjs.com/package/google-libphonenumber library for validation.* numbers should start with a '+'

  • followed by country code
  • the phone number

For example:

  • USA: +14155552671
  • Brazil: +551155256325
  • UK: +442071838750
consumerEmail
string or null <email>

The email address of the consumer

consumerNationality
string or null
Enum: "AF" "AL" "DZ" "AS" "AD" "AO" "AI" "AQ" "AG" "AR" "AM" "AW" "AU" "AT" "AZ" "BS" "BH" "BD" "BB" "BY" "BE" "BZ" "BJ" "BM" "BT" "BO" "BA" "BW" "BV" "BR" "IO" "BN" "BG" "BF" "BI" "KH" "CM" "CA" "CV" "KY" "CF" "TD" "CL" "CN" "CX" "CC" "CO" "KM" "CG" "CD" "CK" "CR" "CI" "HR" "CU" "CY" "CZ" "DK" "DJ" "DM" "DO" "EC" "EG" "SV" "GQ" "ER" "EE" "ET" "FK" "FO" "FJ" "FI" "FR" "GF" "PF" "TF" "GA" "GM" "GE" "DE" "GH" "GI" "GR" "GL" "GD" "GP" "GU" "GT" "GN" "GW" "GY" "HT" "HM" "VA" "HN" "HK" "HU" "IS" "IN" "ID" "IR" "IQ" "IE" "IL" "IT" "JM" "JP" "JO" "KZ" "KE" "KI" "KP" "KR" "KW" "KG" "LA" "LV" "LB" "LS" "LR" "LY" "LI" "LT" "LU" "MO" "MG" "MW" "MY" "MV" "ML" "MT" "MH" "MQ" "MR" "MU" "YT" "MX" "FM" "MD" "MC" "MN" "MS" "MA" "MZ" "MM" "NA" "NR" "NP" "NL" "NC" "NZ" "NI" "NE" "NG" "NU" "NF" "MP" "MK" "NO" "OM" "PK" "PW" "PS" "PA" "PG" "PY" "PE" "PH" "PN" "PL" "PT" "PR" "QA" "RE" "RO" "RU" "RW" "SH" "KN" "LC" "PM" "VC" "WS" "SM" "ST" "SA" "SN" "SC" "SL" "SG" "SK" "SI" "SB" "SO" "ZA" "GS" "ES" "LK" "SD" "SR" "SJ" "SZ" "SE" "CH" "SY" "TW" "TJ" "TZ" "TH" "TL" "TG" "TK" "TO" "TT" "TN" "TR" "TM" "TC" "TV" "UG" "UA" "AE" "GB" "US" "UM" "UY" "UZ" "VU" "VE" "VN" "VG" "VI" "WF" "EH" "YE" "ZM" "ZW" "AX" "BQ" "CW" "GG" "IM" "JE" "ME" "BL" "MF" "RS" "SX" "SS" "XK"

The nationality of the consumer. It takes country codes in ISO 3166-1 alpha-2 standard

consumerCurrency
string or null <= 3 characters

The preferred currency of the consumer. For example USD, EUR

consumerLanguage
string or null = 2 characters

ISO 639-1 language code

consumerTripPartnerExternalReference
required
string non-empty

The partner's unique reference of the consumer's trip and or booking

(string or null) or (string or null)

The arrival date of the consumer's trip. The datetime that the consumer arrives at the destination. Timezone is required when passing a datetime string. Correct datetime string should follow ISO 8601 standard with timezone.

For example

  • 2024-06-14
  • 2024-06-14T07:27:17.335Z
  • 2020-01-01T00:00:00.123+0200

If the request only have consumerTripArrivalDate that means it is a one-way trip

(string or null) or (string or null)

The return date of the consumer's trip. The datetime that the consumer returns from the destination. Timezone is required when passing a datetime string. Correct datetime string should follow ISO 8601 standard with timezone.

For example

  • 2024-06-14
  • 2024-06-14T07:27:17.335Z
  • 2020-01-01T00:00:00.123+0200

If the request have both consumerTripArrivalDate and consumerTripReturnDate that means it is a round trip

consumerTripDepartureCityName
string or null non-empty

The departure city name for the outbound journey

consumerTripDepartureCountryName
string or null non-empty

The departure country name for the outbound journey

consumerTripDepartureAirportCode
string or null non-empty

The departure airport code for the outbound journey

consumerTripArrivalFlightNumber
string or null non-empty

The flight number for the arrival journey. For example: QF9

consumerTripDepartureFlightNumber
string or null non-empty

The flight number for the outbound journey. For example: BA 222

consumerTripDepartureFlightClass
string or null
Enum: "ECONOMY" "PREMIUM_ECONOMY" "BUSINESS" "FIRST_CLASS"

The flight class for the outbound journey

(string or null) or (string or null)

The datetime that the consumer made a booking on the partner's system

consumerTripBookingLink
string or null <uri>

The partner's link for the consumer to view their booking. This is often a link to a manage my booking page

consumerTripAccommodationName
string or null non-empty

The name of the accommodation where the consumer is staying during their trip. This is often a hotel name

consumerTripAccommodationAddress
string or null non-empty

The address of the accommodation where the consumer is staying during their trip

consumerTripVenueName
string or null non-empty

The name of some venue that the consumer will attend during their trip

consumerTripVenueAddress
string or null non-empty

The address of some venue that the consumer will attend during their trip

consumerTripDestinationName
string or null non-empty

The name of the destination where the consumer's trip is. This is often a city name. This field is case insensitive.If using consumerTripDestinationName, both consumerTripDestinationName and consumerTripDestinationCountryName must be used.

consumerTripDestinationCountryName
string or null non-empty

The name of the destination's country

consumerTripDestinationAirportCode
string or null non-empty

The destination airport code for the return journey

consumerTripArrivalAirportName
string or null non-empty

The arrival airport name for the return journey

consumerTripDepartureAirportName
string or null non-empty

The departure airport name for the return journey

consumerTripExternalProductName
string or null non-empty

The partner's name for the product that was booked on their system. This is often the name of a hotel room, flight or event

consumerTripPersonCount
integer or null >= 1

The number of people in total on the consumer's trip

consumerTripChildCount
integer or null >= 0

The number of children on the consumer's trip

consumerTripInfantCount
integer or null >= 0

The number of infants on the consumer's trip

consumerTripIsInternational
string or null
Enum: "true" "false"

Indicates whether the destination of the consumer's trip is international

consumerTripIsRegional
string or null
Enum: "true" "false"

Indicates whether the destination of the consumer's trip is within a day's travel from their home and unlikely to be a holiday destination

consumerTripIsLocal
string or null
Enum: "true" "false"

Indicates whether the destination of the consumer's trip is local to them

agentPartnerExternalReference
string non-empty

Your unique agent reference.

This field is required once any other agent data is provided

agentEmail
string or null <email>

Agent email.

Once this field is provided then agentPartnerExternalReference field is required.

agentTimezone
string or null

Timezone identifier from https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.

Example: `America/New_York`, `Europe/London`

Once this field is provided then agentPartnerExternalReference field is required.

agentPhoneNumber
string or null >= 10 characters

All phone numbers must be added in the E.164 format to be considered valid. We are using https://www.npmjs.com/package/google-libphonenumber library for validation.* numbers should start with a '+'

  • followed by country code
  • the phone number

For example:

  • USA: +14155552671
  • Brazil: +551155256325
  • UK: +442071838750

Once this field is provided then agentPartnerExternalReference field is required.

agentGivenName
string or null non-empty

Agent given name. Example: John.

Once this field is provided then agentPartnerExternalReference field is required.

agentFamilyName
string or null non-empty

Agent family name. Example: Smith.

Once this field is provided then agentPartnerExternalReference field is required.

Responses

Request samples

Content type
Example
consumerTripDepartureCityName=Dubai&consumerTripDepartureCountryName=United%20Arab%20Emirates&consumerTripDepartureAirportCode=DXB&consumerTripDepartureFlightClass=ECONOMY&consumerTripArrivalDate=2024-05-18T06%3A55%3A00.000Z&consumerTripDestinationAirportCode=LHR&consumerTripArrivalAirportName=London%20Heathrow%20Airport&consumerTripDestinationName=London&consumerTripDestinationCountryName=United%20Kingdom&consumerTripPartnerExternalReference=y8c6OBIEZmKXeD6Vbg78&consumerTripBookingLink=https%3A%2F%2Fthrifty-starboard.biz%2Fbooking%2Fdb196e31-611b-41e0-b1ee-aeb4d6ad1d3a&consumerTripPersonCount=2&consumerPartnerExternalReference=y34lS53cLJeyYJHc17JZ&consumerGivenName=Christophe&consumerPhone=%2B44%207707%20373348&consumerEmail=christophe4%40gmail.com&consumerNationality=GB&consumerCurrency=GBP

Response samples

Content type
application/json
{
  • "success": true
}

Notify about booking update. Endpoint does not su

Notify about booking update.

Endpoint does not support partial updates therefore we expect full payload to be sent, not just the updated data.

path Parameters
secret
required
string >= 5 characters

Security secret received from Holibob

Request Body schema:
required
consumerGivenName
string or null non-empty

The first name of the consumer, only. Example: Charlie

consumerPartnerExternalReference
string or null non-empty

The partner's unique reference of the consumer

consumerPhone
string or null >= 10 characters

All phone numbers must be added in the E.164 format to be considered valid. We are using https://www.npmjs.com/package/google-libphonenumber library for validation.* numbers should start with a '+'

  • followed by country code
  • the phone number

For example:

  • USA: +14155552671
  • Brazil: +551155256325
  • UK: +442071838750
consumerEmail
string or null <email>

The email address of the consumer

consumerNationality
string or null
Enum: "AF" "AL" "DZ" "AS" "AD" "AO" "AI" "AQ" "AG" "AR" "AM" "AW" "AU" "AT" "AZ" "BS" "BH" "BD" "BB" "BY" "BE" "BZ" "BJ" "BM" "BT" "BO" "BA" "BW" "BV" "BR" "IO" "BN" "BG" "BF" "BI" "KH" "CM" "CA" "CV" "KY" "CF" "TD" "CL" "CN" "CX" "CC" "CO" "KM" "CG" "CD" "CK" "CR" "CI" "HR" "CU" "CY" "CZ" "DK" "DJ" "DM" "DO" "EC" "EG" "SV" "GQ" "ER" "EE" "ET" "FK" "FO" "FJ" "FI" "FR" "GF" "PF" "TF" "GA" "GM" "GE" "DE" "GH" "GI" "GR" "GL" "GD" "GP" "GU" "GT" "GN" "GW" "GY" "HT" "HM" "VA" "HN" "HK" "HU" "IS" "IN" "ID" "IR" "IQ" "IE" "IL" "IT" "JM" "JP" "JO" "KZ" "KE" "KI" "KP" "KR" "KW" "KG" "LA" "LV" "LB" "LS" "LR" "LY" "LI" "LT" "LU" "MO" "MG" "MW" "MY" "MV" "ML" "MT" "MH" "MQ" "MR" "MU" "YT" "MX" "FM" "MD" "MC" "MN" "MS" "MA" "MZ" "MM" "NA" "NR" "NP" "NL" "NC" "NZ" "NI" "NE" "NG" "NU" "NF" "MP" "MK" "NO" "OM" "PK" "PW" "PS" "PA" "PG" "PY" "PE" "PH" "PN" "PL" "PT" "PR" "QA" "RE" "RO" "RU" "RW" "SH" "KN" "LC" "PM" "VC" "WS" "SM" "ST" "SA" "SN" "SC" "SL" "SG" "SK" "SI" "SB" "SO" "ZA" "GS" "ES" "LK" "SD" "SR" "SJ" "SZ" "SE" "CH" "SY" "TW" "TJ" "TZ" "TH" "TL" "TG" "TK" "TO" "TT" "TN" "TR" "TM" "TC" "TV" "UG" "UA" "AE" "GB" "US" "UM" "UY" "UZ" "VU" "VE" "VN" "VG" "VI" "WF" "EH" "YE" "ZM" "ZW" "AX" "BQ" "CW" "GG" "IM" "JE" "ME" "BL" "MF" "RS" "SX" "SS" "XK"

The nationality of the consumer. It takes country codes in ISO 3166-1 alpha-2 standard

consumerCurrency
string or null <= 3 characters

The preferred currency of the consumer. For example USD, EUR

consumerLanguage
string or null = 2 characters

ISO 639-1 language code

consumerTripPartnerExternalReference
required
string non-empty

The partner's unique reference of the consumer's trip and or booking

(string or null) or (string or null)

The arrival date of the consumer's trip. The datetime that the consumer arrives at the destination. Timezone is required when passing a datetime string. Correct datetime string should follow ISO 8601 standard with timezone.

For example

  • 2024-06-14
  • 2024-06-14T07:27:17.335Z
  • 2020-01-01T00:00:00.123+0200

If the request only have consumerTripArrivalDate that means it is a one-way trip

(string or null) or (string or null)

The return date of the consumer's trip. The datetime that the consumer returns from the destination. Timezone is required when passing a datetime string. Correct datetime string should follow ISO 8601 standard with timezone.

For example

  • 2024-06-14
  • 2024-06-14T07:27:17.335Z
  • 2020-01-01T00:00:00.123+0200

If the request have both consumerTripArrivalDate and consumerTripReturnDate that means it is a round trip

consumerTripDepartureCityName
string or null non-empty

The departure city name for the outbound journey

consumerTripDepartureCountryName
string or null non-empty

The departure country name for the outbound journey

consumerTripDepartureAirportCode
string or null non-empty

The departure airport code for the outbound journey

consumerTripArrivalFlightNumber
string or null non-empty

The flight number for the arrival journey. For example: QF9

consumerTripDepartureFlightNumber
string or null non-empty

The flight number for the outbound journey. For example: BA 222

consumerTripDepartureFlightClass
string or null
Enum: "ECONOMY" "PREMIUM_ECONOMY" "BUSINESS" "FIRST_CLASS"

The flight class for the outbound journey

(string or null) or (string or null)

The datetime that the consumer made a booking on the partner's system

consumerTripBookingLink
string or null <uri>

The partner's link for the consumer to view their booking. This is often a link to a manage my booking page

consumerTripAccommodationName
string or null non-empty

The name of the accommodation where the consumer is staying during their trip. This is often a hotel name

consumerTripAccommodationAddress
string or null non-empty

The address of the accommodation where the consumer is staying during their trip

consumerTripVenueName
string or null non-empty

The name of some venue that the consumer will attend during their trip

consumerTripVenueAddress
string or null non-empty

The address of some venue that the consumer will attend during their trip

consumerTripDestinationName
string or null non-empty

The name of the destination where the consumer's trip is. This is often a city name. This field is case insensitive.If using consumerTripDestinationName, both consumerTripDestinationName and consumerTripDestinationCountryName must be used.

consumerTripDestinationCountryName
string or null non-empty

The name of the destination's country

consumerTripDestinationAirportCode
string or null non-empty

The destination airport code for the return journey

consumerTripArrivalAirportName
string or null non-empty

The arrival airport name for the return journey

consumerTripDepartureAirportName
string or null non-empty

The departure airport name for the return journey

consumerTripExternalProductName
string or null non-empty

The partner's name for the product that was booked on their system. This is often the name of a hotel room, flight or event

consumerTripPersonCount
integer or null >= 1

The number of people in total on the consumer's trip

consumerTripChildCount
integer or null >= 0

The number of children on the consumer's trip

consumerTripInfantCount
integer or null >= 0

The number of infants on the consumer's trip

consumerTripIsInternational
string or null
Enum: "true" "false"

Indicates whether the destination of the consumer's trip is international

consumerTripIsRegional
string or null
Enum: "true" "false"

Indicates whether the destination of the consumer's trip is within a day's travel from their home and unlikely to be a holiday destination

consumerTripIsLocal
string or null
Enum: "true" "false"

Indicates whether the destination of the consumer's trip is local to them

agentPartnerExternalReference
string non-empty

Your unique agent reference.

This field is required once any other agent data is provided

agentEmail
string or null <email>

Agent email.

Once this field is provided then agentPartnerExternalReference field is required.

agentTimezone
string or null

Timezone identifier from https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.

Example: `America/New_York`, `Europe/London`

Once this field is provided then agentPartnerExternalReference field is required.

agentPhoneNumber
string or null >= 10 characters

All phone numbers must be added in the E.164 format to be considered valid. We are using https://www.npmjs.com/package/google-libphonenumber library for validation.* numbers should start with a '+'

  • followed by country code
  • the phone number

For example:

  • USA: +14155552671
  • Brazil: +551155256325
  • UK: +442071838750

Once this field is provided then agentPartnerExternalReference field is required.

agentGivenName
string or null non-empty

Agent given name. Example: John.

Once this field is provided then agentPartnerExternalReference field is required.

agentFamilyName
string or null non-empty

Agent family name. Example: Smith.

Once this field is provided then agentPartnerExternalReference field is required.

Responses

Request samples

Content type
Example
consumerTripDepartureCityName=Dubai&consumerTripDepartureCountryName=United%20Arab%20Emirates&consumerTripDepartureAirportCode=DXB&consumerTripDepartureFlightClass=ECONOMY&consumerTripArrivalDate=2024-05-18T06%3A55%3A00.000Z&consumerTripDestinationAirportCode=LHR&consumerTripArrivalAirportName=London%20Heathrow%20Airport&consumerTripDestinationName=London&consumerTripDestinationCountryName=United%20Kingdom&consumerTripPartnerExternalReference=y8c6OBIEZmKXeD6Vbg78&consumerTripBookingLink=https%3A%2F%2Fthrifty-starboard.biz%2Fbooking%2Fdb196e31-611b-41e0-b1ee-aeb4d6ad1d3a&consumerTripPersonCount=2&consumerPartnerExternalReference=y34lS53cLJeyYJHc17JZ&consumerGivenName=Christophe&consumerPhone=%2B44%207707%20373348&consumerEmail=christophe4%40gmail.com&consumerNationality=GB&consumerCurrency=GBP

Response samples

Content type
application/json
{
  • "success": true
}

Notify about booking deletion

Notify about booking deletion

path Parameters
secret
required
string >= 5 characters

Security secret received from Holibob

Request Body schema:
required
consumerTripPartnerExternalReference
required
string non-empty

The partner's unique reference of the consumer's trip and or booking

Responses

Request samples

Content type
consumerTripPartnerExternalReference=y8c6OBIEZmKXeD6Vbg78

Response samples

Content type
application/json
{
  • "success": true
}