UNPKG

@revolugo/booking-api-client

Version:

Javascript Revolugo Booking API Client (browser + server)

268 lines (267 loc) 8.47 kB
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;