Holidu Details API
The Details API from Holidu — 1 operation(s) for details.
The Details API from Holidu — 1 operation(s) for details.
openapi: 3.0.3
info:
title: Affiliate Apartment Details API
version: 1.1.0
servers:
- url: https://external-api.holidu.com
tags:
- name: Details
paths:
/details:
post:
operationId: details
summary: Get detailed information about the provided offers
description: Retrieve detailed static information for specified offers. The "extras" parameter allows for the inclusion of additional data points to the response. The response includes an RFC 6570-compatible "urlTemplate" for generating checkout page links with check-in and check-out dates. If some requested offers cannot be retrieved, these will be reported in the "errors" array, with the corresponding property identifier, error code, and descriptive message.
security:
- ApiKeyAuth: []
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
propertyIds:
type: array
items:
type: string
minLength: 1
maxLength: 80
minItems: 1
maxItems: 50
description: List of property IDs
locale:
type: string
pattern: ^[a-z]{2}-[A-Z]{2}$
description: Locale code in format ISO 639-1 + ISO 3166-1 alpha-2, e.g. "en-US"
currency:
type: string
pattern: ^[A-Z]{3}$
description: Currency code in ISO 4217 format, e.g. "USD"
extras:
type: array
items:
type: string
enum:
- description
- photos
- facilities
- rooms
- reviews
- guestCardsAndCertificates
description: 'Extra fields to include in the response. Supported values: description, photos, facilities, rooms, reviews, guestCardsAndCertificates.'
domainId:
type: number
description: Only for special cases, consult Holidu
salesChannelId:
type: string
description: Sales channel identifier, required for filtering by sales channel
required:
- propertyIds
- locale
- currency
additionalProperties: false
parameters: []
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
items:
type: array
items:
type: object
properties:
id:
type: string
minLength: 1
description:
type: string
nullable: true
description: Short text description of the offer
photos:
type: array
items:
type: object
properties:
thumbnail:
type: string
format: uri
medium:
type: string
format: uri
large:
type: string
format: uri
required:
- thumbnail
- medium
- large
additionalProperties: false
nullable: true
urlTemplate:
type: string
description: RFC 6570 URI template to generate checkout page link with check-in, check-out and guest information. Date placeholders must be in ISO 8601 format.
area:
type: object
properties:
value:
type: number
minimum: 0
unit:
type: string
enum:
- UNIT_SM
- UNIT_SF
description: Unit of the area. Either UNIT_SM (square meters) of UNIT_SF (square feet)
required:
- value
- unit
additionalProperties: false
nullable: true
bedrooms:
type: integer
nullable: true
bathrooms:
type: integer
nullable: true
guests:
type: integer
minimum: 1
title:
type: string
minLength: 2
maxLength: 250
propertyType:
type: object
properties:
id:
type: string
title:
type: string
maxLength: 250
nullable: true
required:
- id
- title
additionalProperties: false
facilities:
type: array
items:
type: object
properties:
id:
type: string
title:
type: string
minLength: 2
maxLength: 80
group:
type: string
required:
- id
- title
- group
additionalProperties: false
nullable: true
guestCardsAndCertificates:
type: object
properties:
items:
type: array
items:
type: object
properties:
title:
type: string
name:
type: string
required:
- title
- name
additionalProperties: false
required:
- items
additionalProperties: false
nullable: true
petsAllowed:
type: boolean
nullable: true
location:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 350
postalCode:
type: string
nullable: true
description: Postal code, can be null if not shared by the provider
city:
type: string
nullable: true
description: City name, can be null if not shared by the provider
coordinates:
type: object
properties:
lat:
type: number
minimum: -90
maximum: 90
lng:
type: number
minimum: -180
maximum: 180
required:
- lat
- lng
additionalProperties: false
required:
- name
- postalCode
- city
- coordinates
additionalProperties: false
nullable: true
cancellationPolicy:
type: object
properties:
type:
type: string
enum:
- FREE_CANCELLATION
- LIGHT_CANCELLATION
required:
- type
additionalProperties: false
nullable: true
rating:
type: object
properties:
value:
type: number
minimum: 0
maximum: 10
count:
type: integer
minimum: 0
required:
- value
- count
additionalProperties: false
nullable: true
rooms:
type: array
items:
type: object
properties:
type:
type: string
enum:
- BEDROOM
- LIVING_ROOM
- BATHROOM
- KITCHEN
required:
- type
additionalProperties: false
nullable: true
rules:
enum:
- 'null'
nullable: true
description: 'TODO: implement rules schema'
pois:
enum:
- 'null'
nullable: true
description: 'TODO: implement pois schema'
reviews:
type: object
properties:
averageRatings:
type: array
items:
type: object
properties:
category:
type: string
rating:
type: number
required:
- category
- rating
additionalProperties: false
reviewDetails:
type: array
items:
type: object
properties:
publishedAt:
type: string
comment:
type: string
language:
type: string
required:
- publishedAt
- comment
- language
additionalProperties: false
required:
- averageRatings
- reviewDetails
additionalProperties: false
nullable: true
price:
type: object
properties:
currency:
type: string
description: Currency code in ISO 4217 format, e.g. "USD"
daily:
type: number
required:
- currency
- daily
additionalProperties: false
description: Minimal daily price for a property, doesn't depend on travel dates
instantBookable:
type: boolean
required:
- id
- description
- urlTemplate
- area
- bedrooms
- bathrooms
- guests
- title
- propertyType
- petsAllowed
- location
- cancellationPolicy
- rating
- rooms
- rules
- pois
- reviews
- price
- instantBookable
additionalProperties: false
errors:
type: array
items:
type: object
properties:
propertyId:
type: string
code:
type: number
message:
type: string
required:
- propertyId
- code
- message
additionalProperties: false
required:
- items
additionalProperties: false
default:
$ref: '#/components/responses/error'
tags:
- Details
components:
responses:
error:
description: Error response
content:
application/json:
schema:
type: object
properties:
message:
type: string
code:
type: string
issues:
type: array
items:
type: object
properties:
message:
type: string
required:
- message
additionalProperties: false
required:
- message
- code
additionalProperties: false
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: x-api-key
BearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
description: Holidu authenticates to the affiliate using an OAuth 2.0 Bearer Token ([RFC 6750](https://www.rfc-editor.org/rfc/rfc6750)). Token exchange details are agreed upon during onboarding.