Пример #1
0
 /// <summary>
 /// Initializes a new instance of the ServiceDateItemModel class.
 /// </summary>
 /// <param name="amount">The total price for all booked
 /// services</param>
 /// <param name="count">The count of booked services</param>
 /// <param name="serviceDate">The date this service is
 /// delivered</param>
 public ServiceDateItemModel(AmountModel amount, int count, System.DateTime serviceDate)
 {
     Amount      = amount;
     Count       = count;
     ServiceDate = serviceDate;
     CustomInit();
 }
Пример #2
0
 /// <summary>
 /// Initializes a new instance of the ServiceOfferItemModel class.
 /// </summary>
 /// <param name="amount">The total price (for all persons on the
 /// offer)</param>
 /// <param name="isDefaultDate">Depending on the postNextDay setting of
 /// the service it will by default be posted before or after midnight.
 /// Breakfast is usually delivered on the next morning, so all the
 /// dates from the day after arrival to the departure day
 /// are default dates and will have this flag set to true. Those are
 /// also the dates the service will be booked for if
 /// you do not specify dates in the book-service call. Still, you can
 /// override this and also book the dates set to IsDefaultDate =
 /// false.</param>
 /// <param name="serviceDate">The date this service is
 /// delivered</param>
 public ServiceOfferItemModel(AmountModel amount, bool isDefaultDate, System.DateTime serviceDate)
 {
     Amount        = amount;
     IsDefaultDate = isDefaultDate;
     ServiceDate   = serviceDate;
     CustomInit();
 }
Пример #3
0
 /// <summary>
 /// Initializes a new instance of the ReservationServiceItemModel
 /// class.
 /// </summary>
 /// <param name="dates">The dates the service will be delivered with
 /// its price</param>
 /// <param name="service">The service</param>
 /// <param name="totalAmount">The total amount for this service for the
 /// whole stay</param>
 public ReservationServiceItemModel(IList <ServiceDateItemModel> dates, ServiceModel service, AmountModel totalAmount)
 {
     Dates       = dates;
     Service     = service;
     TotalAmount = totalAmount;
     CustomInit();
 }
Пример #4
0
 /// <summary>
 /// Initializes a new instance of the ServiceOfferModel class.
 /// </summary>
 /// <param name="count">The default count of offered services. For
 /// services whose pricing unit is 'Person' it will be based on the
 /// adults and children specified, otherwise 1.</param>
 /// <param name="dates">The dates the service will be delivered with
 /// its price</param>
 /// <param name="prePaymentAmount">The amount that needs to be
 /// pre-paid.</param>
 /// <param name="service">The service</param>
 /// <param name="totalAmount">The total price</param>
 public ServiceOfferModel(int count, IList <ServiceOfferItemModel> dates, MonetaryValueModel prePaymentAmount, ServiceModel service, AmountModel totalAmount)
 {
     Count            = count;
     Dates            = dates;
     PrePaymentAmount = prePaymentAmount;
     Service          = service;
     TotalAmount      = totalAmount;
     CustomInit();
 }
 /// <summary>
 /// Initializes a new instance of the ReservationServiceModel class.
 /// </summary>
 /// <param name="amount">The total price for all booked
 /// services</param>
 /// <param name="bookedAsExtra">Whether this service is already booked
 /// as extra</param>
 /// <param name="count">The count of booked services</param>
 /// <param name="service">The reserved service</param>
 /// <param name="serviceDate">The date this service is
 /// delivered</param>
 public ReservationServiceModel(AmountModel amount, bool bookedAsExtra, int count, EmbeddedServiceModel service, System.DateTime serviceDate)
 {
     Amount        = amount;
     BookedAsExtra = bookedAsExtra;
     Count         = count;
     Service       = service;
     ServiceDate   = serviceDate;
     CustomInit();
 }
Пример #6
0
 /// <summary>
 /// Initializes a new instance of the OfferServiceModel class.
 /// </summary>
 /// <param name="amount">The total price</param>
 /// <param name="count">The default count of offered services. For
 /// services whose pricing unit is 'Person' it will be based on the
 /// adults and children specified, otherwise 1.</param>
 /// <param name="pricingMode">Whether the service price is included in
 /// or added to the base rate. Possible values include: 'Included',
 /// 'Additional'</param>
 /// <param name="service">The service</param>
 /// <param name="serviceDate">The date this service is
 /// delivered</param>
 public OfferServiceModel(AmountModel amount, int count, PricingMode pricingMode, EmbeddedServiceModel service, System.DateTime serviceDate)
 {
     Amount      = amount;
     Count       = count;
     PricingMode = pricingMode;
     Service     = service;
     ServiceDate = serviceDate;
     CustomInit();
 }
Пример #7
0
 /// <summary>
 /// Initializes a new instance of the OfferTimeSliceModel class.
 /// </summary>
 /// <param name="availableUnits">The number of available units for that
 /// time slice</param>
 /// <param name="baseAmount">The price for this time slice without
 /// included services</param>
 /// <param name="fromProperty">The start date and time for this time
 /// slice&lt;br /&gt;Specify a date and time (without fractional second
 /// part) in UTC or with UTC offset as defined in &lt;a
 /// href="https://en.wikipedia.org/wiki/ISO_8601"&gt;ISO8601:2004&lt;/a&gt;</param>
 /// <param name="to">The end date and time for this time slice&lt;br
 /// /&gt;Specify a date and time (without fractional second part) in
 /// UTC or with UTC offset as defined in &lt;a
 /// href="https://en.wikipedia.org/wiki/ISO_8601"&gt;ISO8601:2004&lt;/a&gt;</param>
 /// <param name="totalGrossAmount">The total gross price for this time
 /// slice, which is comprised by the base price and all included
 /// services' prices</param>
 /// <param name="includedServices">The breakdown for services included
 /// in the offer</param>
 public OfferTimeSliceModel(int availableUnits, AmountModel baseAmount, System.DateTime fromProperty, System.DateTime to, MonetaryValueModel totalGrossAmount, IList <OfferServiceModel> includedServices = default(IList <OfferServiceModel>))
 {
     AvailableUnits   = availableUnits;
     BaseAmount       = baseAmount;
     FromProperty     = fromProperty;
     IncludedServices = includedServices;
     To = to;
     TotalGrossAmount = totalGrossAmount;
     CustomInit();
 }
Пример #8
0
 /// <summary>
 /// Initializes a new instance of the
 /// ReservationStayOfferTimeSliceModel class.
 /// </summary>
 /// <param name="baseAmount">The price for this time slice without
 /// included services</param>
 /// <param name="fromProperty">The start date and time for this time
 /// slice&lt;br /&gt;Specify a date and time (without fractional second
 /// part) in UTC or with UTC offset as defined in &lt;a
 /// href="https://en.wikipedia.org/wiki/ISO_8601"&gt;ISO8601:2004&lt;/a&gt;</param>
 /// <param name="ratePlan">The rate plan for this time slice</param>
 /// <param name="to">The end date and time for this time slice&lt;br
 /// /&gt;Specify a date and time (without fractional second part) in
 /// UTC or with UTC offset as defined in &lt;a
 /// href="https://en.wikipedia.org/wiki/ISO_8601"&gt;ISO8601:2004&lt;/a&gt;</param>
 /// <param name="totalGrossAmount">The total gross price for this time
 /// slice, which is comprised by the base price and all included
 /// services' prices</param>
 /// <param name="unitGroup">The unit group for this time slice</param>
 /// <param name="includedServices">The breakdown for services included
 /// in the offer</param>
 public ReservationStayOfferTimeSliceModel(AmountModel baseAmount, System.DateTime fromProperty, EmbeddedRatePlanModel ratePlan, System.DateTime to, MonetaryValueModel totalGrossAmount, OfferUnitGroupModel unitGroup, IList <ReservationStayOfferServiceModel> includedServices = default(IList <ReservationStayOfferServiceModel>))
 {
     BaseAmount       = baseAmount;
     FromProperty     = fromProperty;
     IncludedServices = includedServices;
     RatePlan         = ratePlan;
     To = to;
     TotalGrossAmount = totalGrossAmount;
     UnitGroup        = unitGroup;
     CustomInit();
 }
Пример #9
0
 /// <summary>
 /// Initializes a new instance of the TimeSliceModel class.
 /// </summary>
 /// <param name="baseAmount">The price for this time slice without
 /// included services</param>
 /// <param name="fromProperty">The start date and time for this time
 /// slice&lt;br /&gt;Specify a date and time (without fractional second
 /// part) in UTC or with UTC offset as defined in &lt;a
 /// href="https://en.wikipedia.org/wiki/ISO_8601"&gt;ISO8601:2004&lt;/a&gt;</param>
 /// <param name="ratePlan">The rate plan for this time slice</param>
 /// <param name="serviceDate">The service date for this time
 /// slice</param>
 /// <param name="to">The end date and time for this time slice&lt;br
 /// /&gt;Specify a date and time (without fractional second part) in
 /// UTC or with UTC offset as defined in &lt;a
 /// href="https://en.wikipedia.org/wiki/ISO_8601"&gt;ISO8601:2004&lt;/a&gt;</param>
 /// <param name="totalGrossAmount">The total gross price for this time
 /// slice, which is comprised by the base price and the all included
 /// services' prices</param>
 /// <param name="unitGroup">The unit group for this time slice</param>
 /// <param name="actions">The list of actions allowed for this time
 /// slice</param>
 /// <param name="includedServices">The list of services included in the
 /// rate plan (package elements)</param>
 /// <param name="unit">The assigned unit for this time slice</param>
 public TimeSliceModel(AmountModel baseAmount, System.DateTime fromProperty, EmbeddedRatePlanModel ratePlan, System.DateTime serviceDate, System.DateTime to, MonetaryValueModel totalGrossAmount, EmbeddedUnitGroupModel unitGroup, IList <ActionModelReservationTimeSliceActionNotAllowedReservationTimeSliceActionReason> actions = default(IList <ActionModelReservationTimeSliceActionNotAllowedReservationTimeSliceActionReason>), IList <ReservationServiceModel> includedServices = default(IList <ReservationServiceModel>), EmbeddedUnitModel unit = default(EmbeddedUnitModel))
 {
     Actions          = actions;
     BaseAmount       = baseAmount;
     FromProperty     = fromProperty;
     IncludedServices = includedServices;
     RatePlan         = ratePlan;
     ServiceDate      = serviceDate;
     To = to;
     TotalGrossAmount = totalGrossAmount;
     Unit             = unit;
     UnitGroup        = unitGroup;
     CustomInit();
 }
Пример #10
0
 /// <summary>
 /// Initializes a new instance of the ReservationItemModel class.
 /// </summary>
 /// <param name="adults">Number of adults</param>
 /// <param name="arrival">Date of arrival&lt;br /&gt;Specify a date and
 /// time (without fractional second part) in UTC or with UTC offset as
 /// defined in &lt;a
 /// href="https://en.wikipedia.org/wiki/ISO_8601"&gt;ISO8601:2004&lt;/a&gt;</param>
 /// <param name="balance">The balance of this reservation.</param>
 /// <param name="bookingId">Booking id</param>
 /// <param name="cancellationFee">Details about the cancellation fee
 /// for this reservation</param>
 /// <param name="channelCode">Channel code. Possible values include:
 /// 'Direct', 'BookingCom', 'Ibe', 'ChannelManager', 'Expedia'</param>
 /// <param name="created">Date of creation&lt;br /&gt;Specify a date
 /// and time (without fractional second part) in UTC or with UTC offset
 /// as defined in &lt;a
 /// href="https://en.wikipedia.org/wiki/ISO_8601"&gt;ISO8601:2004&lt;/a&gt;</param>
 /// <param name="departure">Date of departure&lt;br /&gt;Specify a date
 /// and time (without fractional second part) in UTC or with UTC offset
 /// as defined in &lt;a
 /// href="https://en.wikipedia.org/wiki/ISO_8601"&gt;ISO8601:2004&lt;/a&gt;</param>
 /// <param name="guaranteeType">The strongest guarantee for the rate
 /// plans booked in this reservation. Possible values include:
 /// 'PM6Hold', 'CreditCard', 'Prepayment', 'Company', 'Ota'</param>
 /// <param name="hasCityTax">Whether the city tax has already been
 /// added to the reservation. Set to false, if the property does not
 /// have city tax configured</param>
 /// <param name="id">Reservation id</param>
 /// <param name="modified">Date of last modification&lt;br /&gt;Specify
 /// a date and time (without fractional second part) in UTC or with UTC
 /// offset as defined in &lt;a
 /// href="https://en.wikipedia.org/wiki/ISO_8601"&gt;ISO8601:2004&lt;/a&gt;</param>
 /// <param name="noShowFee">Details about the no-show fee for this
 /// reservation</param>
 /// <param name="primaryGuest">The primary guest of the
 /// reservation</param>
 /// <param name="property">The property</param>
 /// <param name="ratePlan">The rate plan</param>
 /// <param name="status">Status of the reservation. Possible values
 /// include: 'Confirmed', 'InHouse', 'CheckedOut', 'Canceled',
 /// 'NoShow'</param>
 /// <param name="totalGrossAmount">Total amount</param>
 /// <param name="unitGroup">The unit group</param>
 /// <param name="actions">The list of actions for this
 /// reservation</param>
 /// <param name="additionalGuests">Additional guests of the
 /// reservation.</param>
 /// <param name="allFoliosHaveInvoice">Whether all folios of a
 /// reservation have an invoice</param>
 /// <param name="assignedUnits">The list of units assigned to this
 /// reservation</param>
 /// <param name="blockId">Block id</param>
 /// <param name="booker">The person who made the booking</param>
 /// <param name="cancellationTime">Time of cancellation, if the
 /// reservation was canceled&lt;br /&gt;Specify a date and time
 /// (without fractional second part) in UTC or with UTC offset as
 /// defined in &lt;a
 /// href="https://en.wikipedia.org/wiki/ISO_8601"&gt;ISO8601:2004&lt;/a&gt;</param>
 /// <param name="checkInTime">Time of check-in&lt;br /&gt;Specify a
 /// date and time (without fractional second part) in UTC or with UTC
 /// offset as defined in &lt;a
 /// href="https://en.wikipedia.org/wiki/ISO_8601"&gt;ISO8601:2004&lt;/a&gt;</param>
 /// <param name="checkOutTime">Time of check-out&lt;br /&gt;Specify a
 /// date and time (without fractional second part) in UTC or with UTC
 /// offset as defined in &lt;a
 /// href="https://en.wikipedia.org/wiki/ISO_8601"&gt;ISO8601:2004&lt;/a&gt;</param>
 /// <param name="childrenAges">The ages of the children</param>
 /// <param name="cityTax">The amount of city tax that can be charged
 /// for this reservation</param>
 /// <param name="comment">Additional information and comments</param>
 /// <param name="commission">The information about the OTA
 /// commission.</param>
 /// <param name="company">Company for this reservation.</param>
 /// <param name="corporateCode">Corporate code provided during
 /// creation. Used to find offers during amend.</param>
 /// <param name="externalCode">Code in external system</param>
 /// <param name="guestComment">Additional information and comment by
 /// the guest</param>
 /// <param name="noShowTime">Time of setting no-show reservation
 /// status&lt;br /&gt;Specify a date and time (without fractional
 /// second part) in UTC or with UTC offset as defined in &lt;a
 /// href="https://en.wikipedia.org/wiki/ISO_8601"&gt;ISO8601:2004&lt;/a&gt;</param>
 /// <param name="paymentAccount">Payment information</param>
 /// <param name="services">The list of additional services (extras,
 /// add-ons) reserved for the stay</param>
 /// <param name="source">Source of the reservation (e.g Hotels.com,
 /// Orbitz, etc.)</param>
 /// <param name="timeSlices">The list of time slices with the reserved
 /// units / unit groups for the stay</param>
 /// <param name="travelPurpose">The purpose of the trip, leisure or
 /// business. Possible values include: 'Business', 'Leisure'</param>
 /// <param name="unit">The unit</param>
 /// <param name="validationMessages">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.</param>
 public ReservationItemModel(int adults, System.DateTime arrival, MonetaryValueModel balance, string bookingId, ReservationCancellationFeeModel cancellationFee, ChannelCode channelCode, System.DateTime created, System.DateTime departure, GuaranteeType guaranteeType, bool hasCityTax, string id, System.DateTime modified, ReservationNoShowFeeModel noShowFee, GuestModel primaryGuest, EmbeddedPropertyModel property, EmbeddedRatePlanModel ratePlan, ReservationStatus status, MonetaryValueModel totalGrossAmount, EmbeddedUnitGroupModel unitGroup, IList <ActionModelReservationActionNotAllowedReservationActionReason> actions = default(IList <ActionModelReservationActionNotAllowedReservationActionReason>), IList <GuestModel> additionalGuests = default(IList <GuestModel>), bool?allFoliosHaveInvoice = default(bool?), IList <ReservationAssignedUnitModel> assignedUnits = default(IList <ReservationAssignedUnitModel>), string blockId = default(string), BookerModel booker = default(BookerModel), System.DateTime?cancellationTime = default(System.DateTime?), System.DateTime?checkInTime = default(System.DateTime?), System.DateTime?checkOutTime = default(System.DateTime?), IList <int?> childrenAges = default(IList <int?>), AmountModel cityTax = default(AmountModel), string comment = default(string), CommissionModel commission = default(CommissionModel), EmbeddedCompanyModel company = default(EmbeddedCompanyModel), string corporateCode = default(string), string externalCode = default(string), string guestComment = default(string), System.DateTime?noShowTime = default(System.DateTime?), PaymentAccountModel paymentAccount = default(PaymentAccountModel), IList <ReservationServiceItemModel> services = default(IList <ReservationServiceItemModel>), string source = default(string), IList <TimeSliceModel> timeSlices = default(IList <TimeSliceModel>), string travelPurpose = default(string), EmbeddedUnitModel unit = default(EmbeddedUnitModel), IList <ReservationValidationMessageModel> validationMessages = default(IList <ReservationValidationMessageModel>))
 {
     Actions              = actions;
     AdditionalGuests     = additionalGuests;
     Adults               = adults;
     AllFoliosHaveInvoice = allFoliosHaveInvoice;
     Arrival              = arrival;
     AssignedUnits        = assignedUnits;
     Balance              = balance;
     BlockId              = blockId;
     Booker               = booker;
     BookingId            = bookingId;
     CancellationFee      = cancellationFee;
     CancellationTime     = cancellationTime;
     ChannelCode          = channelCode;
     CheckInTime          = checkInTime;
     CheckOutTime         = checkOutTime;
     ChildrenAges         = childrenAges;
     CityTax              = cityTax;
     Comment              = comment;
     Commission           = commission;
     Company              = company;
     CorporateCode        = corporateCode;
     Created              = created;
     Departure            = departure;
     ExternalCode         = externalCode;
     GuaranteeType        = guaranteeType;
     GuestComment         = guestComment;
     HasCityTax           = hasCityTax;
     Id                 = id;
     Modified           = modified;
     NoShowFee          = noShowFee;
     NoShowTime         = noShowTime;
     PaymentAccount     = paymentAccount;
     PrimaryGuest       = primaryGuest;
     Property           = property;
     RatePlan           = ratePlan;
     Services           = services;
     Source             = source;
     Status             = status;
     TimeSlices         = timeSlices;
     TotalGrossAmount   = totalGrossAmount;
     TravelPurpose      = travelPurpose;
     Unit               = unit;
     UnitGroup          = unitGroup;
     ValidationMessages = validationMessages;
     CustomInit();
 }
Пример #11
0
 /// <summary>
 /// Initializes a new instance of the ReservationStayOfferModel class.
 /// </summary>
 /// <param name="arrival">The earliest arrival date and time for this
 /// offer&lt;br /&gt;Specify a date and time (without fractional second
 /// part) in UTC or with UTC offset as defined in &lt;a
 /// href="https://en.wikipedia.org/wiki/ISO_8601"&gt;ISO8601:2004&lt;/a&gt;</param>
 /// <param name="availableUnits">The number of available units for that
 /// offer</param>
 /// <param name="cancellationFee">Details about the cancellation fee
 /// for this offer</param>
 /// <param name="departure">The latest departure date and time for this
 /// offer&lt;br /&gt;Specify a date and time (without fractional second
 /// part) in UTC or with UTC offset as defined in &lt;a
 /// href="https://en.wikipedia.org/wiki/ISO_8601"&gt;ISO8601:2004&lt;/a&gt;</param>
 /// <param name="minGuaranteeType">The minimum guarantee type for this
 /// offer. Possible values include: 'PM6Hold', 'CreditCard',
 /// 'Prepayment', 'Company'</param>
 /// <param name="noShowFee">Details about the no-show fee for this
 /// offer</param>
 /// <param name="taxDetails">Tax breakdown, displaying net and tax
 /// amount for each VAT type</param>
 /// <param name="timeSlices">The breakdown for each time slice for this
 /// offer</param>
 /// <param name="totalGrossAmount">The price for the whole stay</param>
 /// <param name="cityTax">The amount of city tax that can be charged
 /// for this offer</param>
 /// <param name="companyId">ID of the company the offer is created
 /// for</param>
 /// <param name="corporateCode">The corporate rate code the offer is
 /// created for</param>
 /// <param name="services">The breakdown for extra services reserved
 /// for this offer</param>
 /// <param name="validationMessages">Validation rules that were applied
 /// to the offer and show the reason why the offer is not
 /// bookable</param>
 public ReservationStayOfferModel(System.DateTime arrival, int availableUnits, OfferCancellationFeeModel cancellationFee, System.DateTime departure, MinGuaranteeType minGuaranteeType, OfferNoShowFeeModel noShowFee, IList <TaxDetailModel> taxDetails, IList <ReservationStayOfferTimeSliceModel> timeSlices, MonetaryValueModel totalGrossAmount, AmountModel cityTax = default(AmountModel), string companyId = default(string), string corporateCode = default(string), IList <ServiceOfferModel> services = default(IList <ServiceOfferModel>), IList <OfferValidationMessageModel> validationMessages = default(IList <OfferValidationMessageModel>))
 {
     Arrival            = arrival;
     AvailableUnits     = availableUnits;
     CancellationFee    = cancellationFee;
     CityTax            = cityTax;
     CompanyId          = companyId;
     CorporateCode      = corporateCode;
     Departure          = departure;
     MinGuaranteeType   = minGuaranteeType;
     NoShowFee          = noShowFee;
     Services           = services;
     TaxDetails         = taxDetails;
     TimeSlices         = timeSlices;
     TotalGrossAmount   = totalGrossAmount;
     ValidationMessages = validationMessages;
     CustomInit();
 }
Пример #12
0
 /// <summary>
 /// Initializes a new instance of the OfferModel class.
 /// </summary>
 /// <param name="arrival">The earliest arrival date and time for this
 /// offer&lt;br /&gt;Specify a date and time (without fractional second
 /// part) in UTC or with UTC offset as defined in &lt;a
 /// href="https://en.wikipedia.org/wiki/ISO_8601"&gt;ISO8601:2004&lt;/a&gt;</param>
 /// <param name="availableUnits">The number of available units for that
 /// offer</param>
 /// <param name="cancellationFee">Details about the cancellation fee
 /// for this offer</param>
 /// <param name="departure">The latest departure date and time for this
 /// offer&lt;br /&gt;Specify a date and time (without fractional second
 /// part) in UTC or with UTC offset as defined in &lt;a
 /// href="https://en.wikipedia.org/wiki/ISO_8601"&gt;ISO8601:2004&lt;/a&gt;</param>
 /// <param name="minGuaranteeType">The minimum guarantee type for this
 /// offer. Possible values include: 'PM6Hold', 'CreditCard',
 /// 'Prepayment', 'Company'</param>
 /// <param name="noShowFee">Details about the no-show fee for this
 /// offer</param>
 /// <param name="prePaymentAmount">The amount that needs to be
 /// pre-paid.</param>
 /// <param name="ratePlan">The rate plan for this offer</param>
 /// <param name="taxDetails">Tax breakdown, displaying net and tax
 /// amount for each VAT type</param>
 /// <param name="timeSlices">The breakdown for each time slice for this
 /// offer</param>
 /// <param name="totalGrossAmount">The price for the whole stay</param>
 /// <param name="unitGroup">The unit group for which the following
 /// offers apply</param>
 /// <param name="cityTax">The amount of city tax that can be charged
 /// for this offer</param>
 /// <param name="companyId">ID of the company the offer is created
 /// for</param>
 /// <param name="corporateCode">The corporate rate code the offer is
 /// created for</param>
 /// <param name="isCorporate">Whether the offer is for a corporate rate
 /// plan</param>
 /// <param name="validationMessages">Validation rules that were applied
 /// to the offer and show the reason why the offer is not
 /// bookable</param>
 public OfferModel(System.DateTime arrival, int availableUnits, OfferCancellationFeeModel cancellationFee, System.DateTime departure, MinGuaranteeType minGuaranteeType, OfferNoShowFeeModel noShowFee, MonetaryValueModel prePaymentAmount, EmbeddedRatePlanModel ratePlan, IList <TaxDetailModel> taxDetails, IList <OfferTimeSliceModel> timeSlices, MonetaryValueModel totalGrossAmount, OfferUnitGroupModel unitGroup, AmountModel cityTax = default(AmountModel), string companyId = default(string), string corporateCode = default(string), bool?isCorporate = default(bool?), IList <OfferValidationMessageModel> validationMessages = default(IList <OfferValidationMessageModel>))
 {
     Arrival            = arrival;
     AvailableUnits     = availableUnits;
     CancellationFee    = cancellationFee;
     CityTax            = cityTax;
     CompanyId          = companyId;
     CorporateCode      = corporateCode;
     Departure          = departure;
     IsCorporate        = isCorporate;
     MinGuaranteeType   = minGuaranteeType;
     NoShowFee          = noShowFee;
     PrePaymentAmount   = prePaymentAmount;
     RatePlan           = ratePlan;
     TaxDetails         = taxDetails;
     TimeSlices         = timeSlices;
     TotalGrossAmount   = totalGrossAmount;
     UnitGroup          = unitGroup;
     ValidationMessages = validationMessages;
     CustomInit();
 }