BookingClient C# SDK 1.0.0
Welcome to the BookingClient SDK documentation. This guide will help you get started with integrating and using the BookingClient SDK in your project.
Versions
- API version:
1.0
- SDK version:
1.0.0
About the API
Partner Connect API Service
Table of Contents
Setup & Configuration
Supported Language Versions
This SDK is compatible with the following versions: C# >= .NET 6
Installation
To get started with the SDK, we recommend installing using nuget
:
dotnet add package BookingClient
Authentication
Access Token Authentication
The BookingClient API uses an Access Token for authentication.
This token must be provided to authenticate your requests to the API.
Setting the Access Token
When you initialize the SDK, you can set the access token as follows:
using BookingClient;
using BookingClient.Config;
var config = new BookingClientConfig()
{
AccessToken = "YOUR_ACCESS_TOKEN"
};
var client = new BookingClientClient(config);
If you need to set or update the access token after initializing the SDK, you can use:
client.SetAccessToken("YOUR_ACCESS_TOKEN")
API Key Authentication
The BookingClient API uses API keys as a form of authentication. An API key is a unique identifier used to authenticate a user, developer, or a program that is calling the API.
Setting the API key
When you initialize the SDK, you can set the API key as follows:
using BookingClient;
using BookingClient.Config;
var config = new BookingClientConfig()
{
ApiKeyAuth = new ApiKeyAuthConfig("YOUR_API_KEY")
};
var client = new BookingClientClient(config);
If you need to set or update the API key after initializing the SDK, you can use:
client.SetApiKey("YOUR_API_KEY")
Sample Usage
Below is a comprehensive example demonstrating how to authenticate and call a simple endpoint:
using BookingClient;
using BookingClient.Config;
using BookingClient.Models;
using Environment = BookingClient.Http.Environment;
var apiKeyConfig = new ApiKeyAuthConfig("YOUR_API_KEY");
var config = new BookingClientConfig
{
Environment = Environment.Default,
AccessToken = "YOUR_ACCESS_TOKEN",
ApiKeyAuth = apiKeyConfig
};
var client = new BookingClientClient(config);
var booker = new BookerInputDto("gt", BookerInputDto.Platform.Android);
var guests = new GuestsInputDto(5, 0);
var input = new SearchInputDto("checkin", "checkout", booker, guests);
var response = await client.DemandApiV3Compatible.SearchAsync(input, SearchAccept.ApplicationJson);
Console.WriteLine(response);
Services
The SDK provides various services to interact with the API.
Below is a list of all available services with links to their detailed documentation:
Models
The SDK includes several models that represent the data structures used in API requests and responses. These models help in organizing and managing the data efficiently.
Below is a list of all available models with links to their detailed documentation:
Name | Description |
---|---|
SearchInputDto | |
ResponseOutputListSearchOutputDto | |
SearchAccept | |
DetailsInputDto | |
ResponseOutputListDetailsOutputDto | |
PostDetailsAccept | |
ConstantInputDto | |
ResponseOutputConstantsOutputDto | |
GetAccommodationConstantsAccept | |
ResponseOutputV2ReviewScoresOutputDto | |
ReviewScoresInputDto | |
GetHotelsReviewScoresAccept | |
ResponseOutputV2HotelsOutputDto | |
HotelsInputDto | |
GetHotelsAccept | |
ResponseOutputV2HotelTypesOutputDto | |
HotelTypeInputDto | |
GetHotelTypesAccept | |
ResponseOutputV2HotelThemeTypesOutputDto | |
HotelThemeTypeInputDto | |
GetHotelThemeTypesAccept | |
ResponseOutputV2HotelFacilityTypeOutputDto | |
HotelFacilityInputDto | |
GetRoomFacilityTypesAccept | |
ResponseOutputV2HotelAvailabilityOutputDto | |
HotelAvailabilityInputDto | |
GetHotelAvailabilityAccept | |
ResponseOutputV2BlockAvailabilityOutputDto | |
BlockAvailabilityInputDto | |
GetBlockAvailabilityAccept | |
BookerInputDto | The booker's information. |
GuestsInputDto | The guest details for the request. |
Coordinates | Limit the result list to the specified coordinates. |
AllocationInputDto | The exact allocation of guests to rooms. |
SearchOutputDto | |
PriceDataDtoDouble | The price components of this product or selection of products. 'base' and 'extra_charges' are returned only when explicitly requested (via 'extras=extra_charges'). |
ProductDto | |
ExtraChargesDtoDouble | The charge breakdown. Includes taxes and fees. |
PoliciesDto | The policies for this product. |
PriceDataDtoListChargeDto | The price components of this product or selection of products. 'base' and 'extra_charges' are returned only when explicitly requested (via 'extras=extra_charges'). |
DealDto | This specifies the deal tagging for the product. |
CancellationDto | The cancellation policy for this product. |
MealPlanDto | The meal plan policy for this product. |
PaymentDto | Payment terms and conditions for this product. |
ExtraChargesDtoListChargeDto | The charge breakdown. Includes taxes and fees. |
ChargeDto | |
DetailsOutputDto | |
TranslatedString | Translated description of this room. The maximum number of characters returned may be limited by contract. |
CheckinCheckoutTimesDto | |
ContactsDto | Contact information of the accommodation. |
FacilityDto | The list of facilities available in this property. Requires {"extras":["facilities"]} . |
DescriptionDto | Textual information about the accommodation. Requires {"extras":["description"]} . |
KeyCollectionInformationDto | |
LocationDto | All location related information of this accommodation property. |
PhotoDto | |
ProgramSettingsDto | Details of programmes undergone by the property. |
RatingDto | |
RoomDto | The list of room types available at this property. Requires {"extras":["rooms"]} . |
LocalTime | The time till when checkout can be done at this property. |
ContactDto | Contact information of the accommodation. It can be null if the data is missing. |
TranslationInformation | Text containing important information about the property. The value is translated in the requested languages. |
TruncatedString | The translated description text of this accommodation property in the requested languages. The maximum number of characters returned may be limited by contract. |
AlternativeKeyLocationDto | Alternate location to collect the key of this accommodation property. This is returned if the key to access the property is in another location. |
LazyTranslatedString | Translated accommodation address. |
CoordinatesDto | A signed integer number that uniquely identifies a city. |
PhotoUrlDto | |
BedOptionDto | Lists all possible bedding options for this room or apartment. |
CribsAndExtraBedsDto | Lists room options regarding adding cribs and/or extra beds. |
RoomMaximumOccupancyDto | Occupancy limits and options. |
NumberOfRoomsDto | Total rooms available. |
BedConfigurationDto | Lists all alternative bed configurations that are supported. |
BedDto | Detail list of all different types and number of beds included in this configuration. |
Meta | |
ReviewScoresOutputDto | |
ScoreBreakdown | A breakdown of scores per reviewer type and review question. |
ScoreDistribution | A breakdown of all review scores into buckets 1 - 10. |
QuestionDto | Review scores per question. |
HotelsOutputDto | |
HotelDataDto | Hotel specific information. |
RoomDataDto | This block has room data for this hotel. |
HotelPhotoDto | Photos specific information of the hotel. |
RoomInfoDto | |
BedroomDto | |
RoomOccupancyDto | |
RoomSizeDto | |
HotelTypesOutputDto | |
TranslationDto | |
HotelThemeTypesOutputDto | |
HotelFacilityTypeOutputDto | |
HotelAvailabilityOutputDto | |
BlockAvailabilityOutputDto | |
BlockOutputDto | The object containing all the relevant information for the combination of room, policy, meal and occupancy that determines the price." A block is the unique entity you book with booking.com. |
License
This SDK is licensed under the MIT License.
See the LICENSE file for more details.
Build Your Own SDKs with liblab
Build developer friendly SDKs in minutes from your APIs