/**
* apaleo Booking API - not safe for work
* Continuously evolving version - use at your own risk! Resources and methods to manage guest journeys.
*
* OpenAPI spec version: v0-nsfw
*
*
* NOTE: This class is auto generated by the swagger code generator program.
* https://github.com/swagger-api/swagger-codegen.git
* Do not edit the class manually.
*/
import { ActionModelReservationActionNotAllowedReservationActionReason } from './actionModelReservationActionNotAllowedReservationActionReason';
import { BookerModel } from './bookerModel';
import { CommissionModel } from './commissionModel';
import { EmbeddedCompanyModel } from './embeddedCompanyModel';
import { EmbeddedMarketSegmentModel } from './embeddedMarketSegmentModel';
import { EmbeddedPropertyModel } from './embeddedPropertyModel';
import { EmbeddedRatePlanModel } from './embeddedRatePlanModel';
import { EmbeddedUnitGroupModel } from './embeddedUnitGroupModel';
import { EmbeddedUnitModel } from './embeddedUnitModel';
import { ExternalReferencesModel } from './externalReferencesModel';
import { GuestModel } from './guestModel';
import { MonetaryValueModel } from './monetaryValueModel';
import { PayableAmountModel } from './payableAmountModel';
import { PaymentAccountModel } from './paymentAccountModel';
import { RegisteredCardModel } from './registeredCardModel';
import { ReservationAssignedUnitModel } from './reservationAssignedUnitModel';
import { ReservationCancellationFeeModel } from './reservationCancellationFeeModel';
import { ReservationNoShowFeeModel } from './reservationNoShowFeeModel';
import { ReservationServiceItemModel } from './reservationServiceItemModel';
import { ReservationValidationMessageModel } from './reservationValidationMessageModel';
import { TaxDetailModel } from './taxDetailModel';
import { TimeSliceModel } from './timeSliceModel';
import { ClassMetaData } from '@apaleo/angular-api-proxy-common';
export interface ReservationModel {
/**
* Reservation id
*/
id: string;
/**
* Booking id
*/
bookingId: string;
/**
* Block id
*/
blockId?: string;
/**
* Name of the group
*/
groupName?: string;
/**
* Status of the reservation
*/
status: ReservationModel.StatusEnum;
/**
* Time of check-in
A date and time (without fractional second part) in UTC or with UTC offset as defined in ISO8601:2004
*/
checkInTime?: Date;
/**
* Time of check-out
A date and time (without fractional second part) in UTC or with UTC offset as defined in ISO8601:2004
*/
checkOutTime?: Date;
/**
* Time of cancellation, if the reservation was canceled
A date and time (without fractional second part) in UTC or with UTC offset as defined in ISO8601:2004
*/
cancellationTime?: Date;
/**
* Time of setting no-show reservation status
A date and time (without fractional second part) in UTC or with UTC offset as defined in ISO8601:2004
*/
noShowTime?: Date;
unit?: EmbeddedUnitModel;
property: EmbeddedPropertyModel;
ratePlan: EmbeddedRatePlanModel;
unitGroup: EmbeddedUnitGroupModel;
totalGrossAmount: MonetaryValueModel;
/**
* Date of arrival
A date and time (without fractional second part) in UTC or with UTC offset as defined in ISO8601:2004
*/
arrival: Date;
/**
* Date of departure
A date and time (without fractional second part) in UTC or with UTC offset as defined in ISO8601:2004
*/
departure: Date;
/**
* Date of creation
A date and time (without fractional second part) in UTC or with UTC offset as defined in ISO8601:2004
*/
created: Date;
/**
* Date of last modification
A date and time (without fractional second part) in UTC or with UTC offset as defined in ISO8601:2004
*/
modified: Date;
/**
* Number of adults
*/
adults: number;
/**
* The ages of the children
*/
childrenAges?: Array;
/**
* Additional information and comments
*/
comment?: string;
/**
* Additional information and comment by the guest
*/
guestComment?: string;
/**
* Code in external system
*/
externalCode?: string;
/**
* Channel code
*/
channelCode: ReservationModel.ChannelCodeEnum;
/**
* Source of the reservation (e.g Hotels.com, Orbitz, etc.)
*/
source?: string;
primaryGuest?: GuestModel;
/**
* Additional guests of the reservation.
*/
additionalGuests?: Array;
booker?: BookerModel;
paymentAccount?: PaymentAccountModel;
registeredCard?: RegisteredCardModel;
/**
* The list of time slices with the reserved units / unit groups for the stay
*/
timeSlices?: Array;
/**
* The list of additional services (extras, add-ons) reserved for the stay
*/
services?: Array;
/**
* The strongest guarantee for the rate plans booked in this reservation
*/
guaranteeType: ReservationModel.GuaranteeTypeEnum;
cancellationFee: ReservationCancellationFeeModel;
noShowFee: ReservationNoShowFeeModel;
/**
* The purpose of the trip, leisure or business
*/
travelPurpose?: ReservationModel.TravelPurposeEnum;
balance: MonetaryValueModel;
/**
* The list of units assigned to this reservation
*/
assignedUnits?: Array;
/**
* Validation rules are applied to reservations during their lifetime. For example a reservation that was created while the house or unit group is already fully booked. Whenever a rule was or is currently violated, a validation message will be added to this list. They can be deleted whenever the hotel staff worked them off.
*/
validationMessages?: Array;
/**
* The list of actions for this reservation
*/
actions?: Array;
company?: EmbeddedCompanyModel;
/**
* The corporate code
*/
corporateCode?: string;
/**
* Whether all folios of a reservation have an invoice
*/
allFoliosHaveInvoice?: boolean;
/**
* Tax breakdown, displaying net and tax amount for each VAT type
*/
taxDetails: Array;
/**
* Whether the city tax has already been added to the reservation. Set to false, if the property does not have city tax configured
*/
hasCityTax: boolean;
commission?: CommissionModel;
/**
* The promo code associated with a certain special offer used to create the reservation
*/
promoCode?: string;
payableAmount: PayableAmountModel;
marketSegment?: EmbeddedMarketSegmentModel;
/**
* Whether the reservation can accept charges on its folios. This is purely informational and no validation is performed on this field. Defaults to true.
*/
isOpenForCharges: boolean;
/**
* Indicates whether the reservation is marked as pre-checked-in or not.
*/
isPreCheckedIn?: boolean;
/**
* Indicates whether this reservation is locked which when true prevents unit assignment and unassignment
*/
isUnitAssignmentLocked?: boolean;
externalReferences?: ExternalReferencesModel;
}
export declare namespace ReservationModel {
type StatusEnum = 'Confirmed' | 'InHouse' | 'CheckedOut' | 'Canceled' | 'NoShow';
const StatusEnumValues: readonly StatusEnum[];
type ChannelCodeEnum = 'Direct' | 'BookingCom' | 'Ibe' | 'ChannelManager' | 'Expedia' | 'Homelike' | 'Hrs' | 'AltoVita' | 'DesVu';
const ChannelCodeEnumValues: readonly ChannelCodeEnum[];
type GuaranteeTypeEnum = 'PM6Hold' | 'CreditCard' | 'Prepayment' | 'Company' | 'Ota';
const GuaranteeTypeEnumValues: readonly GuaranteeTypeEnum[];
type TravelPurposeEnum = 'Business' | 'Leisure';
const TravelPurposeEnumValues: readonly TravelPurposeEnum[];
}
export declare namespace ReservationModel {
const $metaData: ClassMetaData;
}