@revolugo/booking-api-client
Version:
Javascript Revolugo Booking API Client (browser + server)
268 lines (267 loc) • 8.47 kB
TypeScript
import { CancellationPolicyApi } from './CancellationPolicyApi';
import { ContactPersonApi } from './ContactPersonApi';
import { CurrencyClient } from './CurrencyClient';
import { EventApi } from './EventApi';
import { HotelRoomOfferApi } from './HotelRoomOfferApi';
import { HotelRoomingListApi } from './HotelRoomingListApi';
import { InvoiceApi } from './InvoiceApi';
import { PaymentMethodApi } from './PaymentMethodApi';
import { SourceMarket } from './SourceMarket';
import { TaxApi } from './TaxApi';
/**
* Booking record
* @export
* @interface BookingApi
*/
export interface BookingApi {
/**
* Additional instructions on how to check-in.
* @type {string}
* @memberof BookingApi
*/
additionalCheckInInstruction?: string | null;
/**
* Additional house policy, house manual, or condominium rules.
* @type {string}
* @memberof BookingApi
*/
additionalPolicies?: string | null;
/**
* 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 {CurrencyClient}
* @memberof BookingApi
*/
currency: CurrencyClient;
/**
* 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;
/**
* Code your guest might need to show to the hotel during check-in. This number will only but available a few days prior to check-in and it’s subject to availability.
* @type {string}
* @memberof BookingApi
*/
hotelConfirmationId?: 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];
/**
* Check if a given object implements the BookingApi interface.
*/
export declare function instanceOfBookingApi(value: object): boolean;
export declare function BookingApiFromJSON(json: any): BookingApi;
export declare function BookingApiFromJSONTyped(json: any, ignoreDiscriminator: boolean): BookingApi;
export declare function BookingApiToJSON(value?: BookingApi | null): any;