Perlatours Logo
API Documentation

Development EnvironmentVersion in Testing

Perlatours Booking API

Comprehensive documentation for the Perlatours Booking API, detailing endpoints, data models, and authentication requirements.

Available Endpoints

Base path:dev.api.perlatours.com

Inventory Endpoints

14 endpoints

Access to hotel inventory data and system catalogs

Authentication

Authentication is required to access all endpoints in this API. Clients must include a valid authentication token (JWT Bearer) in the Authorization header of their requests.

Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

Postman Collection

Download the complete Postman collection with all endpoints configured and ready to use.

Postman Collection
Download the official Postman collection with all Perlatours Booking Hub API endpoints

Quick instructions:

Download → Import to Postman → Configure your token → Test endpoints!

Changelog

Recent updates and improvements to the Perlatours API.

v2.2.0
New Descriptive Fields
December 2025

Added new descriptive fields across all booking operations to provide human-readable names alongside IDs.

Search Response

  • accommodations.name - Accommodation name
  • options.mealPlanName - Meal plan name
  • rooms.name - Room name
  • rooms.roomTypeId - Room type identifier

Prebook, Book & GetBooking Responses

  • hotelId, hotelName - Hotel identifier and name
  • mealPlanId, mealPlanName - Meal plan identifier and name
  • rooms.name, rooms.roomTypeId - Room details
v2.1.0
Inventory API & TGX Integration
June 2025
  • Added Inventory API endpoints (Hotels, Meal Plans, Room Types, Room Amenities, Hotel Types, Hotel Categories)
  • TravelgateX (TGX) integration support
  • Enhanced documentation with data models
v2.0.0
Booking API Launch
January 2025
  • Initial release of Booking API
  • Search, Prebook, Book, GetBooking, and Cancel endpoints
  • JWT Bearer authentication

Detailed Endpoints

Base path for all endpoints:dev.api.perlatours.com
Booking API
POST
Requires Auth
Prebook Accommodation
Performs a prebooking check for a selected accommodation option obtained from the search results.
/Booking/Prebook
PrebookRq
{
  "searchToken": "ABCDEF123456"
}
POST
Requires Auth
Book Accommodation
Creates a final booking using the prebooking token.
/Booking/Book
BookRq
{
  "prebookToken": "ZYXWVU987654",
  "clientReference": "CLIENT-REF-001",
  "holderName": "John",
  "holderSurname": "Doe",
  "paxes": [
    {
      "name": "John",
      "surname": "Doe",
      "age": 30
    },
    {
      "name": "Jane",
      "surname": "Doe",
      "age": 28
    }
  ],
  "remarks": "Special requests: Late check-in"
}
POST
Requires Auth
Get Booking
Retrieve booking details using the booking locator
/Booking/GetBooking
GetBookingRq
{
  "locator": "LOCATOR-123"
}
POST
Requires Auth
Cancel Booking
Cancels an existing booking.
/Booking/Cancel
CancelRq
{
  "locator": "LOCATOR-123"
}
Inventory Endpoints

Inventory API response patterns

All Inventory API responses extend CommonRs (success, errorCode, errorMessages). There are two different response patterns depending on the endpoint:

GetHotels (paginated)

data contains a PaginatedResponse with nested data:

{ "data": { "data": [...], "pageNumber": 1, "totalRecords": 50 }, "success": true }
Catalogs (direct array)

data directly contains the results array:

{ "data": [ { "id": "BB", "name": "..." } ], "language": "ES", "success": true }
POST
Requires Auth
Get Hotels
Retrieve a paginated list of hotels based on filter criteria
/Inventory/GetHotels
HotelFilter
{
  "pageNumber": 1,
  "pageSize": 10,
  "usePagination": true,
  "ids": [12345, 67890],
  "name": "Hotel Example",
  "location": "Madrid"
}
POST
Requires Auth
Get Meal Plans
Retrieve a list of meal plans based on filter criteria
/Inventory/GetMealPlans
MealPlanFilter
{
  "ids": ["BB", "HB", "FB"],
  "name": "Bed and Breakfast"
}
POST
Requires Auth
Get Room Types
Retrieve a list of room types based on filter criteria
/Inventory/GetRoomTypes
RoomTypeFilter
{
  "ids": ["SGL", "DBL", "TRP"],
  "name": "Single Room"
}
POST
Requires Auth
Get Room Amenities
Retrieve a list of room amenities based on filter criteria
/Inventory/GetRoomAmenities
RoomAmenityFilter
{
  "ids": ["WIFI", "AC", "TV"],
  "name": "WiFi"
}
POST
Requires Auth
Get Hotel Types
Retrieve a list of hotel types based on filter criteria
/Inventory/GetHotelTypes
HotelTypeFilter
{
  "ids": [1, 2],
  "name": "Resort"
}
POST
Requires Auth
Get Hotel Categories
Retrieve a list of hotel categories based on filter criteria
/Inventory/GetHotelCategories
HotelCategoryFilter
{
  "ids": [1, 2],
  "name": "5 estrellas"
}
POST
Requires Auth
Get Hotel Chains
Retrieve a list of hotel chains based on filter criteria
/Inventory/GetHotelChains
HotelChainFilter
{
  "ids": [1, 2],
  "name": "Perla"
}
GET
Requires Auth
Get Markets
Retrieve the list of markets available for your credential
/Inventory/Markets
GetCountriesRs
{
  "data": ["ES", "FR", "GB"],
  "language": "ES",
  "success": true
}
GET
Requires Auth
Get Nationalities
Retrieve the list of nationalities available for your credential
/Inventory/Nationalities
GetCountriesRs
{
  "data": ["ES", "FR", "DE"],
  "language": "ES",
  "success": true
}
GET
Requires Auth
Get Currencies
Retrieve the list of currencies available for your credential
/Inventory/Currencies
GetCurrenciesRs
{
  "data": ["EUR", "GBP", "USD"],
  "language": "ES",
  "success": true
}
GET
Requires Auth
Get Languages
Retrieve the list of languages available for your credential
/Inventory/Languages
GetLanguagesRs
{
  "data": ["EN", "ES", "FR"],
  "language": "ES",
  "success": true
}
GET
Requires Auth
Get All Countries
Retrieve the complete catalog of all countries in the system
/Inventory/AllCountries
GetCountriesRs
{
  "data": ["AF", "AL", "DZ", "AR", "AU", "..."],
  "language": "ES",
  "success": true
}
GET
Requires Auth
Get All Currencies
Retrieve the complete catalog of all currencies in the system
/Inventory/AllCurrencies
GetCurrenciesRs
{
  "data": ["AED", "AFN", "ALL", "AMD", "EUR", "..."],
  "language": "ES",
  "success": true
}
GET
Requires Auth
Get All Languages
Retrieve the complete catalog of all languages in the system
/Inventory/AllLanguages
GetLanguagesRs
{
  "data": ["AF", "AR", "BG", "BN", "EN", "ES", "..."],
  "language": "ES",
  "success": true
}

Data Models

These models are used across multiple endpoints or nested within other models.

SearchRq
Request model for searching accommodations
FieldTypeRequiredDescription
metadata
SearchMetadata
No
Metadata for the search.
hotelIds
List<long> | List<string>
Yes
List of hotel IDs to search. Accepts both numeric (163608) and string ("163608") formats.
mealPlanId
string
No
Optional meal plan ID to filter results.
checkIn
DateOnly
Yes
Check-in date (YYYY-MM-DD). Must be a future date. Returns error if date is in the past.
checkOut
DateOnly
Yes
Check-out date (YYYY-MM-DD). Must be after checkIn. Returns error if before or equal to checkIn.
occupancies
List<Occupancy>
Yes
List of occupancy details for each room requested.
refundableOnly
bool
No
Specifies if only refundable options should be returned. Default false.

Search validations

The API validates input data and returns success: false with a descriptive message if:

  • checkIn is a past date"checkIn must be a future date"
  • checkOut is before or equal to checkIn"checkOut must be after checkIn"
  • Required fields are missing"Required fields: hotelIds, checkIn, ..."
  • A metadata value (market, currency, language, nationality) is not allowed for your credential"Market 'FR' is not allowed for this credential. Allowed markets: ES"
SearchMetadata
Metadata for search requests
FieldTypeRequiredDescription
market
enum (string)
No
Market country code (ISO 3166-1 alpha-2). Must be a string name, not a numeric code. See accepted values in the SearchMetadata section.
currency
enum (string)
No
Currency code (ISO 4217 alpha-3). Must be a string name, not a numeric code. See accepted values in the SearchMetadata section.
language
enum (string)
No
Language code (ISO 639-1). Must be a string name, not a numeric code. See accepted values in the SearchMetadata section.
nationality
enum (string)
No
Guest nationality country code (ISO 3166-1 alpha-2). Must be a string name, not a numeric code. See accepted values in the SearchMetadata section.

Important: Enum values in metadata

Metadata fields are enums serialized as strings. Only text names are accepted (e.g. "EUR", "ES", "EN"). Numeric codes (e.g. 978, 46) are not valid. If you send a value not allowed for your credential, the API will return success: false with a message indicating the allowed values (e.g. "Market 'FR' is not allowed for this credential. Allowed markets: ES").

To get the accepted values for your credential, query the Inventory API static endpoints:

marketGET /Inventory/Markets
currencyGET /Inventory/Currencies
languageGET /Inventory/Languages
nationalityGET /Inventory/Nationalities

These endpoints return the values configured for your credential. To see all possible system values, use the AllCountries, AllCurrencies, and AllLanguages endpoints.

SearchRs
Response model for search accommodations
FieldTypeRequiredDescription
accommodations
List<SearchAccommodationData>
No
List of accommodations matching the search. Required if success.
success
bool
Yes
Indicates if the operation was successful.
errorMessages
List<string>
No
List of error messages, if any.
warningMessages
List<string>
No
List of warning messages, if any.
SearchAccommodationData
Accommodation data in search results
FieldTypeRequiredDescription
id
string
Yes
The unique identifier for the accommodation.
name
string
No
The name of the accommodation.
options
List<SearchAccommodationOption>
Yes
List of available options for this accommodation.
SearchAccommodationOption
Available accommodation option from search
FieldTypeRequiredDescription
mealPlanId
string
No
The identifier for the meal plan.
mealPlanName
string
No
The name of the meal plan.
rooms
List<OptionRoom>
Yes
List of rooms included in this option.
price
OptionPrice
Yes
The price details for this option.
cancellationPolicy
CancellationPolicy
Yes
The cancellation policy for this option.
surcharges
List<OptionSurcharge>
No
List of additional charges for this option.
searchToken
string
Yes
Token for prebook operation.
PrebookRq
Request model for prebooking
FieldTypeRequiredDescription
searchToken
string
Yes
The search token obtained from a search result option.
PrebookRs
Response model for prebook operation
FieldTypeRequiredDescription
option
PrebookAccommodationOption
No
Details of the prebooked option. Required if success.
success
bool
Yes
Indicates if the operation was successful.
errorMessages
List<string>
No
List of error messages, if any.
warningMessages
List<string>
No
List of warning messages, if any.
PrebookAccommodationOption
Prebooked accommodation option details
FieldTypeRequiredDescription
hotelId
string
No
The hotel identifier.
hotelName
string
No
The name of the hotel.
mealPlanId
string
No
The meal plan identifier.
mealPlanName
string
No
The name of the meal plan.
rooms
List<OptionRoom>
No
List of rooms included in this option.
price
OptionPrice
Yes
Price details for the prebooked option.
cancellationPolicy
CancellationPolicy
No
Cancellation policy details.
surcharges
List<OptionSurcharge>
No
List of additional charges.
remarks
string
No
Additional remarks.
prebookToken
string
Yes
Token for booking operation.
BookRq
Request model for booking
FieldTypeRequiredDescription
prebookToken
string
Yes
Token obtained from successful prebook operation.
clientReference
string
Yes
Client's booking reference.
holderName
string
Yes
Main guest's first name.
holderSurname
string
Yes
Main guest's last name.
paxes
List<BookRqPax>
Yes
List of guest details. If empty list, holder will be first pax and UNDEFINED for the others.
remarks
string
No
Additional booking remarks.
BookRs
Response model for booking operation
FieldTypeRequiredDescription
booking
BookAccommodationOption
No
The confirmed booking with summary data. Required if success.
success
bool
Yes
Indicates if the operation was successful.
errorMessages
List<string>
No
List of error messages, if any.
warningMessages
List<string>
No
List of warning messages, if any.
BookAccommodationOption
Booked accommodation option details
FieldTypeRequiredDescription
bookingId
Guid
Yes
Unique identifier for the booking.
locator
string
Yes
Booking locator for future operations (GetBooking, Cancel).
hotelId
string
No
The hotel identifier.
hotelName
string
No
The name of the hotel.
mealPlanId
string
No
The meal plan identifier.
mealPlanName
string
No
The name of the meal plan.
price
OptionPrice
Yes
Price details for the booking.
status
BookingFlowStatus
Yes
Current status of the booking.
rooms
List<BookAccommodationRoom>
Yes
List of booked rooms.
remarks
string
No
Additional booking remarks.
BookAccommodationRoom
Booked room details
FieldTypeRequiredDescription
name
string
No
The name of the room.
roomTypeId
string
No
The room type identifier.
roomType
string
Yes
Room type identifier.
roomAmenityIds
List<string>
No
List of room amenity identifiers.
paxes
List<BookAccommodationRoomPax>
Yes
List of guests in the room.
BookAccommodationRoomPax
Guest details in booked room
FieldTypeRequiredDescription
age
int
Yes
Guest's age.
name
string
Yes
Guest's first name.
surname
string
Yes
Guest's last name.
CancelRq
Request model for cancellation
FieldTypeRequiredDescription
locator
string
Yes
The booking locator to cancel.
CancelRs
Response model for cancellation operation
FieldTypeRequiredDescription
status
BookingFlowStatus
Yes
Indicates booking status.
price
CancelOptionPrice?
No
Cancellation cost. Null if no penalty applies.
success
bool
Yes
Indicates if the operation was successful.
errorMessages
List<string>
No
List of error messages, if any.
warningMessages
List<string>
No
List of warning messages, if any.
CancelOptionPrice
Cancellation penalty price.
FieldTypeRequiredDescription
netAmount
decimal
Yes
Cancellation penalty amount.
currency
string
No
Currency code (ISO 4217).

Note: Cancellation in sandbox environment

In the sandbox environment, all test bookings are refundable. The price field may be null or contain netAmount of 0.00, as no real penalties are generated. This is expected behavior. In production, if the cancellation is made outside the free cancellation period, price will contain the actual penalty cost.

Occupancy
Defines room occupancy
FieldTypeRequiredDescription
paxAges
List<int>
Yes
List of ages for each guest.
OptionPrice
Price information for options
FieldTypeRequiredDescription
netAmount
decimal
Yes
The net price amount.
pvpAmount
decimal
Yes
The public selling price (PVP). In sandbox/test environments this value may be 0, as test providers do not return real PVP prices. In production it reflects the actual provider selling price.
currency
string
Yes
Currency code (ISO 4217).

Note: PVP in sandbox environment

In the sandbox/test environment, the pvpAmount field may return 0.00 because test providers do not send real PVP prices. This is expected behavior and does not indicate an error. In production, pvpAmount will reflect the actual public selling price from the provider. If you are building a B2C interface, use netAmount as a reference during sandbox testing.

CancellationPolicy
Cancellation policy details
FieldTypeRequiredDescription
refundable
bool
Yes
Indicates if the option is refundable under certain conditions.
penalties
List<CancellationPolicyPenalty>
No
List of penalties that apply based on cancellation deadlines. Null if none apply.
CancellationPolicyPenalty
Cancellation penalty details
FieldTypeRequiredDescription
deadline
DateTime
Yes
The date by which cancellation incurs this penalty amount in UTC.
amount
decimal
Yes
The penalty amount.
OptionSurcharge
Additional charges for options
FieldTypeRequiredDescription
type
string
No
The type of surcharge.
code
string
No
A code identifying the surcharge.
description
string
No
A description of the surcharge.
price
OptionPrice
Yes
The price details for the surcharge.
mandatory
bool
Yes
Indicates if the surcharge is mandatory.
PrebookRq
Request model for prebook operation
FieldTypeRequiredDescription
searchToken
string
Yes
The search token obtained from a search result option
PrebookRs
Response model for prebook operation
FieldTypeRequiredDescription
option
PrebookAccommodationOption
No
Details of the prebooked option. Required if success
success
bool
Yes
Indicates if the operation was successful
errorMessages
List<string>
No
List of error messages, if any
warningMessages
List<string>
No
List of warning messages, if any
PrebookAccommodationOption
Prebooked accommodation option details
FieldTypeRequiredDescription
hotelId
string
No
The hotel identifier
hotelName
string
No
The name of the hotel
mealPlanId
string
No
The meal plan identifier
mealPlanName
string
No
The name of the meal plan
rooms
List<OptionRoom>
No
List of rooms included in this option
price
OptionPrice
Yes
Price details for the prebooked option
cancellationPolicy
CancellationPolicy
No
Cancellation policy details
surcharges
List<OptionSurcharge>
No
List of additional charges
remarks
string
No
Additional remarks
prebookToken
string
Yes
Token for booking operation
BookRq
Request model for booking operation
FieldTypeRequiredDescription
prebookToken
string
Yes
Token obtained from successful prebook operation
clientReference
string
Yes
Client's booking reference
holderName
string
Yes
Main guest's first name
holderSurname
string
Yes
Main guest's last name
paxes
List<BookRqPax>
Yes
List of guest details. If empty list, holder will be first pax and UNDEFINED for the others
remarks
string
No
Additional booking remarks
BookRqPax
Guest details for booking request
FieldTypeRequiredDescription
name
string
Yes
Guest's first name
surname
string
Yes
Guest's last name
age
int
Yes
Guest's age
BookRs
Response model for booking operation
FieldTypeRequiredDescription
booking
BookAccommodationOption
No
The confirmed booking with summary data. Required if success
success
bool
Yes
Indicates if the operation was successful
errorMessages
List<string>
No
List of error messages, if any
warningMessages
List<string>
No
List of warning messages, if any
BookAccommodationOption
Booked accommodation option details
FieldTypeRequiredDescription
bookingId
Guid
Yes
Unique identifier for the booking
locator
string
Yes
Booking locator for future operations (GetBooking, Cancel)
hotelId
string
No
The hotel identifier
hotelName
string
No
The name of the hotel
mealPlanId
string
No
The meal plan identifier
mealPlanName
string
No
The name of the meal plan
price
OptionPrice
Yes
Price details for the booking
status
BookingFlowStatus
Yes
Current status of the booking
rooms
List<BookAccommodationRoom>
Yes
List of booked rooms
remarks
string
No
Additional booking remarks
BookAccommodationRoom
Booked room details
FieldTypeRequiredDescription
name
string
No
The name of the room
roomTypeId
string
No
The room type identifier
roomType
string
Yes
Room type identifier
roomAmenityIds
List<string>
No
List of room amenity identifiers
paxes
List<BookAccommodationRoomPax>
Yes
List of guests in the room
BookAccommodationRoomPax
Guest details in booked room
FieldTypeRequiredDescription
age
int
Yes
Guest's age
name
string
Yes
Guest's first name
surname
string
Yes
Guest's last name
GetBookingRq
Request model for get booking operation
FieldTypeRequiredDescription
locator
string
Yes
The booking locator to retrieve details for
GetBookingRs
Response model for get booking operation
FieldTypeRequiredDescription
booking
BookAccommodationOptionExtended
No
Details of the booking. Required if success
success
bool
Yes
Indicates if the operation was successful
errorMessages
List<string>
No
List of error messages, if any
warningMessages
List<string>
No
List of warning messages, if any
BookAccommodationOptionExtended
Extended booking accommodation option details
FieldTypeRequiredDescription
locator
string
Yes
Booking locator for future operations
hotelId
long
Yes
Hotel identifier
hotelName
string
No
The name of the hotel
mealPlanId
string
Yes
Meal plan identifier
mealPlanName
string
No
The name of the meal plan
clientReference
string
Yes
Client's booking reference
checkIn
DateOnly
Yes
Check-in date (YYYY-MM-DD)
checkOut
DateOnly
Yes
Check-out date (YYYY-MM-DD)
holderName
string
Yes
Main guest's name
rooms
List<BookAccommodationRoom>
Yes
List of booked rooms
price
OptionPrice
Yes
Price details for the booking
cancellationPolicy
CancellationPolicy
Yes
Cancellation policy details
surcharges
List<OptionSurcharge>
No
List of additional charges
remarks
string
No
Additional booking remarks
status
BookingFlowStatus
Yes
Current status of the booking
CancelRq
Request model for cancel booking operation
FieldTypeRequiredDescription
locator
string
Yes
The booking locator to cancel
CancelRs
Response model for cancel booking operation
FieldTypeRequiredDescription
status
BookingFlowStatus
Yes
Indicates booking status
success
bool
Yes
Indicates if the operation was successful
errorMessages
List<string>
No
List of error messages, if any
warningMessages
List<string>
No
List of warning messages, if any

Error Codes & Rate Limits

HTTP error codes, error response format, and rate limiting policies.

Rate Limiting

The Search endpoint is rate-limited per credential using a fixed window of 1 second. The limit is configured by the Perlatours team for each client credential — contact us to know or adjust your assigned rate. Requests that exceed the limit receive an HTTP 429 response.

Applies toPOST /Booking/Search
Window1 second (fixed window)
LimitAssigned per credential by Perlatours (contact us for your current limit)
Rejection response
HTTP 429
Response headersX-RateLimit-Limit, X-RateLimit-Remaining, Retry-After

Headers in every response:

HeaderDescription
X-RateLimit-LimitYour request limit per window
X-RateLimit-RemainingRemaining requests in the current window
Retry-AfterSeconds to wait before retrying (only in 429 responses)

429 response example:

{
  "success": false,
  "errorMessages": [
    "The request limit for this credential has been exceeded."
  ]
}
Error Response Format

All error responses follow the CommonRs format:

{
  "success": false,
  "errorCode": "VALIDATION_ERROR",
  "errorMessages": [
    "The provided data is not valid"
  ],
  "warningMessages": null
}
FieldTypeDescription
successboolAlways false for error responses
errorCodestring?System error code (e.g. "VALIDATION_ERROR")
errorMessagesstring[]?List of descriptive error messages
warningMessagesstring[]?List of warnings (may be present even in successful responses)

All error responses use this standard format, including JSON validation errors (missing fields, wrong types). Error messages are descriptive and do not expose internal system details.

Example: { "success": false, "errorMessages": ["Missing required field: locator"] }

Error Code Categories

Validation (1000-1999)

Invalid request data, missing fields, invalid enums.

Authentication (2000-2999)

Invalid credentials, expired tokens, insufficient permissions.

System (3000-3999)

Internal errors, database errors, timeouts.

Business (4000-4999)

Booking not found, no availability, already cancelled.

Connector (5000-5999)

Provider connection errors, invalid provider responses.

Integration (6000-6999)

Internal service communication errors.

Resource (7000-7999)

Resource not found, already exists, locked.

Rate Limiting (8000-8999)

Rate limit exceeded, too many requests.

Common HTTP Status Codes
CodeMeaningWhen it occurs
200
OKRequest processed successfully
400
Bad RequestInvalid request data, missing fields or incorrect values
401
UnauthorizedMissing, invalid or expired JWT token
403
ForbiddenInsufficient permissions for the requested operation
404
Not FoundResource not found (booking, hotel, credential)
409
ConflictBooking already cancelled or already confirmed
429
Too Many RequestsRate limit exceeded (Search only)
500
Internal Server ErrorInternal system error

Inventory API

Access to hotel inventory data including hotels, meal plans, room types, and more.

Base path for Inventory API:dev.api.perlatours.com/Inventory

Inventory Data Models

These models are used across multiple endpoints or nested within other models.

HotelFilter
Request filter for hotel search
FieldTypeRequiredDescription
pageNumber
int
No
Page number for pagination. Default: 1
pageSize
int
No
Number of items per page. Default: 10, Max: 100
usePagination
bool
No
Whether to use pagination. Default: false
ids
List<long>
No
List of hotel IDs to filter by
name
string
No
Hotel name to search for (partial match)
location
string
No
Hotel location to search for (partial match)
Hotel
Hotel information model
FieldTypeRequiredDescription
id
long
Yes
Unique identifier for the hotel
giataId
long
Yes
GIATA identifier for the hotel
name
string
Yes
Hotel name
latitude
double
Yes
Hotel latitude coordinate
longitude
double
Yes
Hotel longitude coordinate
companyId
long?
No
Associated company ID
categoryId
long?
No
Hotel category ID
typeId
long?
No
Hotel type ID
address
string?
No
Hotel address
countryId
CommonCountry?
No
Country where the hotel is located
location
string?
No
City or location name
postalCode
string?
No
Postal code
phone
string?
No
Hotel phone number
fax
string?
No
Hotel fax number
email
string?
No
Hotel email address
website
string?
No
Hotel website URL
includedMarkets
List<CommonCountry>?
No
Markets where the hotel is available
excludedMarkets
List<CommonCountry>?
No
Markets where the hotel is not available
isActive
bool
Yes
Whether the hotel is active
PaginatedResponse<T>
Generic paginated response wrapper
FieldTypeRequiredDescription
data
IEnumerable<T>
Yes
Collection of items for the current page
pageNumber
int
Yes
Current page number
pageSize
int
Yes
Number of items per page
totalPages
int
Yes
Total number of pages
totalRecords
int
Yes
Total number of records
hasPreviousPage
bool
Yes
Whether there is a previous page
hasNextPage
bool
Yes
Whether there is a next page
MealPlanFilter
Request filter for meal plan search
FieldTypeRequiredDescription
ids
List<string>?
No
List of meal plan IDs to filter by
name
string?
No
Meal plan name to search for (partial match)
MealPlan
Meal plan information model
FieldTypeRequiredDescription
id
string
Yes
Unique identifier for the meal plan
name
string
Yes
Meal plan name
RoomTypeFilter
Request filter for room type search
FieldTypeRequiredDescription
ids
List<string>?
No
List of room type IDs to filter by
name
string?
No
Room type name to search for (partial match)
RoomType
Room type information model
FieldTypeRequiredDescription
id
string
Yes
Unique identifier for the room type
name
string
Yes
Room type name
RoomAmenityFilter
Request filter for room amenity search
FieldTypeRequiredDescription
ids
List<string>?
No
List of room amenity IDs to filter by
name
string?
No
Room amenity name to search for (partial match)
RoomAmenity
Room amenity information model
FieldTypeRequiredDescription
id
string
Yes
Unique identifier for the room amenity
name
string
Yes
Room amenity name
HotelTypeFilter
Filter model for hotel types
FieldTypeRequiredDescription
ids
List<long>?
No
List of hotel type IDs to filter by
name
string?
No
Hotel type name to search for (partial match)
HotelType
Hotel type information model
FieldTypeRequiredDescription
id
long
Yes
Unique identifier for the hotel type
name
string
Yes
Hotel type name
HotelCategoryFilter
Filter model for hotel categories
FieldTypeRequiredDescription
ids
List<long>?
No
List of hotel category IDs to filter by
name
string?
No
Hotel category name to search for (partial match)
HotelCategory
Hotel category information model
FieldTypeRequiredDescription
id
long
Yes
Unique identifier for the hotel category
name
string
Yes
Hotel category name
HotelChainFilter
Filter model for hotel chains
FieldTypeRequiredDescription
ids
List<long>?
No
List of hotel chain IDs to filter by
name
string?
No
Hotel chain name to search for (partial match)
HotelChain
Hotel chain information model
FieldTypeRequiredDescription
id
long
Yes
Unique identifier for the hotel chain
name
string
Yes
Hotel chain name
Enum
Generic enum model for system values
FieldTypeRequiredDescription
id
int
Yes
Enum value (numeric)
name
string
Yes
Enum name (string)