/**
* 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 { EmbeddedRatePlanModel } from './embeddedRatePlanModel';
import { MonetaryValueModel } from './monetaryValueModel';
import { OfferCancellationFeeModel } from './offerCancellationFeeModel';
import { OfferCityTaxModel } from './offerCityTaxModel';
import { OfferFeeModel } from './offerFeeModel';
import { OfferNoShowFeeModel } from './offerNoShowFeeModel';
import { OfferTimeSliceModel } from './offerTimeSliceModel';
import { OfferUnitGroupModel } from './offerUnitGroupModel';
import { OfferValidationMessageModel } from './offerValidationMessageModel';
import { ServiceOfferModel } from './serviceOfferModel';
import { TaxDetailModel } from './taxDetailModel';
import { ClassMetaData } from '@apaleo/angular-api-proxy-common';
export interface OfferModel {
/**
* The earliest arrival date and time for this offer
A date and time (without fractional second part) in UTC or with UTC offset as defined in ISO8601:2004
*/
arrival: Date;
/**
* The latest departure date and time for this offer
A date and time (without fractional second part) in UTC or with UTC offset as defined in ISO8601:2004
*/
departure: Date;
unitGroup: OfferUnitGroupModel;
/**
* The minimum guarantee type for this offer
*/
minGuaranteeType: OfferModel.MinGuaranteeTypeEnum;
/**
* The number of available units for that offer
*/
availableUnits: number;
ratePlan: EmbeddedRatePlanModel;
totalGrossAmount: MonetaryValueModel;
cancellationFee: OfferCancellationFeeModel;
noShowFee: OfferNoShowFeeModel;
/**
* The breakdown for each time slice for this offer
*/
timeSlices: Array;
/**
* The list of the mandatory services for this offer. Such services will be automatically booked when booking this offer
*/
services?: Array;
/**
* The details of the fees that will be added on top of the Apaleo.Api.Modules.Booking.Models.Offer.StayOffer.OfferModel.TotalGrossAmount when creating the booking
*/
fees?: Array;
/**
* Tax breakdown, displaying net and tax amount for each VAT type
*/
taxDetails: Array;
/**
* Validation rules that were applied to the offer and show the reason why the offer is not bookable
*/
validationMessages?: Array;
/**
* ID of the company the offer is created for
*/
companyId?: string;
/**
* The corporate rate code the offer is created for
*/
corporateCode?: string;
/**
* Whether the offer is for a corporate rate plan
*/
isCorporate: boolean;
prePaymentAmount: MonetaryValueModel;
/**
* Details of city taxes for this offer, if any
*/
cityTaxes?: Array;
}
export declare namespace OfferModel {
type MinGuaranteeTypeEnum = 'PM6Hold' | 'CreditCard' | 'Prepayment' | 'Company';
const MinGuaranteeTypeEnumValues: readonly MinGuaranteeTypeEnum[];
}
export declare namespace OfferModel {
const $metaData: ClassMetaData;
}