@revolugo/booking-api-client
Version:
Javascript Revolugo Booking API Client (browser + server)
1,947 lines • 106 kB
TypeScript
/**
*
* @export
* @interface AmenitiesApi
*/
export interface AmenitiesApi {
/**
* Air conditioning.
* @type {boolean}
* @memberof AmenitiesApi
*/
airConditioning?: boolean;
/**
* Airport transportation service.
* @type {boolean}
* @memberof AmenitiesApi
*/
airportTransportation?: boolean;
/**
* Business center.
* @type {boolean}
* @memberof AmenitiesApi
*/
businessCenter?: boolean;
/**
* Car rental desk service.
* @type {boolean}
* @memberof AmenitiesApi
*/
carRentDesk?: boolean;
/**
* Children welcomed.
* @type {boolean}
* @memberof AmenitiesApi
*/
childrenAllowed?: boolean;
/**
* Clothing iron.
* @type {boolean}
* @memberof AmenitiesApi
*/
clothingIron?: boolean;
/**
* Coffea/tea maker.
* @type {boolean}
* @memberof AmenitiesApi
*/
coffeeTeaMaker?: boolean;
/**
* Combination.
* @type {boolean}
* @memberof AmenitiesApi
*/
combination?: boolean;
/**
* Continental Breakfast.
* @type {boolean}
* @memberof AmenitiesApi
*/
continentalBreakfast?: boolean;
/**
* Data ports in room.
* @type {boolean}
* @memberof AmenitiesApi
*/
dataPorts?: boolean;
/**
* Dry cleaning.
* @type {boolean}
* @memberof AmenitiesApi
*/
dryCleaning?: boolean;
/**
* Electornic room keys.
* @type {boolean}
* @memberof AmenitiesApi
*/
electronicRoomKeys?: boolean;
/**
* Exterior room entrance.
* @type {boolean}
* @memberof AmenitiesApi
*/
exteriorRoomEntrance?: boolean;
/**
* Family rooms.
* @type {boolean}
* @memberof AmenitiesApi
*/
familyRooms?: boolean;
/**
* Fitness facility.
* @type {boolean}
* @memberof AmenitiesApi
*/
fitnessFacility?: boolean;
/**
* Game room.
* @type {boolean}
* @memberof AmenitiesApi
*/
gameRoom?: boolean;
/**
* Golf course.
* @type {boolean}
* @memberof AmenitiesApi
*/
golfCourse?: boolean;
/**
* Hair dryer.
* @type {boolean}
* @memberof AmenitiesApi
*/
hairDryer?: boolean;
/**
* Handicap Accessible.
* @type {boolean}
* @memberof AmenitiesApi
*/
handicapAccessible?: boolean;
/**
* In house bar.
* @type {boolean}
* @memberof AmenitiesApi
*/
inHouseBar?: boolean;
/**
* In house dining.
* @type {boolean}
* @memberof AmenitiesApi
*/
inHouseDining?: boolean;
/**
* In room movies.
* @type {boolean}
* @memberof AmenitiesApi
*/
inRoomMovies?: boolean;
/**
* Indoor pool.
* @type {boolean}
* @memberof AmenitiesApi
*/
indoorPool?: boolean;
/**
* Interior room entrance.
* @type {boolean}
* @memberof AmenitiesApi
*/
interiorRoomEntrance?: boolean;
/**
* Kitchen.
* @type {boolean}
* @memberof AmenitiesApi
*/
kitchen?: boolean;
/**
* Map.
* @type {boolean}
* @memberof AmenitiesApi
*/
map?: boolean;
/**
* Meeting rooms.
* @type {boolean}
* @memberof AmenitiesApi
*/
meetingRooms?: boolean;
/**
* mini bar in room.
* @type {boolean}
* @memberof AmenitiesApi
*/
miniBarInRoom?: boolean;
/**
* Non smoking rooms.
* @type {boolean}
* @memberof AmenitiesApi
*/
nonSmokingRooms?: boolean;
/**
* Outdoor pool.
* @type {boolean}
* @memberof AmenitiesApi
*/
outdoorPool?: boolean;
/**
* Parking garage.
* @type {boolean}
* @memberof AmenitiesApi
*/
parkingGarage?: boolean;
/**
* Pets allowed.
* @type {boolean}
* @memberof AmenitiesApi
*/
petsAllowed?: boolean;
/**
* Restricted access.
* @type {boolean}
* @memberof AmenitiesApi
*/
restrictedAccess?: boolean;
/**
* Room service.
* @type {boolean}
* @memberof AmenitiesApi
*/
roomService?: boolean;
/**
* Safe in room.
* @type {boolean}
* @memberof AmenitiesApi
*/
safe?: boolean;
/**
* Sauna.
* @type {boolean}
* @memberof AmenitiesApi
*/
sauna?: boolean;
/**
* TV in room.
* @type {boolean}
* @memberof AmenitiesApi
*/
tVInRoom?: boolean;
/**
* Tennis court.
* @type {boolean}
* @memberof AmenitiesApi
*/
tennisCourt?: boolean;
/**
* 24/7 security.
* @type {boolean}
* @memberof AmenitiesApi
*/
twentyFourHourSecurity?: boolean;
/**
* Valet parking.
* @type {boolean}
* @memberof AmenitiesApi
*/
valetParking?: boolean;
/**
* Video check out.
* @type {boolean}
* @memberof AmenitiesApi
*/
videoCheckOut?: boolean;
/**
* Voice mail.
* @type {boolean}
* @memberof AmenitiesApi
*/
voiceMail?: boolean;
/**
* Wake up service.
* @type {boolean}
* @memberof AmenitiesApi
*/
wakeUpService?: boolean;
/**
* Whirpool.
* @type {boolean}
* @memberof AmenitiesApi
*/
whirpool?: boolean;
}
/**
*
* @export
* @interface BedApi
*/
export interface BedApi {
/**
* Number of beds of the given type in the room.
* @type {number}
* @memberof BedApi
*/
count: number;
/**
* Bed name.
* @type {string}
* @memberof BedApi
*/
name: string;
/**
* Bed occupancy.
* @type {number}
* @memberof BedApi
*/
occupancy: number;
}
/**
* Booking record
* @export
* @interface BookingApi
*/
export interface BookingApi {
/**
* The total number of adults who will be staying in the property.
* @type {number}
* @memberof BookingApi
*/
adultCount: number;
/**
* Date of booking cancellation request, when applicable.
* @type {string}
* @memberof BookingApi
*/
canceledAt?: string | null;
/**
* The list of cancellation policy date range with their corresponding penalty percentage.
* @type {Array<CancellationPolicyApi>}
* @memberof BookingApi
*/
cancellationPolicies: Array<CancellationPolicyApi>;
/**
* Remarks about the cancellation policy.
* @type {string}
* @memberof BookingApi
*/
cancellationPolicyRemarks?: string | null;
/**
* Date of check-in formatted as YYYY-MM-DD.
* @type {string}
* @memberof BookingApi
*/
checkInDate: string;
/**
* Date of check-out formatted as YYYY-MM-DD.
* @type {string}
* @memberof BookingApi
*/
checkOutDate: string;
/**
* A comma-separated list of child ages (0 up to 17). e.g.: "3,7" represents 2 children respectively 3 and 7 years old.
* @type {string}
* @memberof BookingApi
*/
children?: string | null;
/**
* Date of booking confirmation request, when applicable.
* @type {string}
* @memberof BookingApi
*/
confirmedAt?: string | null;
/**
*
* @type {ContactPersonApi}
* @memberof BookingApi
*/
contactPerson: ContactPersonApi;
/**
* Creation date of the **Booking**.
* @type {string}
* @memberof BookingApi
*/
createdAt: string;
/**
*
* @type {CurrencyBookingApiClient}
* @memberof BookingApi
*/
currency: CurrencyBookingApiClient;
/**
* Customer Reference of the requested Booking (sometimes to present by the customer at hotel check-in).
* @type {string}
* @memberof BookingApi
*/
customerReference?: string | null;
/**
*
* @type {EventApi}
* @memberof BookingApi
*/
event?: EventApi | null;
/**
* Date of booking failure, when applicable.
* @type {string}
* @memberof BookingApi
*/
failedAt?: string | null;
/**
* Hotel Id of the requested Booking.
* @type {string}
* @memberof BookingApi
*/
hotelId: string;
/**
*
* @type {HotelRoomOfferApi}
* @memberof BookingApi
*/
hotelRoomOffer: HotelRoomOfferApi;
/**
* Hotel rooming lists of a hotel booking
* @type {Array<HotelRoomingListApi>}
* @memberof BookingApi
*/
hotelRoomingLists?: Array<HotelRoomingListApi>;
/**
* Booking Id
* @type {string}
* @memberof BookingApi
*/
id?: string | null;
/**
* The list of invoices and credit notes (when applicable) direct urls associated to the Booking.
* @type {Array<InvoiceApi>}
* @memberof BookingApi
*/
invoices?: Array<InvoiceApi> | null;
/**
* Date of the last booking status update.
* @type {string}
* @memberof BookingApi
*/
lastStatusUpdatedAt: string;
/**
* You can use this parameter to attach key-value data to bookings. Metadata is useful for storing additional, structured information on a booking. As an example, you could store your user's full name and corresponding unique identifier from your system on a booking. Metadata is not used internally by the Booking Engine and won't be seen by your users unless you choose to show it to them.
* @type {{ [key: string]: string; }}
* @memberof BookingApi
*/
metadata?: {
[key: string]: string;
} | null;
/**
* Booking Pay Later Status
* @type {string}
* @memberof BookingApi
*/
payLater?: BookingApiPayLaterEnum;
/**
* List of preferred payment methods to be used along with their respective payload (when applicable) in order to fulfill the booking.
*
* ⚠️ This field is only returned when **booking.status = bkg-created**
* @type {Array<PaymentMethodApi>}
* @memberof BookingApi
*/
paymentMethods?: Array<PaymentMethodApi>;
/**
* Penalty percentage of the requested Booking.
*
* When **booking.status = bkg-cx** this is the percentage of the **booking.tax_included_price** that have been charged on the canceled booking. Otherwise, this field won't be returned.
* @type {number}
* @memberof BookingApi
*/
penaltyPercentage?: number | null;
/**
* Booking Reference of the requested Booking.
* @type {string}
* @memberof BookingApi
*/
reference: string;
/**
*
* @type {SourceMarket}
* @memberof BookingApi
*/
sourceMarket: SourceMarket;
/**
* Booking status. Please, refer to [Booking Status](/v1/documentation#tag/Booking-Status) for details.
* @type {string}
* @memberof BookingApi
*/
status: BookingApiStatusEnum;
/**
* Total tax amount expressed in the booking currency.
* @type {number}
* @memberof BookingApi
*/
taxAmount: number;
/**
* Price of the booking including taxes expressed in the booking currency.
* @type {number}
* @memberof BookingApi
*/
taxIncludedPrice: number;
/**
*
* @type {Array<TaxApi>}
* @memberof BookingApi
*/
taxes?: Array<TaxApi> | null;
/**
* Link to Revolugo terms and conditions under which the booking is made.
* @type {string}
* @memberof BookingApi
*/
terms: string;
/**
* This is the token to pass as URL params to [Cancel Booking endpoint](/v1/documentation#operation/deleteV1BookingsId) in order to perform a cancel request on the booking. If you want to cancel a booking, you should use this token instead of the booking id.
*
* ⚠️ For security reasons, this token is unique and once generated, it is valid during a period of 10 minutes.
*
* In order to get a fresh valid token you need to call **[Retrieve Booking endpoint](/v1/documentation#operation/getV1BookingsId)**.
* @type {string}
* @memberof BookingApi
*/
token?: string | null;
}
/**
* @export
*/
export declare const BookingApiPayLaterEnum: {
readonly Disabled: "DISABLED";
readonly Enabled: "ENABLED";
readonly Forced: "FORCED";
};
export type BookingApiPayLaterEnum = typeof BookingApiPayLaterEnum[keyof typeof BookingApiPayLaterEnum];
/**
* @export
*/
export declare const BookingApiStatusEnum: {
readonly Cx: "bkg-cx";
readonly Cf: "bkg-cf";
readonly Created: "bkg-created";
readonly Af: "bkg-af";
readonly Ip: "bkg-ip";
readonly Pc: "bkg-pc";
readonly Pp: "bkg-pp";
readonly Qr: "bkg-qr";
};
export type BookingApiStatusEnum = typeof BookingApiStatusEnum[keyof typeof BookingApiStatusEnum];
/**
*
* @export
* @interface BookingCreateApi
*/
export interface BookingCreateApi {
/**
* Booking policy id to book, returned from previous **[Create Booking Policies endpoint](/v1/documentation#operation/postV1Booking_policies)** call
* @type {string}
* @memberof BookingCreateApi
*/
bookingPolicyId: string;
/**
*
* @type {ContactPersonApi}
* @memberof BookingCreateApi
*/
contactPerson: ContactPersonApi;
/**
* You can use this parameter to attach key-value data to bookings. Metadata is useful for storing additional, structured information on a booking. As an example, you could store your user's full name and corresponding unique identifier from your system on a booking. Metadata is not used internally by the Booking Engine and won't be seen by your users unless you choose to show it to them.
* @type {{ [key: string]: string; }}
* @memberof BookingCreateApi
*/
metadata?: {
[key: string]: string;
} | null;
/**
* List of preferred payment methods to be used along with their respective payload (when applicable) in order to fulfill the booking.
* @type {Array<PaymentMethodRequestApi>}
* @memberof BookingCreateApi
*/
paymentMethods?: Array<PaymentMethodRequestApi>;
/**
*
* @type {string}
* @memberof BookingCreateApi
*/
trackingId?: string | null;
}
/**
*
* @export
* @interface BookingPoliciesApi
*/
export interface BookingPoliciesApi {
/**
* The total number of adults who will be staying in the property.
* @type {number}
* @memberof BookingPoliciesApi
*/
adultCount: number;
/**
* The list of cancellation policy date range with their corresponding penalty percentage.
* @type {Array<CancellationPolicyApi>}
* @memberof BookingPoliciesApi
*/
cancellationPolicies: Array<CancellationPolicyApi>;
/**
* Date of check-in formatted as YYYY-MM-DD.
* @type {string}
* @memberof BookingPoliciesApi
*/
checkInDate: string;
/**
* Date of check-out formatted as YYYY-MM-DD.
* @type {string}
* @memberof BookingPoliciesApi
*/
checkOutDate: string;
/**
* A comma-separated list of child ages (0 up to 17). e.g.: "3,7" represents 2 children respectively 3 and 7 years old.
* @type {string}
* @memberof BookingPoliciesApi
*/
children?: string | null;
/**
*
* @type {CurrencyBookingApiClient}
* @memberof BookingPoliciesApi
*/
currency: CurrencyBookingApiClient;
/**
* Expiration date for this **Booking Policy**.
*
* The returned **Booking Policy** (price and cancellation policies) is valid bookable policy up to this **expires_at** date, while it may be valid for a longer period in the case of some suppliers, this API call is equivalent to an availability check and it is important not to let long periods between retrieval of this policy and the booking confirmation call itself as this will often reduce the likelihood of a **Hotel Room Offer** being successfully booked.
* @type {string}
* @memberof BookingPoliciesApi
*/
expiresAt: string | null;
/**
* Hotel id
* @type {string}
* @memberof BookingPoliciesApi
*/
hotelId: string;
/**
*
* @type {HotelRoomOfferApi}
* @memberof BookingPoliciesApi
*/
hotelRoomOffer: HotelRoomOfferApi;
/**
* **Booking Policy** id
* @type {string}
* @memberof BookingPoliciesApi
*/
id: string;
/**
* Indicates whether the price of the **Hotel Room Offer** (without breakfast included) has increased compared to the price returned by [Retrieve Hotel Room Offers endpoint](/v1/documentation#operation/getV1Hotel_room_offers).
*
* In some case, the returned price may increase for various reasons including: Currency rate change between the POST **Booking Policies** call and the GET **Hotel Room Offers** call, **Hotel Room Offer** price has increased since the GET **Hotel Room Offers** call.
*
* If **is_price_increased** is **true**, it means that the actual/updated price of the **Hotel Room Offer** is greater than the price previously returned by [Retrieve Hotel Room Offers endpoint](/v1/documentation#operation/getV1Hotel_room_offers). If **is_price_increased** is **false**, the price of the **Hotel Room Offer** is equal to the price returned by [Retrieve Hotel Room Offers endpoint](/v1/documentation#operation/getV1Hotel_room_offers).
*
* ⚠️ It is strongly advised to clearly inform your customer of any price increase that may occur.
* @type {boolean}
* @memberof BookingPoliciesApi
*/
isPriceIncreased: boolean;
}
/**
*
* @export
* @interface BookingPoliciesCreateApi
*/
export interface BookingPoliciesCreateApi {
/**
* This parameter allows to add breakfast to the booking as long as every requested Hotel Room Offers **breakfast_option = OPTIONAL** .
*
* The final breakfast count that will be included in the Hotel Room Offer will be returned in the response and is calculated as follows:
*
* - If the returned Hotel Room Offer **total room count** > **hotel_room_offer_request.adult_count** then **breakfast_count** will be equal to the **total room count** of the returned Hotel Room Offer,
*
* - Otherwise **breakfast_count** will be equal to the minimum value between related **hotel_room_offer_request.adult_count** and returned Hotel Room Offer **total occupancy**.
*
* <div style="background-color: #ffffef; padding: 20px; border: 1px solid lightgrey; border-radius: 5px;"><b style="color: red; margin-top: 10px;">🛑 DEPRECATED.</b>
*
* <b style="color: orange;">If you already use this field, don't worry as we still support it with the following behaviour:</b>
* - <span style="color: orange;">When **add_breakfast = true** then **breakfast_count = MIN(guest count, total offer occupancy)** where **guest count** is the total number of adult and children over 3.</span>
* - <span style="color: orange;">Otherwise **breakfast_count = 0**.</span></div>
* @type {boolean}
* @memberof BookingPoliciesCreateApi
*/
addBreakfast?: boolean | null;
/**
* This parameter describes the quantity of breakfast / night that should be included in the **Booking**. When **breakfast_option = OPTIONAL**, valid **breakfast_count** lower bound is **room count** and upper bound is **guest count**, where **guest count** is the number of adult and children over 3.
*
* ⚠️ The actual breakfast count that will be included in the **Booking** is the one that is returned in the response of this endpoint and might be different from this **breakfast_count** paramater in some cases. Please, make sure to check the actual breakfast count included in the **Hotel Room Offer** returned in the response of this endpoint.
* @type {number}
* @memberof BookingPoliciesCreateApi
*/
breakfastCount?: number;
/**
* Id of requested **Hotel Room Offer** returned by [Retrieve Hotel Room Offers endpoint](/v1/documentation#operation/getV1Hotel_room_offers). Requested **Hotel Room Offer** must be of **type = PACKAGE**
* @type {string}
* @memberof BookingPoliciesCreateApi
*/
hotelRoomOfferId: string;
/**
* Set the language for the returned content using a valid language code.
* @type {string}
* @memberof BookingPoliciesCreateApi
*/
lang?: BookingPoliciesCreateApiLangEnum;
}
/**
* @export
*/
export declare const BookingPoliciesCreateApiLangEnum: {
readonly DeDe: "de-DE";
readonly EnUs: "en-US";
readonly EsEs: "es-ES";
readonly FrFr: "fr-FR";
readonly ItIt: "it-IT";
readonly NlNl: "nl-NL";
readonly PtPt: "pt-PT";
};
export type BookingPoliciesCreateApiLangEnum = typeof BookingPoliciesCreateApiLangEnum[keyof typeof BookingPoliciesCreateApiLangEnum];
/**
*
* @export
* @interface BookingsApiResponse
*/
export interface BookingsApiResponse {
/**
* List of detailed Bookings
* @type {Array<BookingApi>}
* @memberof BookingsApiResponse
*/
data: Array<BookingApi>;
/**
*
* @type {MetaApiResponse}
* @memberof BookingsApiResponse
*/
meta: MetaApiResponse;
}
/**
*
* @export
* @interface CancellationPolicyApi
*/
export interface CancellationPolicyApi {
/**
* The start date and time of the cancellation policy, given in the hotel timezone.
* @type {string}
* @memberof CancellationPolicyApi
*/
dateFrom: string;
/**
* The end date and time of the cancellation policy, given in the hotel timezone.
* @type {string}
* @memberof CancellationPolicyApi
*/
dateTo: string;
/**
* The penalty percentage that is due in case of cancellation during the **date_from** to **date_to** period range.
* @type {number}
* @memberof CancellationPolicyApi
*/
penaltyPercentage: number;
}
/**
* Contact details that will be used to communicate with the contact person for booking related communication (confirmation, modification, etc)
* @export
* @interface ContactPersonApi
*/
export interface ContactPersonApi {
/**
* Contact person's postal code of residence
* @type {string}
* @memberof ContactPersonApi
*/
address?: string | null;
/**
* Contact person's city of residence
* @type {string}
* @memberof ContactPersonApi
*/
city?: string | null;
/**
*
* @type {CountryIso2Code}
* @memberof ContactPersonApi
*/
country?: CountryIso2Code | null;
/**
* Contact person's email address
* @type {string}
* @memberof ContactPersonApi
*/
email: string;
/**
* Contact person's first name
* @type {string}
* @memberof ContactPersonApi
*/
firstName: string;
/**
* Set the prefered language to use when contacting the contact person for booking related communication(s).
* @type {string}
* @memberof ContactPersonApi
*/
lang?: ContactPersonApiLangEnum;
/**
* Contact person's last name
* @type {string}
* @memberof ContactPersonApi
*/
lastName: string;
/**
*
* @type {CountryIso2Code}
* @memberof ContactPersonApi
*/
nationality: CountryIso2Code;
/**
*
* @type {ContactPersonOrganizationApi}
* @memberof ContactPersonApi
*/
organization?: ContactPersonOrganizationApi | null;
/**
* Contact person's phone number
* @type {string}
* @memberof ContactPersonApi
*/
phone: string;
/**
* Contact person's remarks
* @type {string}
* @memberof ContactPersonApi
*/
remarks?: string;
/**
* Title of the contact person
* @type {string}
* @memberof ContactPersonApi
*/
salutation?: ContactPersonApiSalutationEnum;
/**
* Contact person's state of residence
* @type {string}
* @memberof ContactPersonApi
*/
state?: string | null;
/**
* Contact person's postal code of residence
* @type {string}
* @memberof ContactPersonApi
*/
zipCode?: string | null;
}
/**
* @export
*/
export declare const ContactPersonApiLangEnum: {
readonly DeDe: "de-DE";
readonly EnUs: "en-US";
readonly EsEs: "es-ES";
readonly FrFr: "fr-FR";
readonly ItIt: "it-IT";
readonly NlNl: "nl-NL";
readonly PtPt: "pt-PT";
};
export type ContactPersonApiLangEnum = typeof ContactPersonApiLangEnum[keyof typeof ContactPersonApiLangEnum];
/**
* @export
*/
export declare const ContactPersonApiSalutationEnum: {
readonly Dr: "dr";
readonly Mr: "mr";
readonly Mrs: "mrs";
readonly Ms: "ms";
readonly NotSpecified: "notSpecified";
readonly Prof: "prof";
};
export type ContactPersonApiSalutationEnum = typeof ContactPersonApiSalutationEnum[keyof typeof ContactPersonApiSalutationEnum];
/**
* Organization details of the contact person for invoicing purposes
* @export
* @interface ContactPersonOrganizationApi
*/
export interface ContactPersonOrganizationApi {
/**
* Address of the organization
* @type {string}
* @memberof ContactPersonOrganizationApi
*/
address: string;
/**
* City of the organization
* @type {string}
* @memberof ContactPersonOrganizationApi
*/
city: string;
/**
*
* @type {CountryIso2Code}
* @memberof ContactPersonOrganizationApi
*/
country: CountryIso2Code;
/**
* Name of the organization
* @type {string}
* @memberof ContactPersonOrganizationApi
*/
name: string;
/**
* State of the organization
* @type {string}
* @memberof ContactPersonOrganizationApi
*/
state?: string | null;
/**
* VAT Number of the organization
* @type {string}
* @memberof ContactPersonOrganizationApi
*/
vatNumber?: string | null;
/**
* ZIP Code of the organization
* @type {string}
* @memberof ContactPersonOrganizationApi
*/
zipCode: string;
}
/**
* Contact person's country of residence
* @export
*/
export declare const CountryIso2Code: {
readonly Ad: "AD";
readonly Ae: "AE";
readonly Af: "AF";
readonly Ag: "AG";
readonly Ai: "AI";
readonly Al: "AL";
readonly Am: "AM";
readonly Ao: "AO";
readonly Ar: "AR";
readonly As: "AS";
readonly At: "AT";
readonly Au: "AU";
readonly Aw: "AW";
readonly Ax: "AX";
readonly Az: "AZ";
readonly Ba: "BA";
readonly Bb: "BB";
readonly Bd: "BD";
readonly Be: "BE";
readonly Bf: "BF";
readonly Bg: "BG";
readonly Bh: "BH";
readonly Bi: "BI";
readonly Bj: "BJ";
readonly Bl: "BL";
readonly Bm: "BM";
readonly Bn: "BN";
readonly Bo: "BO";
readonly Bq: "BQ";
readonly Br: "BR";
readonly Bs: "BS";
readonly Bt: "BT";
readonly Bw: "BW";
readonly By: "BY";
readonly Bz: "BZ";
readonly Ca: "CA";
readonly Cc: "CC";
readonly Cd: "CD";
readonly Cf: "CF";
readonly Cg: "CG";
readonly Ch: "CH";
readonly Ci: "CI";
readonly Ck: "CK";
readonly Cl: "CL";
readonly Cm: "CM";
readonly Cn: "CN";
readonly Co: "CO";
readonly Cr: "CR";
readonly Cu: "CU";
readonly Cv: "CV";
readonly Cw: "CW";
readonly Cx: "CX";
readonly Cy: "CY";
readonly Cz: "CZ";
readonly De: "DE";
readonly Dj: "DJ";
readonly Dk: "DK";
readonly Dm: "DM";
readonly Do: "DO";
readonly Dz: "DZ";
readonly Ec: "EC";
readonly Ee: "EE";
readonly Eg: "EG";
readonly Eh: "EH";
readonly Er: "ER";
readonly Es: "ES";
readonly Et: "ET";
readonly Fi: "FI";
readonly Fj: "FJ";
readonly Fk: "FK";
readonly Fm: "FM";
readonly Fo: "FO";
readonly Fr: "FR";
readonly Ga: "GA";
readonly Gb: "GB";
readonly Gd: "GD";
readonly Ge: "GE";
readonly Gf: "GF";
readonly Gg: "GG";
readonly Gh: "GH";
readonly Gi: "GI";
readonly Gl: "GL";
readonly Gm: "GM";
readonly Gn: "GN";
readonly Gp: "GP";
readonly Gq: "GQ";
readonly Gr: "GR";
readonly Gt: "GT";
readonly Gu: "GU";
readonly Gw: "GW";
readonly Gy: "GY";
readonly Hk: "HK";
readonly Hn: "HN";
readonly Hr: "HR";
readonly Ht: "HT";
readonly Hu: "HU";
readonly Id: "ID";
readonly Ie: "IE";
readonly Il: "IL";
readonly Im: "IM";
readonly In: "IN";
readonly Io: "IO";
readonly Iq: "IQ";
readonly Ir: "IR";
readonly Is: "IS";
readonly It: "IT";
readonly Je: "JE";
readonly Jm: "JM";
readonly Jo: "JO";
readonly Jp: "JP";
readonly Ke: "KE";
readonly Kg: "KG";
readonly Kh: "KH";
readonly Ki: "KI";
readonly Km: "KM";
readonly Kn: "KN";
readonly Kp: "KP";
readonly Kr: "KR";
readonly Kw: "KW";
readonly Ky: "KY";
readonly Kz: "KZ";
readonly La: "LA";
readonly Lb: "LB";
readonly Lc: "LC";
readonly Li: "LI";
readonly Lk: "LK";
readonly Lr: "LR";
readonly Ls: "LS";
readonly Lt: "LT";
readonly Lu: "LU";
readonly Lv: "LV";
readonly Ly: "LY";
readonly Ma: "MA";
readonly Mc: "MC";
readonly Md: "MD";
readonly Me: "ME";
readonly Mf: "MF";
readonly Mg: "MG";
readonly Mh: "MH";
readonly Mk: "MK";
readonly Ml: "ML";
readonly Mm: "MM";
readonly Mn: "MN";
readonly Mo: "MO";
readonly Mp: "MP";
readonly Mq: "MQ";
readonly Mr: "MR";
readonly Ms: "MS";
readonly Mt: "MT";
readonly Mu: "MU";
readonly Mv: "MV";
readonly Mw: "MW";
readonly Mx: "MX";
readonly My: "MY";
readonly Mz: "MZ";
readonly Na: "NA";
readonly Nc: "NC";
readonly Ne: "NE";
readonly Nf: "NF";
readonly Ng: "NG";
readonly Ni: "NI";
readonly Nl: "NL";
readonly No: "NO";
readonly Np: "NP";
readonly Nr: "NR";
readonly Nu: "NU";
readonly Nz: "NZ";
readonly Om: "OM";
readonly Pa: "PA";
readonly Pe: "PE";
readonly Pf: "PF";
readonly Pg: "PG";
readonly Ph: "PH";
readonly Pk: "PK";
readonly Pl: "PL";
readonly Pm: "PM";
readonly Pr: "PR";
readonly Ps: "PS";
readonly Pt: "PT";
readonly Pw: "PW";
readonly Py: "PY";
readonly Qa: "QA";
readonly Re: "RE";
readonly Ro: "RO";
readonly Rs: "RS";
readonly Ru: "RU";
readonly Rw: "RW";
readonly Sa: "SA";
readonly Sb: "SB";
readonly Sc: "SC";
readonly Sd: "SD";
readonly Se: "SE";
readonly Sg: "SG";
readonly Sh: "SH";
readonly Si: "SI";
readonly Sj: "SJ";
readonly Sk: "SK";
readonly Sl: "SL";
readonly Sm: "SM";
readonly Sn: "SN";
readonly So: "SO";
readonly Sr: "SR";
readonly Ss: "SS";
readonly St: "ST";
readonly Sv: "SV";
readonly Sx: "SX";
readonly Sy: "SY";
readonly Sz: "SZ";
readonly Tc: "TC";
readonly Td: "TD";
readonly Tg: "TG";
readonly Th: "TH";
readonly Tj: "TJ";
readonly Tk: "TK";
readonly Tl: "TL";
readonly Tm: "TM";
readonly Tn: "TN";
readonly To: "TO";
readonly Tr: "TR";
readonly Tt: "TT";
readonly Tv: "TV";
readonly Tw: "TW";
readonly Tz: "TZ";
readonly Ua: "UA";
readonly Ug: "UG";
readonly Us: "US";
readonly Uy: "UY";
readonly Uz: "UZ";
readonly Va: "VA";
readonly Vc: "VC";
readonly Ve: "VE";
readonly Vg: "VG";
readonly Vi: "VI";
readonly Vn: "VN";
readonly Vu: "VU";
readonly Wf: "WF";
readonly Ws: "WS";
readonly Xk: "XK";
readonly Ye: "YE";
readonly Yt: "YT";
readonly Za: "ZA";
readonly Zm: "ZM";
readonly Zw: "ZW";
};
export type CountryIso2Code = typeof CountryIso2Code[keyof typeof CountryIso2Code];
/**
* ISO 4217 currency code.
* @export
*/
export declare const CurrencyBookingApiClient: {
readonly Aed: "AED";
readonly Afn: "AFN";
readonly All: "ALL";
readonly Amd: "AMD";
readonly Ang: "ANG";
readonly Aoa: "AOA";
readonly Ars: "ARS";
readonly Aud: "AUD";
readonly Awg: "AWG";
readonly Azn: "AZN";
readonly Bam: "BAM";
readonly Bbd: "BBD";
readonly Bdt: "BDT";
readonly Bhd: "BHD";
readonly Bgn: "BGN";
readonly Bif: "BIF";
readonly Bmd: "BMD";
readonly Bnd: "BND";
readonly Bob: "BOB";
readonly Brl: "BRL";
readonly Bsd: "BSD";
readonly Bwp: "BWP";
readonly Bzd: "BZD";
readonly Cad: "CAD";
readonly Cdf: "CDF";
readonly Chf: "CHF";
readonly Clp: "CLP";
readonly Cny: "CNY";
readonly Cop: "COP";
readonly Crc: "CRC";
readonly Cve: "CVE";
readonly Czk: "CZK";
readonly Djf: "DJF";
readonly Dkk: "DKK";
readonly Dop: "DOP";
readonly Dzd: "DZD";
readonly Egp: "EGP";
readonly Etb: "ETB";
readonly Eur: "EUR";
readonly Fjd: "FJD";
readonly Fkp: "FKP";
readonly Gbp: "GBP";
readonly Gel: "GEL";
readonly Gip: "GIP";
readonly Gmd: "GMD";
readonly Gnf: "GNF";
readonly Gtq: "GTQ";
readonly Gyd: "GYD";
readonly Hkd: "HKD";
readonly Hnl: "HNL";
readonly Htg: "HTG";
readonly Huf: "HUF";
readonly Idr: "IDR";
readonly Ils: "ILS";
readonly Inr: "INR";
readonly Isk: "ISK";
readonly Jmd: "JMD";
readonly Jod: "JOD";
readonly Jpy: "JPY";
readonly Kes: "KES";
readonly Kgs: "KGS";
readonly Khr: "KHR";
readonly Kmf: "KMF";
readonly Krw: "KRW";
readonly Kwd: "KWD";
readonly Kyd: "KYD";
readonly Kzt: "KZT";
readonly Lak: "LAK";
readonly Lbp: "LBP";
readonly Lkr: "LKR";
readonly Lrd: "LRD";
readonly Lsl: "LSL";
readonly Mad: "MAD";
readonly Mdl: "MDL";
readonly Mga: "MGA";
readonly Mkd: "MKD";
readonly Mmk: "MMK";
readonly Mnt: "MNT";
readonly Mop: "MOP";
readonly Mru: "MRU";
readonly Mur: "MUR";
readonly Mvr: "MVR";
readonly Mwk: "MWK";
readonly Mxn: "MXN";
readonly Myr: "MYR";
readonly Mzn: "MZN";
readonly Nad: "NAD";
readonly Ngn: "NGN";
readonly Nio: "NIO";
readonly Nok: "NOK";
readonly Npr: "NPR";
readonly Nzd: "NZD";
readonly Omr: "OMR";
readonly Pab: "PAB";
readonly Pen: "PEN";
readonly Pgk: "PGK";
readonly Php: "PHP";
readonly Pkr: "PKR";
readonly Pln: "PLN";
readonly Pyg: "PYG";
readonly Qar: "QAR";
readonly Ron: "RON";
readonly Rsd: "RSD";
readonly Rub: "RUB";
readonly Rwf: "RWF";
readonly Sar: "SAR";
readonly Sbd: "SBD";
readonly Scr: "SCR";
readonly Sek: "SEK";
readonly Sgd: "SGD";
readonly Shp: "SHP";
readonly Sll: "SLL";
readonly Sos: "SOS";
readonly Srd: "SRD";
readonly Std: "STD";
readonly Szl: "SZL";
readonly Thb: "THB";
readonly Tjs: "TJS";
readonly Tnd: "TND";
readonly Top: "TOP";
readonly Try: "TRY";
readonly Ttd: "TTD";
readonly Twd: "TWD";
readonly Tzs: "TZS";
readonly Uah: "UAH";
readonly Usd: "USD";
readonly Uyu: "UYU";
readonly Uzs: "UZS";
readonly Vnd: "VND";
readonly Vuv: "VUV";
readonly Wst: "WST";
readonly Xaf: "XAF";
readonly Xcd: "XCD";
readonly Xof: "XOF";
readonly Xpf: "XPF";
readonly Yer: "YER";
readonly Zar: "ZAR";
readonly Zmw: "ZMW";
};
export type CurrencyBookingApiClient = typeof CurrencyBookingApiClient[keyof typeof CurrencyBookingApiClient];
/**
*
* @export
* @interface ErrorApiResponse
*/
export interface ErrorApiResponse {
/**
* A URL pointing to a place in our documentation where you can read about the error.
* @type {string}
* @memberof ErrorApiResponse
*/
documentationUrl?: string;
/**
* A quick and simple description of what went wrong
* @type {string}
* @memberof ErrorApiResponse
*/
error?: string;
/**
* A human-readable message providing more details about the error.
* @type {string}
* @memberof ErrorApiResponse
*/
message?: string;
/**
* HTTP status code
* @type {number}
* @memberof ErrorApiResponse
*/
statusCode: number;
/**
* The type of returned error.
* @type {string}
* @memberof ErrorApiResponse
*/
type?: ErrorApiResponseTypeEnum;
}
/**
* @export
*/
export declare const ErrorApiResponseTypeEnum: {
readonly ApiError: "api_error";
readonly BadGateway: "bad_gateway";
readonly InternalServerError: "internal_server_error";
readonly InvalidRequestError: "invalid_request_error";
readonly RateLimitError: "rate_limit_error";
readonly ResourceGone: "resource_gone";
readonly ResourceNotFound: "resource_not_found";
readonly Unauthorized: "unauthorized";
readonly ValidationError: "validation_error";
};
export type ErrorApiResponseTypeEnum = typeof ErrorApiResponseTypeEnum[keyof typeof ErrorApiResponseTypeEnum];
/**
*
* @export
* @interface EventApi
*/
export interface EventApi {
/**
* Unique name of the event
* @type {string}
* @memberof EventApi
*/
name?: string | null;
/**
* Unique slug of the event
* @type {string}
* @memberof EventApi
*/
slug?: string | null;
}
/**
*
* @export
* @interface EventMetadataApi
*/
export interface EventMetadataApi {
/**
* End date of the event formatted as YYYY-MM-DD.
* @type {string}
* @memberof EventMetadataApi
*/
dateEnd?: string;
/**
* Start date of the event formatted as YYYY-MM-DD.
* @type {string}
* @memberof EventMetadataApi
*/
dateStart?: string;
/**
* Unique id of the event
* @type {string}
* @memberof EventMetadataApi
*/
id?: string;
/**
* Image URL of the event
* @type {string}
* @memberof EventMetadataApi
*/
imageUrl?: string;
/**
* Name of the event
* @type {string}
* @memberof EventMetadataApi
*/
name?: string;
/**
* Unique slug of the event
* @type {string}
* @memberof EventMetadataApi
*/
slug?: string;
}
/**
*
* @export
* @interface HotelApi
*/
export interface HotelApi {
/**
* Hotel address.
* @type {string}
* @memberof HotelApi
*/
address?: string | null;
/**
* Second part of hotel address.
* @type {string}
* @memberof HotelApi
*/
address2?: string | null;
/**
*
* @type {AmenitiesApi}
* @memberof HotelApi
*/
amenities?: AmenitiesApi | null;
/**
* Check in time of the hotel.
* @type {string}
* @memberof HotelApi
*/
checkInTime?: string | null;
/**
* Check out time of the hotel.
* @type {string}
* @memberof HotelApi
*/
checkOutTime?: string | null;
/**
* City
* @type {string}
* @memberof HotelApi
*/
city?: string | null;
/**
* Country
* @type {string}
* @memberof HotelApi
*/
country?: string | null;
/**
* Hotel country code in ISO2.
* @type {string}
* @memberof HotelApi
*/
countryCode?: string | null;
/**
*
* @type {CurrencyBookingApiClient}
* @memberof HotelApi
*/
currency?: CurrencyBookingApiClient;
/**
* Hotel description.
* @type {string}
* @memberof HotelApi
*/
description?: string | null;
/**
* Distance from a requested location, expressed in meters
* @type {number}
* @memberof HotelApi
*/
distance?: number | null;
/**
* Hotel email.
* @type {string}
* @memberof HotelApi
*/
email?: string | null;
/**
* Hotel fax number.
* @type {string}
* @memberof HotelApi
*/
fax?: string | null;
/**
* List of hotel images in various sizes featuring an indicator for the primary (hero) image
* @type {Array<HotelImageApi>}
* @memberof HotelApi
*/
hotelImages?: Array<HotelImageApi> | null;
/**
* List of meta reviews (category and rating) that are summary of verified reviews collected across the web on the Hotel to help choose the best option.
* @type {Array<HotelReviewRatingApi>}
* @memberof HotelApi
*/
hotelReviewRatings?: Array<HotelReviewRatingApi> | null;
/**
* Hotel id.
* @type {string}
* @memberof HotelApi
*/
id: string;
/**
*
* @type {HotelApiImages}
* @memberof HotelApi
*/
images?: HotelApiImages | null;
/**
* Hotel latitude.
* @type {number}
* @memberof HotelApi
*/
latitude: number;
/**
* Hotel longitude.
* @type {number}
* @memberof HotelApi
*/
longitude: number;
/**
* Hotel name.
* @type {string}
* @memberof HotelApi
*/
name: string;
/**
* Hotel phone number.
* @type {string}
* @memberof HotelApi
*/
phone?: string | null;
/**
* Internal policy of the hotel.
* @type {string}
* @memberof HotelApi
*/
policy?: string | null;
/**
* Hotel address postal code.
* @type {string}
* @memberof HotelApi
*/
postalCode?: string | null;
/**
* Hotel Star rating.
* @type {any}
* @memberof HotelApi
*/
rating?: any | null;
/**
* Hotel address state.
* @type {string}
* @memberof HotelApi
*/
state?: string | null;
/**
* TripAdvisor property id. When applicable.
* @type {string}
* @memberof HotelApi
*/
taId?: string | null;
/**
* Hotel timezone.
* @type {string}
* @memberof HotelApi
*/
timezone: string;
/**
*
* @type {Array<TravelTimesApi>}
* @memberof HotelApi
*/
venues?: Array<TravelTimesApi>;
/**
* Hotel website url.
* @type {string}
* @memberof HotelApi
*/
website?: string | null;
}
/**
* 🛑 DEPRECATED - Hotel images details.
*
* In order to retrieve a specific image you need to construct the complete URL from the images parameters: **[images.prefix][highres|lowres|thumb]/[index]/[images.suffix]**. If **images.count = n**, then index is in [0...n-1] range.
*
* e.g.: https://s3.eu-west-3.amazonaws.com/revolugo/hotels/yhKY/images/highres/0.jpg
* @export
* @interface HotelApiImages
*/
export interface HotelApiImages {
/**
* Number of images.
* @type {number}
* @memberof HotelApiImages
*/
count?: number | null;
/**
* Whether images exist in highres format.
* @type {boolean}
* @memberof HotelApiImages
*/
highres?: boolean | null;
/**
* Whether images exist in lowres format.
* @type {boolean}
* @memberof HotelApiImages
*/
lowres?: boolean | null;
/**
* Base URL for the images.
* @type {string}
* @memberof HotelApiImages
*/
prefix?: string | null;
/**
* This parameter usually represents the extension of the image (e.g.: .jpg, .png)
* @type {string}
* @memberof HotelApiImages
*/
suffix?: string | null;
/**
* Whether images exist in thumb format (for thumbnails preview).
* @type {boolean}
* @memberof HotelApiImages
*/
thumb?: boolean | null;
}
/**
*
* @export
* @interface HotelImageApi
*/
export interface HotelImageApi {
/**
*
* @type {string}
* @memberof HotelImageApi
*/
caption?: string | null;
/**
*
* @type {boolean}
* @memberof HotelImageApi
*/
isHeroImage: boolean;
/**
*
* @type {string}
* @memberof HotelImageApi
*/
l: string;
/**
*
* @type {string}
* @memberof HotelImageApi
*/
m: string;
/**
*
* @type {string}
* @memberof HotelImageApi
*/
s: string;
/**
*
* @type {string}
* @memberof HotelImageApi
*/
xl: string;
/**
*
* @type {string}
* @memberof HotelImageApi
*/
xs: string;
}
/**
*
* @export
* @interface HotelOfferApi
*/
export interface HotelOfferApi {
/**
* Hotel address.
* @type {string}
* @memberof HotelOfferApi
*/
address?: string | null;
/**
* Second part of hotel address.
* @type {string}
* @memberof HotelOfferApi
*/
address2?: string | null;
/**
*
* @type {AmenitiesApi}
* @memberof HotelOfferApi
*/
amenities?: AmenitiesApi | null;
/**
* Check in time of the hotel.
* @type {string}
* @memberof HotelOfferApi
*/
checkInTime?: string | null;
/**
* Check out time of the hotel.
* @type {string}
* @memberof HotelOfferApi
*/
checkOutTime?: string | null;
/**
* City
* @type {string}
* @memberof HotelOfferApi
*/
city?: string | null;
/**
* Country
* @type {string}
* @memberof HotelOfferApi
*/
country?: string | null;
/**
* Hotel country code in ISO2.
* @type {string}
* @memberof HotelOfferApi
*/
countryCode?: string | null;
/**
*
* @type {CurrencyBookingApiClient}
* @memberof HotelOfferApi
*/
currency?: CurrencyBookingApiClient;
/**
* Hotel description.
* @type {string}
* @memberof HotelOfferApi
*/
description?: string | null;
/**
* Distance from a requested location, expressed in meters
* @type {number}
* @memberof HotelOfferApi
*/
distance?: number | null;
/**
* Hotel email.
* @type {string}
* @memberof HotelOfferApi
*/
email?: string | null;
/**
* Hotel fax number.
* @type {string}
* @memberof HotelOfferApi
*/
fax?: string | null;
/**
* ⚠️ Cached images of the hotel. May be empty, use the endpoint /hotels/{id}/images to get the latest images.
*
* List of hotel images in various sizes featuring an indicator for the primary (hero) image
* @type {Array<HotelImageApi>}
* @memberof HotelOfferApi
*/
hotelImages: Array<HotelImageApi>;
/**
* List of meta reviews (category and rating) that are summary of verified reviews collected across the web on the Hotel to help choose the best option.
* @type {Array<HotelReviewRatingApi>}
* @memberof HotelOfferApi
*/
hotelReviewRatings?: Array<HotelReviewRatingApi> | null;
/**
* Hotel id.
* @type {string}
* @memberof HotelOfferApi
*/
id: string;
/**
*
* @type {HotelApiImages}
* @memberof HotelOfferApi
*/
images?: HotelApiImages | null;
/**
* Hotel latitude.
* @type {number}
* @memberof HotelOfferApi
*/
latitude: number;
/**
* Hotel longitude.
* @type {number}
* @memberof HotelOfferApi
*/
longitude: number;
/**
* Hotel name.
* @type {string}
* @memberof HotelOfferApi
*/
name: string;
/**
* Hotel phone number.
* @type {string}
* @memberof HotelOfferApi
*/
phone?: string | null;
/**
* Internal policy of the hotel.
* @type {string}
* @memberof HotelOfferApi
*/
policy?: string | null;
/**
* Hotel address postal code.
* @type {string}
* @memberof HotelOfferApi
*/
postalCode?: string | null;
/**
* Hotel Star rating.
* @type {any}
* @memberof HotelOfferApi
*/
rating?: any | null;
/**
* Hotel address state.
* @type {string}
* @memberof HotelOfferApi
*/
state?: string | null;
/**
* TripAdvisor property id. When applicable.
* @type {string}
* @memberof HotelOfferApi
*/
taId?: string | null;
/**
* Hotel timezone.
* @type {string}
* @memberof HotelOfferApi
*/
timezone: string;
/**
*
* @type {Array<TravelTimesApi>}
* @memberof HotelOfferApi
*/
venues?: Array<TravelTimesApi>;
/**
* Hotel website url.
* @type {string}
* @memberof HotelOfferApi
*/
website?: string | null;
/**
*
* @type {Array<HotelRoomOfferApi>}
* @memberof HotelOfferApi
*/
hotelRoomOffers: Array<HotelRoomOfferApi>;
/**
*
* @type {Array<TagApi>}
* @memberof HotelOfferApi
*/
tags?: Array<TagApi>;
}
/**
*
* @export
* @interface HotelOfferApiAllOf
*/
export interface HotelOfferApiAllOf {
/**
* ⚠️ Cached images of the hotel. May be empty, use the endpoint /hotels/{id}/images to get the latest images.
*
* List of hotel images in various sizes featuring an indicator for the primary (hero) image
* @type {Array<HotelImageApi>}
* @memberof HotelOfferApiAllOf
*/
hotelImages: Array<HotelImageApi>;
/**
*
* @type {Array<HotelRoomOfferApi>}
* @memberof HotelOfferApiAllOf
*/
hotelRoomOffers: Array<HotelRoomOfferApi>;
/**
*
* @type {Array<TagApi>}
* @memberof HotelOfferApiAllOf
*/
tags?: Array<TagApi>;
}
/**
*
* @export
* @interface HotelOfferRequestApiResponse
*/
export interface HotelOfferRequestApiResponse {
/**
* This endpoint allows to find the geo-coordinates of a known address, place or locality via this free-text address query field. This address will eventually be geocoded into a latitude/longitude pair.
*
* <b style="color: red;">If address cannot be geocoded (transformed into a latitude/longitude pair) provided **latitude** and **longitude** parameters will be used as fallback.</b>
* @type {string}
* @memberof HotelOfferRequestApiResponse
*/
address?: string | null;
/**
* The total number of adults who will be staying in the property.
* @type {number}
* @memberof HotelOfferRequestApiResponse
*/
adultCount: number;
/**
* Date of check-in formatted as YYYY-MM-DD.
* @type {string}
* @memberof HotelOfferRequestApiRes