Holidu Booking Terms API
The Booking Terms API from Holidu — 5 operation(s) for booking terms.
The Booking Terms API from Holidu — 5 operation(s) for booking terms.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/holidu-booking-terms-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Connectivity Booking Terms API
description: 'Please read the API Guide that will help you for your integration to Holidu.
You''ll find there the steps you''ll go through, tips and frequently asked questions.
If you need any support, please contact us at partnersupport@holidu.com.'
termsOfService: https://www.holidu.com/gtc
contact:
name: Holidu
url: https://www.holidu.com
email: partnersupport@holidu.com
license:
name: Apache License Version 2.0
url: https://www.apache.org/licenses/LICENSE-2.0
version: '2.0'
servers:
- url: https://provider-api-sandbox.holidu.com
description: Sandbox Environment
- url: https://provider-api.holidu.com
description: Holidu Production API
security:
- api-key:
- read
- write
tags:
- name: Booking Terms
paths:
/v2/apartments/terms-and-conditions:
get:
tags:
- Booking Terms
summary: Get terms and conditions for apartment
operationId: getTermsAndConditions
parameters:
- name: providerApartmentId
in: query
required: false
schema:
type: string
- name: provider
in: query
required: false
schema:
type: string
- name: holiduApartmentId
in: query
required: false
schema:
type: integer
format: int64
responses:
'200':
description: Successfully retrieved terms and conditions for apartment
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApartmentTermsAndConditions'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
'401':
description: Authentication error
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
'404':
description: Apartment does not exist
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
post:
tags:
- Booking Terms
summary: Update terms and conditions for apartment
operationId: updateTermsAndConditions
parameters:
- name: providerApartmentId
in: query
required: false
schema:
type: string
- name: provider
in: query
required: false
schema:
type: string
- name: holiduApartmentId
in: query
required: false
schema:
type: integer
format: int64
requestBody:
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApartmentTermsAndConditions'
required: true
responses:
'200':
description: Successfully updated terms and conditions for apartment
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApartmentTermsAndConditions'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
'401':
description: Authentication error
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
'404':
description: Apartment does not exist
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
/v2/apartments/payment-configuration:
get:
tags:
- Booking Terms
summary: Get payment configuration for apartment
operationId: getPaymentConfiguration
parameters:
- name: providerApartmentId
in: query
required: false
schema:
type: string
- name: provider
in: query
required: false
schema:
type: string
- name: holiduApartmentId
in: query
required: false
schema:
type: integer
format: int64
- name: rateId
in: query
required: false
schema:
type: string
responses:
'200':
description: Successfully retrieved payment configuration for apartment
content:
application/json:
schema:
$ref: '#/components/schemas/ApartmentPaymentConfiguration'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
'401':
description: Authentication error
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
'404':
description: Apartment does not exist
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
post:
tags:
- Booking Terms
summary: Update payment configuration for apartment
description: Replaces existing payment configurations with new ones for apartment
operationId: updatePaymentConfiguration
parameters:
- name: providerApartmentId
in: query
required: false
schema:
type: string
- name: provider
in: query
required: false
schema:
type: string
- name: holiduApartmentId
in: query
required: false
schema:
type: integer
format: int64
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ApartmentPaymentConfiguration'
required: true
responses:
'200':
description: Successfully updated payment configuration
content:
application/json:
schema:
$ref: '#/components/schemas/ApartmentPaymentConfiguration'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
'401':
description: Authentication error
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
'404':
description: Apartment does not exist
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
delete:
tags:
- Booking Terms
summary: Delete payment configuration for apartment
description: Deletes existing payment configuration for apartment
operationId: deletePaymentConfiguration
parameters:
- name: providerApartmentId
in: query
required: true
schema:
type: string
- name: provider
in: query
required: false
schema:
type: string
- name: holiduApartmentId
in: query
required: false
schema:
type: integer
format: int64
- name: rateId
in: query
required: false
schema:
type: string
responses:
'200':
description: Successfully deleted payment configuration
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
'401':
description: Authentication error
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
'404':
description: Apartment does not exist
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
/v2/apartments/cancellation-policy:
get:
tags:
- Booking Terms
summary: Get cancellation conditions for apartment
operationId: getCancellationPolicy
parameters:
- name: providerApartmentId
in: query
required: false
schema:
type: string
- name: provider
in: query
required: false
schema:
type: string
- name: holiduApartmentId
in: query
required: false
schema:
type: integer
format: int64
- name: rateId
in: query
required: false
schema:
type: string
responses:
'200':
description: Successful retrieval of cancellation conditions
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApartmentCancellationPolicy'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
'401':
description: Authentication error
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
'404':
description: Apartment does not exist
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
post:
tags:
- Booking Terms
summary: Update cancellation conditions for apartment
description: Replaces any pre-configured cancellation policies with new ones for Apartment
operationId: updateCancellationConditions
parameters:
- name: providerApartmentId
in: query
required: false
schema:
type: string
- name: provider
in: query
required: false
schema:
type: string
- name: holiduApartmentId
in: query
required: false
schema:
type: integer
format: int64
requestBody:
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApartmentCancellationPolicy'
required: true
responses:
'200':
description: Cancellation policies updated
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApartmentCancellationPolicy'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
'401':
description: Authentication error
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
'404':
description: Apartment does not exist
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
delete:
tags:
- Booking Terms
summary: Delete cancellation policy for apartment
description: Deletes existing cancellation policy for apartment
operationId: deleteCancellationPolicy
parameters:
- name: providerApartmentId
in: query
required: true
schema:
type: string
- name: provider
in: query
required: false
schema:
type: string
- name: holiduApartmentId
in: query
required: false
schema:
type: integer
format: int64
- name: rateId
in: query
required: false
schema:
type: string
responses:
'200':
description: Successfully deleted cancellation policy
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
'401':
description: Authentication error
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
'404':
description: Apartment does not exist
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
/v2/apartments/payment-configuration/rate-ids:
get:
tags:
- Booking Terms
summary: Get payment configuration rateIds for apartment
operationId: getPaymentConfigurationRateIds
parameters:
- name: providerApartmentId
in: query
required: false
schema:
type: string
- name: provider
in: query
required: false
schema:
type: string
- name: holiduApartmentId
in: query
required: false
schema:
type: integer
format: int64
responses:
'200':
description: Successfully retrieved payment configuration rate Ids for apartment
content:
application/json:
schema:
$ref: '#/components/schemas/ApartmentPaymentConfiguration'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
'401':
description: Authentication error
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
'404':
description: Apartment does not exist
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
/v2/apartments/cancellation-policy/rate-ids:
get:
tags:
- Booking Terms
summary: Get cancellation policy rate Ids for apartment
operationId: getCancellationPolicyRateIds
parameters:
- name: providerApartmentId
in: query
required: false
schema:
type: string
- name: provider
in: query
required: false
schema:
type: string
- name: holiduApartmentId
in: query
required: false
schema:
type: integer
format: int64
responses:
'200':
description: Successful retrieval of cancellation policy rate Ids
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApartmentCancellationPolicy'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
'401':
description: Authentication error
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
'404':
description: Apartment does not exist
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
components:
schemas:
ApartmentTermsAndConditions:
required:
- url
type: object
properties:
countries:
type: array
description: List of country codes represented in standard ISO 3166-1 ALPHA-2 format. If empty then applies to none.
items:
maxLength: 2
minLength: 2
type: string
description: List of country codes represented in standard ISO 3166-1 ALPHA-2 format. If empty then applies to none.
url:
type: string
description: Url to terms and conditions
example: https://www.abc.org/xyz
description: Terms and conditions which apply on booking for the given countries
HoliduErrorResponse:
type: object
properties:
error:
type: string
description: Error Text
example: 'Invalid Json: Unexpected character'
ApartmentCancellationPolicy:
required:
- cancellationFeeInPercent
- daysBeforeArrival
type: object
properties:
daysBeforeArrival:
minimum: 0
type: integer
description: Number of days before arrival for which this cancellation policy is valid
format: int32
example: 10
cancellationFeeInPercent:
maximum: 100
minimum: 0
type: number
description: Booking percentage which is non-refundable
example: 30
rateId:
pattern: DEFAULT|REFUNDABLE|NON_REFUNDABLE
type: string
description: Rate identifier
format: string
example: NON_REFUNDABLE
ApartmentPaymentConfiguration:
required:
- paymentMethods
- paymentRates
type: object
properties:
paymentMethods:
type: array
items:
type: string
description: List of payment methods valid for booking
enum:
- BANK_TRANSFER
- CREDIT_CARD
- PAYPAL
- CHEQUE_VACANCES
- IDEAL
- INVOICE
paymentRates:
$ref: '#/components/schemas/PaymentRates'
rateId:
pattern: DEFAULT|REFUNDABLE|NON_REFUNDABLE
type: string
description: Rate identifier
format: string
example: NON_REFUNDABLE
description: Payment configuration (payment methods and rates) applicable on booking
PaymentRatePerDate:
required:
- daysBeforeArrival
- rateAmountInPercentage
type: object
properties:
daysBeforeArrival:
type: integer
description: 'Limit of days before arrival until when the rate should be paid, for example: Until 10 days before arrival 50% should be paid'
format: int32
example: 10
rateAmountInPercentage:
maximum: 100
minimum: 0
type: number
description: Value in percentage of booking that should be paid (not accumulative)
example: 70
PaymentRates:
type: object
properties:
ratePaidOnBookingInPercentage:
maximum: 100
minimum: 0
type: number
description: Rate paid on booking in percentage
example: 30
ratesPerDate:
type: array
items:
$ref: '#/components/schemas/PaymentRatePerDate'
description: Payment schedule for the booking
securitySchemes:
api-key:
type: apiKey
name: api-key
in: header