//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:4.0.30319.42000
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

namespace TravelPort.DemoSite.Service.Hotel_53 {
    
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class ErrorInfo : typeErrorInfo {
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class typeErrorInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string codeField;
        
        private string serviceField;
        
        private string typeField;
        
        private string descriptionField;
        
        private string transactionIdField;
        
        private string traceIdField;
        
        private string commandHistoryField;
        
        private AuxdataEntry[] auxdataField;
        
        private string stackTraceField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string Code {
            get {
                return this.codeField;
            }
            set {
                this.codeField = value;
                this.RaisePropertyChanged("Code");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public string Service {
            get {
                return this.serviceField;
            }
            set {
                this.serviceField = value;
                this.RaisePropertyChanged("Service");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public string Type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
                this.RaisePropertyChanged("Type");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=3)]
        public string Description {
            get {
                return this.descriptionField;
            }
            set {
                this.descriptionField = value;
                this.RaisePropertyChanged("Description");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=4)]
        public string TransactionId {
            get {
                return this.transactionIdField;
            }
            set {
                this.transactionIdField = value;
                this.RaisePropertyChanged("TransactionId");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=5)]
        public string TraceId {
            get {
                return this.traceIdField;
            }
            set {
                this.traceIdField = value;
                this.RaisePropertyChanged("TraceId");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=6)]
        public string CommandHistory {
            get {
                return this.commandHistoryField;
            }
            set {
                this.commandHistoryField = value;
                this.RaisePropertyChanged("CommandHistory");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=7)]
        [System.Xml.Serialization.XmlArrayItemAttribute("Entry", IsNullable=false)]
        public AuxdataEntry[] Auxdata {
            get {
                return this.auxdataField;
            }
            set {
                this.auxdataField = value;
                this.RaisePropertyChanged("Auxdata");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=8)]
        public string StackTrace {
            get {
                return this.stackTraceField;
            }
            set {
                this.stackTraceField = value;
                this.RaisePropertyChanged("StackTrace");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class AuxdataEntry : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string reasonField;
        
        private string descriptionField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string Reason {
            get {
                return this.reasonField;
            }
            set {
                this.reasonField = value;
                this.RaisePropertyChanged("Reason");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public string Description {
            get {
                return this.descriptionField;
            }
            set {
                this.descriptionField = value;
                this.RaisePropertyChanged("Description");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class typeAdaptedRoomGuestAllocation : object, System.ComponentModel.INotifyPropertyChanged {
        
        private typeGuestChildInformation[] childField;
        
        private string numberOfAdultsField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Child", Order=0)]
        public typeGuestChildInformation[] Child {
            get {
                return this.childField;
            }
            set {
                this.childField = value;
                this.RaisePropertyChanged("Child");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="positiveInteger")]
        public string NumberOfAdults {
            get {
                return this.numberOfAdultsField;
            }
            set {
                this.numberOfAdultsField = value;
                this.RaisePropertyChanged("NumberOfAdults");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class typeGuestChildInformation : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string ageField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="nonNegativeInteger")]
        public string Age {
            get {
                return this.ageField;
            }
            set {
                this.ageField = value;
                this.RaisePropertyChanged("Age");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class typeHotelDetails : object, System.ComponentModel.INotifyPropertyChanged {
        
        private HotelProperty hotelPropertyField;
        
        private HotelDetailItem[] hotelDetailItemField;
        
        private HotelRateDetail[] hotelRateDetailField;
        
        private MediaItem[] mediaItemField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public HotelProperty HotelProperty {
            get {
                return this.hotelPropertyField;
            }
            set {
                this.hotelPropertyField = value;
                this.RaisePropertyChanged("HotelProperty");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("HotelDetailItem", Order=1)]
        public HotelDetailItem[] HotelDetailItem {
            get {
                return this.hotelDetailItemField;
            }
            set {
                this.hotelDetailItemField = value;
                this.RaisePropertyChanged("HotelDetailItem");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("HotelRateDetail", Order=2)]
        public HotelRateDetail[] HotelRateDetail {
            get {
                return this.hotelRateDetailField;
            }
            set {
                this.hotelRateDetailField = value;
                this.RaisePropertyChanged("HotelRateDetail");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("MediaItem", Namespace="http://www.travelport.com/schema/common_v53_0", Order=3)]
        public MediaItem[] MediaItem {
            get {
                return this.mediaItemField;
            }
            set {
                this.mediaItemField = value;
                this.RaisePropertyChanged("MediaItem");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class HotelProperty : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string[] propertyAddressField;
        
        private PhoneNumber[] phoneNumberField;
        
        private CoordinateLocation coordinateLocationField;
        
        private Distance distanceField;
        
        private HotelRating[] hotelRatingField;
        
        private Amenity[] amenitiesField;
        
        private string[] marketingMessageField;
        
        private string hotelChainField;
        
        private string hotelCodeField;
        
        private string hotelLocationField;
        
        private string nameField;
        
        private string vendorLocationKeyField;
        
        private string hotelTransportationField;
        
        private typeReserveRequirement reserveRequirementField;
        
        private bool reserveRequirementFieldSpecified;
        
        private string participationLevelField;
        
        private typeHotelAvailability availabilityField;
        
        private bool availabilityFieldSpecified;
        
        private string keyField;
        
        private bool preferredOptionField;
        
        private bool preferredOptionFieldSpecified;
        
        private bool moreRatesField;
        
        private bool moreRatesFieldSpecified;
        
        private string moreRatesTokenField;
        
        private typeNetTransCommission netTransCommissionIndField;
        
        private bool netTransCommissionIndFieldSpecified;
        
        private string numOfRatePlansField;
        
        private string hotelRateDetailRefField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=0)]
        [System.Xml.Serialization.XmlArrayItemAttribute("Address", IsNullable=false)]
        public string[] PropertyAddress {
            get {
                return this.propertyAddressField;
            }
            set {
                this.propertyAddressField = value;
                this.RaisePropertyChanged("PropertyAddress");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PhoneNumber", Namespace="http://www.travelport.com/schema/common_v53_0", Order=1)]
        public PhoneNumber[] PhoneNumber {
            get {
                return this.phoneNumberField;
            }
            set {
                this.phoneNumberField = value;
                this.RaisePropertyChanged("PhoneNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=2)]
        public CoordinateLocation CoordinateLocation {
            get {
                return this.coordinateLocationField;
            }
            set {
                this.coordinateLocationField = value;
                this.RaisePropertyChanged("CoordinateLocation");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=3)]
        public Distance Distance {
            get {
                return this.distanceField;
            }
            set {
                this.distanceField = value;
                this.RaisePropertyChanged("Distance");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("HotelRating", Order=4)]
        public HotelRating[] HotelRating {
            get {
                return this.hotelRatingField;
            }
            set {
                this.hotelRatingField = value;
                this.RaisePropertyChanged("HotelRating");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=5)]
        [System.Xml.Serialization.XmlArrayItemAttribute("Amenity", IsNullable=false)]
        public Amenity[] Amenities {
            get {
                return this.amenitiesField;
            }
            set {
                this.amenitiesField = value;
                this.RaisePropertyChanged("Amenities");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=6)]
        [System.Xml.Serialization.XmlArrayItemAttribute("Text", IsNullable=false)]
        public string[] MarketingMessage {
            get {
                return this.marketingMessageField;
            }
            set {
                this.marketingMessageField = value;
                this.RaisePropertyChanged("MarketingMessage");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string HotelChain {
            get {
                return this.hotelChainField;
            }
            set {
                this.hotelChainField = value;
                this.RaisePropertyChanged("HotelChain");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string HotelCode {
            get {
                return this.hotelCodeField;
            }
            set {
                this.hotelCodeField = value;
                this.RaisePropertyChanged("HotelCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string HotelLocation {
            get {
                return this.hotelLocationField;
            }
            set {
                this.hotelLocationField = value;
                this.RaisePropertyChanged("HotelLocation");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
                this.RaisePropertyChanged("Name");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string VendorLocationKey {
            get {
                return this.vendorLocationKeyField;
            }
            set {
                this.vendorLocationKeyField = value;
                this.RaisePropertyChanged("VendorLocationKey");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="positiveInteger")]
        public string HotelTransportation {
            get {
                return this.hotelTransportationField;
            }
            set {
                this.hotelTransportationField = value;
                this.RaisePropertyChanged("HotelTransportation");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeReserveRequirement ReserveRequirement {
            get {
                return this.reserveRequirementField;
            }
            set {
                this.reserveRequirementField = value;
                this.RaisePropertyChanged("ReserveRequirement");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ReserveRequirementSpecified {
            get {
                return this.reserveRequirementFieldSpecified;
            }
            set {
                this.reserveRequirementFieldSpecified = value;
                this.RaisePropertyChanged("ReserveRequirementSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ParticipationLevel {
            get {
                return this.participationLevelField;
            }
            set {
                this.participationLevelField = value;
                this.RaisePropertyChanged("ParticipationLevel");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeHotelAvailability Availability {
            get {
                return this.availabilityField;
            }
            set {
                this.availabilityField = value;
                this.RaisePropertyChanged("Availability");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AvailabilitySpecified {
            get {
                return this.availabilityFieldSpecified;
            }
            set {
                this.availabilityFieldSpecified = value;
                this.RaisePropertyChanged("AvailabilitySpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool PreferredOption {
            get {
                return this.preferredOptionField;
            }
            set {
                this.preferredOptionField = value;
                this.RaisePropertyChanged("PreferredOption");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PreferredOptionSpecified {
            get {
                return this.preferredOptionFieldSpecified;
            }
            set {
                this.preferredOptionFieldSpecified = value;
                this.RaisePropertyChanged("PreferredOptionSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool MoreRates {
            get {
                return this.moreRatesField;
            }
            set {
                this.moreRatesField = value;
                this.RaisePropertyChanged("MoreRates");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool MoreRatesSpecified {
            get {
                return this.moreRatesFieldSpecified;
            }
            set {
                this.moreRatesFieldSpecified = value;
                this.RaisePropertyChanged("MoreRatesSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string MoreRatesToken {
            get {
                return this.moreRatesTokenField;
            }
            set {
                this.moreRatesTokenField = value;
                this.RaisePropertyChanged("MoreRatesToken");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeNetTransCommission NetTransCommissionInd {
            get {
                return this.netTransCommissionIndField;
            }
            set {
                this.netTransCommissionIndField = value;
                this.RaisePropertyChanged("NetTransCommissionInd");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool NetTransCommissionIndSpecified {
            get {
                return this.netTransCommissionIndFieldSpecified;
            }
            set {
                this.netTransCommissionIndFieldSpecified = value;
                this.RaisePropertyChanged("NetTransCommissionIndSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="positiveInteger")]
        public string NumOfRatePlans {
            get {
                return this.numOfRatePlansField;
            }
            set {
                this.numOfRatePlansField = value;
                this.RaisePropertyChanged("NumOfRatePlans");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string HotelRateDetailRef {
            get {
                return this.hotelRateDetailRefField;
            }
            set {
                this.hotelRateDetailRefField = value;
                this.RaisePropertyChanged("HotelRateDetailRef");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class PhoneNumber : object, System.ComponentModel.INotifyPropertyChanged {
        
        private ProviderReservationInfoRef[] providerReservationInfoRefField;
        
        private string keyField;
        
        private PhoneNumberType typeField;
        
        private bool typeFieldSpecified;
        
        private string locationField;
        
        private string countryCodeField;
        
        private string areaCodeField;
        
        private string numberField;
        
        private string extensionField;
        
        private string textField;
        
        private typeElementStatus elStatField;
        
        private bool elStatFieldSpecified;
        
        private bool keyOverrideField;
        
        private bool keyOverrideFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ProviderReservationInfoRef", Order=0)]
        public ProviderReservationInfoRef[] ProviderReservationInfoRef {
            get {
                return this.providerReservationInfoRefField;
            }
            set {
                this.providerReservationInfoRefField = value;
                this.RaisePropertyChanged("ProviderReservationInfoRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public PhoneNumberType Type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
                this.RaisePropertyChanged("Type");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool TypeSpecified {
            get {
                return this.typeFieldSpecified;
            }
            set {
                this.typeFieldSpecified = value;
                this.RaisePropertyChanged("TypeSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Location {
            get {
                return this.locationField;
            }
            set {
                this.locationField = value;
                this.RaisePropertyChanged("Location");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CountryCode {
            get {
                return this.countryCodeField;
            }
            set {
                this.countryCodeField = value;
                this.RaisePropertyChanged("CountryCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string AreaCode {
            get {
                return this.areaCodeField;
            }
            set {
                this.areaCodeField = value;
                this.RaisePropertyChanged("AreaCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Number {
            get {
                return this.numberField;
            }
            set {
                this.numberField = value;
                this.RaisePropertyChanged("Number");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Extension {
            get {
                return this.extensionField;
            }
            set {
                this.extensionField = value;
                this.RaisePropertyChanged("Extension");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Text {
            get {
                return this.textField;
            }
            set {
                this.textField = value;
                this.RaisePropertyChanged("Text");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeElementStatus ElStat {
            get {
                return this.elStatField;
            }
            set {
                this.elStatField = value;
                this.RaisePropertyChanged("ElStat");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ElStatSpecified {
            get {
                return this.elStatFieldSpecified;
            }
            set {
                this.elStatFieldSpecified = value;
                this.RaisePropertyChanged("ElStatSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool KeyOverride {
            get {
                return this.keyOverrideField;
            }
            set {
                this.keyOverrideField = value;
                this.RaisePropertyChanged("KeyOverride");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool KeyOverrideSpecified {
            get {
                return this.keyOverrideFieldSpecified;
            }
            set {
                this.keyOverrideFieldSpecified = value;
                this.RaisePropertyChanged("KeyOverrideSpecified");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class ProviderReservationInfoRef : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string keyField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public enum PhoneNumberType {
        
        /// <remarks/>
        Agency,
        
        /// <remarks/>
        Business,
        
        /// <remarks/>
        Mobile,
        
        /// <remarks/>
        Home,
        
        /// <remarks/>
        Fax,
        
        /// <remarks/>
        Hotel,
        
        /// <remarks/>
        Other,
        
        /// <remarks/>
        None,
        
        /// <remarks/>
        Email,
        
        /// <remarks/>
        Reservations,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public enum typeElementStatus {
        
        /// <remarks/>
        A,
        
        /// <remarks/>
        M,
        
        /// <remarks/>
        C,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class CoordinateLocation : Location {
        
        private double latitudeField;
        
        private double longitudeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public double latitude {
            get {
                return this.latitudeField;
            }
            set {
                this.latitudeField = value;
                this.RaisePropertyChanged("latitude");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public double longitude {
            get {
                return this.longitudeField;
            }
            set {
                this.longitudeField = value;
                this.RaisePropertyChanged("longitude");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class Location : object, System.ComponentModel.INotifyPropertyChanged {
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class Distance : object, System.ComponentModel.INotifyPropertyChanged {
        
        private DistanceUnits unitsField;
        
        private string valueField;
        
        private string directionField;
        
        public Distance() {
            this.unitsField = DistanceUnits.MI;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(DistanceUnits.MI)]
        public DistanceUnits Units {
            get {
                return this.unitsField;
            }
            set {
                this.unitsField = value;
                this.RaisePropertyChanged("Units");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
                this.RaisePropertyChanged("Value");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Direction {
            get {
                return this.directionField;
            }
            set {
                this.directionField = value;
                this.RaisePropertyChanged("Direction");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public enum DistanceUnits {
        
        /// <remarks/>
        MI,
        
        /// <remarks/>
        KM,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class HotelRating : object, System.ComponentModel.INotifyPropertyChanged {
        
        private object[] itemsField;
        
        private string ratingProviderField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Rating", typeof(string), DataType="integer", Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("RatingRange", typeof(RatingRange), Order=0)]
        public object[] Items {
            get {
                return this.itemsField;
            }
            set {
                this.itemsField = value;
                this.RaisePropertyChanged("Items");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string RatingProvider {
            get {
                return this.ratingProviderField;
            }
            set {
                this.ratingProviderField = value;
                this.RaisePropertyChanged("RatingProvider");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class RatingRange : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string minimumRatingField;
        
        private string maximumRatingField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string MinimumRating {
            get {
                return this.minimumRatingField;
            }
            set {
                this.minimumRatingField = value;
                this.RaisePropertyChanged("MinimumRating");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string MaximumRating {
            get {
                return this.maximumRatingField;
            }
            set {
                this.maximumRatingField = value;
                this.RaisePropertyChanged("MaximumRating");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class Amenity : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string codeField;
        
        private string amenityTypeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="positiveInteger")]
        public string Code {
            get {
                return this.codeField;
            }
            set {
                this.codeField = value;
                this.RaisePropertyChanged("Code");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string AmenityType {
            get {
                return this.amenityTypeField;
            }
            set {
                this.amenityTypeField = value;
                this.RaisePropertyChanged("AmenityType");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public enum typeReserveRequirement {
        
        /// <remarks/>
        Deposit,
        
        /// <remarks/>
        Guarantee,
        
        /// <remarks/>
        Prepayment,
        
        /// <remarks/>
        Other,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public enum typeHotelAvailability {
        
        /// <remarks/>
        Available,
        
        /// <remarks/>
        NotAvailable,
        
        /// <remarks/>
        AvailableForOtherRates,
        
        /// <remarks/>
        OnRequest,
        
        /// <remarks/>
        Unknown,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public enum typeNetTransCommission {
        
        /// <remarks/>
        A,
        
        /// <remarks/>
        B,
        
        /// <remarks/>
        C,
        
        /// <remarks/>
        P,
        
        /// <remarks/>
        X,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class HotelDetailItem : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string[] textField;
        
        private string nameField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Text", Order=0)]
        public string[] Text {
            get {
                return this.textField;
            }
            set {
                this.textField = value;
                this.RaisePropertyChanged("Text");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
                this.RaisePropertyChanged("Name");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class HotelRateDetail : object, System.ComponentModel.INotifyPropertyChanged {
        
        private typePolicyCodesList policyCodesListField;
        
        private typeHotelRateDescription[] roomRateDescriptionField;
        
        private HotelRateByDate[] hotelRateByDateField;
        
        private CorporateDiscountID[] corporateDiscountIDField;
        
        private AcceptedPayment[] acceptedPaymentField;
        
        private Commission1 commissionField;
        
        private RateMatchIndicator[] rateMatchIndicatorField;
        
        private Tax[] taxDetailsField;
        
        private CancelInfo cancelInfoField;
        
        private GuaranteeInfo guaranteeInfoField;
        
        private string supplementalRateInfoField;
        
        private HotelRateDetailRoomCapacity roomCapacityField;
        
        private HotelRateDetailExtraCharges extraChargesField;
        
        private HotelRateDetailInclusions inclusionsField;
        
        private BookingTravelerRef[] bookingTravelerRefField;
        
        private string ratePlanTypeField;
        
        private string baseField;
        
        private string taxField;
        
        private string totalField;
        
        private string surchargeField;
        
        private string approximateBaseField;
        
        private string approximateTaxField;
        
        private string approximateTotalField;
        
        private string approximateSurchargeField;
        
        private bool rateGuaranteedField;
        
        private bool rateGuaranteedFieldSpecified;
        
        private bool approximateRateGuaranteedField;
        
        private bool approximateRateGuaranteedFieldSpecified;
        
        private string rateCategoryField;
        
        private string keyField;
        
        private string rateSupplierField;
        
        private string bookableQuantityField;
        
        private string rateOfferIdField;
        
        private bool inPolicyField;
        
        private bool inPolicyFieldSpecified;
        
        private typeTrinary rateChangeIndicatorField;
        
        private bool rateChangeIndicatorFieldSpecified;
        
        private typeTrinary extraFeesIncludedField;
        
        private bool extraFeesIncludedFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public typePolicyCodesList PolicyCodesList {
            get {
                return this.policyCodesListField;
            }
            set {
                this.policyCodesListField = value;
                this.RaisePropertyChanged("PolicyCodesList");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RoomRateDescription", Order=1)]
        public typeHotelRateDescription[] RoomRateDescription {
            get {
                return this.roomRateDescriptionField;
            }
            set {
                this.roomRateDescriptionField = value;
                this.RaisePropertyChanged("RoomRateDescription");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("HotelRateByDate", Order=2)]
        public HotelRateByDate[] HotelRateByDate {
            get {
                return this.hotelRateByDateField;
            }
            set {
                this.hotelRateByDateField = value;
                this.RaisePropertyChanged("HotelRateByDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CorporateDiscountID", Namespace="http://www.travelport.com/schema/common_v53_0", Order=3)]
        public CorporateDiscountID[] CorporateDiscountID {
            get {
                return this.corporateDiscountIDField;
            }
            set {
                this.corporateDiscountIDField = value;
                this.RaisePropertyChanged("CorporateDiscountID");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AcceptedPayment", Order=4)]
        public AcceptedPayment[] AcceptedPayment {
            get {
                return this.acceptedPaymentField;
            }
            set {
                this.acceptedPaymentField = value;
                this.RaisePropertyChanged("AcceptedPayment");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=5)]
        public Commission1 Commission {
            get {
                return this.commissionField;
            }
            set {
                this.commissionField = value;
                this.RaisePropertyChanged("Commission");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RateMatchIndicator", Order=6)]
        public RateMatchIndicator[] RateMatchIndicator {
            get {
                return this.rateMatchIndicatorField;
            }
            set {
                this.rateMatchIndicatorField = value;
                this.RaisePropertyChanged("RateMatchIndicator");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=7)]
        [System.Xml.Serialization.XmlArrayItemAttribute("Tax", IsNullable=false)]
        public Tax[] TaxDetails {
            get {
                return this.taxDetailsField;
            }
            set {
                this.taxDetailsField = value;
                this.RaisePropertyChanged("TaxDetails");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=8)]
        public CancelInfo CancelInfo {
            get {
                return this.cancelInfoField;
            }
            set {
                this.cancelInfoField = value;
                this.RaisePropertyChanged("CancelInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=9)]
        public GuaranteeInfo GuaranteeInfo {
            get {
                return this.guaranteeInfoField;
            }
            set {
                this.guaranteeInfoField = value;
                this.RaisePropertyChanged("GuaranteeInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=10)]
        public string SupplementalRateInfo {
            get {
                return this.supplementalRateInfoField;
            }
            set {
                this.supplementalRateInfoField = value;
                this.RaisePropertyChanged("SupplementalRateInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=11)]
        public HotelRateDetailRoomCapacity RoomCapacity {
            get {
                return this.roomCapacityField;
            }
            set {
                this.roomCapacityField = value;
                this.RaisePropertyChanged("RoomCapacity");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=12)]
        public HotelRateDetailExtraCharges ExtraCharges {
            get {
                return this.extraChargesField;
            }
            set {
                this.extraChargesField = value;
                this.RaisePropertyChanged("ExtraCharges");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=13)]
        public HotelRateDetailInclusions Inclusions {
            get {
                return this.inclusionsField;
            }
            set {
                this.inclusionsField = value;
                this.RaisePropertyChanged("Inclusions");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("BookingTravelerRef", Namespace="http://www.travelport.com/schema/common_v53_0", Order=14)]
        public BookingTravelerRef[] BookingTravelerRef {
            get {
                return this.bookingTravelerRefField;
            }
            set {
                this.bookingTravelerRefField = value;
                this.RaisePropertyChanged("BookingTravelerRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string RatePlanType {
            get {
                return this.ratePlanTypeField;
            }
            set {
                this.ratePlanTypeField = value;
                this.RaisePropertyChanged("RatePlanType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Base {
            get {
                return this.baseField;
            }
            set {
                this.baseField = value;
                this.RaisePropertyChanged("Base");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Tax {
            get {
                return this.taxField;
            }
            set {
                this.taxField = value;
                this.RaisePropertyChanged("Tax");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Total {
            get {
                return this.totalField;
            }
            set {
                this.totalField = value;
                this.RaisePropertyChanged("Total");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Surcharge {
            get {
                return this.surchargeField;
            }
            set {
                this.surchargeField = value;
                this.RaisePropertyChanged("Surcharge");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApproximateBase {
            get {
                return this.approximateBaseField;
            }
            set {
                this.approximateBaseField = value;
                this.RaisePropertyChanged("ApproximateBase");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApproximateTax {
            get {
                return this.approximateTaxField;
            }
            set {
                this.approximateTaxField = value;
                this.RaisePropertyChanged("ApproximateTax");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApproximateTotal {
            get {
                return this.approximateTotalField;
            }
            set {
                this.approximateTotalField = value;
                this.RaisePropertyChanged("ApproximateTotal");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApproximateSurcharge {
            get {
                return this.approximateSurchargeField;
            }
            set {
                this.approximateSurchargeField = value;
                this.RaisePropertyChanged("ApproximateSurcharge");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool RateGuaranteed {
            get {
                return this.rateGuaranteedField;
            }
            set {
                this.rateGuaranteedField = value;
                this.RaisePropertyChanged("RateGuaranteed");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RateGuaranteedSpecified {
            get {
                return this.rateGuaranteedFieldSpecified;
            }
            set {
                this.rateGuaranteedFieldSpecified = value;
                this.RaisePropertyChanged("RateGuaranteedSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool ApproximateRateGuaranteed {
            get {
                return this.approximateRateGuaranteedField;
            }
            set {
                this.approximateRateGuaranteedField = value;
                this.RaisePropertyChanged("ApproximateRateGuaranteed");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ApproximateRateGuaranteedSpecified {
            get {
                return this.approximateRateGuaranteedFieldSpecified;
            }
            set {
                this.approximateRateGuaranteedFieldSpecified = value;
                this.RaisePropertyChanged("ApproximateRateGuaranteedSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="positiveInteger")]
        public string RateCategory {
            get {
                return this.rateCategoryField;
            }
            set {
                this.rateCategoryField = value;
                this.RaisePropertyChanged("RateCategory");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string RateSupplier {
            get {
                return this.rateSupplierField;
            }
            set {
                this.rateSupplierField = value;
                this.RaisePropertyChanged("RateSupplier");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="positiveInteger")]
        public string BookableQuantity {
            get {
                return this.bookableQuantityField;
            }
            set {
                this.bookableQuantityField = value;
                this.RaisePropertyChanged("BookableQuantity");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string RateOfferId {
            get {
                return this.rateOfferIdField;
            }
            set {
                this.rateOfferIdField = value;
                this.RaisePropertyChanged("RateOfferId");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool InPolicy {
            get {
                return this.inPolicyField;
            }
            set {
                this.inPolicyField = value;
                this.RaisePropertyChanged("InPolicy");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool InPolicySpecified {
            get {
                return this.inPolicyFieldSpecified;
            }
            set {
                this.inPolicyFieldSpecified = value;
                this.RaisePropertyChanged("InPolicySpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeTrinary RateChangeIndicator {
            get {
                return this.rateChangeIndicatorField;
            }
            set {
                this.rateChangeIndicatorField = value;
                this.RaisePropertyChanged("RateChangeIndicator");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RateChangeIndicatorSpecified {
            get {
                return this.rateChangeIndicatorFieldSpecified;
            }
            set {
                this.rateChangeIndicatorFieldSpecified = value;
                this.RaisePropertyChanged("RateChangeIndicatorSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeTrinary ExtraFeesIncluded {
            get {
                return this.extraFeesIncludedField;
            }
            set {
                this.extraFeesIncludedField = value;
                this.RaisePropertyChanged("ExtraFeesIncluded");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ExtraFeesIncludedSpecified {
            get {
                return this.extraFeesIncludedFieldSpecified;
            }
            set {
                this.extraFeesIncludedFieldSpecified = value;
                this.RaisePropertyChanged("ExtraFeesIncludedSpecified");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class typePolicyCodesList : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string[] policyCodeField;
        
        private string[] minPolicyCodeField;
        
        private string[] maxPolicyCodeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PolicyCode", Order=0)]
        public string[] PolicyCode {
            get {
                return this.policyCodeField;
            }
            set {
                this.policyCodeField = value;
                this.RaisePropertyChanged("PolicyCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("MinPolicyCode", Order=1)]
        public string[] MinPolicyCode {
            get {
                return this.minPolicyCodeField;
            }
            set {
                this.minPolicyCodeField = value;
                this.RaisePropertyChanged("MinPolicyCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("MaxPolicyCode", Order=2)]
        public string[] MaxPolicyCode {
            get {
                return this.maxPolicyCodeField;
            }
            set {
                this.maxPolicyCodeField = value;
                this.RaisePropertyChanged("MaxPolicyCode");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class typeHotelRateDescription : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string[] textField;
        
        private string nameField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Text", Order=0)]
        public string[] Text {
            get {
                return this.textField;
            }
            set {
                this.textField = value;
                this.RaisePropertyChanged("Text");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
                this.RaisePropertyChanged("Name");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class HotelRateByDate : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string effectiveDateField;
        
        private string expireDateField;
        
        private string baseField;
        
        private string taxField;
        
        private string totalField;
        
        private string surchargeField;
        
        private string approximateBaseField;
        
        private string approximateTotalField;
        
        private string contentsField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string EffectiveDate {
            get {
                return this.effectiveDateField;
            }
            set {
                this.effectiveDateField = value;
                this.RaisePropertyChanged("EffectiveDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ExpireDate {
            get {
                return this.expireDateField;
            }
            set {
                this.expireDateField = value;
                this.RaisePropertyChanged("ExpireDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Base {
            get {
                return this.baseField;
            }
            set {
                this.baseField = value;
                this.RaisePropertyChanged("Base");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Tax {
            get {
                return this.taxField;
            }
            set {
                this.taxField = value;
                this.RaisePropertyChanged("Tax");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Total {
            get {
                return this.totalField;
            }
            set {
                this.totalField = value;
                this.RaisePropertyChanged("Total");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Surcharge {
            get {
                return this.surchargeField;
            }
            set {
                this.surchargeField = value;
                this.RaisePropertyChanged("Surcharge");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApproximateBase {
            get {
                return this.approximateBaseField;
            }
            set {
                this.approximateBaseField = value;
                this.RaisePropertyChanged("ApproximateBase");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApproximateTotal {
            get {
                return this.approximateTotalField;
            }
            set {
                this.approximateTotalField = value;
                this.RaisePropertyChanged("ApproximateTotal");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Contents {
            get {
                return this.contentsField;
            }
            set {
                this.contentsField = value;
                this.RaisePropertyChanged("Contents");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class CorporateDiscountID : object, System.ComponentModel.INotifyPropertyChanged {
        
        private bool negotiatedRateCodeField;
        
        private bool negotiatedRateCodeFieldSpecified;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool NegotiatedRateCode {
            get {
                return this.negotiatedRateCodeField;
            }
            set {
                this.negotiatedRateCodeField = value;
                this.RaisePropertyChanged("NegotiatedRateCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool NegotiatedRateCodeSpecified {
            get {
                return this.negotiatedRateCodeFieldSpecified;
            }
            set {
                this.negotiatedRateCodeFieldSpecified = value;
                this.RaisePropertyChanged("NegotiatedRateCodeSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
                this.RaisePropertyChanged("Value");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class AcceptedPayment : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string paymentCodeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PaymentCode {
            get {
                return this.paymentCodeField;
            }
            set {
                this.paymentCodeField = value;
                this.RaisePropertyChanged("PaymentCode");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class Commission1 : object, System.ComponentModel.INotifyPropertyChanged {
        
        private typeTrinary indicatorField;
        
        private bool indicatorFieldSpecified;
        
        private string percentField;
        
        private string commissionAmountField;
        
        private string approxCommissionAmountField;
        
        private string commissionOnSurchargesField;
        
        private string approxCommissionOnSurchargesField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeTrinary Indicator {
            get {
                return this.indicatorField;
            }
            set {
                this.indicatorField = value;
                this.RaisePropertyChanged("Indicator");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool IndicatorSpecified {
            get {
                return this.indicatorFieldSpecified;
            }
            set {
                this.indicatorFieldSpecified = value;
                this.RaisePropertyChanged("IndicatorSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Percent {
            get {
                return this.percentField;
            }
            set {
                this.percentField = value;
                this.RaisePropertyChanged("Percent");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CommissionAmount {
            get {
                return this.commissionAmountField;
            }
            set {
                this.commissionAmountField = value;
                this.RaisePropertyChanged("CommissionAmount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApproxCommissionAmount {
            get {
                return this.approxCommissionAmountField;
            }
            set {
                this.approxCommissionAmountField = value;
                this.RaisePropertyChanged("ApproxCommissionAmount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CommissionOnSurcharges {
            get {
                return this.commissionOnSurchargesField;
            }
            set {
                this.commissionOnSurchargesField = value;
                this.RaisePropertyChanged("CommissionOnSurcharges");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApproxCommissionOnSurcharges {
            get {
                return this.approxCommissionOnSurchargesField;
            }
            set {
                this.approxCommissionOnSurchargesField = value;
                this.RaisePropertyChanged("ApproxCommissionOnSurcharges");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public enum typeTrinary {
        
        /// <remarks/>
        @true,
        
        /// <remarks/>
        @false,
        
        /// <remarks/>
        unknown,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class RateMatchIndicator : object, System.ComponentModel.INotifyPropertyChanged {
        
        private RateMatchIndicatorType typeField;
        
        private RateMatchIndicatorStatus statusField;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public RateMatchIndicatorType Type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
                this.RaisePropertyChanged("Type");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public RateMatchIndicatorStatus Status {
            get {
                return this.statusField;
            }
            set {
                this.statusField = value;
                this.RaisePropertyChanged("Status");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
                this.RaisePropertyChanged("Value");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public enum RateMatchIndicatorType {
        
        /// <remarks/>
        RateCategory,
        
        /// <remarks/>
        RoomCount,
        
        /// <remarks/>
        AdultCount,
        
        /// <remarks/>
        ChildCount,
        
        /// <remarks/>
        AdultRollaway,
        
        /// <remarks/>
        ChildRollaway,
        
        /// <remarks/>
        Crib,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public enum RateMatchIndicatorStatus {
        
        /// <remarks/>
        Available,
        
        /// <remarks/>
        NotAvailable,
        
        /// <remarks/>
        SubstituteOffered,
        
        /// <remarks/>
        MaximumExceeded,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class Tax : object, System.ComponentModel.INotifyPropertyChanged {
        
        private object itemField;
        
        private string codeField;
        
        private System.DateTime effectiveDateField;
        
        private bool effectiveDateFieldSpecified;
        
        private System.DateTime expirationDateField;
        
        private bool expirationDateFieldSpecified;
        
        private string termField;
        
        private string collectionFreqField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Amount", typeof(string), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("Percentage", typeof(float), Order=0)]
        public object Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
                this.RaisePropertyChanged("Item");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="positiveInteger")]
        public string Code {
            get {
                return this.codeField;
            }
            set {
                this.codeField = value;
                this.RaisePropertyChanged("Code");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="date")]
        public System.DateTime EffectiveDate {
            get {
                return this.effectiveDateField;
            }
            set {
                this.effectiveDateField = value;
                this.RaisePropertyChanged("EffectiveDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool EffectiveDateSpecified {
            get {
                return this.effectiveDateFieldSpecified;
            }
            set {
                this.effectiveDateFieldSpecified = value;
                this.RaisePropertyChanged("EffectiveDateSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="date")]
        public System.DateTime ExpirationDate {
            get {
                return this.expirationDateField;
            }
            set {
                this.expirationDateField = value;
                this.RaisePropertyChanged("ExpirationDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ExpirationDateSpecified {
            get {
                return this.expirationDateFieldSpecified;
            }
            set {
                this.expirationDateFieldSpecified = value;
                this.RaisePropertyChanged("ExpirationDateSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Term {
            get {
                return this.termField;
            }
            set {
                this.termField = value;
                this.RaisePropertyChanged("Term");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CollectionFreq {
            get {
                return this.collectionFreqField;
            }
            set {
                this.collectionFreqField = value;
                this.RaisePropertyChanged("CollectionFreq");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class CancelInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string cancellationPolicyField;
        
        private string[] textField;
        
        private typeTrinary nonRefundableStayIndicatorField;
        
        private bool nonRefundableStayIndicatorFieldSpecified;
        
        private System.DateTime cancelDeadlineField;
        
        private bool cancelDeadlineFieldSpecified;
        
        private bool taxInclusiveField;
        
        private bool taxInclusiveFieldSpecified;
        
        private bool feeInclusiveField;
        
        private bool feeInclusiveFieldSpecified;
        
        private string cancelPenaltyAmountField;
        
        private string numberOfNightsField;
        
        private float cancelPenaltyPercentField;
        
        private bool cancelPenaltyPercentFieldSpecified;
        
        private string cancelPenaltyPercentAppliesToField;
        
        private string methodField;
        
        private bool supportedField;
        
        private bool supportedFieldSpecified;
        
        private string uRLField;
        
        private string offsetTimeUnitField;
        
        private string offsetUnitMultiplierField;
        
        private string offsetDropTimeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string CancellationPolicy {
            get {
                return this.cancellationPolicyField;
            }
            set {
                this.cancellationPolicyField = value;
                this.RaisePropertyChanged("CancellationPolicy");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Text", Order=1)]
        public string[] Text {
            get {
                return this.textField;
            }
            set {
                this.textField = value;
                this.RaisePropertyChanged("Text");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeTrinary NonRefundableStayIndicator {
            get {
                return this.nonRefundableStayIndicatorField;
            }
            set {
                this.nonRefundableStayIndicatorField = value;
                this.RaisePropertyChanged("NonRefundableStayIndicator");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool NonRefundableStayIndicatorSpecified {
            get {
                return this.nonRefundableStayIndicatorFieldSpecified;
            }
            set {
                this.nonRefundableStayIndicatorFieldSpecified = value;
                this.RaisePropertyChanged("NonRefundableStayIndicatorSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public System.DateTime CancelDeadline {
            get {
                return this.cancelDeadlineField;
            }
            set {
                this.cancelDeadlineField = value;
                this.RaisePropertyChanged("CancelDeadline");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool CancelDeadlineSpecified {
            get {
                return this.cancelDeadlineFieldSpecified;
            }
            set {
                this.cancelDeadlineFieldSpecified = value;
                this.RaisePropertyChanged("CancelDeadlineSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool TaxInclusive {
            get {
                return this.taxInclusiveField;
            }
            set {
                this.taxInclusiveField = value;
                this.RaisePropertyChanged("TaxInclusive");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool TaxInclusiveSpecified {
            get {
                return this.taxInclusiveFieldSpecified;
            }
            set {
                this.taxInclusiveFieldSpecified = value;
                this.RaisePropertyChanged("TaxInclusiveSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool FeeInclusive {
            get {
                return this.feeInclusiveField;
            }
            set {
                this.feeInclusiveField = value;
                this.RaisePropertyChanged("FeeInclusive");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FeeInclusiveSpecified {
            get {
                return this.feeInclusiveFieldSpecified;
            }
            set {
                this.feeInclusiveFieldSpecified = value;
                this.RaisePropertyChanged("FeeInclusiveSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CancelPenaltyAmount {
            get {
                return this.cancelPenaltyAmountField;
            }
            set {
                this.cancelPenaltyAmountField = value;
                this.RaisePropertyChanged("CancelPenaltyAmount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="nonNegativeInteger")]
        public string NumberOfNights {
            get {
                return this.numberOfNightsField;
            }
            set {
                this.numberOfNightsField = value;
                this.RaisePropertyChanged("NumberOfNights");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public float CancelPenaltyPercent {
            get {
                return this.cancelPenaltyPercentField;
            }
            set {
                this.cancelPenaltyPercentField = value;
                this.RaisePropertyChanged("CancelPenaltyPercent");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool CancelPenaltyPercentSpecified {
            get {
                return this.cancelPenaltyPercentFieldSpecified;
            }
            set {
                this.cancelPenaltyPercentFieldSpecified = value;
                this.RaisePropertyChanged("CancelPenaltyPercentSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CancelPenaltyPercentAppliesTo {
            get {
                return this.cancelPenaltyPercentAppliesToField;
            }
            set {
                this.cancelPenaltyPercentAppliesToField = value;
                this.RaisePropertyChanged("CancelPenaltyPercentAppliesTo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Method {
            get {
                return this.methodField;
            }
            set {
                this.methodField = value;
                this.RaisePropertyChanged("Method");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Supported {
            get {
                return this.supportedField;
            }
            set {
                this.supportedField = value;
                this.RaisePropertyChanged("Supported");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool SupportedSpecified {
            get {
                return this.supportedFieldSpecified;
            }
            set {
                this.supportedFieldSpecified = value;
                this.RaisePropertyChanged("SupportedSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string URL {
            get {
                return this.uRLField;
            }
            set {
                this.uRLField = value;
                this.RaisePropertyChanged("URL");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string OffsetTimeUnit {
            get {
                return this.offsetTimeUnitField;
            }
            set {
                this.offsetTimeUnitField = value;
                this.RaisePropertyChanged("OffsetTimeUnit");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string OffsetUnitMultiplier {
            get {
                return this.offsetUnitMultiplierField;
            }
            set {
                this.offsetUnitMultiplierField = value;
                this.RaisePropertyChanged("OffsetUnitMultiplier");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string OffsetDropTime {
            get {
                return this.offsetDropTimeField;
            }
            set {
                this.offsetDropTimeField = value;
                this.RaisePropertyChanged("OffsetDropTime");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class GuaranteeInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private object itemField;
        
        private ItemChoiceType2 itemElementNameField;
        
        private GuaranteePaymentType[] guaranteePaymentTypeField;
        
        private System.DateTime absoluteDeadlineField;
        
        private bool absoluteDeadlineFieldSpecified;
        
        private bool credentialsRequiredField;
        
        private bool credentialsRequiredFieldSpecified;
        
        private string holdTimeField;
        
        private GuaranteeInfoGuaranteeType guaranteeTypeField;
        
        private bool guaranteeTypeFieldSpecified;
        
        private string offsetTimeUnitField;
        
        private string offsetUnitMultiplierField;
        
        private string offsetDropTimeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("DepositAmount", typeof(DepositAmount), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("DepositNights", typeof(string), DataType="integer", Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("DepositPercent", typeof(string), DataType="integer", Order=0)]
        [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemElementName")]
        public object Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
                this.RaisePropertyChanged("Item");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public ItemChoiceType2 ItemElementName {
            get {
                return this.itemElementNameField;
            }
            set {
                this.itemElementNameField = value;
                this.RaisePropertyChanged("ItemElementName");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("GuaranteePaymentType", Order=2)]
        public GuaranteePaymentType[] GuaranteePaymentType {
            get {
                return this.guaranteePaymentTypeField;
            }
            set {
                this.guaranteePaymentTypeField = value;
                this.RaisePropertyChanged("GuaranteePaymentType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public System.DateTime AbsoluteDeadline {
            get {
                return this.absoluteDeadlineField;
            }
            set {
                this.absoluteDeadlineField = value;
                this.RaisePropertyChanged("AbsoluteDeadline");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AbsoluteDeadlineSpecified {
            get {
                return this.absoluteDeadlineFieldSpecified;
            }
            set {
                this.absoluteDeadlineFieldSpecified = value;
                this.RaisePropertyChanged("AbsoluteDeadlineSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool CredentialsRequired {
            get {
                return this.credentialsRequiredField;
            }
            set {
                this.credentialsRequiredField = value;
                this.RaisePropertyChanged("CredentialsRequired");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool CredentialsRequiredSpecified {
            get {
                return this.credentialsRequiredFieldSpecified;
            }
            set {
                this.credentialsRequiredFieldSpecified = value;
                this.RaisePropertyChanged("CredentialsRequiredSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string HoldTime {
            get {
                return this.holdTimeField;
            }
            set {
                this.holdTimeField = value;
                this.RaisePropertyChanged("HoldTime");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public GuaranteeInfoGuaranteeType GuaranteeType {
            get {
                return this.guaranteeTypeField;
            }
            set {
                this.guaranteeTypeField = value;
                this.RaisePropertyChanged("GuaranteeType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool GuaranteeTypeSpecified {
            get {
                return this.guaranteeTypeFieldSpecified;
            }
            set {
                this.guaranteeTypeFieldSpecified = value;
                this.RaisePropertyChanged("GuaranteeTypeSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string OffsetTimeUnit {
            get {
                return this.offsetTimeUnitField;
            }
            set {
                this.offsetTimeUnitField = value;
                this.RaisePropertyChanged("OffsetTimeUnit");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string OffsetUnitMultiplier {
            get {
                return this.offsetUnitMultiplierField;
            }
            set {
                this.offsetUnitMultiplierField = value;
                this.RaisePropertyChanged("OffsetUnitMultiplier");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string OffsetDropTime {
            get {
                return this.offsetDropTimeField;
            }
            set {
                this.offsetDropTimeField = value;
                this.RaisePropertyChanged("OffsetDropTime");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class DepositAmount : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string amountField;
        
        private string approximateAmountField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Amount {
            get {
                return this.amountField;
            }
            set {
                this.amountField = value;
                this.RaisePropertyChanged("Amount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApproximateAmount {
            get {
                return this.approximateAmountField;
            }
            set {
                this.approximateAmountField = value;
                this.RaisePropertyChanged("ApproximateAmount");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/hotel_v53_0", IncludeInSchema=false)]
    public enum ItemChoiceType2 {
        
        /// <remarks/>
        DepositAmount,
        
        /// <remarks/>
        DepositNights,
        
        /// <remarks/>
        DepositPercent,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class GuaranteePaymentType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string typeField;
        
        private string descriptionField;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
                this.RaisePropertyChanged("Type");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Description {
            get {
                return this.descriptionField;
            }
            set {
                this.descriptionField = value;
                this.RaisePropertyChanged("Description");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
                this.RaisePropertyChanged("Value");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public enum GuaranteeInfoGuaranteeType {
        
        /// <remarks/>
        Deposit,
        
        /// <remarks/>
        Guarantee,
        
        /// <remarks/>
        Prepayment,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class HotelRateDetailRoomCapacity : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string[] capacityField;
        
        private bool isPackageField;
        
        private bool isPackageFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Capacity", DataType="positiveInteger", Order=0)]
        public string[] Capacity {
            get {
                return this.capacityField;
            }
            set {
                this.capacityField = value;
                this.RaisePropertyChanged("Capacity");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool IsPackage {
            get {
                return this.isPackageField;
            }
            set {
                this.isPackageField = value;
                this.RaisePropertyChanged("IsPackage");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool IsPackageSpecified {
            get {
                return this.isPackageFieldSpecified;
            }
            set {
                this.isPackageFieldSpecified = value;
                this.RaisePropertyChanged("IsPackageSpecified");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class HotelRateDetailExtraCharges : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string extraAdultAmountField;
        
        private string extraChildAmountField;
        
        private string cribAmountField;
        
        private string adultRollawayChargeField;
        
        private string childRollawayChargeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ExtraAdultAmount {
            get {
                return this.extraAdultAmountField;
            }
            set {
                this.extraAdultAmountField = value;
                this.RaisePropertyChanged("ExtraAdultAmount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ExtraChildAmount {
            get {
                return this.extraChildAmountField;
            }
            set {
                this.extraChildAmountField = value;
                this.RaisePropertyChanged("ExtraChildAmount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CribAmount {
            get {
                return this.cribAmountField;
            }
            set {
                this.cribAmountField = value;
                this.RaisePropertyChanged("CribAmount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string AdultRollawayCharge {
            get {
                return this.adultRollawayChargeField;
            }
            set {
                this.adultRollawayChargeField = value;
                this.RaisePropertyChanged("AdultRollawayCharge");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ChildRollawayCharge {
            get {
                return this.childRollawayChargeField;
            }
            set {
                this.childRollawayChargeField = value;
                this.RaisePropertyChanged("ChildRollawayCharge");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class HotelRateDetailInclusions : object, System.ComponentModel.INotifyPropertyChanged {
        
        private HotelRateDetailInclusionsBedTypes[] bedTypesField;
        
        private HotelRateDetailInclusionsMealPlans mealPlansField;
        
        private RoomView roomViewField;
        
        private typeTrinary smokingRoomIndicatorField;
        
        private bool smokingRoomIndicatorFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("BedTypes", Order=0)]
        public HotelRateDetailInclusionsBedTypes[] BedTypes {
            get {
                return this.bedTypesField;
            }
            set {
                this.bedTypesField = value;
                this.RaisePropertyChanged("BedTypes");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public HotelRateDetailInclusionsMealPlans MealPlans {
            get {
                return this.mealPlansField;
            }
            set {
                this.mealPlansField = value;
                this.RaisePropertyChanged("MealPlans");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public RoomView RoomView {
            get {
                return this.roomViewField;
            }
            set {
                this.roomViewField = value;
                this.RaisePropertyChanged("RoomView");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeTrinary SmokingRoomIndicator {
            get {
                return this.smokingRoomIndicatorField;
            }
            set {
                this.smokingRoomIndicatorField = value;
                this.RaisePropertyChanged("SmokingRoomIndicator");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool SmokingRoomIndicatorSpecified {
            get {
                return this.smokingRoomIndicatorFieldSpecified;
            }
            set {
                this.smokingRoomIndicatorFieldSpecified = value;
                this.RaisePropertyChanged("SmokingRoomIndicatorSpecified");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class HotelRateDetailInclusionsBedTypes : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string codeField;
        
        private string quantityField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="positiveInteger")]
        public string Code {
            get {
                return this.codeField;
            }
            set {
                this.codeField = value;
                this.RaisePropertyChanged("Code");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="nonNegativeInteger")]
        public string Quantity {
            get {
                return this.quantityField;
            }
            set {
                this.quantityField = value;
                this.RaisePropertyChanged("Quantity");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class HotelRateDetailInclusionsMealPlans : object, System.ComponentModel.INotifyPropertyChanged {
        
        private HotelRateDetailInclusionsMealPlansMealPlan[] mealPlanField;
        
        private typeTrinary breakfastField;
        
        private bool breakfastFieldSpecified;
        
        private typeTrinary lunchField;
        
        private bool lunchFieldSpecified;
        
        private typeTrinary dinnerField;
        
        private bool dinnerFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("MealPlan", Order=0)]
        public HotelRateDetailInclusionsMealPlansMealPlan[] MealPlan {
            get {
                return this.mealPlanField;
            }
            set {
                this.mealPlanField = value;
                this.RaisePropertyChanged("MealPlan");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeTrinary Breakfast {
            get {
                return this.breakfastField;
            }
            set {
                this.breakfastField = value;
                this.RaisePropertyChanged("Breakfast");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool BreakfastSpecified {
            get {
                return this.breakfastFieldSpecified;
            }
            set {
                this.breakfastFieldSpecified = value;
                this.RaisePropertyChanged("BreakfastSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeTrinary Lunch {
            get {
                return this.lunchField;
            }
            set {
                this.lunchField = value;
                this.RaisePropertyChanged("Lunch");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool LunchSpecified {
            get {
                return this.lunchFieldSpecified;
            }
            set {
                this.lunchFieldSpecified = value;
                this.RaisePropertyChanged("LunchSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeTrinary Dinner {
            get {
                return this.dinnerField;
            }
            set {
                this.dinnerField = value;
                this.RaisePropertyChanged("Dinner");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DinnerSpecified {
            get {
                return this.dinnerFieldSpecified;
            }
            set {
                this.dinnerFieldSpecified = value;
                this.RaisePropertyChanged("DinnerSpecified");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class HotelRateDetailInclusionsMealPlansMealPlan : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string codeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="positiveInteger")]
        public string Code {
            get {
                return this.codeField;
            }
            set {
                this.codeField = value;
                this.RaisePropertyChanged("Code");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class RoomView : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string codeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="positiveInteger")]
        public string Code {
            get {
                return this.codeField;
            }
            set {
                this.codeField = value;
                this.RaisePropertyChanged("Code");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class BookingTravelerRef : object, System.ComponentModel.INotifyPropertyChanged {
        
        private LoyaltyCardRef[] loyaltyCardRefField;
        
        private DriversLicenseRef driversLicenseRefField;
        
        private DiscountCardRef[] discountCardRefField;
        
        private PaymentRef[] paymentRefField;
        
        private string keyField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("LoyaltyCardRef", Order=0)]
        public LoyaltyCardRef[] LoyaltyCardRef {
            get {
                return this.loyaltyCardRefField;
            }
            set {
                this.loyaltyCardRefField = value;
                this.RaisePropertyChanged("LoyaltyCardRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public DriversLicenseRef DriversLicenseRef {
            get {
                return this.driversLicenseRefField;
            }
            set {
                this.driversLicenseRefField = value;
                this.RaisePropertyChanged("DriversLicenseRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("DiscountCardRef", Order=2)]
        public DiscountCardRef[] DiscountCardRef {
            get {
                return this.discountCardRefField;
            }
            set {
                this.discountCardRefField = value;
                this.RaisePropertyChanged("DiscountCardRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PaymentRef", Order=3)]
        public PaymentRef[] PaymentRef {
            get {
                return this.paymentRefField;
            }
            set {
                this.paymentRefField = value;
                this.RaisePropertyChanged("PaymentRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class LoyaltyCardRef : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string keyField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class DriversLicenseRef : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string keyField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class DiscountCardRef : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string keyField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class PaymentRef : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string keyField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class MediaItem : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string captionField;
        
        private string heightField;
        
        private string widthField;
        
        private string typeField;
        
        private string urlField;
        
        private string iconField;
        
        private string sizeCodeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string caption {
            get {
                return this.captionField;
            }
            set {
                this.captionField = value;
                this.RaisePropertyChanged("caption");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="nonNegativeInteger")]
        public string height {
            get {
                return this.heightField;
            }
            set {
                this.heightField = value;
                this.RaisePropertyChanged("height");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="nonNegativeInteger")]
        public string width {
            get {
                return this.widthField;
            }
            set {
                this.widthField = value;
                this.RaisePropertyChanged("width");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
                this.RaisePropertyChanged("type");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string url {
            get {
                return this.urlField;
            }
            set {
                this.urlField = value;
                this.RaisePropertyChanged("url");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string icon {
            get {
                return this.iconField;
            }
            set {
                this.iconField = value;
                this.RaisePropertyChanged("icon");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string sizeCode {
            get {
                return this.sizeCodeField;
            }
            set {
                this.sizeCodeField = value;
                this.RaisePropertyChanged("sizeCode");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class typeFeeInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private typeFeeInfoTaxInfoRef[] taxInfoRefField;
        
        private IncludedInBase includedInBaseField;
        
        private string baseAmountField;
        
        private string descriptionField;
        
        private string subCodeField;
        
        private string keyField;
        
        private string amountField;
        
        private string codeField;
        
        private string feeTokenField;
        
        private string paymentRefField;
        
        private string bookingTravelerRefField;
        
        private string passengerTypeCodeField;
        
        private string textField;
        
        private string providerCodeField;
        
        private string supplierCodeField;
        
        private typeElementStatus elStatField;
        
        private bool elStatFieldSpecified;
        
        private bool keyOverrideField;
        
        private bool keyOverrideFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("TaxInfoRef", Order=0)]
        public typeFeeInfoTaxInfoRef[] TaxInfoRef {
            get {
                return this.taxInfoRefField;
            }
            set {
                this.taxInfoRefField = value;
                this.RaisePropertyChanged("TaxInfoRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public IncludedInBase IncludedInBase {
            get {
                return this.includedInBaseField;
            }
            set {
                this.includedInBaseField = value;
                this.RaisePropertyChanged("IncludedInBase");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string BaseAmount {
            get {
                return this.baseAmountField;
            }
            set {
                this.baseAmountField = value;
                this.RaisePropertyChanged("BaseAmount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Description {
            get {
                return this.descriptionField;
            }
            set {
                this.descriptionField = value;
                this.RaisePropertyChanged("Description");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string SubCode {
            get {
                return this.subCodeField;
            }
            set {
                this.subCodeField = value;
                this.RaisePropertyChanged("SubCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Amount {
            get {
                return this.amountField;
            }
            set {
                this.amountField = value;
                this.RaisePropertyChanged("Amount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Code {
            get {
                return this.codeField;
            }
            set {
                this.codeField = value;
                this.RaisePropertyChanged("Code");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string FeeToken {
            get {
                return this.feeTokenField;
            }
            set {
                this.feeTokenField = value;
                this.RaisePropertyChanged("FeeToken");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PaymentRef {
            get {
                return this.paymentRefField;
            }
            set {
                this.paymentRefField = value;
                this.RaisePropertyChanged("PaymentRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string BookingTravelerRef {
            get {
                return this.bookingTravelerRefField;
            }
            set {
                this.bookingTravelerRefField = value;
                this.RaisePropertyChanged("BookingTravelerRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PassengerTypeCode {
            get {
                return this.passengerTypeCodeField;
            }
            set {
                this.passengerTypeCodeField = value;
                this.RaisePropertyChanged("PassengerTypeCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Text {
            get {
                return this.textField;
            }
            set {
                this.textField = value;
                this.RaisePropertyChanged("Text");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProviderCode {
            get {
                return this.providerCodeField;
            }
            set {
                this.providerCodeField = value;
                this.RaisePropertyChanged("ProviderCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string SupplierCode {
            get {
                return this.supplierCodeField;
            }
            set {
                this.supplierCodeField = value;
                this.RaisePropertyChanged("SupplierCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeElementStatus ElStat {
            get {
                return this.elStatField;
            }
            set {
                this.elStatField = value;
                this.RaisePropertyChanged("ElStat");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ElStatSpecified {
            get {
                return this.elStatFieldSpecified;
            }
            set {
                this.elStatFieldSpecified = value;
                this.RaisePropertyChanged("ElStatSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool KeyOverride {
            get {
                return this.keyOverrideField;
            }
            set {
                this.keyOverrideField = value;
                this.RaisePropertyChanged("KeyOverride");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool KeyOverrideSpecified {
            get {
                return this.keyOverrideFieldSpecified;
            }
            set {
                this.keyOverrideFieldSpecified = value;
                this.RaisePropertyChanged("KeyOverrideSpecified");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class typeFeeInfoTaxInfoRef : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string keyField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class IncludedInBase : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string amountField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Amount {
            get {
                return this.amountField;
            }
            set {
                this.amountField = value;
                this.RaisePropertyChanged("Amount");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class typeTax : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string amountField;
        
        private string codeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Amount {
            get {
                return this.amountField;
            }
            set {
                this.amountField = value;
                this.RaisePropertyChanged("Amount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Code {
            get {
                return this.codeField;
            }
            set {
                this.codeField = value;
                this.RaisePropertyChanged("Code");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class typeProviderReservationDetail : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string providerCodeField;
        
        private string providerLocatorCodeField;
        
        private string supplierCodeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProviderCode {
            get {
                return this.providerCodeField;
            }
            set {
                this.providerCodeField = value;
                this.RaisePropertyChanged("ProviderCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProviderLocatorCode {
            get {
                return this.providerLocatorCodeField;
            }
            set {
                this.providerLocatorCodeField = value;
                this.RaisePropertyChanged("ProviderLocatorCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string SupplierCode {
            get {
                return this.supplierCodeField;
            }
            set {
                this.supplierCodeField = value;
                this.RaisePropertyChanged("SupplierCode");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(typeTransactionsAllowed))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class typeBookingTransactionsAllowed : object, System.ComponentModel.INotifyPropertyChanged {
        
        private bool bookingEnabledField;
        
        private bool bookingEnabledFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool BookingEnabled {
            get {
                return this.bookingEnabledField;
            }
            set {
                this.bookingEnabledField = value;
                this.RaisePropertyChanged("BookingEnabled");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool BookingEnabledSpecified {
            get {
                return this.bookingEnabledFieldSpecified;
            }
            set {
                this.bookingEnabledFieldSpecified = value;
                this.RaisePropertyChanged("BookingEnabledSpecified");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class typeTransactionsAllowed : typeBookingTransactionsAllowed {
        
        private bool shoppingEnabledField;
        
        private bool shoppingEnabledFieldSpecified;
        
        private bool pricingEnabledField;
        
        private bool pricingEnabledFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool ShoppingEnabled {
            get {
                return this.shoppingEnabledField;
            }
            set {
                this.shoppingEnabledField = value;
                this.RaisePropertyChanged("ShoppingEnabled");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ShoppingEnabledSpecified {
            get {
                return this.shoppingEnabledFieldSpecified;
            }
            set {
                this.shoppingEnabledFieldSpecified = value;
                this.RaisePropertyChanged("ShoppingEnabledSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool PricingEnabled {
            get {
                return this.pricingEnabledField;
            }
            set {
                this.pricingEnabledField = value;
                this.RaisePropertyChanged("PricingEnabled");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PricingEnabledSpecified {
            get {
                return this.pricingEnabledFieldSpecified;
            }
            set {
                this.pricingEnabledFieldSpecified = value;
                this.RaisePropertyChanged("PricingEnabledSpecified");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class typeOTASubKey : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string[] textField;
        
        private string nameField;
        
        private string descriptionField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Text", Order=0)]
        public string[] Text {
            get {
                return this.textField;
            }
            set {
                this.textField = value;
                this.RaisePropertyChanged("Text");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="positiveInteger")]
        public string Name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
                this.RaisePropertyChanged("Name");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Description {
            get {
                return this.descriptionField;
            }
            set {
                this.descriptionField = value;
                this.RaisePropertyChanged("Description");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class typeOTAKeyword : object, System.ComponentModel.INotifyPropertyChanged {
        
        private typeOTASubKey[] subKeyField;
        
        private string[] textField;
        
        private string nameField;
        
        private string numberField;
        
        private string descriptionField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SubKey", Order=0)]
        public typeOTASubKey[] SubKey {
            get {
                return this.subKeyField;
            }
            set {
                this.subKeyField = value;
                this.RaisePropertyChanged("SubKey");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Text", Order=1)]
        public string[] Text {
            get {
                return this.textField;
            }
            set {
                this.textField = value;
                this.RaisePropertyChanged("Text");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
                this.RaisePropertyChanged("Name");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Number {
            get {
                return this.numberField;
            }
            set {
                this.numberField = value;
                this.RaisePropertyChanged("Number");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Description {
            get {
                return this.descriptionField;
            }
            set {
                this.descriptionField = value;
                this.RaisePropertyChanged("Description");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class typeSubKey : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string[] textField;
        
        private string nameField;
        
        private string descriptionField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Text", Order=0)]
        public string[] Text {
            get {
                return this.textField;
            }
            set {
                this.textField = value;
                this.RaisePropertyChanged("Text");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
                this.RaisePropertyChanged("Name");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Description {
            get {
                return this.descriptionField;
            }
            set {
                this.descriptionField = value;
                this.RaisePropertyChanged("Description");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class typeKeyword : object, System.ComponentModel.INotifyPropertyChanged {
        
        private typeSubKey[] subKeyField;
        
        private string[] textField;
        
        private string nameField;
        
        private string numberField;
        
        private string descriptionField;
        
        private string languageCodeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SubKey", Order=0)]
        public typeSubKey[] SubKey {
            get {
                return this.subKeyField;
            }
            set {
                this.subKeyField = value;
                this.RaisePropertyChanged("SubKey");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Text", Order=1)]
        public string[] Text {
            get {
                return this.textField;
            }
            set {
                this.textField = value;
                this.RaisePropertyChanged("Text");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
                this.RaisePropertyChanged("Name");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Number {
            get {
                return this.numberField;
            }
            set {
                this.numberField = value;
                this.RaisePropertyChanged("Number");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Description {
            get {
                return this.descriptionField;
            }
            set {
                this.descriptionField = value;
                this.RaisePropertyChanged("Description");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="language")]
        public string LanguageCode {
            get {
                return this.languageCodeField;
            }
            set {
                this.languageCodeField = value;
                this.RaisePropertyChanged("LanguageCode");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(typeAgencyHierarchyLongReference))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class typeAgencyHierarchyReference : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string profileIDField;
        
        private typeAgencyProfileLevel profileTypeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string ProfileID {
            get {
                return this.profileIDField;
            }
            set {
                this.profileIDField = value;
                this.RaisePropertyChanged("ProfileID");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeAgencyProfileLevel ProfileType {
            get {
                return this.profileTypeField;
            }
            set {
                this.profileTypeField = value;
                this.RaisePropertyChanged("ProfileType");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public enum typeAgencyProfileLevel {
        
        /// <remarks/>
        Agency,
        
        /// <remarks/>
        Branch,
        
        /// <remarks/>
        BranchGroup,
        
        /// <remarks/>
        Agent,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class typeAgencyHierarchyLongReference : typeAgencyHierarchyReference {
        
        private int profileVersionField;
        
        private string profileNameField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public int ProfileVersion {
            get {
                return this.profileVersionField;
            }
            set {
                this.profileVersionField = value;
                this.RaisePropertyChanged("ProfileVersion");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProfileName {
            get {
                return this.profileNameField;
            }
            set {
                this.profileNameField = value;
                this.RaisePropertyChanged("ProfileName");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class typeDateRange : object, System.ComponentModel.INotifyPropertyChanged {
        
        private System.DateTime startDateField;
        
        private System.DateTime endDateField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="date")]
        public System.DateTime StartDate {
            get {
                return this.startDateField;
            }
            set {
                this.startDateField = value;
                this.RaisePropertyChanged("StartDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="date")]
        public System.DateTime EndDate {
            get {
                return this.endDateField;
            }
            set {
                this.endDateField = value;
                this.RaisePropertyChanged("EndDate");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class typeProfileRef : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string profileEntityIDField;
        
        private typeProfileLevel profileLevelField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProfileEntityID {
            get {
                return this.profileEntityIDField;
            }
            set {
                this.profileEntityIDField = value;
                this.RaisePropertyChanged("ProfileEntityID");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeProfileLevel ProfileLevel {
            get {
                return this.profileLevelField;
            }
            set {
                this.profileLevelField = value;
                this.RaisePropertyChanged("ProfileLevel");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public enum typeProfileLevel {
        
        /// <remarks/>
        Agency,
        
        /// <remarks/>
        Branch,
        
        /// <remarks/>
        BranchGroup,
        
        /// <remarks/>
        Agent,
        
        /// <remarks/>
        Account,
        
        /// <remarks/>
        TravelerGroup,
        
        /// <remarks/>
        Traveler,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class typeLocation : object, System.ComponentModel.INotifyPropertyChanged {
        
        private Location itemField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Airport", typeof(Airport), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("City", typeof(City), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("CityOrAirport", typeof(CityOrAirport), Order=0)]
        public Location Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
                this.RaisePropertyChanged("Item");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class Airport : Location {
        
        private string codeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Code {
            get {
                return this.codeField;
            }
            set {
                this.codeField = value;
                this.RaisePropertyChanged("Code");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class City : Location {
        
        private string codeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Code {
            get {
                return this.codeField;
            }
            set {
                this.codeField = value;
                this.RaisePropertyChanged("Code");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class CityOrAirport : Location {
        
        private string codeField;
        
        private bool preferCityField;
        
        public CityOrAirport() {
            this.preferCityField = false;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Code {
            get {
                return this.codeField;
            }
            set {
                this.codeField = value;
                this.RaisePropertyChanged("Code");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool PreferCity {
            get {
                return this.preferCityField;
            }
            set {
                this.preferCityField = value;
                this.RaisePropertyChanged("PreferCity");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class FormattedTextTextType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private bool formattedField;
        
        private bool formattedFieldSpecified;
        
        private string languageField;
        
        private FormattedTextTextTypeTextFormat textFormatField;
        
        private bool textFormatFieldSpecified;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Formatted {
            get {
                return this.formattedField;
            }
            set {
                this.formattedField = value;
                this.RaisePropertyChanged("Formatted");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FormattedSpecified {
            get {
                return this.formattedFieldSpecified;
            }
            set {
                this.formattedFieldSpecified = value;
                this.RaisePropertyChanged("FormattedSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="language")]
        public string Language {
            get {
                return this.languageField;
            }
            set {
                this.languageField = value;
                this.RaisePropertyChanged("Language");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public FormattedTextTextTypeTextFormat TextFormat {
            get {
                return this.textFormatField;
            }
            set {
                this.textFormatField = value;
                this.RaisePropertyChanged("TextFormat");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool TextFormatSpecified {
            get {
                return this.textFormatFieldSpecified;
            }
            set {
                this.textFormatFieldSpecified = value;
                this.RaisePropertyChanged("TextFormatSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
                this.RaisePropertyChanged("Value");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public enum FormattedTextTextTypeTextFormat {
        
        /// <remarks/>
        PlainText,
        
        /// <remarks/>
        HTML,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class typeKeyBasedReference : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string keyField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class OptionalServiceApplicationLimitType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private OptionalServiceApplicabilityType applicableLevelField;
        
        private string providerDefinedApplicableLevelsField;
        
        private string maximumQuantityField;
        
        private string minimumQuantityField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public OptionalServiceApplicabilityType ApplicableLevel {
            get {
                return this.applicableLevelField;
            }
            set {
                this.applicableLevelField = value;
                this.RaisePropertyChanged("ApplicableLevel");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProviderDefinedApplicableLevels {
            get {
                return this.providerDefinedApplicableLevelsField;
            }
            set {
                this.providerDefinedApplicableLevelsField = value;
                this.RaisePropertyChanged("ProviderDefinedApplicableLevels");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="positiveInteger")]
        public string MaximumQuantity {
            get {
                return this.maximumQuantityField;
            }
            set {
                this.maximumQuantityField = value;
                this.RaisePropertyChanged("MaximumQuantity");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="positiveInteger")]
        public string MinimumQuantity {
            get {
                return this.minimumQuantityField;
            }
            set {
                this.minimumQuantityField = value;
                this.RaisePropertyChanged("MinimumQuantity");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public enum OptionalServiceApplicabilityType {
        
        /// <remarks/>
        Itinerary,
        
        /// <remarks/>
        Passenger,
        
        /// <remarks/>
        Segment,
        
        /// <remarks/>
        PassengerSegment,
        
        /// <remarks/>
        PassengerOD,
        
        /// <remarks/>
        Other,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class ServiceRuleType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private ServiceRuleTypeApplicationRules applicationRulesField;
        
        private ServiceRuleTypeApplicationLevel applicationLevelField;
        
        private ServiceRuleTypeModifyRules modifyRulesField;
        
        private ServiceRuleTypeSecondaryTypeRule[] secondaryTypeRulesField;
        
        private FormattedTextTextType[] remarksField;
        
        private string keyField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public ServiceRuleTypeApplicationRules ApplicationRules {
            get {
                return this.applicationRulesField;
            }
            set {
                this.applicationRulesField = value;
                this.RaisePropertyChanged("ApplicationRules");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public ServiceRuleTypeApplicationLevel ApplicationLevel {
            get {
                return this.applicationLevelField;
            }
            set {
                this.applicationLevelField = value;
                this.RaisePropertyChanged("ApplicationLevel");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public ServiceRuleTypeModifyRules ModifyRules {
            get {
                return this.modifyRulesField;
            }
            set {
                this.modifyRulesField = value;
                this.RaisePropertyChanged("ModifyRules");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=3)]
        [System.Xml.Serialization.XmlArrayItemAttribute("SecondaryTypeRule", IsNullable=false)]
        public ServiceRuleTypeSecondaryTypeRule[] SecondaryTypeRules {
            get {
                return this.secondaryTypeRulesField;
            }
            set {
                this.secondaryTypeRulesField = value;
                this.RaisePropertyChanged("SecondaryTypeRules");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Remarks", Order=4)]
        public FormattedTextTextType[] Remarks {
            get {
                return this.remarksField;
            }
            set {
                this.remarksField = value;
                this.RaisePropertyChanged("Remarks");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class ServiceRuleTypeApplicationRules : object, System.ComponentModel.INotifyPropertyChanged {
        
        private bool requiredForAllTravelersField;
        
        private bool requiredForAllTravelersFieldSpecified;
        
        private bool requiredForAllSegmentsField;
        
        private bool requiredForAllSegmentsFieldSpecified;
        
        private bool requiredForAllSegmentsInODField;
        
        private bool requiredForAllSegmentsInODFieldSpecified;
        
        private bool unselectedOptionRequiredField;
        
        private bool unselectedOptionRequiredFieldSpecified;
        
        private bool secondaryOptionCodeRequiredField;
        
        private bool secondaryOptionCodeRequiredFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool RequiredForAllTravelers {
            get {
                return this.requiredForAllTravelersField;
            }
            set {
                this.requiredForAllTravelersField = value;
                this.RaisePropertyChanged("RequiredForAllTravelers");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RequiredForAllTravelersSpecified {
            get {
                return this.requiredForAllTravelersFieldSpecified;
            }
            set {
                this.requiredForAllTravelersFieldSpecified = value;
                this.RaisePropertyChanged("RequiredForAllTravelersSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool RequiredForAllSegments {
            get {
                return this.requiredForAllSegmentsField;
            }
            set {
                this.requiredForAllSegmentsField = value;
                this.RaisePropertyChanged("RequiredForAllSegments");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RequiredForAllSegmentsSpecified {
            get {
                return this.requiredForAllSegmentsFieldSpecified;
            }
            set {
                this.requiredForAllSegmentsFieldSpecified = value;
                this.RaisePropertyChanged("RequiredForAllSegmentsSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool RequiredForAllSegmentsInOD {
            get {
                return this.requiredForAllSegmentsInODField;
            }
            set {
                this.requiredForAllSegmentsInODField = value;
                this.RaisePropertyChanged("RequiredForAllSegmentsInOD");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RequiredForAllSegmentsInODSpecified {
            get {
                return this.requiredForAllSegmentsInODFieldSpecified;
            }
            set {
                this.requiredForAllSegmentsInODFieldSpecified = value;
                this.RaisePropertyChanged("RequiredForAllSegmentsInODSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool UnselectedOptionRequired {
            get {
                return this.unselectedOptionRequiredField;
            }
            set {
                this.unselectedOptionRequiredField = value;
                this.RaisePropertyChanged("UnselectedOptionRequired");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool UnselectedOptionRequiredSpecified {
            get {
                return this.unselectedOptionRequiredFieldSpecified;
            }
            set {
                this.unselectedOptionRequiredFieldSpecified = value;
                this.RaisePropertyChanged("UnselectedOptionRequiredSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool SecondaryOptionCodeRequired {
            get {
                return this.secondaryOptionCodeRequiredField;
            }
            set {
                this.secondaryOptionCodeRequiredField = value;
                this.RaisePropertyChanged("SecondaryOptionCodeRequired");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool SecondaryOptionCodeRequiredSpecified {
            get {
                return this.secondaryOptionCodeRequiredFieldSpecified;
            }
            set {
                this.secondaryOptionCodeRequiredFieldSpecified = value;
                this.RaisePropertyChanged("SecondaryOptionCodeRequiredSpecified");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class ServiceRuleTypeApplicationLevel : object, System.ComponentModel.INotifyPropertyChanged {
        
        private OptionalServiceApplicationLimitType[] applicationLimitsField;
        
        private ServiceData[] serviceDataField;
        
        private OptionalServiceApplicabilityType[] applicableLevelsField;
        
        private string providerDefinedApplicableLevelsField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=0)]
        [System.Xml.Serialization.XmlArrayItemAttribute("ApplicationLimit", IsNullable=false)]
        public OptionalServiceApplicationLimitType[] ApplicationLimits {
            get {
                return this.applicationLimitsField;
            }
            set {
                this.applicationLimitsField = value;
                this.RaisePropertyChanged("ApplicationLimits");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ServiceData", Order=1)]
        public ServiceData[] ServiceData {
            get {
                return this.serviceDataField;
            }
            set {
                this.serviceDataField = value;
                this.RaisePropertyChanged("ServiceData");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public OptionalServiceApplicabilityType[] ApplicableLevels {
            get {
                return this.applicableLevelsField;
            }
            set {
                this.applicableLevelsField = value;
                this.RaisePropertyChanged("ApplicableLevels");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProviderDefinedApplicableLevels {
            get {
                return this.providerDefinedApplicableLevelsField;
            }
            set {
                this.providerDefinedApplicableLevelsField = value;
                this.RaisePropertyChanged("ProviderDefinedApplicableLevels");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class ServiceData : object, System.ComponentModel.INotifyPropertyChanged {
        
        private SeatAttribute[] seatAttributesField;
        
        private CabinClass cabinClassField;
        
        private typeKeyBasedReference[] sSRRefField;
        
        private string dataField;
        
        private string airSegmentRefField;
        
        private string bookingTravelerRefField;
        
        private bool stopOverField;
        
        private string travelerTypeField;
        
        private string eMDSummaryRefField;
        
        private string eMDCouponRefField;
        
        public ServiceData() {
            this.stopOverField = false;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=0)]
        [System.Xml.Serialization.XmlArrayItemAttribute("SeatAttribute", IsNullable=false)]
        public SeatAttribute[] SeatAttributes {
            get {
                return this.seatAttributesField;
            }
            set {
                this.seatAttributesField = value;
                this.RaisePropertyChanged("SeatAttributes");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public CabinClass CabinClass {
            get {
                return this.cabinClassField;
            }
            set {
                this.cabinClassField = value;
                this.RaisePropertyChanged("CabinClass");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SSRRef", Order=2)]
        public typeKeyBasedReference[] SSRRef {
            get {
                return this.sSRRefField;
            }
            set {
                this.sSRRefField = value;
                this.RaisePropertyChanged("SSRRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Data {
            get {
                return this.dataField;
            }
            set {
                this.dataField = value;
                this.RaisePropertyChanged("Data");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string AirSegmentRef {
            get {
                return this.airSegmentRefField;
            }
            set {
                this.airSegmentRefField = value;
                this.RaisePropertyChanged("AirSegmentRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string BookingTravelerRef {
            get {
                return this.bookingTravelerRefField;
            }
            set {
                this.bookingTravelerRefField = value;
                this.RaisePropertyChanged("BookingTravelerRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool StopOver {
            get {
                return this.stopOverField;
            }
            set {
                this.stopOverField = value;
                this.RaisePropertyChanged("StopOver");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TravelerType {
            get {
                return this.travelerTypeField;
            }
            set {
                this.travelerTypeField = value;
                this.RaisePropertyChanged("TravelerType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string EMDSummaryRef {
            get {
                return this.eMDSummaryRefField;
            }
            set {
                this.eMDSummaryRefField = value;
                this.RaisePropertyChanged("EMDSummaryRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string EMDCouponRef {
            get {
                return this.eMDCouponRefField;
            }
            set {
                this.eMDCouponRefField = value;
                this.RaisePropertyChanged("EMDCouponRef");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class SeatAttribute : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
                this.RaisePropertyChanged("Value");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class CabinClass : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string typeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
                this.RaisePropertyChanged("Type");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class ServiceRuleTypeModifyRules : object, System.ComponentModel.INotifyPropertyChanged {
        
        private ServiceRuleTypeModifyRulesModifyRule[] modifyRuleField;
        
        private ModificationType[] supportedModificationsField;
        
        private string providerDefinedModificationTypeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ModifyRule", Order=0)]
        public ServiceRuleTypeModifyRulesModifyRule[] ModifyRule {
            get {
                return this.modifyRuleField;
            }
            set {
                this.modifyRuleField = value;
                this.RaisePropertyChanged("ModifyRule");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public ModificationType[] SupportedModifications {
            get {
                return this.supportedModificationsField;
            }
            set {
                this.supportedModificationsField = value;
                this.RaisePropertyChanged("SupportedModifications");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProviderDefinedModificationType {
            get {
                return this.providerDefinedModificationTypeField;
            }
            set {
                this.providerDefinedModificationTypeField = value;
                this.RaisePropertyChanged("ProviderDefinedModificationType");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class ServiceRuleTypeModifyRulesModifyRule : object, System.ComponentModel.INotifyPropertyChanged {
        
        private ModificationType modificationField;
        
        private bool automaticallyAppliedOnAddField;
        
        private bool canDeleteField;
        
        private bool canDeleteFieldSpecified;
        
        private bool canAddField;
        
        private bool canAddFieldSpecified;
        
        private bool refundableField;
        
        private bool refundableFieldSpecified;
        
        private string providerDefinedModificationTypeField;
        
        public ServiceRuleTypeModifyRulesModifyRule() {
            this.automaticallyAppliedOnAddField = false;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public ModificationType Modification {
            get {
                return this.modificationField;
            }
            set {
                this.modificationField = value;
                this.RaisePropertyChanged("Modification");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool AutomaticallyAppliedOnAdd {
            get {
                return this.automaticallyAppliedOnAddField;
            }
            set {
                this.automaticallyAppliedOnAddField = value;
                this.RaisePropertyChanged("AutomaticallyAppliedOnAdd");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool CanDelete {
            get {
                return this.canDeleteField;
            }
            set {
                this.canDeleteField = value;
                this.RaisePropertyChanged("CanDelete");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool CanDeleteSpecified {
            get {
                return this.canDeleteFieldSpecified;
            }
            set {
                this.canDeleteFieldSpecified = value;
                this.RaisePropertyChanged("CanDeleteSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool CanAdd {
            get {
                return this.canAddField;
            }
            set {
                this.canAddField = value;
                this.RaisePropertyChanged("CanAdd");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool CanAddSpecified {
            get {
                return this.canAddFieldSpecified;
            }
            set {
                this.canAddFieldSpecified = value;
                this.RaisePropertyChanged("CanAddSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Refundable {
            get {
                return this.refundableField;
            }
            set {
                this.refundableField = value;
                this.RaisePropertyChanged("Refundable");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RefundableSpecified {
            get {
                return this.refundableFieldSpecified;
            }
            set {
                this.refundableFieldSpecified = value;
                this.RaisePropertyChanged("RefundableSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProviderDefinedModificationType {
            get {
                return this.providerDefinedModificationTypeField;
            }
            set {
                this.providerDefinedModificationTypeField = value;
                this.RaisePropertyChanged("ProviderDefinedModificationType");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public enum ModificationType {
        
        /// <remarks/>
        AddSegment,
        
        /// <remarks/>
        RemoveSegment,
        
        /// <remarks/>
        ReplaceSegment,
        
        /// <remarks/>
        AddPassenger,
        
        /// <remarks/>
        RemovePassenger,
        
        /// <remarks/>
        OptionsOnly,
        
        /// <remarks/>
        Other,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class ServiceRuleTypeSecondaryTypeRule : object, System.ComponentModel.INotifyPropertyChanged {
        
        private OptionalServiceApplicationLimitType[] applicationLimitField;
        
        private string secondaryTypeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ApplicationLimit", Order=0)]
        public OptionalServiceApplicationLimitType[] ApplicationLimit {
            get {
                return this.applicationLimitField;
            }
            set {
                this.applicationLimitField = value;
                this.RaisePropertyChanged("ApplicationLimit");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string SecondaryType {
            get {
                return this.secondaryTypeField;
            }
            set {
                this.secondaryTypeField = value;
                this.RaisePropertyChanged("SecondaryType");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class typePassengerType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private Name nameField;
        
        private LoyaltyCard[] loyaltyCardField;
        
        private DiscountCard[] discountCardField;
        
        private PersonalGeography personalGeographyField;
        
        private string codeField;
        
        private string ageField;
        
        private System.DateTime dOBField;
        
        private bool dOBFieldSpecified;
        
        private string genderField;
        
        private bool pricePTCOnlyField;
        
        private bool pricePTCOnlyFieldSpecified;
        
        private string bookingTravelerRefField;
        
        private bool accompaniedPassengerField;
        
        private typeResidency residencyTypeField;
        
        private bool residencyTypeFieldSpecified;
        
        public typePassengerType() {
            this.accompaniedPassengerField = false;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public Name Name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
                this.RaisePropertyChanged("Name");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("LoyaltyCard", Order=1)]
        public LoyaltyCard[] LoyaltyCard {
            get {
                return this.loyaltyCardField;
            }
            set {
                this.loyaltyCardField = value;
                this.RaisePropertyChanged("LoyaltyCard");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("DiscountCard", Order=2)]
        public DiscountCard[] DiscountCard {
            get {
                return this.discountCardField;
            }
            set {
                this.discountCardField = value;
                this.RaisePropertyChanged("DiscountCard");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=3)]
        public PersonalGeography PersonalGeography {
            get {
                return this.personalGeographyField;
            }
            set {
                this.personalGeographyField = value;
                this.RaisePropertyChanged("PersonalGeography");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Code {
            get {
                return this.codeField;
            }
            set {
                this.codeField = value;
                this.RaisePropertyChanged("Code");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string Age {
            get {
                return this.ageField;
            }
            set {
                this.ageField = value;
                this.RaisePropertyChanged("Age");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="date")]
        public System.DateTime DOB {
            get {
                return this.dOBField;
            }
            set {
                this.dOBField = value;
                this.RaisePropertyChanged("DOB");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DOBSpecified {
            get {
                return this.dOBFieldSpecified;
            }
            set {
                this.dOBFieldSpecified = value;
                this.RaisePropertyChanged("DOBSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Gender {
            get {
                return this.genderField;
            }
            set {
                this.genderField = value;
                this.RaisePropertyChanged("Gender");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool PricePTCOnly {
            get {
                return this.pricePTCOnlyField;
            }
            set {
                this.pricePTCOnlyField = value;
                this.RaisePropertyChanged("PricePTCOnly");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PricePTCOnlySpecified {
            get {
                return this.pricePTCOnlyFieldSpecified;
            }
            set {
                this.pricePTCOnlyFieldSpecified = value;
                this.RaisePropertyChanged("PricePTCOnlySpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string BookingTravelerRef {
            get {
                return this.bookingTravelerRefField;
            }
            set {
                this.bookingTravelerRefField = value;
                this.RaisePropertyChanged("BookingTravelerRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool AccompaniedPassenger {
            get {
                return this.accompaniedPassengerField;
            }
            set {
                this.accompaniedPassengerField = value;
                this.RaisePropertyChanged("AccompaniedPassenger");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeResidency ResidencyType {
            get {
                return this.residencyTypeField;
            }
            set {
                this.residencyTypeField = value;
                this.RaisePropertyChanged("ResidencyType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ResidencyTypeSpecified {
            get {
                return this.residencyTypeFieldSpecified;
            }
            set {
                this.residencyTypeFieldSpecified = value;
                this.RaisePropertyChanged("ResidencyTypeSpecified");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class Name : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string prefixField;
        
        private string firstField;
        
        private string middleField;
        
        private string lastField;
        
        private string suffixField;
        
        private string travelerProfileIdField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Prefix {
            get {
                return this.prefixField;
            }
            set {
                this.prefixField = value;
                this.RaisePropertyChanged("Prefix");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string First {
            get {
                return this.firstField;
            }
            set {
                this.firstField = value;
                this.RaisePropertyChanged("First");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Middle {
            get {
                return this.middleField;
            }
            set {
                this.middleField = value;
                this.RaisePropertyChanged("Middle");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Last {
            get {
                return this.lastField;
            }
            set {
                this.lastField = value;
                this.RaisePropertyChanged("Last");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Suffix {
            get {
                return this.suffixField;
            }
            set {
                this.suffixField = value;
                this.RaisePropertyChanged("Suffix");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string TravelerProfileId {
            get {
                return this.travelerProfileIdField;
            }
            set {
                this.travelerProfileIdField = value;
                this.RaisePropertyChanged("TravelerProfileId");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class LoyaltyCard : object, System.ComponentModel.INotifyPropertyChanged {
        
        private typeProviderReservationSpecificInfo[] providerReservationSpecificInfoField;
        
        private string keyField;
        
        private string supplierCodeField;
        
        private string allianceLevelField;
        
        private string membershipProgramField;
        
        private string cardNumberField;
        
        private string statusField;
        
        private string membershipStatusField;
        
        private string freeTextField;
        
        private typeProduct supplierTypeField;
        
        private bool supplierTypeFieldSpecified;
        
        private string levelField;
        
        private string priorityCodeField;
        
        private string vendorLocationRefField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ProviderReservationSpecificInfo", Order=0)]
        public typeProviderReservationSpecificInfo[] ProviderReservationSpecificInfo {
            get {
                return this.providerReservationSpecificInfoField;
            }
            set {
                this.providerReservationSpecificInfoField = value;
                this.RaisePropertyChanged("ProviderReservationSpecificInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string SupplierCode {
            get {
                return this.supplierCodeField;
            }
            set {
                this.supplierCodeField = value;
                this.RaisePropertyChanged("SupplierCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string AllianceLevel {
            get {
                return this.allianceLevelField;
            }
            set {
                this.allianceLevelField = value;
                this.RaisePropertyChanged("AllianceLevel");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string MembershipProgram {
            get {
                return this.membershipProgramField;
            }
            set {
                this.membershipProgramField = value;
                this.RaisePropertyChanged("MembershipProgram");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CardNumber {
            get {
                return this.cardNumberField;
            }
            set {
                this.cardNumberField = value;
                this.RaisePropertyChanged("CardNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Status {
            get {
                return this.statusField;
            }
            set {
                this.statusField = value;
                this.RaisePropertyChanged("Status");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string MembershipStatus {
            get {
                return this.membershipStatusField;
            }
            set {
                this.membershipStatusField = value;
                this.RaisePropertyChanged("MembershipStatus");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string FreeText {
            get {
                return this.freeTextField;
            }
            set {
                this.freeTextField = value;
                this.RaisePropertyChanged("FreeText");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeProduct SupplierType {
            get {
                return this.supplierTypeField;
            }
            set {
                this.supplierTypeField = value;
                this.RaisePropertyChanged("SupplierType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool SupplierTypeSpecified {
            get {
                return this.supplierTypeFieldSpecified;
            }
            set {
                this.supplierTypeFieldSpecified = value;
                this.RaisePropertyChanged("SupplierTypeSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Level {
            get {
                return this.levelField;
            }
            set {
                this.levelField = value;
                this.RaisePropertyChanged("Level");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PriorityCode {
            get {
                return this.priorityCodeField;
            }
            set {
                this.priorityCodeField = value;
                this.RaisePropertyChanged("PriorityCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string VendorLocationRef {
            get {
                return this.vendorLocationRefField;
            }
            set {
                this.vendorLocationRefField = value;
                this.RaisePropertyChanged("VendorLocationRef");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class typeProviderReservationSpecificInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private OperatedBy[] operatedByField;
        
        private ProviderReservationInfoRef providerReservationInfoRefField;
        
        private bool providerReservationLevelField;
        
        private bool providerReservationLevelFieldSpecified;
        
        private bool reservationLevelField;
        
        private bool reservationLevelFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("OperatedBy", Order=0)]
        public OperatedBy[] OperatedBy {
            get {
                return this.operatedByField;
            }
            set {
                this.operatedByField = value;
                this.RaisePropertyChanged("OperatedBy");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public ProviderReservationInfoRef ProviderReservationInfoRef {
            get {
                return this.providerReservationInfoRefField;
            }
            set {
                this.providerReservationInfoRefField = value;
                this.RaisePropertyChanged("ProviderReservationInfoRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool ProviderReservationLevel {
            get {
                return this.providerReservationLevelField;
            }
            set {
                this.providerReservationLevelField = value;
                this.RaisePropertyChanged("ProviderReservationLevel");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ProviderReservationLevelSpecified {
            get {
                return this.providerReservationLevelFieldSpecified;
            }
            set {
                this.providerReservationLevelFieldSpecified = value;
                this.RaisePropertyChanged("ProviderReservationLevelSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool ReservationLevel {
            get {
                return this.reservationLevelField;
            }
            set {
                this.reservationLevelField = value;
                this.RaisePropertyChanged("ReservationLevel");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ReservationLevelSpecified {
            get {
                return this.reservationLevelFieldSpecified;
            }
            set {
                this.reservationLevelFieldSpecified = value;
                this.RaisePropertyChanged("ReservationLevelSpecified");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class OperatedBy : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
                this.RaisePropertyChanged("Value");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public enum typeProduct {
        
        /// <remarks/>
        Air,
        
        /// <remarks/>
        Vehicle,
        
        /// <remarks/>
        Hotel,
        
        /// <remarks/>
        Rail,
        
        /// <remarks/>
        Cruise,
        
        /// <remarks/>
        Other,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class DiscountCard : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string keyField;
        
        private string codeField;
        
        private string descriptionField;
        
        private string numberField;
        
        private typeElementStatus elStatField;
        
        private bool elStatFieldSpecified;
        
        private bool keyOverrideField;
        
        private bool keyOverrideFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Code {
            get {
                return this.codeField;
            }
            set {
                this.codeField = value;
                this.RaisePropertyChanged("Code");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Description {
            get {
                return this.descriptionField;
            }
            set {
                this.descriptionField = value;
                this.RaisePropertyChanged("Description");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Number {
            get {
                return this.numberField;
            }
            set {
                this.numberField = value;
                this.RaisePropertyChanged("Number");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeElementStatus ElStat {
            get {
                return this.elStatField;
            }
            set {
                this.elStatField = value;
                this.RaisePropertyChanged("ElStat");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ElStatSpecified {
            get {
                return this.elStatFieldSpecified;
            }
            set {
                this.elStatFieldSpecified = value;
                this.RaisePropertyChanged("ElStatSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool KeyOverride {
            get {
                return this.keyOverrideField;
            }
            set {
                this.keyOverrideField = value;
                this.RaisePropertyChanged("KeyOverride");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool KeyOverrideSpecified {
            get {
                return this.keyOverrideFieldSpecified;
            }
            set {
                this.keyOverrideFieldSpecified = value;
                this.RaisePropertyChanged("KeyOverrideSpecified");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class PersonalGeography : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string itemField;
        
        private ItemChoiceType1 itemElementNameField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CityCode", typeof(string), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("CountryCode", typeof(string), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("StateProvinceCode", typeof(string), Order=0)]
        [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemElementName")]
        public string Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
                this.RaisePropertyChanged("Item");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public ItemChoiceType1 ItemElementName {
            get {
                return this.itemElementNameField;
            }
            set {
                this.itemElementNameField = value;
                this.RaisePropertyChanged("ItemElementName");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", IncludeInSchema=false)]
    public enum ItemChoiceType1 {
        
        /// <remarks/>
        CityCode,
        
        /// <remarks/>
        CountryCode,
        
        /// <remarks/>
        StateProvinceCode,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public enum typeResidency {
        
        /// <remarks/>
        Employee,
        
        /// <remarks/>
        National,
        
        /// <remarks/>
        Resident,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class typeSpecificTime : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string timeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Time {
            get {
                return this.timeField;
            }
            set {
                this.timeField = value;
                this.RaisePropertyChanged("Time");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(typeFlexibleTimeSpec))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class typeTimeSpec : object, System.ComponentModel.INotifyPropertyChanged {
        
        private object itemField;
        
        private string preferredTimeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SpecificTime", typeof(typeSpecificTime), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("TimeRange", typeof(typeTimeRange), Order=0)]
        public object Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
                this.RaisePropertyChanged("Item");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PreferredTime {
            get {
                return this.preferredTimeField;
            }
            set {
                this.preferredTimeField = value;
                this.RaisePropertyChanged("PreferredTime");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class typeTimeRange : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string earliestTimeField;
        
        private string latestTimeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string EarliestTime {
            get {
                return this.earliestTimeField;
            }
            set {
                this.earliestTimeField = value;
                this.RaisePropertyChanged("EarliestTime");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string LatestTime {
            get {
                return this.latestTimeField;
            }
            set {
                this.latestTimeField = value;
                this.RaisePropertyChanged("LatestTime");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class typeFlexibleTimeSpec : typeTimeSpec {
        
        private typeFlexibleTimeSpecSearchExtraDays searchExtraDaysField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public typeFlexibleTimeSpecSearchExtraDays SearchExtraDays {
            get {
                return this.searchExtraDaysField;
            }
            set {
                this.searchExtraDaysField = value;
                this.RaisePropertyChanged("SearchExtraDays");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class typeFlexibleTimeSpecSearchExtraDays : object, System.ComponentModel.INotifyPropertyChanged {
        
        private int daysBeforeField;
        
        private bool daysBeforeFieldSpecified;
        
        private int daysAfterField;
        
        private bool daysAfterFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public int DaysBefore {
            get {
                return this.daysBeforeField;
            }
            set {
                this.daysBeforeField = value;
                this.RaisePropertyChanged("DaysBefore");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DaysBeforeSpecified {
            get {
                return this.daysBeforeFieldSpecified;
            }
            set {
                this.daysBeforeFieldSpecified = value;
                this.RaisePropertyChanged("DaysBeforeSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public int DaysAfter {
            get {
                return this.daysAfterField;
            }
            set {
                this.daysAfterField = value;
                this.RaisePropertyChanged("DaysAfter");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DaysAfterSpecified {
            get {
                return this.daysAfterFieldSpecified;
            }
            set {
                this.daysAfterFieldSpecified = value;
                this.RaisePropertyChanged("DaysAfterSpecified");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class typeSearchLocation : object, System.ComponentModel.INotifyPropertyChanged {
        
        private Location itemField;
        
        private Distance distanceField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Airport", typeof(Airport), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("City", typeof(City), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("CityOrAirport", typeof(CityOrAirport), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("CoordinateLocation", typeof(CoordinateLocation), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("RailLocation", typeof(RailLocation), Order=0)]
        public Location Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
                this.RaisePropertyChanged("Item");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public Distance Distance {
            get {
                return this.distanceField;
            }
            set {
                this.distanceField = value;
                this.RaisePropertyChanged("Distance");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class RailLocation : Location {
        
        private string codeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Code {
            get {
                return this.codeField;
            }
            set {
                this.codeField = value;
                this.RaisePropertyChanged("Code");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class typeRateDescription : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string[] textField;
        
        private string nameField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Text", Order=0)]
        public string[] Text {
            get {
                return this.textField;
            }
            set {
                this.textField = value;
                this.RaisePropertyChanged("Text");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
                this.RaisePropertyChanged("Name");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class typeSearchTimeSpec : object, System.ComponentModel.INotifyPropertyChanged {
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class typeAgentInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class Segment : object, System.ComponentModel.INotifyPropertyChanged {
        
        private SegmentRemark[] segmentRemarkField;
        
        private string keyField;
        
        private string statusField;
        
        private bool passiveField;
        
        private bool passiveFieldSpecified;
        
        private string travelOrderField;
        
        private string providerSegmentOrderField;
        
        private typeElementStatus elStatField;
        
        private bool elStatFieldSpecified;
        
        private bool keyOverrideField;
        
        private bool keyOverrideFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SegmentRemark", Order=0)]
        public SegmentRemark[] SegmentRemark {
            get {
                return this.segmentRemarkField;
            }
            set {
                this.segmentRemarkField = value;
                this.RaisePropertyChanged("SegmentRemark");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Status {
            get {
                return this.statusField;
            }
            set {
                this.statusField = value;
                this.RaisePropertyChanged("Status");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Passive {
            get {
                return this.passiveField;
            }
            set {
                this.passiveField = value;
                this.RaisePropertyChanged("Passive");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PassiveSpecified {
            get {
                return this.passiveFieldSpecified;
            }
            set {
                this.passiveFieldSpecified = value;
                this.RaisePropertyChanged("PassiveSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string TravelOrder {
            get {
                return this.travelOrderField;
            }
            set {
                this.travelOrderField = value;
                this.RaisePropertyChanged("TravelOrder");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string ProviderSegmentOrder {
            get {
                return this.providerSegmentOrderField;
            }
            set {
                this.providerSegmentOrderField = value;
                this.RaisePropertyChanged("ProviderSegmentOrder");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeElementStatus ElStat {
            get {
                return this.elStatField;
            }
            set {
                this.elStatField = value;
                this.RaisePropertyChanged("ElStat");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ElStatSpecified {
            get {
                return this.elStatFieldSpecified;
            }
            set {
                this.elStatFieldSpecified = value;
                this.RaisePropertyChanged("ElStatSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool KeyOverride {
            get {
                return this.keyOverrideField;
            }
            set {
                this.keyOverrideField = value;
                this.RaisePropertyChanged("KeyOverride");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool KeyOverrideSpecified {
            get {
                return this.keyOverrideFieldSpecified;
            }
            set {
                this.keyOverrideFieldSpecified = value;
                this.RaisePropertyChanged("KeyOverrideSpecified");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class SegmentRemark : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string keyField;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
                this.RaisePropertyChanged("Value");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class typeTaxInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private TaxDetail[] taxDetailField;
        
        private IncludedInBase includedInBaseField;
        
        private string keyField;
        
        private string categoryField;
        
        private string carrierDefinedCategoryField;
        
        private string segmentRefField;
        
        private string flightDetailsRefField;
        
        private string couponRefField;
        
        private string amountField;
        
        private string originAirportField;
        
        private string destinationAirportField;
        
        private string countryCodeField;
        
        private string fareInfoRefField;
        
        private string descriptionField;
        
        private bool taxExemptedField;
        
        private bool taxExemptedFieldSpecified;
        
        private string providerCodeField;
        
        private string supplierCodeField;
        
        private string textField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("TaxDetail", Order=0)]
        public TaxDetail[] TaxDetail {
            get {
                return this.taxDetailField;
            }
            set {
                this.taxDetailField = value;
                this.RaisePropertyChanged("TaxDetail");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public IncludedInBase IncludedInBase {
            get {
                return this.includedInBaseField;
            }
            set {
                this.includedInBaseField = value;
                this.RaisePropertyChanged("IncludedInBase");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Category {
            get {
                return this.categoryField;
            }
            set {
                this.categoryField = value;
                this.RaisePropertyChanged("Category");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CarrierDefinedCategory {
            get {
                return this.carrierDefinedCategoryField;
            }
            set {
                this.carrierDefinedCategoryField = value;
                this.RaisePropertyChanged("CarrierDefinedCategory");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string SegmentRef {
            get {
                return this.segmentRefField;
            }
            set {
                this.segmentRefField = value;
                this.RaisePropertyChanged("SegmentRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string FlightDetailsRef {
            get {
                return this.flightDetailsRefField;
            }
            set {
                this.flightDetailsRefField = value;
                this.RaisePropertyChanged("FlightDetailsRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CouponRef {
            get {
                return this.couponRefField;
            }
            set {
                this.couponRefField = value;
                this.RaisePropertyChanged("CouponRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Amount {
            get {
                return this.amountField;
            }
            set {
                this.amountField = value;
                this.RaisePropertyChanged("Amount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string OriginAirport {
            get {
                return this.originAirportField;
            }
            set {
                this.originAirportField = value;
                this.RaisePropertyChanged("OriginAirport");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string DestinationAirport {
            get {
                return this.destinationAirportField;
            }
            set {
                this.destinationAirportField = value;
                this.RaisePropertyChanged("DestinationAirport");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CountryCode {
            get {
                return this.countryCodeField;
            }
            set {
                this.countryCodeField = value;
                this.RaisePropertyChanged("CountryCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string FareInfoRef {
            get {
                return this.fareInfoRefField;
            }
            set {
                this.fareInfoRefField = value;
                this.RaisePropertyChanged("FareInfoRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Description {
            get {
                return this.descriptionField;
            }
            set {
                this.descriptionField = value;
                this.RaisePropertyChanged("Description");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool TaxExempted {
            get {
                return this.taxExemptedField;
            }
            set {
                this.taxExemptedField = value;
                this.RaisePropertyChanged("TaxExempted");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool TaxExemptedSpecified {
            get {
                return this.taxExemptedFieldSpecified;
            }
            set {
                this.taxExemptedFieldSpecified = value;
                this.RaisePropertyChanged("TaxExemptedSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProviderCode {
            get {
                return this.providerCodeField;
            }
            set {
                this.providerCodeField = value;
                this.RaisePropertyChanged("ProviderCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string SupplierCode {
            get {
                return this.supplierCodeField;
            }
            set {
                this.supplierCodeField = value;
                this.RaisePropertyChanged("SupplierCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Text {
            get {
                return this.textField;
            }
            set {
                this.textField = value;
                this.RaisePropertyChanged("Text");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class TaxDetail : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string amountField;
        
        private string originAirportField;
        
        private string destinationAirportField;
        
        private string countryCodeField;
        
        private string fareInfoRefField;
        
        private string descriptionField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Amount {
            get {
                return this.amountField;
            }
            set {
                this.amountField = value;
                this.RaisePropertyChanged("Amount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string OriginAirport {
            get {
                return this.originAirportField;
            }
            set {
                this.originAirportField = value;
                this.RaisePropertyChanged("OriginAirport");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string DestinationAirport {
            get {
                return this.destinationAirportField;
            }
            set {
                this.destinationAirportField = value;
                this.RaisePropertyChanged("DestinationAirport");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CountryCode {
            get {
                return this.countryCodeField;
            }
            set {
                this.countryCodeField = value;
                this.RaisePropertyChanged("CountryCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string FareInfoRef {
            get {
                return this.fareInfoRefField;
            }
            set {
                this.fareInfoRefField = value;
                this.RaisePropertyChanged("FareInfoRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Description {
            get {
                return this.descriptionField;
            }
            set {
                this.descriptionField = value;
                this.RaisePropertyChanged("Description");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class MCOInformation : object, System.ComponentModel.INotifyPropertyChanged {
        
        private PassengerInfo[] passengerInfoField;
        
        private string mCONumberField;
        
        private string statusField;
        
        private string mCOTypeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PassengerInfo", Order=0)]
        public PassengerInfo[] PassengerInfo {
            get {
                return this.passengerInfoField;
            }
            set {
                this.passengerInfoField = value;
                this.RaisePropertyChanged("PassengerInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string MCONumber {
            get {
                return this.mCONumberField;
            }
            set {
                this.mCONumberField = value;
                this.RaisePropertyChanged("MCONumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Status {
            get {
                return this.statusField;
            }
            set {
                this.statusField = value;
                this.RaisePropertyChanged("Status");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string MCOType {
            get {
                return this.mCOTypeField;
            }
            set {
                this.mCOTypeField = value;
                this.RaisePropertyChanged("MCOType");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class PassengerInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private Name nameField;
        
        private string bookingTravelerRefField;
        
        private string passengerTypeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public Name Name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
                this.RaisePropertyChanged("Name");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string BookingTravelerRef {
            get {
                return this.bookingTravelerRefField;
            }
            set {
                this.bookingTravelerRefField = value;
                this.RaisePropertyChanged("BookingTravelerRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PassengerType {
            get {
                return this.passengerTypeField;
            }
            set {
                this.passengerTypeField = value;
                this.RaisePropertyChanged("PassengerType");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class BaseReservation : object, System.ComponentModel.INotifyPropertyChanged {
        
        private AccountingRemark[] accountingRemarkField;
        
        private GeneralRemark[] generalRemarkField;
        
        private Restriction[] restrictionField;
        
        private PassiveInfo passiveInfoField;
        
        private string locatorCodeField;
        
        private string createDateField;
        
        private string modifiedDateField;
        
        private string customerNumberField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AccountingRemark", Order=0)]
        public AccountingRemark[] AccountingRemark {
            get {
                return this.accountingRemarkField;
            }
            set {
                this.accountingRemarkField = value;
                this.RaisePropertyChanged("AccountingRemark");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("GeneralRemark", Order=1)]
        public GeneralRemark[] GeneralRemark {
            get {
                return this.generalRemarkField;
            }
            set {
                this.generalRemarkField = value;
                this.RaisePropertyChanged("GeneralRemark");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Restriction", Order=2)]
        public Restriction[] Restriction {
            get {
                return this.restrictionField;
            }
            set {
                this.restrictionField = value;
                this.RaisePropertyChanged("Restriction");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=3)]
        public PassiveInfo PassiveInfo {
            get {
                return this.passiveInfoField;
            }
            set {
                this.passiveInfoField = value;
                this.RaisePropertyChanged("PassiveInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string LocatorCode {
            get {
                return this.locatorCodeField;
            }
            set {
                this.locatorCodeField = value;
                this.RaisePropertyChanged("LocatorCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CreateDate {
            get {
                return this.createDateField;
            }
            set {
                this.createDateField = value;
                this.RaisePropertyChanged("CreateDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ModifiedDate {
            get {
                return this.modifiedDateField;
            }
            set {
                this.modifiedDateField = value;
                this.RaisePropertyChanged("ModifiedDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CustomerNumber {
            get {
                return this.customerNumberField;
            }
            set {
                this.customerNumberField = value;
                this.RaisePropertyChanged("CustomerNumber");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class AccountingRemark : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string remarkDataField;
        
        private string[] bookingTravelerRefField;
        
        private string keyField;
        
        private string categoryField;
        
        private string typeInGdsField;
        
        private string providerReservationInfoRefField;
        
        private string providerCodeField;
        
        private bool useProviderNativeModeField;
        
        private typeElementStatus elStatField;
        
        private bool elStatFieldSpecified;
        
        private bool keyOverrideField;
        
        private bool keyOverrideFieldSpecified;
        
        public AccountingRemark() {
            this.useProviderNativeModeField = false;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string RemarkData {
            get {
                return this.remarkDataField;
            }
            set {
                this.remarkDataField = value;
                this.RaisePropertyChanged("RemarkData");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("BookingTravelerRef", Order=1)]
        public string[] BookingTravelerRef {
            get {
                return this.bookingTravelerRefField;
            }
            set {
                this.bookingTravelerRefField = value;
                this.RaisePropertyChanged("BookingTravelerRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Category {
            get {
                return this.categoryField;
            }
            set {
                this.categoryField = value;
                this.RaisePropertyChanged("Category");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TypeInGds {
            get {
                return this.typeInGdsField;
            }
            set {
                this.typeInGdsField = value;
                this.RaisePropertyChanged("TypeInGds");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProviderReservationInfoRef {
            get {
                return this.providerReservationInfoRefField;
            }
            set {
                this.providerReservationInfoRefField = value;
                this.RaisePropertyChanged("ProviderReservationInfoRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProviderCode {
            get {
                return this.providerCodeField;
            }
            set {
                this.providerCodeField = value;
                this.RaisePropertyChanged("ProviderCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool UseProviderNativeMode {
            get {
                return this.useProviderNativeModeField;
            }
            set {
                this.useProviderNativeModeField = value;
                this.RaisePropertyChanged("UseProviderNativeMode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeElementStatus ElStat {
            get {
                return this.elStatField;
            }
            set {
                this.elStatField = value;
                this.RaisePropertyChanged("ElStat");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ElStatSpecified {
            get {
                return this.elStatFieldSpecified;
            }
            set {
                this.elStatFieldSpecified = value;
                this.RaisePropertyChanged("ElStatSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool KeyOverride {
            get {
                return this.keyOverrideField;
            }
            set {
                this.keyOverrideField = value;
                this.RaisePropertyChanged("KeyOverride");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool KeyOverrideSpecified {
            get {
                return this.keyOverrideFieldSpecified;
            }
            set {
                this.keyOverrideFieldSpecified = value;
                this.RaisePropertyChanged("KeyOverrideSpecified");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class GeneralRemark : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string remarkDataField;
        
        private string[] bookingTravelerRefField;
        
        private string keyField;
        
        private string categoryField;
        
        private string typeInGdsField;
        
        private typeProduct supplierTypeField;
        
        private bool supplierTypeFieldSpecified;
        
        private string providerReservationInfoRefField;
        
        private string providerCodeField;
        
        private string supplierCodeField;
        
        private typeDirection directionField;
        
        private bool directionFieldSpecified;
        
        private System.DateTime createDateField;
        
        private bool createDateFieldSpecified;
        
        private bool useProviderNativeModeField;
        
        private typeElementStatus elStatField;
        
        private bool elStatFieldSpecified;
        
        private bool keyOverrideField;
        
        private bool keyOverrideFieldSpecified;
        
        public GeneralRemark() {
            this.useProviderNativeModeField = false;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string RemarkData {
            get {
                return this.remarkDataField;
            }
            set {
                this.remarkDataField = value;
                this.RaisePropertyChanged("RemarkData");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("BookingTravelerRef", Order=1)]
        public string[] BookingTravelerRef {
            get {
                return this.bookingTravelerRefField;
            }
            set {
                this.bookingTravelerRefField = value;
                this.RaisePropertyChanged("BookingTravelerRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Category {
            get {
                return this.categoryField;
            }
            set {
                this.categoryField = value;
                this.RaisePropertyChanged("Category");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TypeInGds {
            get {
                return this.typeInGdsField;
            }
            set {
                this.typeInGdsField = value;
                this.RaisePropertyChanged("TypeInGds");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeProduct SupplierType {
            get {
                return this.supplierTypeField;
            }
            set {
                this.supplierTypeField = value;
                this.RaisePropertyChanged("SupplierType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool SupplierTypeSpecified {
            get {
                return this.supplierTypeFieldSpecified;
            }
            set {
                this.supplierTypeFieldSpecified = value;
                this.RaisePropertyChanged("SupplierTypeSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProviderReservationInfoRef {
            get {
                return this.providerReservationInfoRefField;
            }
            set {
                this.providerReservationInfoRefField = value;
                this.RaisePropertyChanged("ProviderReservationInfoRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProviderCode {
            get {
                return this.providerCodeField;
            }
            set {
                this.providerCodeField = value;
                this.RaisePropertyChanged("ProviderCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string SupplierCode {
            get {
                return this.supplierCodeField;
            }
            set {
                this.supplierCodeField = value;
                this.RaisePropertyChanged("SupplierCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeDirection Direction {
            get {
                return this.directionField;
            }
            set {
                this.directionField = value;
                this.RaisePropertyChanged("Direction");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DirectionSpecified {
            get {
                return this.directionFieldSpecified;
            }
            set {
                this.directionFieldSpecified = value;
                this.RaisePropertyChanged("DirectionSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public System.DateTime CreateDate {
            get {
                return this.createDateField;
            }
            set {
                this.createDateField = value;
                this.RaisePropertyChanged("CreateDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool CreateDateSpecified {
            get {
                return this.createDateFieldSpecified;
            }
            set {
                this.createDateFieldSpecified = value;
                this.RaisePropertyChanged("CreateDateSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool UseProviderNativeMode {
            get {
                return this.useProviderNativeModeField;
            }
            set {
                this.useProviderNativeModeField = value;
                this.RaisePropertyChanged("UseProviderNativeMode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeElementStatus ElStat {
            get {
                return this.elStatField;
            }
            set {
                this.elStatField = value;
                this.RaisePropertyChanged("ElStat");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ElStatSpecified {
            get {
                return this.elStatFieldSpecified;
            }
            set {
                this.elStatFieldSpecified = value;
                this.RaisePropertyChanged("ElStatSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool KeyOverride {
            get {
                return this.keyOverrideField;
            }
            set {
                this.keyOverrideField = value;
                this.RaisePropertyChanged("KeyOverride");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool KeyOverrideSpecified {
            get {
                return this.keyOverrideFieldSpecified;
            }
            set {
                this.keyOverrideFieldSpecified = value;
                this.RaisePropertyChanged("KeyOverrideSpecified");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public enum typeDirection {
        
        /// <remarks/>
        Incoming,
        
        /// <remarks/>
        Outgoing,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class Restriction : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string operationField;
        
        private string reasonField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Operation {
            get {
                return this.operationField;
            }
            set {
                this.operationField = value;
                this.RaisePropertyChanged("Operation");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Reason {
            get {
                return this.reasonField;
            }
            set {
                this.reasonField = value;
                this.RaisePropertyChanged("Reason");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class PassiveInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string[] ticketNumberField;
        
        private string[] confirmationNumberField;
        
        private Commission commissionField;
        
        private string providerCodeField;
        
        private string providerLocatorCodeField;
        
        private string supplierCodeField;
        
        private string supplierLocatorCodeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("TicketNumber", Order=0)]
        public string[] TicketNumber {
            get {
                return this.ticketNumberField;
            }
            set {
                this.ticketNumberField = value;
                this.RaisePropertyChanged("TicketNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ConfirmationNumber", Order=1)]
        public string[] ConfirmationNumber {
            get {
                return this.confirmationNumberField;
            }
            set {
                this.confirmationNumberField = value;
                this.RaisePropertyChanged("ConfirmationNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public Commission Commission {
            get {
                return this.commissionField;
            }
            set {
                this.commissionField = value;
                this.RaisePropertyChanged("Commission");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProviderCode {
            get {
                return this.providerCodeField;
            }
            set {
                this.providerCodeField = value;
                this.RaisePropertyChanged("ProviderCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProviderLocatorCode {
            get {
                return this.providerLocatorCodeField;
            }
            set {
                this.providerLocatorCodeField = value;
                this.RaisePropertyChanged("ProviderLocatorCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string SupplierCode {
            get {
                return this.supplierCodeField;
            }
            set {
                this.supplierCodeField = value;
                this.RaisePropertyChanged("SupplierCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string SupplierLocatorCode {
            get {
                return this.supplierLocatorCodeField;
            }
            set {
                this.supplierLocatorCodeField = value;
                this.RaisePropertyChanged("SupplierLocatorCode");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class Commission : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string keyField;
        
        private typeCommissionLevel levelField;
        
        private typeCommissionType typeField;
        
        private typeCommissionModifier modifierField;
        
        private bool modifierFieldSpecified;
        
        private string amountField;
        
        private string valueField;
        
        private string percentageField;
        
        private string bookingTravelerRefField;
        
        private bool commissionOverrideField;
        
        public Commission() {
            this.commissionOverrideField = false;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeCommissionLevel Level {
            get {
                return this.levelField;
            }
            set {
                this.levelField = value;
                this.RaisePropertyChanged("Level");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeCommissionType Type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
                this.RaisePropertyChanged("Type");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeCommissionModifier Modifier {
            get {
                return this.modifierField;
            }
            set {
                this.modifierField = value;
                this.RaisePropertyChanged("Modifier");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ModifierSpecified {
            get {
                return this.modifierFieldSpecified;
            }
            set {
                this.modifierFieldSpecified = value;
                this.RaisePropertyChanged("ModifierSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Amount {
            get {
                return this.amountField;
            }
            set {
                this.amountField = value;
                this.RaisePropertyChanged("Amount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
                this.RaisePropertyChanged("Value");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Percentage {
            get {
                return this.percentageField;
            }
            set {
                this.percentageField = value;
                this.RaisePropertyChanged("Percentage");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string BookingTravelerRef {
            get {
                return this.bookingTravelerRefField;
            }
            set {
                this.bookingTravelerRefField = value;
                this.RaisePropertyChanged("BookingTravelerRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool CommissionOverride {
            get {
                return this.commissionOverrideField;
            }
            set {
                this.commissionOverrideField = value;
                this.RaisePropertyChanged("CommissionOverride");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public enum typeCommissionLevel {
        
        /// <remarks/>
        Recalled,
        
        /// <remarks/>
        Fare,
        
        /// <remarks/>
        Penalty,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public enum typeCommissionType {
        
        /// <remarks/>
        Flat,
        
        /// <remarks/>
        PercentBase,
        
        /// <remarks/>
        PercentTotal,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public enum typeCommissionModifier {
        
        /// <remarks/>
        FarePercent,
        
        /// <remarks/>
        FareAmount,
        
        /// <remarks/>
        CommissionAmount,
        
        /// <remarks/>
        LessStandardCommission,
        
        /// <remarks/>
        StandardPlusSupplementaryPercent,
        
        /// <remarks/>
        SupplementaryPercent,
        
        /// <remarks/>
        SupplementaryAmount,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class typeGuaranteeInformation : object, System.ComponentModel.INotifyPropertyChanged {
        
        private typeGuaranteeInformationType typeField;
        
        private typeGuaranteeInformationAgencyType agencyTypeField;
        
        private string iATANumberField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeGuaranteeInformationType Type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
                this.RaisePropertyChanged("Type");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeGuaranteeInformationAgencyType AgencyType {
            get {
                return this.agencyTypeField;
            }
            set {
                this.agencyTypeField = value;
                this.RaisePropertyChanged("AgencyType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string IATANumber {
            get {
                return this.iATANumberField;
            }
            set {
                this.iATANumberField = value;
                this.RaisePropertyChanged("IATANumber");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public enum typeGuaranteeInformationType {
        
        /// <remarks/>
        Guarantee,
        
        /// <remarks/>
        Deposit,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public enum typeGuaranteeInformationAgencyType {
        
        /// <remarks/>
        AgencyIATA,
        
        /// <remarks/>
        OtherAgencyIATA,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class typeVoucherInformation : object, System.ComponentModel.INotifyPropertyChanged {
        
        private typeVoucherType voucherTypeField;
        
        private string amountField;
        
        private string confirmationNumberField;
        
        private string accountNameField;
        
        private string numberField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeVoucherType VoucherType {
            get {
                return this.voucherTypeField;
            }
            set {
                this.voucherTypeField = value;
                this.RaisePropertyChanged("VoucherType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Amount {
            get {
                return this.amountField;
            }
            set {
                this.amountField = value;
                this.RaisePropertyChanged("Amount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ConfirmationNumber {
            get {
                return this.confirmationNumberField;
            }
            set {
                this.confirmationNumberField = value;
                this.RaisePropertyChanged("ConfirmationNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string AccountName {
            get {
                return this.accountNameField;
            }
            set {
                this.accountNameField = value;
                this.RaisePropertyChanged("AccountName");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Number {
            get {
                return this.numberField;
            }
            set {
                this.numberField = value;
                this.RaisePropertyChanged("Number");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public enum typeVoucherType {
        
        /// <remarks/>
        FullCredit,
        
        /// <remarks/>
        GroupOrDay,
        
        /// <remarks/>
        SpecificValue,
        
        /// <remarks/>
        RegularVoucher,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class typeResultMessage : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string codeField;
        
        private typeResultMessageType typeField;
        
        private bool typeFieldSpecified;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string Code {
            get {
                return this.codeField;
            }
            set {
                this.codeField = value;
                this.RaisePropertyChanged("Code");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeResultMessageType Type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
                this.RaisePropertyChanged("Type");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool TypeSpecified {
            get {
                return this.typeFieldSpecified;
            }
            set {
                this.typeFieldSpecified = value;
                this.RaisePropertyChanged("TypeSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
                this.RaisePropertyChanged("Value");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public enum typeResultMessageType {
        
        /// <remarks/>
        Warning,
        
        /// <remarks/>
        Error,
        
        /// <remarks/>
        Info,
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(BaseHotelDetailsRsp))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(BaseSearchRsp))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(BaseHotelSearchRsp))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class BaseRsp : object, System.ComponentModel.INotifyPropertyChanged {
        
        private ResponseMessage[] responseMessageField;
        
        private string traceIdField;
        
        private string transactionIdField;
        
        private string responseTimeField;
        
        private string commandHistoryField;
        
        private string sponsoredFltTrnxIdField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ResponseMessage", Order=0)]
        public ResponseMessage[] ResponseMessage {
            get {
                return this.responseMessageField;
            }
            set {
                this.responseMessageField = value;
                this.RaisePropertyChanged("ResponseMessage");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TraceId {
            get {
                return this.traceIdField;
            }
            set {
                this.traceIdField = value;
                this.RaisePropertyChanged("TraceId");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TransactionId {
            get {
                return this.transactionIdField;
            }
            set {
                this.transactionIdField = value;
                this.RaisePropertyChanged("TransactionId");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string ResponseTime {
            get {
                return this.responseTimeField;
            }
            set {
                this.responseTimeField = value;
                this.RaisePropertyChanged("ResponseTime");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CommandHistory {
            get {
                return this.commandHistoryField;
            }
            set {
                this.commandHistoryField = value;
                this.RaisePropertyChanged("CommandHistory");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string SponsoredFltTrnxId {
            get {
                return this.sponsoredFltTrnxIdField;
            }
            set {
                this.sponsoredFltTrnxIdField = value;
                this.RaisePropertyChanged("SponsoredFltTrnxId");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class ResponseMessage : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string codeField;
        
        private ResponseMessageType typeField;
        
        private bool typeFieldSpecified;
        
        private string providerCodeField;
        
        private string supplierCodeField;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string Code {
            get {
                return this.codeField;
            }
            set {
                this.codeField = value;
                this.RaisePropertyChanged("Code");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public ResponseMessageType Type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
                this.RaisePropertyChanged("Type");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool TypeSpecified {
            get {
                return this.typeFieldSpecified;
            }
            set {
                this.typeFieldSpecified = value;
                this.RaisePropertyChanged("TypeSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProviderCode {
            get {
                return this.providerCodeField;
            }
            set {
                this.providerCodeField = value;
                this.RaisePropertyChanged("ProviderCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string SupplierCode {
            get {
                return this.supplierCodeField;
            }
            set {
                this.supplierCodeField = value;
                this.RaisePropertyChanged("SupplierCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
                this.RaisePropertyChanged("Value");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public enum ResponseMessageType {
        
        /// <remarks/>
        Warning,
        
        /// <remarks/>
        Error,
        
        /// <remarks/>
        Info,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class BaseHotelDetailsRsp : BaseRsp {
        
        private HotelProperty hotelPropertyField;
        
        private HotelDetailItem[] hotelDetailItemField;
        
        private HotelRateDetail[] hotelRateDetailField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public HotelProperty HotelProperty {
            get {
                return this.hotelPropertyField;
            }
            set {
                this.hotelPropertyField = value;
                this.RaisePropertyChanged("HotelProperty");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("HotelDetailItem", Order=1)]
        public HotelDetailItem[] HotelDetailItem {
            get {
                return this.hotelDetailItemField;
            }
            set {
                this.hotelDetailItemField = value;
                this.RaisePropertyChanged("HotelDetailItem");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("HotelRateDetail", Order=2)]
        public HotelRateDetail[] HotelRateDetail {
            get {
                return this.hotelRateDetailField;
            }
            set {
                this.hotelRateDetailField = value;
                this.RaisePropertyChanged("HotelRateDetail");
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(BaseHotelSearchRsp))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class BaseSearchRsp : BaseRsp {
        
        private NextResultReference[] nextResultReferenceField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("NextResultReference", Order=0)]
        public NextResultReference[] NextResultReference {
            get {
                return this.nextResultReferenceField;
            }
            set {
                this.nextResultReferenceField = value;
                this.RaisePropertyChanged("NextResultReference");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class NextResultReference : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string providerCodeField;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProviderCode {
            get {
                return this.providerCodeField;
            }
            set {
                this.providerCodeField = value;
                this.RaisePropertyChanged("ProviderCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
                this.RaisePropertyChanged("Value");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class BaseHotelSearchRsp : BaseSearchRsp {
        
        private typeHotelReferencePoint referencePointField;
        
        private HotelSearchResult[] hotelSearchResultField;
        
        private object[] marketingInformationField;
        
        private HostToken hostTokenField;
        
        private int addressSearchQualityField;
        
        private bool addressSearchQualityFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public typeHotelReferencePoint ReferencePoint {
            get {
                return this.referencePointField;
            }
            set {
                this.referencePointField = value;
                this.RaisePropertyChanged("ReferencePoint");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("HotelSearchResult", Order=1)]
        public HotelSearchResult[] HotelSearchResult {
            get {
                return this.hotelSearchResultField;
            }
            set {
                this.hotelSearchResultField = value;
                this.RaisePropertyChanged("HotelSearchResult");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=2)]
        [System.Xml.Serialization.XmlArrayItemAttribute("Text", IsNullable=false)]
        public object[] MarketingInformation {
            get {
                return this.marketingInformationField;
            }
            set {
                this.marketingInformationField = value;
                this.RaisePropertyChanged("MarketingInformation");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=3)]
        public HostToken HostToken {
            get {
                return this.hostTokenField;
            }
            set {
                this.hostTokenField = value;
                this.RaisePropertyChanged("HostToken");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public int AddressSearchQuality {
            get {
                return this.addressSearchQualityField;
            }
            set {
                this.addressSearchQualityField = value;
                this.RaisePropertyChanged("AddressSearchQuality");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AddressSearchQualitySpecified {
            get {
                return this.addressSearchQualityFieldSpecified;
            }
            set {
                this.addressSearchQualityFieldSpecified = value;
                this.RaisePropertyChanged("AddressSearchQualitySpecified");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class typeHotelReferencePoint : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string countryField;
        
        private string stateField;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Country {
            get {
                return this.countryField;
            }
            set {
                this.countryField = value;
                this.RaisePropertyChanged("Country");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string State {
            get {
                return this.stateField;
            }
            set {
                this.stateField = value;
                this.RaisePropertyChanged("State");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
                this.RaisePropertyChanged("Value");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class HotelSearchResult : object, System.ComponentModel.INotifyPropertyChanged {
        
        private VendorLocation[] vendorLocationField;
        
        private HotelProperty[] hotelPropertyField;
        
        private HotelSearchResultHotelSearchError[] hotelSearchErrorField;
        
        private CorporateDiscountID[] corporateDiscountIDField;
        
        private RateInfo[] rateInfoField;
        
        private MediaItem mediaItemField;
        
        private HotelType hotelTypeField;
        
        private PropertyDescription propertyDescriptionField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("VendorLocation", Namespace="http://www.travelport.com/schema/common_v53_0", Order=0)]
        public VendorLocation[] VendorLocation {
            get {
                return this.vendorLocationField;
            }
            set {
                this.vendorLocationField = value;
                this.RaisePropertyChanged("VendorLocation");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("HotelProperty", Order=1)]
        public HotelProperty[] HotelProperty {
            get {
                return this.hotelPropertyField;
            }
            set {
                this.hotelPropertyField = value;
                this.RaisePropertyChanged("HotelProperty");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("HotelSearchError", Order=2)]
        public HotelSearchResultHotelSearchError[] HotelSearchError {
            get {
                return this.hotelSearchErrorField;
            }
            set {
                this.hotelSearchErrorField = value;
                this.RaisePropertyChanged("HotelSearchError");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CorporateDiscountID", Namespace="http://www.travelport.com/schema/common_v53_0", Order=3)]
        public CorporateDiscountID[] CorporateDiscountID {
            get {
                return this.corporateDiscountIDField;
            }
            set {
                this.corporateDiscountIDField = value;
                this.RaisePropertyChanged("CorporateDiscountID");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RateInfo", Order=4)]
        public RateInfo[] RateInfo {
            get {
                return this.rateInfoField;
            }
            set {
                this.rateInfoField = value;
                this.RaisePropertyChanged("RateInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=5)]
        public MediaItem MediaItem {
            get {
                return this.mediaItemField;
            }
            set {
                this.mediaItemField = value;
                this.RaisePropertyChanged("MediaItem");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=6)]
        public HotelType HotelType {
            get {
                return this.hotelTypeField;
            }
            set {
                this.hotelTypeField = value;
                this.RaisePropertyChanged("HotelType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=7)]
        public PropertyDescription PropertyDescription {
            get {
                return this.propertyDescriptionField;
            }
            set {
                this.propertyDescriptionField = value;
                this.RaisePropertyChanged("PropertyDescription");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class VendorLocation : typeVendorLocation {
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class typeVendorLocation : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string providerCodeField;
        
        private string vendorCodeField;
        
        private bool preferredOptionField;
        
        private bool preferredOptionFieldSpecified;
        
        private string vendorLocationIDField;
        
        private string keyField;
        
        private string moreRatesTokenField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProviderCode {
            get {
                return this.providerCodeField;
            }
            set {
                this.providerCodeField = value;
                this.RaisePropertyChanged("ProviderCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string VendorCode {
            get {
                return this.vendorCodeField;
            }
            set {
                this.vendorCodeField = value;
                this.RaisePropertyChanged("VendorCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool PreferredOption {
            get {
                return this.preferredOptionField;
            }
            set {
                this.preferredOptionField = value;
                this.RaisePropertyChanged("PreferredOption");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PreferredOptionSpecified {
            get {
                return this.preferredOptionFieldSpecified;
            }
            set {
                this.preferredOptionFieldSpecified = value;
                this.RaisePropertyChanged("PreferredOptionSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string VendorLocationID {
            get {
                return this.vendorLocationIDField;
            }
            set {
                this.vendorLocationIDField = value;
                this.RaisePropertyChanged("VendorLocationID");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string MoreRatesToken {
            get {
                return this.moreRatesTokenField;
            }
            set {
                this.moreRatesTokenField = value;
                this.RaisePropertyChanged("MoreRatesToken");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class HotelSearchResultHotelSearchError : typeResultMessage {
        
        private string rateSupplierField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string RateSupplier {
            get {
                return this.rateSupplierField;
            }
            set {
                this.rateSupplierField = value;
                this.RaisePropertyChanged("RateSupplier");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class RateInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private typePolicyCodesList policyCodesListField;
        
        private string minimumAmountField;
        
        private string approximateMinimumAmountField;
        
        private bool minAmountRateChangedField;
        
        private bool minAmountRateChangedFieldSpecified;
        
        private string maximumAmountField;
        
        private string approximateMaximumAmountField;
        
        private bool maxAmountRateChangedField;
        
        private bool maxAmountRateChangedFieldSpecified;
        
        private string minimumStayAmountField;
        
        private string approximateMinimumStayAmountField;
        
        private string commissionField;
        
        private string rateSupplierField;
        
        private string rateSupplierLogoField;
        
        private bool minInPolicyField;
        
        private bool minInPolicyFieldSpecified;
        
        private bool maxInPolicyField;
        
        private bool maxInPolicyFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public typePolicyCodesList PolicyCodesList {
            get {
                return this.policyCodesListField;
            }
            set {
                this.policyCodesListField = value;
                this.RaisePropertyChanged("PolicyCodesList");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string MinimumAmount {
            get {
                return this.minimumAmountField;
            }
            set {
                this.minimumAmountField = value;
                this.RaisePropertyChanged("MinimumAmount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApproximateMinimumAmount {
            get {
                return this.approximateMinimumAmountField;
            }
            set {
                this.approximateMinimumAmountField = value;
                this.RaisePropertyChanged("ApproximateMinimumAmount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool MinAmountRateChanged {
            get {
                return this.minAmountRateChangedField;
            }
            set {
                this.minAmountRateChangedField = value;
                this.RaisePropertyChanged("MinAmountRateChanged");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool MinAmountRateChangedSpecified {
            get {
                return this.minAmountRateChangedFieldSpecified;
            }
            set {
                this.minAmountRateChangedFieldSpecified = value;
                this.RaisePropertyChanged("MinAmountRateChangedSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string MaximumAmount {
            get {
                return this.maximumAmountField;
            }
            set {
                this.maximumAmountField = value;
                this.RaisePropertyChanged("MaximumAmount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApproximateMaximumAmount {
            get {
                return this.approximateMaximumAmountField;
            }
            set {
                this.approximateMaximumAmountField = value;
                this.RaisePropertyChanged("ApproximateMaximumAmount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool MaxAmountRateChanged {
            get {
                return this.maxAmountRateChangedField;
            }
            set {
                this.maxAmountRateChangedField = value;
                this.RaisePropertyChanged("MaxAmountRateChanged");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool MaxAmountRateChangedSpecified {
            get {
                return this.maxAmountRateChangedFieldSpecified;
            }
            set {
                this.maxAmountRateChangedFieldSpecified = value;
                this.RaisePropertyChanged("MaxAmountRateChangedSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string MinimumStayAmount {
            get {
                return this.minimumStayAmountField;
            }
            set {
                this.minimumStayAmountField = value;
                this.RaisePropertyChanged("MinimumStayAmount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApproximateMinimumStayAmount {
            get {
                return this.approximateMinimumStayAmountField;
            }
            set {
                this.approximateMinimumStayAmountField = value;
                this.RaisePropertyChanged("ApproximateMinimumStayAmount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Commission {
            get {
                return this.commissionField;
            }
            set {
                this.commissionField = value;
                this.RaisePropertyChanged("Commission");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string RateSupplier {
            get {
                return this.rateSupplierField;
            }
            set {
                this.rateSupplierField = value;
                this.RaisePropertyChanged("RateSupplier");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string RateSupplierLogo {
            get {
                return this.rateSupplierLogoField;
            }
            set {
                this.rateSupplierLogoField = value;
                this.RaisePropertyChanged("RateSupplierLogo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool MinInPolicy {
            get {
                return this.minInPolicyField;
            }
            set {
                this.minInPolicyField = value;
                this.RaisePropertyChanged("MinInPolicy");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool MinInPolicySpecified {
            get {
                return this.minInPolicyFieldSpecified;
            }
            set {
                this.minInPolicyFieldSpecified = value;
                this.RaisePropertyChanged("MinInPolicySpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool MaxInPolicy {
            get {
                return this.maxInPolicyField;
            }
            set {
                this.maxInPolicyField = value;
                this.RaisePropertyChanged("MaxInPolicy");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool MaxInPolicySpecified {
            get {
                return this.maxInPolicyFieldSpecified;
            }
            set {
                this.maxInPolicyFieldSpecified = value;
                this.RaisePropertyChanged("MaxInPolicySpecified");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class HotelType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private bool sourceLinkField;
        
        private bool sourceLinkFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool SourceLink {
            get {
                return this.sourceLinkField;
            }
            set {
                this.sourceLinkField = value;
                this.RaisePropertyChanged("SourceLink");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool SourceLinkSpecified {
            get {
                return this.sourceLinkFieldSpecified;
            }
            set {
                this.sourceLinkFieldSpecified = value;
                this.RaisePropertyChanged("SourceLinkSpecified");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class PropertyDescription : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string providerCodeField;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProviderCode {
            get {
                return this.providerCodeField;
            }
            set {
                this.providerCodeField = value;
                this.RaisePropertyChanged("ProviderCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
                this.RaisePropertyChanged("Value");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class HostToken : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string hostField;
        
        private string keyField;
        
        private typeElementStatus elStatField;
        
        private bool elStatFieldSpecified;
        
        private bool keyOverrideField;
        
        private bool keyOverrideFieldSpecified;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Host {
            get {
                return this.hostField;
            }
            set {
                this.hostField = value;
                this.RaisePropertyChanged("Host");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeElementStatus ElStat {
            get {
                return this.elStatField;
            }
            set {
                this.elStatField = value;
                this.RaisePropertyChanged("ElStat");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ElStatSpecified {
            get {
                return this.elStatFieldSpecified;
            }
            set {
                this.elStatFieldSpecified = value;
                this.RaisePropertyChanged("ElStatSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool KeyOverride {
            get {
                return this.keyOverrideField;
            }
            set {
                this.keyOverrideField = value;
                this.RaisePropertyChanged("KeyOverride");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool KeyOverrideSpecified {
            get {
                return this.keyOverrideFieldSpecified;
            }
            set {
                this.keyOverrideFieldSpecified = value;
                this.RaisePropertyChanged("KeyOverrideSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
                this.RaisePropertyChanged("Value");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class typeGeneralReference : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string keyField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class typeFormOfPaymentPNRReference : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string keyField;
        
        private bool providerReservationLevelField;
        
        public typeFormOfPaymentPNRReference() {
            this.providerReservationLevelField = true;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(true)]
        public bool ProviderReservationLevel {
            get {
                return this.providerReservationLevelField;
            }
            set {
                this.providerReservationLevelField = value;
                this.RaisePropertyChanged("ProviderReservationLevel");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class typeAgencyPayment : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string agencyBillingIdentifierField;
        
        private string agencyBillingNumberField;
        
        private string agencyBillingPasswordField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string AgencyBillingIdentifier {
            get {
                return this.agencyBillingIdentifierField;
            }
            set {
                this.agencyBillingIdentifierField = value;
                this.RaisePropertyChanged("AgencyBillingIdentifier");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string AgencyBillingNumber {
            get {
                return this.agencyBillingNumberField;
            }
            set {
                this.agencyBillingNumberField = value;
                this.RaisePropertyChanged("AgencyBillingNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string AgencyBillingPassword {
            get {
                return this.agencyBillingPasswordField;
            }
            set {
                this.agencyBillingPasswordField = value;
                this.RaisePropertyChanged("AgencyBillingPassword");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(typeCreditCardType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class typePaymentCard : object, System.ComponentModel.INotifyPropertyChanged {
        
        private PhoneNumber phoneNumberField;
        
        private typeStructuredAddress billingAddressField;
        
        private string typeField;
        
        private string numberField;
        
        private string expDateField;
        
        private string nameField;
        
        private string cVVField;
        
        private string approvalCodeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public PhoneNumber PhoneNumber {
            get {
                return this.phoneNumberField;
            }
            set {
                this.phoneNumberField = value;
                this.RaisePropertyChanged("PhoneNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public typeStructuredAddress BillingAddress {
            get {
                return this.billingAddressField;
            }
            set {
                this.billingAddressField = value;
                this.RaisePropertyChanged("BillingAddress");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
                this.RaisePropertyChanged("Type");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Number {
            get {
                return this.numberField;
            }
            set {
                this.numberField = value;
                this.RaisePropertyChanged("Number");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="gYearMonth")]
        public string ExpDate {
            get {
                return this.expDateField;
            }
            set {
                this.expDateField = value;
                this.RaisePropertyChanged("ExpDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
                this.RaisePropertyChanged("Name");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CVV {
            get {
                return this.cVVField;
            }
            set {
                this.cVVField = value;
                this.RaisePropertyChanged("CVV");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApprovalCode {
            get {
                return this.approvalCodeField;
            }
            set {
                this.approvalCodeField = value;
                this.RaisePropertyChanged("ApprovalCode");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class typeStructuredAddress : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string addressNameField;
        
        private string[] streetField;
        
        private string cityField;
        
        private State stateField;
        
        private string postalCodeField;
        
        private string countryField;
        
        private ProviderReservationInfoRef[] providerReservationInfoRefField;
        
        private string keyField;
        
        private typeElementStatus elStatField;
        
        private bool elStatFieldSpecified;
        
        private bool keyOverrideField;
        
        private bool keyOverrideFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string AddressName {
            get {
                return this.addressNameField;
            }
            set {
                this.addressNameField = value;
                this.RaisePropertyChanged("AddressName");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Street", Order=1)]
        public string[] Street {
            get {
                return this.streetField;
            }
            set {
                this.streetField = value;
                this.RaisePropertyChanged("Street");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public string City {
            get {
                return this.cityField;
            }
            set {
                this.cityField = value;
                this.RaisePropertyChanged("City");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=3)]
        public State State {
            get {
                return this.stateField;
            }
            set {
                this.stateField = value;
                this.RaisePropertyChanged("State");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=4)]
        public string PostalCode {
            get {
                return this.postalCodeField;
            }
            set {
                this.postalCodeField = value;
                this.RaisePropertyChanged("PostalCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=5)]
        public string Country {
            get {
                return this.countryField;
            }
            set {
                this.countryField = value;
                this.RaisePropertyChanged("Country");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ProviderReservationInfoRef", Order=6)]
        public ProviderReservationInfoRef[] ProviderReservationInfoRef {
            get {
                return this.providerReservationInfoRefField;
            }
            set {
                this.providerReservationInfoRefField = value;
                this.RaisePropertyChanged("ProviderReservationInfoRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeElementStatus ElStat {
            get {
                return this.elStatField;
            }
            set {
                this.elStatField = value;
                this.RaisePropertyChanged("ElStat");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ElStatSpecified {
            get {
                return this.elStatFieldSpecified;
            }
            set {
                this.elStatFieldSpecified = value;
                this.RaisePropertyChanged("ElStatSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool KeyOverride {
            get {
                return this.keyOverrideField;
            }
            set {
                this.keyOverrideField = value;
                this.RaisePropertyChanged("KeyOverride");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool KeyOverrideSpecified {
            get {
                return this.keyOverrideFieldSpecified;
            }
            set {
                this.keyOverrideFieldSpecified = value;
                this.RaisePropertyChanged("KeyOverrideSpecified");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class State : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
                this.RaisePropertyChanged("Value");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class typeCreditCardType : typePaymentCard {
        
        private string extendedPaymentField;
        
        private string customerReferenceField;
        
        private bool acceptanceOverrideField;
        
        private bool acceptanceOverrideFieldSpecified;
        
        private bool thirdPartyPaymentField;
        
        private string bankNameField;
        
        private string bankCountryCodeField;
        
        private string bankStateCodeField;
        
        private bool enettField;
        
        public typeCreditCardType() {
            this.thirdPartyPaymentField = false;
            this.enettField = false;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ExtendedPayment {
            get {
                return this.extendedPaymentField;
            }
            set {
                this.extendedPaymentField = value;
                this.RaisePropertyChanged("ExtendedPayment");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CustomerReference {
            get {
                return this.customerReferenceField;
            }
            set {
                this.customerReferenceField = value;
                this.RaisePropertyChanged("CustomerReference");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool AcceptanceOverride {
            get {
                return this.acceptanceOverrideField;
            }
            set {
                this.acceptanceOverrideField = value;
                this.RaisePropertyChanged("AcceptanceOverride");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AcceptanceOverrideSpecified {
            get {
                return this.acceptanceOverrideFieldSpecified;
            }
            set {
                this.acceptanceOverrideFieldSpecified = value;
                this.RaisePropertyChanged("AcceptanceOverrideSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool ThirdPartyPayment {
            get {
                return this.thirdPartyPaymentField;
            }
            set {
                this.thirdPartyPaymentField = value;
                this.RaisePropertyChanged("ThirdPartyPayment");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string BankName {
            get {
                return this.bankNameField;
            }
            set {
                this.bankNameField = value;
                this.RaisePropertyChanged("BankName");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string BankCountryCode {
            get {
                return this.bankCountryCodeField;
            }
            set {
                this.bankCountryCodeField = value;
                this.RaisePropertyChanged("BankCountryCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string BankStateCode {
            get {
                return this.bankStateCodeField;
            }
            set {
                this.bankStateCodeField = value;
                this.RaisePropertyChanged("BankStateCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool Enett {
            get {
                return this.enettField;
            }
            set {
                this.enettField = value;
                this.RaisePropertyChanged("Enett");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class typeNonAirReservationRef : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string locatorCodeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string LocatorCode {
            get {
                return this.locatorCodeField;
            }
            set {
                this.locatorCodeField = value;
                this.RaisePropertyChanged("LocatorCode");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class typeSegmentRef : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string keyField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class typeRemark : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string providerReservationInfoRefField;
        
        private string providerCodeField;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProviderReservationInfoRef {
            get {
                return this.providerReservationInfoRefField;
            }
            set {
                this.providerReservationInfoRefField = value;
                this.RaisePropertyChanged("ProviderReservationInfoRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProviderCode {
            get {
                return this.providerCodeField;
            }
            set {
                this.providerCodeField = value;
                this.RaisePropertyChanged("ProviderCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
                this.RaisePropertyChanged("Value");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(typeAssociatedRemark))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(typeAssociatedRemarkWithSegmentRef))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class typeRemarkWithTravelerRef : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string remarkDataField;
        
        private string[] bookingTravelerRefField;
        
        private string providerReservationInfoRefField;
        
        private string providerCodeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string RemarkData {
            get {
                return this.remarkDataField;
            }
            set {
                this.remarkDataField = value;
                this.RaisePropertyChanged("RemarkData");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("BookingTravelerRef", Order=1)]
        public string[] BookingTravelerRef {
            get {
                return this.bookingTravelerRefField;
            }
            set {
                this.bookingTravelerRefField = value;
                this.RaisePropertyChanged("BookingTravelerRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProviderReservationInfoRef {
            get {
                return this.providerReservationInfoRefField;
            }
            set {
                this.providerReservationInfoRefField = value;
                this.RaisePropertyChanged("ProviderReservationInfoRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProviderCode {
            get {
                return this.providerCodeField;
            }
            set {
                this.providerCodeField = value;
                this.RaisePropertyChanged("ProviderCode");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(typeAssociatedRemarkWithSegmentRef))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class typeAssociatedRemark : typeRemarkWithTravelerRef {
        
        private string keyField;
        
        private typeElementStatus elStatField;
        
        private bool elStatFieldSpecified;
        
        private bool keyOverrideField;
        
        private bool keyOverrideFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeElementStatus ElStat {
            get {
                return this.elStatField;
            }
            set {
                this.elStatField = value;
                this.RaisePropertyChanged("ElStat");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ElStatSpecified {
            get {
                return this.elStatFieldSpecified;
            }
            set {
                this.elStatFieldSpecified = value;
                this.RaisePropertyChanged("ElStatSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool KeyOverride {
            get {
                return this.keyOverrideField;
            }
            set {
                this.keyOverrideField = value;
                this.RaisePropertyChanged("KeyOverride");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool KeyOverrideSpecified {
            get {
                return this.keyOverrideFieldSpecified;
            }
            set {
                this.keyOverrideFieldSpecified = value;
                this.RaisePropertyChanged("KeyOverrideSpecified");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class typeAssociatedRemarkWithSegmentRef : typeAssociatedRemark {
        
        private string segmentRefField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string SegmentRef {
            get {
                return this.segmentRefField;
            }
            set {
                this.segmentRefField = value;
                this.RaisePropertyChanged("SegmentRef");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class SeatAssignment : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string keyField;
        
        private string statusField;
        
        private string seatField;
        
        private string seatTypeCodeField;
        
        private string segmentRefField;
        
        private string flightDetailsRefField;
        
        private typeElementStatus elStatField;
        
        private bool elStatFieldSpecified;
        
        private bool keyOverrideField;
        
        private bool keyOverrideFieldSpecified;
        
        private string railCoachNumberField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Status {
            get {
                return this.statusField;
            }
            set {
                this.statusField = value;
                this.RaisePropertyChanged("Status");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Seat {
            get {
                return this.seatField;
            }
            set {
                this.seatField = value;
                this.RaisePropertyChanged("Seat");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string SeatTypeCode {
            get {
                return this.seatTypeCodeField;
            }
            set {
                this.seatTypeCodeField = value;
                this.RaisePropertyChanged("SeatTypeCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string SegmentRef {
            get {
                return this.segmentRefField;
            }
            set {
                this.segmentRefField = value;
                this.RaisePropertyChanged("SegmentRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string FlightDetailsRef {
            get {
                return this.flightDetailsRefField;
            }
            set {
                this.flightDetailsRefField = value;
                this.RaisePropertyChanged("FlightDetailsRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeElementStatus ElStat {
            get {
                return this.elStatField;
            }
            set {
                this.elStatField = value;
                this.RaisePropertyChanged("ElStat");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ElStatSpecified {
            get {
                return this.elStatFieldSpecified;
            }
            set {
                this.elStatFieldSpecified = value;
                this.RaisePropertyChanged("ElStatSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool KeyOverride {
            get {
                return this.keyOverrideField;
            }
            set {
                this.keyOverrideField = value;
                this.RaisePropertyChanged("KeyOverride");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool KeyOverrideSpecified {
            get {
                return this.keyOverrideFieldSpecified;
            }
            set {
                this.keyOverrideFieldSpecified = value;
                this.RaisePropertyChanged("KeyOverrideSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string RailCoachNumber {
            get {
                return this.railCoachNumberField;
            }
            set {
                this.railCoachNumberField = value;
                this.RaisePropertyChanged("RailCoachNumber");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class typeGuestRoomInformation : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string adultsField;
        
        private BookingTravelerRef[] bookingTravelerRefField;
        
        private typeGuestRoomInformationChild[] childField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="positiveInteger", Order=0)]
        public string Adults {
            get {
                return this.adultsField;
            }
            set {
                this.adultsField = value;
                this.RaisePropertyChanged("Adults");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("BookingTravelerRef", Namespace="http://www.travelport.com/schema/common_v53_0", Order=1)]
        public BookingTravelerRef[] BookingTravelerRef {
            get {
                return this.bookingTravelerRefField;
            }
            set {
                this.bookingTravelerRefField = value;
                this.RaisePropertyChanged("BookingTravelerRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Child", Order=2)]
        public typeGuestRoomInformationChild[] Child {
            get {
                return this.childField;
            }
            set {
                this.childField = value;
                this.RaisePropertyChanged("Child");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class typeGuestRoomInformationChild : typeGuestChildInformation {
        
        private BookingTravelerRef bookingTravelerRefField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=0)]
        public BookingTravelerRef BookingTravelerRef {
            get {
                return this.bookingTravelerRefField;
            }
            set {
                this.bookingTravelerRefField = value;
                this.RaisePropertyChanged("BookingTravelerRef");
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(BaseCoreSearchReq))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(BaseReq))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(BaseHotelDetailsReq))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(BaseCreateReservationReq))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(BaseCreateWithFormOfPaymentReq))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(BaseSearchReq))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(BaseHotelSearchReq))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class BaseCoreReq : object, System.ComponentModel.INotifyPropertyChanged {
        
        private BillingPointOfSaleInfo billingPointOfSaleInfoField;
        
        private AgentIDOverride[] agentIDOverrideField;
        
        private string terminalSessionInfoField;
        
        private string traceIdField;
        
        private string tokenIdField;
        
        private string authorizedByField;
        
        private string targetBranchField;
        
        private typeLoggingLevel overrideLoggingField;
        
        private bool overrideLoggingFieldSpecified;
        
        private string languageCodeField;
        
        private bool returnAmenitiesField;
        
        private bool returnSponsoredFlightField;
        
        private bool returnSponsoredFlightFieldSpecified;
        
        private string sponsoredFltTrnxIdField;
        
        public BaseCoreReq() {
            this.returnAmenitiesField = false;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public BillingPointOfSaleInfo BillingPointOfSaleInfo {
            get {
                return this.billingPointOfSaleInfoField;
            }
            set {
                this.billingPointOfSaleInfoField = value;
                this.RaisePropertyChanged("BillingPointOfSaleInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AgentIDOverride", Order=1)]
        public AgentIDOverride[] AgentIDOverride {
            get {
                return this.agentIDOverrideField;
            }
            set {
                this.agentIDOverrideField = value;
                this.RaisePropertyChanged("AgentIDOverride");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public string TerminalSessionInfo {
            get {
                return this.terminalSessionInfoField;
            }
            set {
                this.terminalSessionInfoField = value;
                this.RaisePropertyChanged("TerminalSessionInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TraceId {
            get {
                return this.traceIdField;
            }
            set {
                this.traceIdField = value;
                this.RaisePropertyChanged("TraceId");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TokenId {
            get {
                return this.tokenIdField;
            }
            set {
                this.tokenIdField = value;
                this.RaisePropertyChanged("TokenId");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string AuthorizedBy {
            get {
                return this.authorizedByField;
            }
            set {
                this.authorizedByField = value;
                this.RaisePropertyChanged("AuthorizedBy");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TargetBranch {
            get {
                return this.targetBranchField;
            }
            set {
                this.targetBranchField = value;
                this.RaisePropertyChanged("TargetBranch");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeLoggingLevel OverrideLogging {
            get {
                return this.overrideLoggingField;
            }
            set {
                this.overrideLoggingField = value;
                this.RaisePropertyChanged("OverrideLogging");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool OverrideLoggingSpecified {
            get {
                return this.overrideLoggingFieldSpecified;
            }
            set {
                this.overrideLoggingFieldSpecified = value;
                this.RaisePropertyChanged("OverrideLoggingSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="language")]
        public string LanguageCode {
            get {
                return this.languageCodeField;
            }
            set {
                this.languageCodeField = value;
                this.RaisePropertyChanged("LanguageCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool ReturnAmenities {
            get {
                return this.returnAmenitiesField;
            }
            set {
                this.returnAmenitiesField = value;
                this.RaisePropertyChanged("ReturnAmenities");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool ReturnSponsoredFlight {
            get {
                return this.returnSponsoredFlightField;
            }
            set {
                this.returnSponsoredFlightField = value;
                this.RaisePropertyChanged("ReturnSponsoredFlight");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ReturnSponsoredFlightSpecified {
            get {
                return this.returnSponsoredFlightFieldSpecified;
            }
            set {
                this.returnSponsoredFlightFieldSpecified = value;
                this.RaisePropertyChanged("ReturnSponsoredFlightSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string SponsoredFltTrnxId {
            get {
                return this.sponsoredFltTrnxIdField;
            }
            set {
                this.sponsoredFltTrnxIdField = value;
                this.RaisePropertyChanged("SponsoredFltTrnxId");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class BillingPointOfSaleInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string originApplicationField;
        
        private string cIDBNumberField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string OriginApplication {
            get {
                return this.originApplicationField;
            }
            set {
                this.originApplicationField = value;
                this.RaisePropertyChanged("OriginApplication");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string CIDBNumber {
            get {
                return this.cIDBNumberField;
            }
            set {
                this.cIDBNumberField = value;
                this.RaisePropertyChanged("CIDBNumber");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class AgentIDOverride : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string supplierCodeField;
        
        private string providerCodeField;
        
        private string agentIDField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string SupplierCode {
            get {
                return this.supplierCodeField;
            }
            set {
                this.supplierCodeField = value;
                this.RaisePropertyChanged("SupplierCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProviderCode {
            get {
                return this.providerCodeField;
            }
            set {
                this.providerCodeField = value;
                this.RaisePropertyChanged("ProviderCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string AgentID {
            get {
                return this.agentIDField;
            }
            set {
                this.agentIDField = value;
                this.RaisePropertyChanged("AgentID");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public enum typeLoggingLevel {
        
        /// <remarks/>
        TRACE,
        
        /// <remarks/>
        DEBUG,
        
        /// <remarks/>
        INFO,
        
        /// <remarks/>
        WARN,
        
        /// <remarks/>
        ERROR,
        
        /// <remarks/>
        FATAL,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class BaseCoreSearchReq : BaseCoreReq {
        
        private NextResultReference[] nextResultReferenceField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("NextResultReference", Order=0)]
        public NextResultReference[] NextResultReference {
            get {
                return this.nextResultReferenceField;
            }
            set {
                this.nextResultReferenceField = value;
                this.RaisePropertyChanged("NextResultReference");
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(BaseHotelDetailsReq))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(BaseCreateReservationReq))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(BaseCreateWithFormOfPaymentReq))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(BaseSearchReq))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(BaseHotelSearchReq))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class BaseReq : BaseCoreReq {
        
        private OverridePCC overridePCCField;
        
        private bool retrieveProviderReservationDetailsField;
        
        public BaseReq() {
            this.retrieveProviderReservationDetailsField = false;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public OverridePCC OverridePCC {
            get {
                return this.overridePCCField;
            }
            set {
                this.overridePCCField = value;
                this.RaisePropertyChanged("OverridePCC");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool RetrieveProviderReservationDetails {
            get {
                return this.retrieveProviderReservationDetailsField;
            }
            set {
                this.retrieveProviderReservationDetailsField = value;
                this.RaisePropertyChanged("RetrieveProviderReservationDetails");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class OverridePCC : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string providerCodeField;
        
        private string pseudoCityCodeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProviderCode {
            get {
                return this.providerCodeField;
            }
            set {
                this.providerCodeField = value;
                this.RaisePropertyChanged("ProviderCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PseudoCityCode {
            get {
                return this.pseudoCityCodeField;
            }
            set {
                this.pseudoCityCodeField = value;
                this.RaisePropertyChanged("PseudoCityCode");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class BaseHotelDetailsReq : BaseReq {
        
        private HotelProperty hotelPropertyField;
        
        private HotelDetailsModifiers hotelDetailsModifiersField;
        
        private PointOfSale pointOfSaleField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public HotelProperty HotelProperty {
            get {
                return this.hotelPropertyField;
            }
            set {
                this.hotelPropertyField = value;
                this.RaisePropertyChanged("HotelProperty");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public HotelDetailsModifiers HotelDetailsModifiers {
            get {
                return this.hotelDetailsModifiersField;
            }
            set {
                this.hotelDetailsModifiersField = value;
                this.RaisePropertyChanged("HotelDetailsModifiers");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=2)]
        public PointOfSale PointOfSale {
            get {
                return this.pointOfSaleField;
            }
            set {
                this.pointOfSaleField = value;
                this.RaisePropertyChanged("PointOfSale");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class HotelDetailsModifiers : object, System.ComponentModel.INotifyPropertyChanged {
        
        private PermittedProviders permittedProvidersField;
        
        private LoyaltyCard[] loyaltyCardField;
        
        private CorporateDiscountID[] corporateDiscountIDField;
        
        private HotelStay hotelStayField;
        
        private NumberOfChildren numberOfChildrenField;
        
        private HotelBedding[] hotelBeddingField;
        
        private string[] rateCategoryField;
        
        private typeGuestRoomInformation[] bookingGuestInformationField;
        
        private int numberOfAdultsField;
        
        private bool numberOfAdultsFieldSpecified;
        
        private typeRateRuleDetail rateRuleDetailField;
        
        private int numberOfRoomsField;
        
        private string keyField;
        
        private string preferredCurrencyField;
        
        private int totalOccupantsField;
        
        private bool totalOccupantsFieldSpecified;
        
        private bool processAllNegoRatesIndField;
        
        private string maxWaitField;
        
        public HotelDetailsModifiers() {
            this.rateRuleDetailField = typeRateRuleDetail.None;
            this.numberOfRoomsField = 1;
            this.processAllNegoRatesIndField = false;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=0)]
        public PermittedProviders PermittedProviders {
            get {
                return this.permittedProvidersField;
            }
            set {
                this.permittedProvidersField = value;
                this.RaisePropertyChanged("PermittedProviders");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("LoyaltyCard", Namespace="http://www.travelport.com/schema/common_v53_0", Order=1)]
        public LoyaltyCard[] LoyaltyCard {
            get {
                return this.loyaltyCardField;
            }
            set {
                this.loyaltyCardField = value;
                this.RaisePropertyChanged("LoyaltyCard");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CorporateDiscountID", Namespace="http://www.travelport.com/schema/common_v53_0", Order=2)]
        public CorporateDiscountID[] CorporateDiscountID {
            get {
                return this.corporateDiscountIDField;
            }
            set {
                this.corporateDiscountIDField = value;
                this.RaisePropertyChanged("CorporateDiscountID");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=3)]
        public HotelStay HotelStay {
            get {
                return this.hotelStayField;
            }
            set {
                this.hotelStayField = value;
                this.RaisePropertyChanged("HotelStay");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=4)]
        public NumberOfChildren NumberOfChildren {
            get {
                return this.numberOfChildrenField;
            }
            set {
                this.numberOfChildrenField = value;
                this.RaisePropertyChanged("NumberOfChildren");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("HotelBedding", Order=5)]
        public HotelBedding[] HotelBedding {
            get {
                return this.hotelBeddingField;
            }
            set {
                this.hotelBeddingField = value;
                this.RaisePropertyChanged("HotelBedding");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RateCategory", DataType="positiveInteger", Order=6)]
        public string[] RateCategory {
            get {
                return this.rateCategoryField;
            }
            set {
                this.rateCategoryField = value;
                this.RaisePropertyChanged("RateCategory");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=7)]
        [System.Xml.Serialization.XmlArrayItemAttribute("Room", IsNullable=false)]
        public typeGuestRoomInformation[] BookingGuestInformation {
            get {
                return this.bookingGuestInformationField;
            }
            set {
                this.bookingGuestInformationField = value;
                this.RaisePropertyChanged("BookingGuestInformation");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public int NumberOfAdults {
            get {
                return this.numberOfAdultsField;
            }
            set {
                this.numberOfAdultsField = value;
                this.RaisePropertyChanged("NumberOfAdults");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool NumberOfAdultsSpecified {
            get {
                return this.numberOfAdultsFieldSpecified;
            }
            set {
                this.numberOfAdultsFieldSpecified = value;
                this.RaisePropertyChanged("NumberOfAdultsSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(typeRateRuleDetail.None)]
        public typeRateRuleDetail RateRuleDetail {
            get {
                return this.rateRuleDetailField;
            }
            set {
                this.rateRuleDetailField = value;
                this.RaisePropertyChanged("RateRuleDetail");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(1)]
        public int NumberOfRooms {
            get {
                return this.numberOfRoomsField;
            }
            set {
                this.numberOfRoomsField = value;
                this.RaisePropertyChanged("NumberOfRooms");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PreferredCurrency {
            get {
                return this.preferredCurrencyField;
            }
            set {
                this.preferredCurrencyField = value;
                this.RaisePropertyChanged("PreferredCurrency");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public int TotalOccupants {
            get {
                return this.totalOccupantsField;
            }
            set {
                this.totalOccupantsField = value;
                this.RaisePropertyChanged("TotalOccupants");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool TotalOccupantsSpecified {
            get {
                return this.totalOccupantsFieldSpecified;
            }
            set {
                this.totalOccupantsFieldSpecified = value;
                this.RaisePropertyChanged("TotalOccupantsSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool ProcessAllNegoRatesInd {
            get {
                return this.processAllNegoRatesIndField;
            }
            set {
                this.processAllNegoRatesIndField = value;
                this.RaisePropertyChanged("ProcessAllNegoRatesInd");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="positiveInteger")]
        public string MaxWait {
            get {
                return this.maxWaitField;
            }
            set {
                this.maxWaitField = value;
                this.RaisePropertyChanged("MaxWait");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class PermittedProviders : object, System.ComponentModel.INotifyPropertyChanged {
        
        private Provider providerField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public Provider Provider {
            get {
                return this.providerField;
            }
            set {
                this.providerField = value;
                this.RaisePropertyChanged("Provider");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class Provider : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string codeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Code {
            get {
                return this.codeField;
            }
            set {
                this.codeField = value;
                this.RaisePropertyChanged("Code");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class HotelStay : object, System.ComponentModel.INotifyPropertyChanged {
        
        private System.DateTime checkinDateField;
        
        private System.DateTime checkoutDateField;
        
        private string keyField;
        
        private string hotelRateDetailRefField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="date", Order=0)]
        public System.DateTime CheckinDate {
            get {
                return this.checkinDateField;
            }
            set {
                this.checkinDateField = value;
                this.RaisePropertyChanged("CheckinDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="date", Order=1)]
        public System.DateTime CheckoutDate {
            get {
                return this.checkoutDateField;
            }
            set {
                this.checkoutDateField = value;
                this.RaisePropertyChanged("CheckoutDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string HotelRateDetailRef {
            get {
                return this.hotelRateDetailRefField;
            }
            set {
                this.hotelRateDetailRefField = value;
                this.RaisePropertyChanged("HotelRateDetailRef");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class NumberOfChildren : object, System.ComponentModel.INotifyPropertyChanged {
        
        private int[] ageField;
        
        private int countField;
        
        private string amountField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Age", Order=0)]
        public int[] Age {
            get {
                return this.ageField;
            }
            set {
                this.ageField = value;
                this.RaisePropertyChanged("Age");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public int Count {
            get {
                return this.countField;
            }
            set {
                this.countField = value;
                this.RaisePropertyChanged("Count");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Amount {
            get {
                return this.amountField;
            }
            set {
                this.amountField = value;
                this.RaisePropertyChanged("Amount");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class HotelBedding : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string typeField;
        
        private int numberOfBedsField;
        
        private bool numberOfBedsFieldSpecified;
        
        private string amountField;
        
        private string contentField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
                this.RaisePropertyChanged("Type");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public int NumberOfBeds {
            get {
                return this.numberOfBedsField;
            }
            set {
                this.numberOfBedsField = value;
                this.RaisePropertyChanged("NumberOfBeds");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool NumberOfBedsSpecified {
            get {
                return this.numberOfBedsFieldSpecified;
            }
            set {
                this.numberOfBedsFieldSpecified = value;
                this.RaisePropertyChanged("NumberOfBedsSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Amount {
            get {
                return this.amountField;
            }
            set {
                this.amountField = value;
                this.RaisePropertyChanged("Amount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Content {
            get {
                return this.contentField;
            }
            set {
                this.contentField = value;
                this.RaisePropertyChanged("Content");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public enum typeRateRuleDetail {
        
        /// <remarks/>
        None,
        
        /// <remarks/>
        Complete,
        
        /// <remarks/>
        RatePlansOnly,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class PointOfSale : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string providerCodeField;
        
        private string pseudoCityCodeField;
        
        private string keyField;
        
        private string iATAField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProviderCode {
            get {
                return this.providerCodeField;
            }
            set {
                this.providerCodeField = value;
                this.RaisePropertyChanged("ProviderCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PseudoCityCode {
            get {
                return this.pseudoCityCodeField;
            }
            set {
                this.pseudoCityCodeField = value;
                this.RaisePropertyChanged("PseudoCityCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string IATA {
            get {
                return this.iATAField;
            }
            set {
                this.iATAField = value;
                this.RaisePropertyChanged("IATA");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(BaseCreateWithFormOfPaymentReq))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class BaseCreateReservationReq : BaseReq {
        
        private LinkedUniversalRecord[] linkedUniversalRecordField;
        
        private BookingTraveler[] bookingTravelerField;
        
        private OSI[] oSIField;
        
        private AccountingRemark[] accountingRemarkField;
        
        private GeneralRemark[] generalRemarkField;
        
        private XMLRemark[] xMLRemarkField;
        
        private UnassociatedRemark[] unassociatedRemarkField;
        
        private Postscript postscriptField;
        
        private PassiveInfo passiveInfoField;
        
        private ContinuityCheckOverride continuityCheckOverrideField;
        
        private AgencyContactInfo agencyContactInfoField;
        
        private CustomerID customerIDField;
        
        private FileFinishingInfo fileFinishingInfoField;
        
        private CommissionRemark commissionRemarkField;
        
        private ConsolidatorRemark consolidatorRemarkField;
        
        private InvoiceRemark[] invoiceRemarkField;
        
        private SSR[] sSRField;
        
        private EmailNotification emailNotificationField;
        
        private QueuePlace queuePlaceField;
        
        private string ruleNameField;
        
        private string universalRecordLocatorCodeField;
        
        private string providerLocatorCodeField;
        
        private string providerCodeField;
        
        private string customerNumberField;
        
        private string versionField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("LinkedUniversalRecord", Order=0)]
        public LinkedUniversalRecord[] LinkedUniversalRecord {
            get {
                return this.linkedUniversalRecordField;
            }
            set {
                this.linkedUniversalRecordField = value;
                this.RaisePropertyChanged("LinkedUniversalRecord");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("BookingTraveler", Order=1)]
        public BookingTraveler[] BookingTraveler {
            get {
                return this.bookingTravelerField;
            }
            set {
                this.bookingTravelerField = value;
                this.RaisePropertyChanged("BookingTraveler");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("OSI", Order=2)]
        public OSI[] OSI {
            get {
                return this.oSIField;
            }
            set {
                this.oSIField = value;
                this.RaisePropertyChanged("OSI");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AccountingRemark", Order=3)]
        public AccountingRemark[] AccountingRemark {
            get {
                return this.accountingRemarkField;
            }
            set {
                this.accountingRemarkField = value;
                this.RaisePropertyChanged("AccountingRemark");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("GeneralRemark", Order=4)]
        public GeneralRemark[] GeneralRemark {
            get {
                return this.generalRemarkField;
            }
            set {
                this.generalRemarkField = value;
                this.RaisePropertyChanged("GeneralRemark");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("XMLRemark", Order=5)]
        public XMLRemark[] XMLRemark {
            get {
                return this.xMLRemarkField;
            }
            set {
                this.xMLRemarkField = value;
                this.RaisePropertyChanged("XMLRemark");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("UnassociatedRemark", Order=6)]
        public UnassociatedRemark[] UnassociatedRemark {
            get {
                return this.unassociatedRemarkField;
            }
            set {
                this.unassociatedRemarkField = value;
                this.RaisePropertyChanged("UnassociatedRemark");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=7)]
        public Postscript Postscript {
            get {
                return this.postscriptField;
            }
            set {
                this.postscriptField = value;
                this.RaisePropertyChanged("Postscript");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=8)]
        public PassiveInfo PassiveInfo {
            get {
                return this.passiveInfoField;
            }
            set {
                this.passiveInfoField = value;
                this.RaisePropertyChanged("PassiveInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=9)]
        public ContinuityCheckOverride ContinuityCheckOverride {
            get {
                return this.continuityCheckOverrideField;
            }
            set {
                this.continuityCheckOverrideField = value;
                this.RaisePropertyChanged("ContinuityCheckOverride");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=10)]
        public AgencyContactInfo AgencyContactInfo {
            get {
                return this.agencyContactInfoField;
            }
            set {
                this.agencyContactInfoField = value;
                this.RaisePropertyChanged("AgencyContactInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=11)]
        public CustomerID CustomerID {
            get {
                return this.customerIDField;
            }
            set {
                this.customerIDField = value;
                this.RaisePropertyChanged("CustomerID");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=12)]
        public FileFinishingInfo FileFinishingInfo {
            get {
                return this.fileFinishingInfoField;
            }
            set {
                this.fileFinishingInfoField = value;
                this.RaisePropertyChanged("FileFinishingInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=13)]
        public CommissionRemark CommissionRemark {
            get {
                return this.commissionRemarkField;
            }
            set {
                this.commissionRemarkField = value;
                this.RaisePropertyChanged("CommissionRemark");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=14)]
        public ConsolidatorRemark ConsolidatorRemark {
            get {
                return this.consolidatorRemarkField;
            }
            set {
                this.consolidatorRemarkField = value;
                this.RaisePropertyChanged("ConsolidatorRemark");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("InvoiceRemark", Order=15)]
        public InvoiceRemark[] InvoiceRemark {
            get {
                return this.invoiceRemarkField;
            }
            set {
                this.invoiceRemarkField = value;
                this.RaisePropertyChanged("InvoiceRemark");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SSR", Order=16)]
        public SSR[] SSR {
            get {
                return this.sSRField;
            }
            set {
                this.sSRField = value;
                this.RaisePropertyChanged("SSR");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=17)]
        public EmailNotification EmailNotification {
            get {
                return this.emailNotificationField;
            }
            set {
                this.emailNotificationField = value;
                this.RaisePropertyChanged("EmailNotification");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=18)]
        public QueuePlace QueuePlace {
            get {
                return this.queuePlaceField;
            }
            set {
                this.queuePlaceField = value;
                this.RaisePropertyChanged("QueuePlace");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string RuleName {
            get {
                return this.ruleNameField;
            }
            set {
                this.ruleNameField = value;
                this.RaisePropertyChanged("RuleName");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string UniversalRecordLocatorCode {
            get {
                return this.universalRecordLocatorCodeField;
            }
            set {
                this.universalRecordLocatorCodeField = value;
                this.RaisePropertyChanged("UniversalRecordLocatorCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProviderLocatorCode {
            get {
                return this.providerLocatorCodeField;
            }
            set {
                this.providerLocatorCodeField = value;
                this.RaisePropertyChanged("ProviderLocatorCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProviderCode {
            get {
                return this.providerCodeField;
            }
            set {
                this.providerCodeField = value;
                this.RaisePropertyChanged("ProviderCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CustomerNumber {
            get {
                return this.customerNumberField;
            }
            set {
                this.customerNumberField = value;
                this.RaisePropertyChanged("CustomerNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string Version {
            get {
                return this.versionField;
            }
            set {
                this.versionField = value;
                this.RaisePropertyChanged("Version");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class LinkedUniversalRecord : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string locatorCodeField;
        
        private string keyField;
        
        private typeElementStatus elStatField;
        
        private bool elStatFieldSpecified;
        
        private bool keyOverrideField;
        
        private bool keyOverrideFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string LocatorCode {
            get {
                return this.locatorCodeField;
            }
            set {
                this.locatorCodeField = value;
                this.RaisePropertyChanged("LocatorCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeElementStatus ElStat {
            get {
                return this.elStatField;
            }
            set {
                this.elStatField = value;
                this.RaisePropertyChanged("ElStat");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ElStatSpecified {
            get {
                return this.elStatFieldSpecified;
            }
            set {
                this.elStatFieldSpecified = value;
                this.RaisePropertyChanged("ElStatSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool KeyOverride {
            get {
                return this.keyOverrideField;
            }
            set {
                this.keyOverrideField = value;
                this.RaisePropertyChanged("KeyOverride");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool KeyOverrideSpecified {
            get {
                return this.keyOverrideFieldSpecified;
            }
            set {
                this.keyOverrideFieldSpecified = value;
                this.RaisePropertyChanged("KeyOverrideSpecified");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class BookingTraveler : object, System.ComponentModel.INotifyPropertyChanged {
        
        private BookingTravelerName bookingTravelerNameField;
        
        private DeliveryInfo[] deliveryInfoField;
        
        private PhoneNumber[] phoneNumberField;
        
        private Email[] emailField;
        
        private LoyaltyCard[] loyaltyCardField;
        
        private DiscountCard[] discountCardField;
        
        private SSR[] sSRField;
        
        private NameRemark[] nameRemarkField;
        
        private AirSeatAssignment[] airSeatAssignmentField;
        
        private RailSeatAssignment[] railSeatAssignmentField;
        
        private string emergencyInfoField;
        
        private typeStructuredAddress[] addressField;
        
        private DriversLicense[] driversLicenseField;
        
        private AppliedProfile[] appliedProfileField;
        
        private CustomizedNameData[] customizedNameDataField;
        
        private TravelComplianceData[] travelComplianceDataField;
        
        private TravelInfo travelInfoField;
        
        private string keyField;
        
        private string travelerTypeField;
        
        private string ageField;
        
        private bool vIPField;
        
        private System.DateTime dOBField;
        
        private bool dOBFieldSpecified;
        
        private string genderField;
        
        private string nationalityField;
        
        private typeElementStatus elStatField;
        
        private bool elStatFieldSpecified;
        
        private bool keyOverrideField;
        
        private bool keyOverrideFieldSpecified;
        
        private string nameNumberField;
        
        public BookingTraveler() {
            this.vIPField = false;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public BookingTravelerName BookingTravelerName {
            get {
                return this.bookingTravelerNameField;
            }
            set {
                this.bookingTravelerNameField = value;
                this.RaisePropertyChanged("BookingTravelerName");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("DeliveryInfo", Order=1)]
        public DeliveryInfo[] DeliveryInfo {
            get {
                return this.deliveryInfoField;
            }
            set {
                this.deliveryInfoField = value;
                this.RaisePropertyChanged("DeliveryInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PhoneNumber", Order=2)]
        public PhoneNumber[] PhoneNumber {
            get {
                return this.phoneNumberField;
            }
            set {
                this.phoneNumberField = value;
                this.RaisePropertyChanged("PhoneNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Email", Order=3)]
        public Email[] Email {
            get {
                return this.emailField;
            }
            set {
                this.emailField = value;
                this.RaisePropertyChanged("Email");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("LoyaltyCard", Order=4)]
        public LoyaltyCard[] LoyaltyCard {
            get {
                return this.loyaltyCardField;
            }
            set {
                this.loyaltyCardField = value;
                this.RaisePropertyChanged("LoyaltyCard");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("DiscountCard", Order=5)]
        public DiscountCard[] DiscountCard {
            get {
                return this.discountCardField;
            }
            set {
                this.discountCardField = value;
                this.RaisePropertyChanged("DiscountCard");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SSR", Order=6)]
        public SSR[] SSR {
            get {
                return this.sSRField;
            }
            set {
                this.sSRField = value;
                this.RaisePropertyChanged("SSR");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("NameRemark", Order=7)]
        public NameRemark[] NameRemark {
            get {
                return this.nameRemarkField;
            }
            set {
                this.nameRemarkField = value;
                this.RaisePropertyChanged("NameRemark");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AirSeatAssignment", Order=8)]
        public AirSeatAssignment[] AirSeatAssignment {
            get {
                return this.airSeatAssignmentField;
            }
            set {
                this.airSeatAssignmentField = value;
                this.RaisePropertyChanged("AirSeatAssignment");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RailSeatAssignment", Order=9)]
        public RailSeatAssignment[] RailSeatAssignment {
            get {
                return this.railSeatAssignmentField;
            }
            set {
                this.railSeatAssignmentField = value;
                this.RaisePropertyChanged("RailSeatAssignment");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=10)]
        public string EmergencyInfo {
            get {
                return this.emergencyInfoField;
            }
            set {
                this.emergencyInfoField = value;
                this.RaisePropertyChanged("EmergencyInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Address", Order=11)]
        public typeStructuredAddress[] Address {
            get {
                return this.addressField;
            }
            set {
                this.addressField = value;
                this.RaisePropertyChanged("Address");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("DriversLicense", Order=12)]
        public DriversLicense[] DriversLicense {
            get {
                return this.driversLicenseField;
            }
            set {
                this.driversLicenseField = value;
                this.RaisePropertyChanged("DriversLicense");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AppliedProfile", Order=13)]
        public AppliedProfile[] AppliedProfile {
            get {
                return this.appliedProfileField;
            }
            set {
                this.appliedProfileField = value;
                this.RaisePropertyChanged("AppliedProfile");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CustomizedNameData", Order=14)]
        public CustomizedNameData[] CustomizedNameData {
            get {
                return this.customizedNameDataField;
            }
            set {
                this.customizedNameDataField = value;
                this.RaisePropertyChanged("CustomizedNameData");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("TravelComplianceData", Order=15)]
        public TravelComplianceData[] TravelComplianceData {
            get {
                return this.travelComplianceDataField;
            }
            set {
                this.travelComplianceDataField = value;
                this.RaisePropertyChanged("TravelComplianceData");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=16)]
        public TravelInfo TravelInfo {
            get {
                return this.travelInfoField;
            }
            set {
                this.travelInfoField = value;
                this.RaisePropertyChanged("TravelInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TravelerType {
            get {
                return this.travelerTypeField;
            }
            set {
                this.travelerTypeField = value;
                this.RaisePropertyChanged("TravelerType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string Age {
            get {
                return this.ageField;
            }
            set {
                this.ageField = value;
                this.RaisePropertyChanged("Age");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool VIP {
            get {
                return this.vIPField;
            }
            set {
                this.vIPField = value;
                this.RaisePropertyChanged("VIP");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="date")]
        public System.DateTime DOB {
            get {
                return this.dOBField;
            }
            set {
                this.dOBField = value;
                this.RaisePropertyChanged("DOB");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DOBSpecified {
            get {
                return this.dOBFieldSpecified;
            }
            set {
                this.dOBFieldSpecified = value;
                this.RaisePropertyChanged("DOBSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Gender {
            get {
                return this.genderField;
            }
            set {
                this.genderField = value;
                this.RaisePropertyChanged("Gender");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Nationality {
            get {
                return this.nationalityField;
            }
            set {
                this.nationalityField = value;
                this.RaisePropertyChanged("Nationality");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeElementStatus ElStat {
            get {
                return this.elStatField;
            }
            set {
                this.elStatField = value;
                this.RaisePropertyChanged("ElStat");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ElStatSpecified {
            get {
                return this.elStatFieldSpecified;
            }
            set {
                this.elStatFieldSpecified = value;
                this.RaisePropertyChanged("ElStatSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool KeyOverride {
            get {
                return this.keyOverrideField;
            }
            set {
                this.keyOverrideField = value;
                this.RaisePropertyChanged("KeyOverride");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool KeyOverrideSpecified {
            get {
                return this.keyOverrideFieldSpecified;
            }
            set {
                this.keyOverrideFieldSpecified = value;
                this.RaisePropertyChanged("KeyOverrideSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string NameNumber {
            get {
                return this.nameNumberField;
            }
            set {
                this.nameNumberField = value;
                this.RaisePropertyChanged("NameNumber");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class BookingTravelerName : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string prefixField;
        
        private string firstField;
        
        private string middleField;
        
        private string lastField;
        
        private string suffixField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Prefix {
            get {
                return this.prefixField;
            }
            set {
                this.prefixField = value;
                this.RaisePropertyChanged("Prefix");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string First {
            get {
                return this.firstField;
            }
            set {
                this.firstField = value;
                this.RaisePropertyChanged("First");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Middle {
            get {
                return this.middleField;
            }
            set {
                this.middleField = value;
                this.RaisePropertyChanged("Middle");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Last {
            get {
                return this.lastField;
            }
            set {
                this.lastField = value;
                this.RaisePropertyChanged("Last");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Suffix {
            get {
                return this.suffixField;
            }
            set {
                this.suffixField = value;
                this.RaisePropertyChanged("Suffix");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class DeliveryInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private DeliveryInfoShippingAddress shippingAddressField;
        
        private PhoneNumber phoneNumberField;
        
        private Email emailField;
        
        private GeneralRemark[] generalRemarkField;
        
        private ProviderReservationInfoRef[] providerReservationInfoRefField;
        
        private string typeField;
        
        private string signatureRequiredField;
        
        private string trackingNumberField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public DeliveryInfoShippingAddress ShippingAddress {
            get {
                return this.shippingAddressField;
            }
            set {
                this.shippingAddressField = value;
                this.RaisePropertyChanged("ShippingAddress");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public PhoneNumber PhoneNumber {
            get {
                return this.phoneNumberField;
            }
            set {
                this.phoneNumberField = value;
                this.RaisePropertyChanged("PhoneNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public Email Email {
            get {
                return this.emailField;
            }
            set {
                this.emailField = value;
                this.RaisePropertyChanged("Email");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("GeneralRemark", Order=3)]
        public GeneralRemark[] GeneralRemark {
            get {
                return this.generalRemarkField;
            }
            set {
                this.generalRemarkField = value;
                this.RaisePropertyChanged("GeneralRemark");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ProviderReservationInfoRef", Order=4)]
        public ProviderReservationInfoRef[] ProviderReservationInfoRef {
            get {
                return this.providerReservationInfoRefField;
            }
            set {
                this.providerReservationInfoRefField = value;
                this.RaisePropertyChanged("ProviderReservationInfoRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
                this.RaisePropertyChanged("Type");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string SignatureRequired {
            get {
                return this.signatureRequiredField;
            }
            set {
                this.signatureRequiredField = value;
                this.RaisePropertyChanged("SignatureRequired");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TrackingNumber {
            get {
                return this.trackingNumberField;
            }
            set {
                this.trackingNumberField = value;
                this.RaisePropertyChanged("TrackingNumber");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class DeliveryInfoShippingAddress : typeStructuredAddress {
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class Email : object, System.ComponentModel.INotifyPropertyChanged {
        
        private ProviderReservationInfoRef[] providerReservationInfoRefField;
        
        private string keyField;
        
        private string typeField;
        
        private string commentField;
        
        private string emailIDField;
        
        private typeElementStatus elStatField;
        
        private bool elStatFieldSpecified;
        
        private bool keyOverrideField;
        
        private bool keyOverrideFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ProviderReservationInfoRef", Order=0)]
        public ProviderReservationInfoRef[] ProviderReservationInfoRef {
            get {
                return this.providerReservationInfoRefField;
            }
            set {
                this.providerReservationInfoRefField = value;
                this.RaisePropertyChanged("ProviderReservationInfoRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
                this.RaisePropertyChanged("Type");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Comment {
            get {
                return this.commentField;
            }
            set {
                this.commentField = value;
                this.RaisePropertyChanged("Comment");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string EmailID {
            get {
                return this.emailIDField;
            }
            set {
                this.emailIDField = value;
                this.RaisePropertyChanged("EmailID");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeElementStatus ElStat {
            get {
                return this.elStatField;
            }
            set {
                this.elStatField = value;
                this.RaisePropertyChanged("ElStat");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ElStatSpecified {
            get {
                return this.elStatFieldSpecified;
            }
            set {
                this.elStatFieldSpecified = value;
                this.RaisePropertyChanged("ElStatSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool KeyOverride {
            get {
                return this.keyOverrideField;
            }
            set {
                this.keyOverrideField = value;
                this.RaisePropertyChanged("KeyOverride");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool KeyOverrideSpecified {
            get {
                return this.keyOverrideFieldSpecified;
            }
            set {
                this.keyOverrideFieldSpecified = value;
                this.RaisePropertyChanged("KeyOverrideSpecified");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class SSR : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string keyField;
        
        private string segmentRefField;
        
        private string passiveSegmentRefField;
        
        private string providerReservationInfoRefField;
        
        private string typeField;
        
        private string statusField;
        
        private string freeTextField;
        
        private string carrierField;
        
        private string carrierSpecificTextField;
        
        private string descriptionField;
        
        private string providerDefinedTypeField;
        
        private string sSRRuleRefField;
        
        private string uRLField;
        
        private typeElementStatus elStatField;
        
        private bool elStatFieldSpecified;
        
        private bool keyOverrideField;
        
        private bool keyOverrideFieldSpecified;
        
        private string profileIDField;
        
        private string profileSecureFlightDocKeyField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string SegmentRef {
            get {
                return this.segmentRefField;
            }
            set {
                this.segmentRefField = value;
                this.RaisePropertyChanged("SegmentRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PassiveSegmentRef {
            get {
                return this.passiveSegmentRefField;
            }
            set {
                this.passiveSegmentRefField = value;
                this.RaisePropertyChanged("PassiveSegmentRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProviderReservationInfoRef {
            get {
                return this.providerReservationInfoRefField;
            }
            set {
                this.providerReservationInfoRefField = value;
                this.RaisePropertyChanged("ProviderReservationInfoRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
                this.RaisePropertyChanged("Type");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Status {
            get {
                return this.statusField;
            }
            set {
                this.statusField = value;
                this.RaisePropertyChanged("Status");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string FreeText {
            get {
                return this.freeTextField;
            }
            set {
                this.freeTextField = value;
                this.RaisePropertyChanged("FreeText");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Carrier {
            get {
                return this.carrierField;
            }
            set {
                this.carrierField = value;
                this.RaisePropertyChanged("Carrier");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CarrierSpecificText {
            get {
                return this.carrierSpecificTextField;
            }
            set {
                this.carrierSpecificTextField = value;
                this.RaisePropertyChanged("CarrierSpecificText");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Description {
            get {
                return this.descriptionField;
            }
            set {
                this.descriptionField = value;
                this.RaisePropertyChanged("Description");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProviderDefinedType {
            get {
                return this.providerDefinedTypeField;
            }
            set {
                this.providerDefinedTypeField = value;
                this.RaisePropertyChanged("ProviderDefinedType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string SSRRuleRef {
            get {
                return this.sSRRuleRefField;
            }
            set {
                this.sSRRuleRefField = value;
                this.RaisePropertyChanged("SSRRuleRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string URL {
            get {
                return this.uRLField;
            }
            set {
                this.uRLField = value;
                this.RaisePropertyChanged("URL");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeElementStatus ElStat {
            get {
                return this.elStatField;
            }
            set {
                this.elStatField = value;
                this.RaisePropertyChanged("ElStat");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ElStatSpecified {
            get {
                return this.elStatFieldSpecified;
            }
            set {
                this.elStatFieldSpecified = value;
                this.RaisePropertyChanged("ElStatSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool KeyOverride {
            get {
                return this.keyOverrideField;
            }
            set {
                this.keyOverrideField = value;
                this.RaisePropertyChanged("KeyOverride");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool KeyOverrideSpecified {
            get {
                return this.keyOverrideFieldSpecified;
            }
            set {
                this.keyOverrideFieldSpecified = value;
                this.RaisePropertyChanged("KeyOverrideSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProfileID {
            get {
                return this.profileIDField;
            }
            set {
                this.profileIDField = value;
                this.RaisePropertyChanged("ProfileID");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProfileSecureFlightDocKey {
            get {
                return this.profileSecureFlightDocKeyField;
            }
            set {
                this.profileSecureFlightDocKeyField = value;
                this.RaisePropertyChanged("ProfileSecureFlightDocKey");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class NameRemark : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string remarkDataField;
        
        private ProviderReservationInfoRef[] providerReservationInfoRefField;
        
        private string keyField;
        
        private string categoryField;
        
        private typeElementStatus elStatField;
        
        private bool elStatFieldSpecified;
        
        private bool keyOverrideField;
        
        private bool keyOverrideFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string RemarkData {
            get {
                return this.remarkDataField;
            }
            set {
                this.remarkDataField = value;
                this.RaisePropertyChanged("RemarkData");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ProviderReservationInfoRef", Order=1)]
        public ProviderReservationInfoRef[] ProviderReservationInfoRef {
            get {
                return this.providerReservationInfoRefField;
            }
            set {
                this.providerReservationInfoRefField = value;
                this.RaisePropertyChanged("ProviderReservationInfoRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Category {
            get {
                return this.categoryField;
            }
            set {
                this.categoryField = value;
                this.RaisePropertyChanged("Category");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeElementStatus ElStat {
            get {
                return this.elStatField;
            }
            set {
                this.elStatField = value;
                this.RaisePropertyChanged("ElStat");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ElStatSpecified {
            get {
                return this.elStatFieldSpecified;
            }
            set {
                this.elStatFieldSpecified = value;
                this.RaisePropertyChanged("ElStatSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool KeyOverride {
            get {
                return this.keyOverrideField;
            }
            set {
                this.keyOverrideField = value;
                this.RaisePropertyChanged("KeyOverride");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool KeyOverrideSpecified {
            get {
                return this.keyOverrideFieldSpecified;
            }
            set {
                this.keyOverrideFieldSpecified = value;
                this.RaisePropertyChanged("KeyOverrideSpecified");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class AirSeatAssignment : SeatAssignment {
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class RailSeatAssignment : object, System.ComponentModel.INotifyPropertyChanged {
        
        private Characteristic[] characteristicField;
        
        private string keyField;
        
        private string statusField;
        
        private string seatField;
        
        private string railSegmentRefField;
        
        private string coachNumberField;
        
        private typeElementStatus elStatField;
        
        private bool elStatFieldSpecified;
        
        private bool keyOverrideField;
        
        private bool keyOverrideFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Characteristic", Order=0)]
        public Characteristic[] Characteristic {
            get {
                return this.characteristicField;
            }
            set {
                this.characteristicField = value;
                this.RaisePropertyChanged("Characteristic");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Status {
            get {
                return this.statusField;
            }
            set {
                this.statusField = value;
                this.RaisePropertyChanged("Status");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Seat {
            get {
                return this.seatField;
            }
            set {
                this.seatField = value;
                this.RaisePropertyChanged("Seat");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string RailSegmentRef {
            get {
                return this.railSegmentRefField;
            }
            set {
                this.railSegmentRefField = value;
                this.RaisePropertyChanged("RailSegmentRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CoachNumber {
            get {
                return this.coachNumberField;
            }
            set {
                this.coachNumberField = value;
                this.RaisePropertyChanged("CoachNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeElementStatus ElStat {
            get {
                return this.elStatField;
            }
            set {
                this.elStatField = value;
                this.RaisePropertyChanged("ElStat");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ElStatSpecified {
            get {
                return this.elStatFieldSpecified;
            }
            set {
                this.elStatFieldSpecified = value;
                this.RaisePropertyChanged("ElStatSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool KeyOverride {
            get {
                return this.keyOverrideField;
            }
            set {
                this.keyOverrideField = value;
                this.RaisePropertyChanged("KeyOverride");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool KeyOverrideSpecified {
            get {
                return this.keyOverrideFieldSpecified;
            }
            set {
                this.keyOverrideFieldSpecified = value;
                this.RaisePropertyChanged("KeyOverrideSpecified");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class Characteristic : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string seatTypeField;
        
        private string seatDescriptionField;
        
        private string seatValueField;
        
        private string seatValueDescriptionField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string SeatType {
            get {
                return this.seatTypeField;
            }
            set {
                this.seatTypeField = value;
                this.RaisePropertyChanged("SeatType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string SeatDescription {
            get {
                return this.seatDescriptionField;
            }
            set {
                this.seatDescriptionField = value;
                this.RaisePropertyChanged("SeatDescription");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string SeatValue {
            get {
                return this.seatValueField;
            }
            set {
                this.seatValueField = value;
                this.RaisePropertyChanged("SeatValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string SeatValueDescription {
            get {
                return this.seatValueDescriptionField;
            }
            set {
                this.seatValueDescriptionField = value;
                this.RaisePropertyChanged("SeatValueDescription");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class DriversLicense : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string keyField;
        
        private string licenseNumberField;
        
        private typeElementStatus elStatField;
        
        private bool elStatFieldSpecified;
        
        private bool keyOverrideField;
        
        private bool keyOverrideFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string LicenseNumber {
            get {
                return this.licenseNumberField;
            }
            set {
                this.licenseNumberField = value;
                this.RaisePropertyChanged("LicenseNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeElementStatus ElStat {
            get {
                return this.elStatField;
            }
            set {
                this.elStatField = value;
                this.RaisePropertyChanged("ElStat");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ElStatSpecified {
            get {
                return this.elStatFieldSpecified;
            }
            set {
                this.elStatFieldSpecified = value;
                this.RaisePropertyChanged("ElStatSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool KeyOverride {
            get {
                return this.keyOverrideField;
            }
            set {
                this.keyOverrideField = value;
                this.RaisePropertyChanged("KeyOverride");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool KeyOverrideSpecified {
            get {
                return this.keyOverrideFieldSpecified;
            }
            set {
                this.keyOverrideFieldSpecified = value;
                this.RaisePropertyChanged("KeyOverrideSpecified");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class AppliedProfile : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string keyField;
        
        private string travelerIDField;
        
        private string travelerNameField;
        
        private string accountIDField;
        
        private string accountNameField;
        
        private string immediateParentIDField;
        
        private string immediateParentNameField;
        
        private typeElementStatus elStatField;
        
        private bool elStatFieldSpecified;
        
        private bool keyOverrideField;
        
        private bool keyOverrideFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TravelerID {
            get {
                return this.travelerIDField;
            }
            set {
                this.travelerIDField = value;
                this.RaisePropertyChanged("TravelerID");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TravelerName {
            get {
                return this.travelerNameField;
            }
            set {
                this.travelerNameField = value;
                this.RaisePropertyChanged("TravelerName");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string AccountID {
            get {
                return this.accountIDField;
            }
            set {
                this.accountIDField = value;
                this.RaisePropertyChanged("AccountID");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string AccountName {
            get {
                return this.accountNameField;
            }
            set {
                this.accountNameField = value;
                this.RaisePropertyChanged("AccountName");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ImmediateParentID {
            get {
                return this.immediateParentIDField;
            }
            set {
                this.immediateParentIDField = value;
                this.RaisePropertyChanged("ImmediateParentID");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ImmediateParentName {
            get {
                return this.immediateParentNameField;
            }
            set {
                this.immediateParentNameField = value;
                this.RaisePropertyChanged("ImmediateParentName");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeElementStatus ElStat {
            get {
                return this.elStatField;
            }
            set {
                this.elStatField = value;
                this.RaisePropertyChanged("ElStat");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ElStatSpecified {
            get {
                return this.elStatFieldSpecified;
            }
            set {
                this.elStatFieldSpecified = value;
                this.RaisePropertyChanged("ElStatSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool KeyOverride {
            get {
                return this.keyOverrideField;
            }
            set {
                this.keyOverrideField = value;
                this.RaisePropertyChanged("KeyOverride");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool KeyOverrideSpecified {
            get {
                return this.keyOverrideFieldSpecified;
            }
            set {
                this.keyOverrideFieldSpecified = value;
                this.RaisePropertyChanged("KeyOverrideSpecified");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class CustomizedNameData : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string keyField;
        
        private string providerReservationInfoRefField;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProviderReservationInfoRef {
            get {
                return this.providerReservationInfoRefField;
            }
            set {
                this.providerReservationInfoRefField = value;
                this.RaisePropertyChanged("ProviderReservationInfoRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
                this.RaisePropertyChanged("Value");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class TravelComplianceData : object, System.ComponentModel.INotifyPropertyChanged {
        
        private TravelComplianceDataPolicyCompliance[] policyComplianceField;
        
        private TravelComplianceDataContractCompliance[] contractComplianceField;
        
        private TravelComplianceDataPreferredSupplier[] preferredSupplierField;
        
        private string keyField;
        
        private string airSegmentRefField;
        
        private string passiveSegmentRefField;
        
        private string railSegmentRefField;
        
        private string reservationLocatorRefField;
        
        private typeElementStatus elStatField;
        
        private bool elStatFieldSpecified;
        
        private bool keyOverrideField;
        
        private bool keyOverrideFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PolicyCompliance", Order=0)]
        public TravelComplianceDataPolicyCompliance[] PolicyCompliance {
            get {
                return this.policyComplianceField;
            }
            set {
                this.policyComplianceField = value;
                this.RaisePropertyChanged("PolicyCompliance");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ContractCompliance", Order=1)]
        public TravelComplianceDataContractCompliance[] ContractCompliance {
            get {
                return this.contractComplianceField;
            }
            set {
                this.contractComplianceField = value;
                this.RaisePropertyChanged("ContractCompliance");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PreferredSupplier", Order=2)]
        public TravelComplianceDataPreferredSupplier[] PreferredSupplier {
            get {
                return this.preferredSupplierField;
            }
            set {
                this.preferredSupplierField = value;
                this.RaisePropertyChanged("PreferredSupplier");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string AirSegmentRef {
            get {
                return this.airSegmentRefField;
            }
            set {
                this.airSegmentRefField = value;
                this.RaisePropertyChanged("AirSegmentRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PassiveSegmentRef {
            get {
                return this.passiveSegmentRefField;
            }
            set {
                this.passiveSegmentRefField = value;
                this.RaisePropertyChanged("PassiveSegmentRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string RailSegmentRef {
            get {
                return this.railSegmentRefField;
            }
            set {
                this.railSegmentRefField = value;
                this.RaisePropertyChanged("RailSegmentRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ReservationLocatorRef {
            get {
                return this.reservationLocatorRefField;
            }
            set {
                this.reservationLocatorRefField = value;
                this.RaisePropertyChanged("ReservationLocatorRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeElementStatus ElStat {
            get {
                return this.elStatField;
            }
            set {
                this.elStatField = value;
                this.RaisePropertyChanged("ElStat");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ElStatSpecified {
            get {
                return this.elStatFieldSpecified;
            }
            set {
                this.elStatFieldSpecified = value;
                this.RaisePropertyChanged("ElStatSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool KeyOverride {
            get {
                return this.keyOverrideField;
            }
            set {
                this.keyOverrideField = value;
                this.RaisePropertyChanged("KeyOverride");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool KeyOverrideSpecified {
            get {
                return this.keyOverrideFieldSpecified;
            }
            set {
                this.keyOverrideFieldSpecified = value;
                this.RaisePropertyChanged("KeyOverrideSpecified");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class TravelComplianceDataPolicyCompliance : object, System.ComponentModel.INotifyPropertyChanged {
        
        private bool inPolicyField;
        
        private string policyTokenField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool InPolicy {
            get {
                return this.inPolicyField;
            }
            set {
                this.inPolicyField = value;
                this.RaisePropertyChanged("InPolicy");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PolicyToken {
            get {
                return this.policyTokenField;
            }
            set {
                this.policyTokenField = value;
                this.RaisePropertyChanged("PolicyToken");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class TravelComplianceDataContractCompliance : object, System.ComponentModel.INotifyPropertyChanged {
        
        private bool inContractField;
        
        private string contractTokenField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool InContract {
            get {
                return this.inContractField;
            }
            set {
                this.inContractField = value;
                this.RaisePropertyChanged("InContract");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ContractToken {
            get {
                return this.contractTokenField;
            }
            set {
                this.contractTokenField = value;
                this.RaisePropertyChanged("ContractToken");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class TravelComplianceDataPreferredSupplier : object, System.ComponentModel.INotifyPropertyChanged {
        
        private bool preferredField;
        
        private typeProfileType profileTypeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Preferred {
            get {
                return this.preferredField;
            }
            set {
                this.preferredField = value;
                this.RaisePropertyChanged("Preferred");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeProfileType ProfileType {
            get {
                return this.profileTypeField;
            }
            set {
                this.profileTypeField = value;
                this.RaisePropertyChanged("ProfileType");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public enum typeProfileType {
        
        /// <remarks/>
        AgencyGroup,
        
        /// <remarks/>
        Agency,
        
        /// <remarks/>
        BranchGroup,
        
        /// <remarks/>
        Branch,
        
        /// <remarks/>
        Agent,
        
        /// <remarks/>
        Account,
        
        /// <remarks/>
        TravelerGroup,
        
        /// <remarks/>
        Traveler,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class TravelInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string tripNameField;
        
        private string travelPurposeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TripName {
            get {
                return this.tripNameField;
            }
            set {
                this.tripNameField = value;
                this.RaisePropertyChanged("TripName");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TravelPurpose {
            get {
                return this.travelPurposeField;
            }
            set {
                this.travelPurposeField = value;
                this.RaisePropertyChanged("TravelPurpose");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class OSI : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string keyField;
        
        private string carrierField;
        
        private string codeField;
        
        private string textField;
        
        private string providerReservationInfoRefField;
        
        private string providerCodeField;
        
        private typeElementStatus elStatField;
        
        private bool elStatFieldSpecified;
        
        private bool keyOverrideField;
        
        private bool keyOverrideFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Carrier {
            get {
                return this.carrierField;
            }
            set {
                this.carrierField = value;
                this.RaisePropertyChanged("Carrier");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Code {
            get {
                return this.codeField;
            }
            set {
                this.codeField = value;
                this.RaisePropertyChanged("Code");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Text {
            get {
                return this.textField;
            }
            set {
                this.textField = value;
                this.RaisePropertyChanged("Text");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProviderReservationInfoRef {
            get {
                return this.providerReservationInfoRefField;
            }
            set {
                this.providerReservationInfoRefField = value;
                this.RaisePropertyChanged("ProviderReservationInfoRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProviderCode {
            get {
                return this.providerCodeField;
            }
            set {
                this.providerCodeField = value;
                this.RaisePropertyChanged("ProviderCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeElementStatus ElStat {
            get {
                return this.elStatField;
            }
            set {
                this.elStatField = value;
                this.RaisePropertyChanged("ElStat");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ElStatSpecified {
            get {
                return this.elStatFieldSpecified;
            }
            set {
                this.elStatFieldSpecified = value;
                this.RaisePropertyChanged("ElStatSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool KeyOverride {
            get {
                return this.keyOverrideField;
            }
            set {
                this.keyOverrideField = value;
                this.RaisePropertyChanged("KeyOverride");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool KeyOverrideSpecified {
            get {
                return this.keyOverrideFieldSpecified;
            }
            set {
                this.keyOverrideFieldSpecified = value;
                this.RaisePropertyChanged("KeyOverrideSpecified");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class XMLRemark : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string keyField;
        
        private string categoryField;
        
        private typeElementStatus elStatField;
        
        private bool elStatFieldSpecified;
        
        private bool keyOverrideField;
        
        private bool keyOverrideFieldSpecified;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Category {
            get {
                return this.categoryField;
            }
            set {
                this.categoryField = value;
                this.RaisePropertyChanged("Category");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeElementStatus ElStat {
            get {
                return this.elStatField;
            }
            set {
                this.elStatField = value;
                this.RaisePropertyChanged("ElStat");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ElStatSpecified {
            get {
                return this.elStatFieldSpecified;
            }
            set {
                this.elStatFieldSpecified = value;
                this.RaisePropertyChanged("ElStatSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool KeyOverride {
            get {
                return this.keyOverrideField;
            }
            set {
                this.keyOverrideField = value;
                this.RaisePropertyChanged("KeyOverride");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool KeyOverrideSpecified {
            get {
                return this.keyOverrideFieldSpecified;
            }
            set {
                this.keyOverrideFieldSpecified = value;
                this.RaisePropertyChanged("KeyOverrideSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
                this.RaisePropertyChanged("Value");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class UnassociatedRemark : typeRemarkWithTravelerRef {
        
        private string keyField;
        
        private typeElementStatus elStatField;
        
        private bool elStatFieldSpecified;
        
        private bool keyOverrideField;
        
        private bool keyOverrideFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeElementStatus ElStat {
            get {
                return this.elStatField;
            }
            set {
                this.elStatField = value;
                this.RaisePropertyChanged("ElStat");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ElStatSpecified {
            get {
                return this.elStatFieldSpecified;
            }
            set {
                this.elStatFieldSpecified = value;
                this.RaisePropertyChanged("ElStatSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool KeyOverride {
            get {
                return this.keyOverrideField;
            }
            set {
                this.keyOverrideField = value;
                this.RaisePropertyChanged("KeyOverride");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool KeyOverrideSpecified {
            get {
                return this.keyOverrideFieldSpecified;
            }
            set {
                this.keyOverrideFieldSpecified = value;
                this.RaisePropertyChanged("KeyOverrideSpecified");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class Postscript : typeRemark {
        
        private string keyField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class ContinuityCheckOverride : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string keyField;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
                this.RaisePropertyChanged("Value");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class AgencyContactInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private PhoneNumber[] phoneNumberField;
        
        private string keyField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PhoneNumber", Order=0)]
        public PhoneNumber[] PhoneNumber {
            get {
                return this.phoneNumberField;
            }
            set {
                this.phoneNumberField = value;
                this.RaisePropertyChanged("PhoneNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class CustomerID : typeRemark {
        
        private string keyField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class FileFinishingInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private ShopInformation shopInformationField;
        
        private PolicyInformation[] policyInformationField;
        
        private AccountInformation accountInformationField;
        
        private AgencyInformation agencyInformationField;
        
        private TravelerInformation[] travelerInformationField;
        
        private CustomProfileInformation customProfileInformationField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public ShopInformation ShopInformation {
            get {
                return this.shopInformationField;
            }
            set {
                this.shopInformationField = value;
                this.RaisePropertyChanged("ShopInformation");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PolicyInformation", Order=1)]
        public PolicyInformation[] PolicyInformation {
            get {
                return this.policyInformationField;
            }
            set {
                this.policyInformationField = value;
                this.RaisePropertyChanged("PolicyInformation");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public AccountInformation AccountInformation {
            get {
                return this.accountInformationField;
            }
            set {
                this.accountInformationField = value;
                this.RaisePropertyChanged("AccountInformation");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=3)]
        public AgencyInformation AgencyInformation {
            get {
                return this.agencyInformationField;
            }
            set {
                this.agencyInformationField = value;
                this.RaisePropertyChanged("AgencyInformation");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("TravelerInformation", Order=4)]
        public TravelerInformation[] TravelerInformation {
            get {
                return this.travelerInformationField;
            }
            set {
                this.travelerInformationField = value;
                this.RaisePropertyChanged("TravelerInformation");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=5)]
        public CustomProfileInformation CustomProfileInformation {
            get {
                return this.customProfileInformationField;
            }
            set {
                this.customProfileInformationField = value;
                this.RaisePropertyChanged("CustomProfileInformation");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class ShopInformation : object, System.ComponentModel.INotifyPropertyChanged {
        
        private ShopInformationSearchRequest[] searchRequestField;
        
        private ShopInformationFlightsOffered[] flightsOfferedField;
        
        private string cabinShoppedField;
        
        private string cabinSelectedField;
        
        private string lowestFareOfferedField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SearchRequest", Order=0)]
        public ShopInformationSearchRequest[] SearchRequest {
            get {
                return this.searchRequestField;
            }
            set {
                this.searchRequestField = value;
                this.RaisePropertyChanged("SearchRequest");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("FlightsOffered", Order=1)]
        public ShopInformationFlightsOffered[] FlightsOffered {
            get {
                return this.flightsOfferedField;
            }
            set {
                this.flightsOfferedField = value;
                this.RaisePropertyChanged("FlightsOffered");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CabinShopped {
            get {
                return this.cabinShoppedField;
            }
            set {
                this.cabinShoppedField = value;
                this.RaisePropertyChanged("CabinShopped");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CabinSelected {
            get {
                return this.cabinSelectedField;
            }
            set {
                this.cabinSelectedField = value;
                this.RaisePropertyChanged("CabinSelected");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string LowestFareOffered {
            get {
                return this.lowestFareOfferedField;
            }
            set {
                this.lowestFareOfferedField = value;
                this.RaisePropertyChanged("LowestFareOffered");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class ShopInformationSearchRequest : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string originField;
        
        private string destinationField;
        
        private string departureTimeField;
        
        private string classOfServiceField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Origin {
            get {
                return this.originField;
            }
            set {
                this.originField = value;
                this.RaisePropertyChanged("Origin");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Destination {
            get {
                return this.destinationField;
            }
            set {
                this.destinationField = value;
                this.RaisePropertyChanged("Destination");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string DepartureTime {
            get {
                return this.departureTimeField;
            }
            set {
                this.departureTimeField = value;
                this.RaisePropertyChanged("DepartureTime");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ClassOfService {
            get {
                return this.classOfServiceField;
            }
            set {
                this.classOfServiceField = value;
                this.RaisePropertyChanged("ClassOfService");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class ShopInformationFlightsOffered : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string originField;
        
        private string destinationField;
        
        private string departureTimeField;
        
        private int travelOrderField;
        
        private bool travelOrderFieldSpecified;
        
        private string carrierField;
        
        private string flightNumberField;
        
        private string classOfServiceField;
        
        private bool stopOverField;
        
        private bool connectionField;
        
        public ShopInformationFlightsOffered() {
            this.stopOverField = false;
            this.connectionField = false;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Origin {
            get {
                return this.originField;
            }
            set {
                this.originField = value;
                this.RaisePropertyChanged("Origin");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Destination {
            get {
                return this.destinationField;
            }
            set {
                this.destinationField = value;
                this.RaisePropertyChanged("Destination");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string DepartureTime {
            get {
                return this.departureTimeField;
            }
            set {
                this.departureTimeField = value;
                this.RaisePropertyChanged("DepartureTime");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public int TravelOrder {
            get {
                return this.travelOrderField;
            }
            set {
                this.travelOrderField = value;
                this.RaisePropertyChanged("TravelOrder");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool TravelOrderSpecified {
            get {
                return this.travelOrderFieldSpecified;
            }
            set {
                this.travelOrderFieldSpecified = value;
                this.RaisePropertyChanged("TravelOrderSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Carrier {
            get {
                return this.carrierField;
            }
            set {
                this.carrierField = value;
                this.RaisePropertyChanged("Carrier");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string FlightNumber {
            get {
                return this.flightNumberField;
            }
            set {
                this.flightNumberField = value;
                this.RaisePropertyChanged("FlightNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ClassOfService {
            get {
                return this.classOfServiceField;
            }
            set {
                this.classOfServiceField = value;
                this.RaisePropertyChanged("ClassOfService");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool StopOver {
            get {
                return this.stopOverField;
            }
            set {
                this.stopOverField = value;
                this.RaisePropertyChanged("StopOver");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool Connection {
            get {
                return this.connectionField;
            }
            set {
                this.connectionField = value;
                this.RaisePropertyChanged("Connection");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class PolicyInformation : object, System.ComponentModel.INotifyPropertyChanged {
        
        private PolicyInformationReasonCode reasonCodeField;
        
        private typePolicy typeField;
        
        private string nameField;
        
        private bool outOfPolicyField;
        
        private bool outOfPolicyFieldSpecified;
        
        private string segmentRefField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public PolicyInformationReasonCode ReasonCode {
            get {
                return this.reasonCodeField;
            }
            set {
                this.reasonCodeField = value;
                this.RaisePropertyChanged("ReasonCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typePolicy Type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
                this.RaisePropertyChanged("Type");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
                this.RaisePropertyChanged("Name");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool OutOfPolicy {
            get {
                return this.outOfPolicyField;
            }
            set {
                this.outOfPolicyField = value;
                this.RaisePropertyChanged("OutOfPolicy");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool OutOfPolicySpecified {
            get {
                return this.outOfPolicyFieldSpecified;
            }
            set {
                this.outOfPolicyFieldSpecified = value;
                this.RaisePropertyChanged("OutOfPolicySpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string SegmentRef {
            get {
                return this.segmentRefField;
            }
            set {
                this.segmentRefField = value;
                this.RaisePropertyChanged("SegmentRef");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class PolicyInformationReasonCode : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string outOfPolicyField;
        
        private string purposeOfTripField;
        
        private Remark remarkField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string OutOfPolicy {
            get {
                return this.outOfPolicyField;
            }
            set {
                this.outOfPolicyField = value;
                this.RaisePropertyChanged("OutOfPolicy");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public string PurposeOfTrip {
            get {
                return this.purposeOfTripField;
            }
            set {
                this.purposeOfTripField = value;
                this.RaisePropertyChanged("PurposeOfTrip");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public Remark Remark {
            get {
                return this.remarkField;
            }
            set {
                this.remarkField = value;
                this.RaisePropertyChanged("Remark");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class Remark : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string keyField;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
                this.RaisePropertyChanged("Value");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public enum typePolicy {
        
        /// <remarks/>
        Air,
        
        /// <remarks/>
        Vehicle,
        
        /// <remarks/>
        Hotel,
        
        /// <remarks/>
        Rail,
        
        /// <remarks/>
        Ticketing,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class AccountInformation : object, System.ComponentModel.INotifyPropertyChanged {
        
        private typeStructuredAddress addressField;
        
        private PhoneNumber[] phoneNumberField;
        
        private string accountNameField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public typeStructuredAddress Address {
            get {
                return this.addressField;
            }
            set {
                this.addressField = value;
                this.RaisePropertyChanged("Address");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PhoneNumber", Order=1)]
        public PhoneNumber[] PhoneNumber {
            get {
                return this.phoneNumberField;
            }
            set {
                this.phoneNumberField = value;
                this.RaisePropertyChanged("PhoneNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string AccountName {
            get {
                return this.accountNameField;
            }
            set {
                this.accountNameField = value;
                this.RaisePropertyChanged("AccountName");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class AgencyInformation : object, System.ComponentModel.INotifyPropertyChanged {
        
        private typeStructuredAddress addressField;
        
        private Email[] emailField;
        
        private PhoneNumber[] phoneNumberField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public typeStructuredAddress Address {
            get {
                return this.addressField;
            }
            set {
                this.addressField = value;
                this.RaisePropertyChanged("Address");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Email", Order=1)]
        public Email[] Email {
            get {
                return this.emailField;
            }
            set {
                this.emailField = value;
                this.RaisePropertyChanged("Email");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PhoneNumber", Order=2)]
        public PhoneNumber[] PhoneNumber {
            get {
                return this.phoneNumberField;
            }
            set {
                this.phoneNumberField = value;
                this.RaisePropertyChanged("PhoneNumber");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class TravelerInformation : object, System.ComponentModel.INotifyPropertyChanged {
        
        private TravelerInformationEmergencyContact emergencyContactField;
        
        private string homeAirportField;
        
        private System.DateTime visaExpirationDateField;
        
        private bool visaExpirationDateFieldSpecified;
        
        private string bookingTravelerRefField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public TravelerInformationEmergencyContact EmergencyContact {
            get {
                return this.emergencyContactField;
            }
            set {
                this.emergencyContactField = value;
                this.RaisePropertyChanged("EmergencyContact");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string HomeAirport {
            get {
                return this.homeAirportField;
            }
            set {
                this.homeAirportField = value;
                this.RaisePropertyChanged("HomeAirport");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="date")]
        public System.DateTime VisaExpirationDate {
            get {
                return this.visaExpirationDateField;
            }
            set {
                this.visaExpirationDateField = value;
                this.RaisePropertyChanged("VisaExpirationDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool VisaExpirationDateSpecified {
            get {
                return this.visaExpirationDateFieldSpecified;
            }
            set {
                this.visaExpirationDateFieldSpecified = value;
                this.RaisePropertyChanged("VisaExpirationDateSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string BookingTravelerRef {
            get {
                return this.bookingTravelerRefField;
            }
            set {
                this.bookingTravelerRefField = value;
                this.RaisePropertyChanged("BookingTravelerRef");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class TravelerInformationEmergencyContact : object, System.ComponentModel.INotifyPropertyChanged {
        
        private PhoneNumber phoneNumberField;
        
        private string nameField;
        
        private string relationshipField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public PhoneNumber PhoneNumber {
            get {
                return this.phoneNumberField;
            }
            set {
                this.phoneNumberField = value;
                this.RaisePropertyChanged("PhoneNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
                this.RaisePropertyChanged("Name");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Relationship {
            get {
                return this.relationshipField;
            }
            set {
                this.relationshipField = value;
                this.RaisePropertyChanged("Relationship");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class CustomProfileInformation : object, System.ComponentModel.INotifyPropertyChanged {
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class CommissionRemark : object, System.ComponentModel.INotifyPropertyChanged {
        
        private object[] itemsField;
        
        private string keyField;
        
        private string providerReservationInfoRefField;
        
        private string providerCodeField;
        
        private typeElementStatus elStatField;
        
        private bool elStatFieldSpecified;
        
        private bool keyOverrideField;
        
        private bool keyOverrideFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PassengerTypeLevel", typeof(CommissionRemarkPassengerTypeLevel), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("ProviderReservationLevel", typeof(CommissionRemarkProviderReservationLevel), Order=0)]
        public object[] Items {
            get {
                return this.itemsField;
            }
            set {
                this.itemsField = value;
                this.RaisePropertyChanged("Items");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProviderReservationInfoRef {
            get {
                return this.providerReservationInfoRefField;
            }
            set {
                this.providerReservationInfoRefField = value;
                this.RaisePropertyChanged("ProviderReservationInfoRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProviderCode {
            get {
                return this.providerCodeField;
            }
            set {
                this.providerCodeField = value;
                this.RaisePropertyChanged("ProviderCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeElementStatus ElStat {
            get {
                return this.elStatField;
            }
            set {
                this.elStatField = value;
                this.RaisePropertyChanged("ElStat");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ElStatSpecified {
            get {
                return this.elStatFieldSpecified;
            }
            set {
                this.elStatFieldSpecified = value;
                this.RaisePropertyChanged("ElStatSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool KeyOverride {
            get {
                return this.keyOverrideField;
            }
            set {
                this.keyOverrideField = value;
                this.RaisePropertyChanged("KeyOverride");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool KeyOverrideSpecified {
            get {
                return this.keyOverrideFieldSpecified;
            }
            set {
                this.keyOverrideFieldSpecified = value;
                this.RaisePropertyChanged("KeyOverrideSpecified");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class CommissionRemarkPassengerTypeLevel : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string travelerTypeField;
        
        private string amountField;
        
        private string percentageField;
        
        private string commissionCapField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TravelerType {
            get {
                return this.travelerTypeField;
            }
            set {
                this.travelerTypeField = value;
                this.RaisePropertyChanged("TravelerType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Amount {
            get {
                return this.amountField;
            }
            set {
                this.amountField = value;
                this.RaisePropertyChanged("Amount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Percentage {
            get {
                return this.percentageField;
            }
            set {
                this.percentageField = value;
                this.RaisePropertyChanged("Percentage");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CommissionCap {
            get {
                return this.commissionCapField;
            }
            set {
                this.commissionCapField = value;
                this.RaisePropertyChanged("CommissionCap");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class CommissionRemarkProviderReservationLevel : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string amountField;
        
        private string percentageField;
        
        private string commissionCapField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Amount {
            get {
                return this.amountField;
            }
            set {
                this.amountField = value;
                this.RaisePropertyChanged("Amount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Percentage {
            get {
                return this.percentageField;
            }
            set {
                this.percentageField = value;
                this.RaisePropertyChanged("Percentage");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CommissionCap {
            get {
                return this.commissionCapField;
            }
            set {
                this.commissionCapField = value;
                this.RaisePropertyChanged("CommissionCap");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class ConsolidatorRemark : object, System.ComponentModel.INotifyPropertyChanged {
        
        private PseudoCityCode[] pseudoCityCodeField;
        
        private string keyField;
        
        private string providerReservationInfoRefField;
        
        private string providerCodeField;
        
        private typeElementStatus elStatField;
        
        private bool elStatFieldSpecified;
        
        private bool keyOverrideField;
        
        private bool keyOverrideFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PseudoCityCode", Order=0)]
        public PseudoCityCode[] PseudoCityCode {
            get {
                return this.pseudoCityCodeField;
            }
            set {
                this.pseudoCityCodeField = value;
                this.RaisePropertyChanged("PseudoCityCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProviderReservationInfoRef {
            get {
                return this.providerReservationInfoRefField;
            }
            set {
                this.providerReservationInfoRefField = value;
                this.RaisePropertyChanged("ProviderReservationInfoRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProviderCode {
            get {
                return this.providerCodeField;
            }
            set {
                this.providerCodeField = value;
                this.RaisePropertyChanged("ProviderCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeElementStatus ElStat {
            get {
                return this.elStatField;
            }
            set {
                this.elStatField = value;
                this.RaisePropertyChanged("ElStat");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ElStatSpecified {
            get {
                return this.elStatFieldSpecified;
            }
            set {
                this.elStatFieldSpecified = value;
                this.RaisePropertyChanged("ElStatSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool KeyOverride {
            get {
                return this.keyOverrideField;
            }
            set {
                this.keyOverrideField = value;
                this.RaisePropertyChanged("KeyOverride");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool KeyOverrideSpecified {
            get {
                return this.keyOverrideFieldSpecified;
            }
            set {
                this.keyOverrideFieldSpecified = value;
                this.RaisePropertyChanged("KeyOverrideSpecified");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class PseudoCityCode : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
                this.RaisePropertyChanged("Value");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class InvoiceRemark : typeAssociatedRemark {
        
        private object itemField;
        
        private ItemChoiceType itemElementNameField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AirSegmentRef", typeof(typeSegmentRef), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("HotelReservationRef", typeof(typeNonAirReservationRef), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("PassiveSegmentRef", typeof(typeSegmentRef), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("VehicleReservationRef", typeof(typeNonAirReservationRef), Order=0)]
        [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemElementName")]
        public object Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
                this.RaisePropertyChanged("Item");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public ItemChoiceType ItemElementName {
            get {
                return this.itemElementNameField;
            }
            set {
                this.itemElementNameField = value;
                this.RaisePropertyChanged("ItemElementName");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", IncludeInSchema=false)]
    public enum ItemChoiceType {
        
        /// <remarks/>
        AirSegmentRef,
        
        /// <remarks/>
        HotelReservationRef,
        
        /// <remarks/>
        PassiveSegmentRef,
        
        /// <remarks/>
        VehicleReservationRef,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class EmailNotification : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string[] emailRefField;
        
        private EmailNotificationRecipients recipientsField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("EmailRef", Order=0)]
        public string[] EmailRef {
            get {
                return this.emailRefField;
            }
            set {
                this.emailRefField = value;
                this.RaisePropertyChanged("EmailRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public EmailNotificationRecipients Recipients {
            get {
                return this.recipientsField;
            }
            set {
                this.recipientsField = value;
                this.RaisePropertyChanged("Recipients");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public enum EmailNotificationRecipients {
        
        /// <remarks/>
        All,
        
        /// <remarks/>
        Default,
        
        /// <remarks/>
        Specific,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class QueuePlace : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string pseudoCityCodeField;
        
        private QueueSelector[] queueSelectorField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string PseudoCityCode {
            get {
                return this.pseudoCityCodeField;
            }
            set {
                this.pseudoCityCodeField = value;
                this.RaisePropertyChanged("PseudoCityCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("QueueSelector", Order=1)]
        public QueueSelector[] QueueSelector {
            get {
                return this.queueSelectorField;
            }
            set {
                this.queueSelectorField = value;
                this.RaisePropertyChanged("QueueSelector");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class QueueSelector : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string queueField;
        
        private string categoryField;
        
        private string dateRangeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Queue {
            get {
                return this.queueField;
            }
            set {
                this.queueField = value;
                this.RaisePropertyChanged("Queue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Category {
            get {
                return this.categoryField;
            }
            set {
                this.categoryField = value;
                this.RaisePropertyChanged("Category");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string DateRange {
            get {
                return this.dateRangeField;
            }
            set {
                this.dateRangeField = value;
                this.RaisePropertyChanged("DateRange");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class BaseCreateWithFormOfPaymentReq : BaseCreateReservationReq {
        
        private FormOfPayment[] formOfPaymentField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("FormOfPayment", Order=0)]
        public FormOfPayment[] FormOfPayment {
            get {
                return this.formOfPaymentField;
            }
            set {
                this.formOfPaymentField = value;
                this.RaisePropertyChanged("FormOfPayment");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class FormOfPayment : object, System.ComponentModel.INotifyPropertyChanged {
        
        private object itemField;
        
        private typeFormOfPaymentPNRReference[] providerReservationInfoRefField;
        
        private typeGeneralReference[] segmentRefField;
        
        private BSPPayment bSPPaymentField;
        
        private ARCPayment aRCPaymentField;
        
        private string keyField;
        
        private string typeField;
        
        private string fulfillmentTypeField;
        
        private string fulfillmentLocationField;
        
        private typeFulfillmentIDType fulfillmentIDTypeField;
        
        private bool fulfillmentIDTypeFieldSpecified;
        
        private string fulfillmentIDNumberField;
        
        private bool isAgentTypeField;
        
        private string agentTextField;
        
        private string reuseFOPField;
        
        private string externalReferenceField;
        
        private bool reusableField;
        
        private string profileIDField;
        
        private string profileKeyField;
        
        private typeElementStatus elStatField;
        
        private bool elStatFieldSpecified;
        
        private bool keyOverrideField;
        
        private bool keyOverrideFieldSpecified;
        
        public FormOfPayment() {
            this.isAgentTypeField = false;
            this.reusableField = false;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AgencyPayment", typeof(typeAgencyPayment), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("AgentVoucher", typeof(AgentVoucher), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("Certificate", typeof(Certificate), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("Check", typeof(Check), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("CreditCard", typeof(CreditCard), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("DebitCard", typeof(DebitCard), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("DirectPayment", typeof(DirectPayment), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("EnettVan", typeof(EnettVan), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("MiscFormOfPayment", typeof(MiscFormOfPayment), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("PaymentAdvice", typeof(PaymentAdvice), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("Requisition", typeof(Requisition), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("TicketNumber", typeof(string), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("UnitedNations", typeof(UnitedNations), Order=0)]
        public object Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
                this.RaisePropertyChanged("Item");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ProviderReservationInfoRef", Order=1)]
        public typeFormOfPaymentPNRReference[] ProviderReservationInfoRef {
            get {
                return this.providerReservationInfoRefField;
            }
            set {
                this.providerReservationInfoRefField = value;
                this.RaisePropertyChanged("ProviderReservationInfoRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SegmentRef", Order=2)]
        public typeGeneralReference[] SegmentRef {
            get {
                return this.segmentRefField;
            }
            set {
                this.segmentRefField = value;
                this.RaisePropertyChanged("SegmentRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=3)]
        public BSPPayment BSPPayment {
            get {
                return this.bSPPaymentField;
            }
            set {
                this.bSPPaymentField = value;
                this.RaisePropertyChanged("BSPPayment");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=4)]
        public ARCPayment ARCPayment {
            get {
                return this.aRCPaymentField;
            }
            set {
                this.aRCPaymentField = value;
                this.RaisePropertyChanged("ARCPayment");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
                this.RaisePropertyChanged("Type");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string FulfillmentType {
            get {
                return this.fulfillmentTypeField;
            }
            set {
                this.fulfillmentTypeField = value;
                this.RaisePropertyChanged("FulfillmentType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string FulfillmentLocation {
            get {
                return this.fulfillmentLocationField;
            }
            set {
                this.fulfillmentLocationField = value;
                this.RaisePropertyChanged("FulfillmentLocation");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeFulfillmentIDType FulfillmentIDType {
            get {
                return this.fulfillmentIDTypeField;
            }
            set {
                this.fulfillmentIDTypeField = value;
                this.RaisePropertyChanged("FulfillmentIDType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FulfillmentIDTypeSpecified {
            get {
                return this.fulfillmentIDTypeFieldSpecified;
            }
            set {
                this.fulfillmentIDTypeFieldSpecified = value;
                this.RaisePropertyChanged("FulfillmentIDTypeSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string FulfillmentIDNumber {
            get {
                return this.fulfillmentIDNumberField;
            }
            set {
                this.fulfillmentIDNumberField = value;
                this.RaisePropertyChanged("FulfillmentIDNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool IsAgentType {
            get {
                return this.isAgentTypeField;
            }
            set {
                this.isAgentTypeField = value;
                this.RaisePropertyChanged("IsAgentType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string AgentText {
            get {
                return this.agentTextField;
            }
            set {
                this.agentTextField = value;
                this.RaisePropertyChanged("AgentText");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ReuseFOP {
            get {
                return this.reuseFOPField;
            }
            set {
                this.reuseFOPField = value;
                this.RaisePropertyChanged("ReuseFOP");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ExternalReference {
            get {
                return this.externalReferenceField;
            }
            set {
                this.externalReferenceField = value;
                this.RaisePropertyChanged("ExternalReference");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool Reusable {
            get {
                return this.reusableField;
            }
            set {
                this.reusableField = value;
                this.RaisePropertyChanged("Reusable");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProfileID {
            get {
                return this.profileIDField;
            }
            set {
                this.profileIDField = value;
                this.RaisePropertyChanged("ProfileID");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProfileKey {
            get {
                return this.profileKeyField;
            }
            set {
                this.profileKeyField = value;
                this.RaisePropertyChanged("ProfileKey");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeElementStatus ElStat {
            get {
                return this.elStatField;
            }
            set {
                this.elStatField = value;
                this.RaisePropertyChanged("ElStat");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ElStatSpecified {
            get {
                return this.elStatFieldSpecified;
            }
            set {
                this.elStatFieldSpecified = value;
                this.RaisePropertyChanged("ElStatSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool KeyOverride {
            get {
                return this.keyOverrideField;
            }
            set {
                this.keyOverrideField = value;
                this.RaisePropertyChanged("KeyOverride");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool KeyOverrideSpecified {
            get {
                return this.keyOverrideFieldSpecified;
            }
            set {
                this.keyOverrideFieldSpecified = value;
                this.RaisePropertyChanged("KeyOverrideSpecified");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class AgentVoucher : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string numberField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Number {
            get {
                return this.numberField;
            }
            set {
                this.numberField = value;
                this.RaisePropertyChanged("Number");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class Certificate : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string numberField;
        
        private string amountField;
        
        private string discountAmountField;
        
        private string discountPercentageField;
        
        private System.DateTime notValidBeforeField;
        
        private bool notValidBeforeFieldSpecified;
        
        private System.DateTime notValidAfterField;
        
        private bool notValidAfterFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Number {
            get {
                return this.numberField;
            }
            set {
                this.numberField = value;
                this.RaisePropertyChanged("Number");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Amount {
            get {
                return this.amountField;
            }
            set {
                this.amountField = value;
                this.RaisePropertyChanged("Amount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string DiscountAmount {
            get {
                return this.discountAmountField;
            }
            set {
                this.discountAmountField = value;
                this.RaisePropertyChanged("DiscountAmount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string DiscountPercentage {
            get {
                return this.discountPercentageField;
            }
            set {
                this.discountPercentageField = value;
                this.RaisePropertyChanged("DiscountPercentage");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="date")]
        public System.DateTime NotValidBefore {
            get {
                return this.notValidBeforeField;
            }
            set {
                this.notValidBeforeField = value;
                this.RaisePropertyChanged("NotValidBefore");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool NotValidBeforeSpecified {
            get {
                return this.notValidBeforeFieldSpecified;
            }
            set {
                this.notValidBeforeFieldSpecified = value;
                this.RaisePropertyChanged("NotValidBeforeSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="date")]
        public System.DateTime NotValidAfter {
            get {
                return this.notValidAfterField;
            }
            set {
                this.notValidAfterField = value;
                this.RaisePropertyChanged("NotValidAfter");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool NotValidAfterSpecified {
            get {
                return this.notValidAfterFieldSpecified;
            }
            set {
                this.notValidAfterFieldSpecified = value;
                this.RaisePropertyChanged("NotValidAfterSpecified");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class Check : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string mICRNumberField;
        
        private string routingNumberField;
        
        private string accountNumberField;
        
        private string checkNumberField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string MICRNumber {
            get {
                return this.mICRNumberField;
            }
            set {
                this.mICRNumberField = value;
                this.RaisePropertyChanged("MICRNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string RoutingNumber {
            get {
                return this.routingNumberField;
            }
            set {
                this.routingNumberField = value;
                this.RaisePropertyChanged("RoutingNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string AccountNumber {
            get {
                return this.accountNumberField;
            }
            set {
                this.accountNumberField = value;
                this.RaisePropertyChanged("AccountNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CheckNumber {
            get {
                return this.checkNumberField;
            }
            set {
                this.checkNumberField = value;
                this.RaisePropertyChanged("CheckNumber");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class CreditCard : typeCreditCardType {
        
        private string profileIDField;
        
        private string keyField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProfileID {
            get {
                return this.profileIDField;
            }
            set {
                this.profileIDField = value;
                this.RaisePropertyChanged("ProfileID");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class DebitCard : typePaymentCard {
        
        private string issueNumberField;
        
        private string profileIDField;
        
        private string keyField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string IssueNumber {
            get {
                return this.issueNumberField;
            }
            set {
                this.issueNumberField = value;
                this.RaisePropertyChanged("IssueNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProfileID {
            get {
                return this.profileIDField;
            }
            set {
                this.profileIDField = value;
                this.RaisePropertyChanged("ProfileID");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class DirectPayment : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string textField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Text {
            get {
                return this.textField;
            }
            set {
                this.textField = value;
                this.RaisePropertyChanged("Text");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class EnettVan : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string minPercentageField;
        
        private string maxPercentageField;
        
        private string expiryDaysField;
        
        private bool multiUseField;
        
        public EnettVan() {
            this.multiUseField = true;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="nonNegativeInteger")]
        public string MinPercentage {
            get {
                return this.minPercentageField;
            }
            set {
                this.minPercentageField = value;
                this.RaisePropertyChanged("MinPercentage");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="nonNegativeInteger")]
        public string MaxPercentage {
            get {
                return this.maxPercentageField;
            }
            set {
                this.maxPercentageField = value;
                this.RaisePropertyChanged("MaxPercentage");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="duration")]
        public string ExpiryDays {
            get {
                return this.expiryDaysField;
            }
            set {
                this.expiryDaysField = value;
                this.RaisePropertyChanged("ExpiryDays");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(true)]
        public bool MultiUse {
            get {
                return this.multiUseField;
            }
            set {
                this.multiUseField = value;
                this.RaisePropertyChanged("MultiUse");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class MiscFormOfPayment : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string creditCardTypeField;
        
        private string creditCardNumberField;
        
        private string expDateField;
        
        private string textField;
        
        private string categoryField;
        
        private bool acceptanceOverrideField;
        
        private bool acceptanceOverrideFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CreditCardType {
            get {
                return this.creditCardTypeField;
            }
            set {
                this.creditCardTypeField = value;
                this.RaisePropertyChanged("CreditCardType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CreditCardNumber {
            get {
                return this.creditCardNumberField;
            }
            set {
                this.creditCardNumberField = value;
                this.RaisePropertyChanged("CreditCardNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="gYearMonth")]
        public string ExpDate {
            get {
                return this.expDateField;
            }
            set {
                this.expDateField = value;
                this.RaisePropertyChanged("ExpDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Text {
            get {
                return this.textField;
            }
            set {
                this.textField = value;
                this.RaisePropertyChanged("Text");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Category {
            get {
                return this.categoryField;
            }
            set {
                this.categoryField = value;
                this.RaisePropertyChanged("Category");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool AcceptanceOverride {
            get {
                return this.acceptanceOverrideField;
            }
            set {
                this.acceptanceOverrideField = value;
                this.RaisePropertyChanged("AcceptanceOverride");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AcceptanceOverrideSpecified {
            get {
                return this.acceptanceOverrideFieldSpecified;
            }
            set {
                this.acceptanceOverrideFieldSpecified = value;
                this.RaisePropertyChanged("AcceptanceOverrideSpecified");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class PaymentAdvice : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string typeField;
        
        private string documentNumberField;
        
        private System.DateTime issueDateField;
        
        private string issueCityField;
        
        private string originalFOPField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
                this.RaisePropertyChanged("Type");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string DocumentNumber {
            get {
                return this.documentNumberField;
            }
            set {
                this.documentNumberField = value;
                this.RaisePropertyChanged("DocumentNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="date")]
        public System.DateTime IssueDate {
            get {
                return this.issueDateField;
            }
            set {
                this.issueDateField = value;
                this.RaisePropertyChanged("IssueDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string IssueCity {
            get {
                return this.issueCityField;
            }
            set {
                this.issueCityField = value;
                this.RaisePropertyChanged("IssueCity");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string OriginalFOP {
            get {
                return this.originalFOPField;
            }
            set {
                this.originalFOPField = value;
                this.RaisePropertyChanged("OriginalFOP");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class Requisition : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string numberField;
        
        private RequisitionCategory categoryField;
        
        private bool categoryFieldSpecified;
        
        private RequisitionType typeField;
        
        private bool typeFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Number {
            get {
                return this.numberField;
            }
            set {
                this.numberField = value;
                this.RaisePropertyChanged("Number");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public RequisitionCategory Category {
            get {
                return this.categoryField;
            }
            set {
                this.categoryField = value;
                this.RaisePropertyChanged("Category");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool CategorySpecified {
            get {
                return this.categoryFieldSpecified;
            }
            set {
                this.categoryFieldSpecified = value;
                this.RaisePropertyChanged("CategorySpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public RequisitionType Type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
                this.RaisePropertyChanged("Type");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool TypeSpecified {
            get {
                return this.typeFieldSpecified;
            }
            set {
                this.typeFieldSpecified = value;
                this.RaisePropertyChanged("TypeSpecified");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public enum RequisitionCategory {
        
        /// <remarks/>
        Government,
        
        /// <remarks/>
        Other,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public enum RequisitionType {
        
        /// <remarks/>
        Cash,
        
        /// <remarks/>
        Credit,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class UnitedNations : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string numberField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Number {
            get {
                return this.numberField;
            }
            set {
                this.numberField = value;
                this.RaisePropertyChanged("Number");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class BSPPayment : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string bSPIdentifierField;
        
        private string bSPPasswordField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string BSPIdentifier {
            get {
                return this.bSPIdentifierField;
            }
            set {
                this.bSPIdentifierField = value;
                this.RaisePropertyChanged("BSPIdentifier");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string BSPPassword {
            get {
                return this.bSPPasswordField;
            }
            set {
                this.bSPPasswordField = value;
                this.RaisePropertyChanged("BSPPassword");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class ARCPayment : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string aRCIdentifierField;
        
        private string aRCPasswordField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ARCIdentifier {
            get {
                return this.aRCIdentifierField;
            }
            set {
                this.aRCIdentifierField = value;
                this.RaisePropertyChanged("ARCIdentifier");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ARCPassword {
            get {
                return this.aRCPasswordField;
            }
            set {
                this.aRCPasswordField = value;
                this.RaisePropertyChanged("ARCPassword");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public enum typeFulfillmentIDType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("Bahn Card")]
        BahnCard,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("Credit Card")]
        CreditCard,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("Euro Cheque Card")]
        EuroChequeCard,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("Collection Reference")]
        CollectionReference,
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(BaseHotelSearchReq))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class BaseSearchReq : BaseReq {
        
        private NextResultReference[] nextResultReferenceField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("NextResultReference", Order=0)]
        public NextResultReference[] NextResultReference {
            get {
                return this.nextResultReferenceField;
            }
            set {
                this.nextResultReferenceField = value;
                this.RaisePropertyChanged("NextResultReference");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class BaseHotelSearchReq : BaseSearchReq {
        
        private HotelSearchLocation hotelSearchLocationField;
        
        private HotelSearchModifiers hotelSearchModifiersField;
        
        private HotelStay hotelStayField;
        
        private PointOfSale pointOfSaleField;
        
        private string policyReferenceField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public HotelSearchLocation HotelSearchLocation {
            get {
                return this.hotelSearchLocationField;
            }
            set {
                this.hotelSearchLocationField = value;
                this.RaisePropertyChanged("HotelSearchLocation");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public HotelSearchModifiers HotelSearchModifiers {
            get {
                return this.hotelSearchModifiersField;
            }
            set {
                this.hotelSearchModifiersField = value;
                this.RaisePropertyChanged("HotelSearchModifiers");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public HotelStay HotelStay {
            get {
                return this.hotelStayField;
            }
            set {
                this.hotelStayField = value;
                this.RaisePropertyChanged("HotelStay");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=3)]
        public PointOfSale PointOfSale {
            get {
                return this.pointOfSaleField;
            }
            set {
                this.pointOfSaleField = value;
                this.RaisePropertyChanged("PointOfSale");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PolicyReference {
            get {
                return this.policyReferenceField;
            }
            set {
                this.policyReferenceField = value;
                this.RaisePropertyChanged("PolicyReference");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class HotelSearchLocation : object, System.ComponentModel.INotifyPropertyChanged {
        
        private HotelLocation hotelLocationField;
        
        private VendorLocation[] vendorLocationField;
        
        private typeStructuredAddress hotelAddressField;
        
        private typeHotelReferencePoint referencePointField;
        
        private CoordinateLocation coordinateLocationField;
        
        private Distance distanceField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public HotelLocation HotelLocation {
            get {
                return this.hotelLocationField;
            }
            set {
                this.hotelLocationField = value;
                this.RaisePropertyChanged("HotelLocation");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("VendorLocation", Namespace="http://www.travelport.com/schema/common_v53_0", Order=1)]
        public VendorLocation[] VendorLocation {
            get {
                return this.vendorLocationField;
            }
            set {
                this.vendorLocationField = value;
                this.RaisePropertyChanged("VendorLocation");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public typeStructuredAddress HotelAddress {
            get {
                return this.hotelAddressField;
            }
            set {
                this.hotelAddressField = value;
                this.RaisePropertyChanged("HotelAddress");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=3)]
        public typeHotelReferencePoint ReferencePoint {
            get {
                return this.referencePointField;
            }
            set {
                this.referencePointField = value;
                this.RaisePropertyChanged("ReferencePoint");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=4)]
        public CoordinateLocation CoordinateLocation {
            get {
                return this.coordinateLocationField;
            }
            set {
                this.coordinateLocationField = value;
                this.RaisePropertyChanged("CoordinateLocation");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=5)]
        public Distance Distance {
            get {
                return this.distanceField;
            }
            set {
                this.distanceField = value;
                this.RaisePropertyChanged("Distance");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class HotelLocation : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string locationField;
        
        private typeHotelLocation locationTypeField;
        
        public HotelLocation() {
            this.locationTypeField = typeHotelLocation.Airport;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Location {
            get {
                return this.locationField;
            }
            set {
                this.locationField = value;
                this.RaisePropertyChanged("Location");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(typeHotelLocation.Airport)]
        public typeHotelLocation LocationType {
            get {
                return this.locationTypeField;
            }
            set {
                this.locationTypeField = value;
                this.RaisePropertyChanged("LocationType");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public enum typeHotelLocation {
        
        /// <remarks/>
        City,
        
        /// <remarks/>
        Airport,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class HotelSearchModifiers : object, System.ComponentModel.INotifyPropertyChanged {
        
        private HotelChain[] permittedChainsField;
        
        private HotelChain[] prohibitedChainsField;
        
        private PermittedProviders permittedProvidersField;
        
        private LoyaltyCard[] loyaltyCardField;
        
        private string hotelNameField;
        
        private CorporateDiscountID[] corporateDiscountIDField;
        
        private string[] rateCategoryField;
        
        private HotelRating[] hotelRatingField;
        
        private SearchPriorityCriteria[] searchPriorityField;
        
        private HotelBedding[] hotelBeddingField;
        
        private Amenity[] amenitiesField;
        
        private NumberOfChildren numberOfChildrenField;
        
        private HotelSearchModifiersHotelTransportation hotelTransportationField;
        
        private typeGuestRoomInformation[] bookingGuestInformationField;
        
        private int numberOfAdultsField;
        
        private bool numberOfAdultsFieldSpecified;
        
        private int numberOfRoomsField;
        
        private bool numberOfRoomsFieldSpecified;
        
        private bool isRelaxedField;
        
        private bool isRelaxedFieldSpecified;
        
        private string preferredCurrencyField;
        
        private bool availableHotelsOnlyField;
        
        private bool availableHotelsOnlyFieldSpecified;
        
        private string maxWaitField;
        
        private bool aggregateResultsField;
        
        private bool returnPropertyDescriptionField;
        
        private string numOfRatePlansField;
        
        private bool returnAmenitiesField;
        
        public HotelSearchModifiers() {
            this.aggregateResultsField = false;
            this.returnPropertyDescriptionField = false;
            this.returnAmenitiesField = false;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=0)]
        [System.Xml.Serialization.XmlArrayItemAttribute("HotelChain", IsNullable=false)]
        public HotelChain[] PermittedChains {
            get {
                return this.permittedChainsField;
            }
            set {
                this.permittedChainsField = value;
                this.RaisePropertyChanged("PermittedChains");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=1)]
        [System.Xml.Serialization.XmlArrayItemAttribute("HotelChain", IsNullable=false)]
        public HotelChain[] ProhibitedChains {
            get {
                return this.prohibitedChainsField;
            }
            set {
                this.prohibitedChainsField = value;
                this.RaisePropertyChanged("ProhibitedChains");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=2)]
        public PermittedProviders PermittedProviders {
            get {
                return this.permittedProvidersField;
            }
            set {
                this.permittedProvidersField = value;
                this.RaisePropertyChanged("PermittedProviders");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("LoyaltyCard", Namespace="http://www.travelport.com/schema/common_v53_0", Order=3)]
        public LoyaltyCard[] LoyaltyCard {
            get {
                return this.loyaltyCardField;
            }
            set {
                this.loyaltyCardField = value;
                this.RaisePropertyChanged("LoyaltyCard");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=4)]
        public string HotelName {
            get {
                return this.hotelNameField;
            }
            set {
                this.hotelNameField = value;
                this.RaisePropertyChanged("HotelName");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CorporateDiscountID", Namespace="http://www.travelport.com/schema/common_v53_0", Order=5)]
        public CorporateDiscountID[] CorporateDiscountID {
            get {
                return this.corporateDiscountIDField;
            }
            set {
                this.corporateDiscountIDField = value;
                this.RaisePropertyChanged("CorporateDiscountID");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RateCategory", DataType="positiveInteger", Order=6)]
        public string[] RateCategory {
            get {
                return this.rateCategoryField;
            }
            set {
                this.rateCategoryField = value;
                this.RaisePropertyChanged("RateCategory");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("HotelRating", Order=7)]
        public HotelRating[] HotelRating {
            get {
                return this.hotelRatingField;
            }
            set {
                this.hotelRatingField = value;
                this.RaisePropertyChanged("HotelRating");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=8)]
        [System.Xml.Serialization.XmlArrayItemAttribute("Criteria", IsNullable=false)]
        public SearchPriorityCriteria[] SearchPriority {
            get {
                return this.searchPriorityField;
            }
            set {
                this.searchPriorityField = value;
                this.RaisePropertyChanged("SearchPriority");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("HotelBedding", Order=9)]
        public HotelBedding[] HotelBedding {
            get {
                return this.hotelBeddingField;
            }
            set {
                this.hotelBeddingField = value;
                this.RaisePropertyChanged("HotelBedding");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=10)]
        [System.Xml.Serialization.XmlArrayItemAttribute("Amenity", IsNullable=false)]
        public Amenity[] Amenities {
            get {
                return this.amenitiesField;
            }
            set {
                this.amenitiesField = value;
                this.RaisePropertyChanged("Amenities");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=11)]
        public NumberOfChildren NumberOfChildren {
            get {
                return this.numberOfChildrenField;
            }
            set {
                this.numberOfChildrenField = value;
                this.RaisePropertyChanged("NumberOfChildren");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=12)]
        public HotelSearchModifiersHotelTransportation HotelTransportation {
            get {
                return this.hotelTransportationField;
            }
            set {
                this.hotelTransportationField = value;
                this.RaisePropertyChanged("HotelTransportation");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=13)]
        [System.Xml.Serialization.XmlArrayItemAttribute("Room", IsNullable=false)]
        public typeGuestRoomInformation[] BookingGuestInformation {
            get {
                return this.bookingGuestInformationField;
            }
            set {
                this.bookingGuestInformationField = value;
                this.RaisePropertyChanged("BookingGuestInformation");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public int NumberOfAdults {
            get {
                return this.numberOfAdultsField;
            }
            set {
                this.numberOfAdultsField = value;
                this.RaisePropertyChanged("NumberOfAdults");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool NumberOfAdultsSpecified {
            get {
                return this.numberOfAdultsFieldSpecified;
            }
            set {
                this.numberOfAdultsFieldSpecified = value;
                this.RaisePropertyChanged("NumberOfAdultsSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public int NumberOfRooms {
            get {
                return this.numberOfRoomsField;
            }
            set {
                this.numberOfRoomsField = value;
                this.RaisePropertyChanged("NumberOfRooms");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool NumberOfRoomsSpecified {
            get {
                return this.numberOfRoomsFieldSpecified;
            }
            set {
                this.numberOfRoomsFieldSpecified = value;
                this.RaisePropertyChanged("NumberOfRoomsSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool IsRelaxed {
            get {
                return this.isRelaxedField;
            }
            set {
                this.isRelaxedField = value;
                this.RaisePropertyChanged("IsRelaxed");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool IsRelaxedSpecified {
            get {
                return this.isRelaxedFieldSpecified;
            }
            set {
                this.isRelaxedFieldSpecified = value;
                this.RaisePropertyChanged("IsRelaxedSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PreferredCurrency {
            get {
                return this.preferredCurrencyField;
            }
            set {
                this.preferredCurrencyField = value;
                this.RaisePropertyChanged("PreferredCurrency");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool AvailableHotelsOnly {
            get {
                return this.availableHotelsOnlyField;
            }
            set {
                this.availableHotelsOnlyField = value;
                this.RaisePropertyChanged("AvailableHotelsOnly");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AvailableHotelsOnlySpecified {
            get {
                return this.availableHotelsOnlyFieldSpecified;
            }
            set {
                this.availableHotelsOnlyFieldSpecified = value;
                this.RaisePropertyChanged("AvailableHotelsOnlySpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="positiveInteger")]
        public string MaxWait {
            get {
                return this.maxWaitField;
            }
            set {
                this.maxWaitField = value;
                this.RaisePropertyChanged("MaxWait");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool AggregateResults {
            get {
                return this.aggregateResultsField;
            }
            set {
                this.aggregateResultsField = value;
                this.RaisePropertyChanged("AggregateResults");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool ReturnPropertyDescription {
            get {
                return this.returnPropertyDescriptionField;
            }
            set {
                this.returnPropertyDescriptionField = value;
                this.RaisePropertyChanged("ReturnPropertyDescription");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="positiveInteger")]
        public string NumOfRatePlans {
            get {
                return this.numOfRatePlansField;
            }
            set {
                this.numOfRatePlansField = value;
                this.RaisePropertyChanged("NumOfRatePlans");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool ReturnAmenities {
            get {
                return this.returnAmenitiesField;
            }
            set {
                this.returnAmenitiesField = value;
                this.RaisePropertyChanged("ReturnAmenities");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class HotelChain : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string codeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Code {
            get {
                return this.codeField;
            }
            set {
                this.codeField = value;
                this.RaisePropertyChanged("Code");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class SearchPriorityCriteria : object, System.ComponentModel.INotifyPropertyChanged {
        
        private int orderField;
        
        private SearchPriorityCriteriaType typeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public int Order {
            get {
                return this.orderField;
            }
            set {
                this.orderField = value;
                this.RaisePropertyChanged("Order");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public SearchPriorityCriteriaType Type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
                this.RaisePropertyChanged("Type");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public enum SearchPriorityCriteriaType {
        
        /// <remarks/>
        CorporateDiscountID,
        
        /// <remarks/>
        PermittedChains,
        
        /// <remarks/>
        HotelName,
        
        /// <remarks/>
        Distance,
        
        /// <remarks/>
        RateCategory,
        
        /// <remarks/>
        HotelRating,
        
        /// <remarks/>
        Amenities,
        
        /// <remarks/>
        HotelTransportation,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class HotelSearchModifiersHotelTransportation : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string typeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="positiveInteger")]
        public string Type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
                this.RaisePropertyChanged("Type");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ServiceModel.ServiceContractAttribute(Namespace="http://www.travelport.com/service/hotel_v53_0", ConfigurationName="Hotel_53.HotelSearchServicePortType")]
    public interface HotelSearchServicePortType {
        
        // CODEGEN: Generating message contract since the operation service is neither RPC nor document wrapped.
        [System.ServiceModel.OperationContractAttribute(Action="http://localhost:8080/kestrel/HotelService", ReplyAction="*")]
        [System.ServiceModel.FaultContractAttribute(typeof(TravelPort.DemoSite.Service.Hotel_53.ErrorInfo), Action="http://localhost:8080/kestrel/HotelService", Name="ErrorInfo", Namespace="http://www.travelport.com/schema/common_v53_0")]
        [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeAdaptedRoomGuestAllocation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeHotelDetails))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeFeeInfo))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeTax))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeProviderReservationDetail))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeErrorInfo))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeBookingTransactionsAllowed))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeOTAKeyword))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeKeyword))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeAgencyHierarchyReference))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeDateRange))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeProfileRef))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeLocation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(ServiceRuleType))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typePassengerType))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeTimeSpec))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeSearchLocation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeRateDescription))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeSearchTimeSpec))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeAgentInfo))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(Segment))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeTaxInfo))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(MCOInformation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BaseReservation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeGuaranteeInformation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeVoucherInformation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeResultMessage))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BaseRsp))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typePaymentCard))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeRemark))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeRemarkWithTravelerRef))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(SeatAssignment))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(Location))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeVendorLocation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BaseCoreReq))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HotelChain[]))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(Amenity[]))]
        TravelPort.DemoSite.Service.Hotel_53.serviceResponse service(TravelPort.DemoSite.Service.Hotel_53.serviceRequest request);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://localhost:8080/kestrel/HotelService", ReplyAction="*")]
        System.Threading.Tasks.Task<TravelPort.DemoSite.Service.Hotel_53.serviceResponse> serviceAsync(TravelPort.DemoSite.Service.Hotel_53.serviceRequest request);
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class HotelSearchAvailabilityReq : BaseHotelSearchReq {
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
    [System.ServiceModel.MessageContractAttribute(IsWrapped=false)]
    public partial class serviceRequest {
        
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.travelport.com/schema/hotel_v53_0", Order=0)]
        public TravelPort.DemoSite.Service.Hotel_53.HotelSearchAvailabilityReq HotelSearchAvailabilityReq;
        
        public serviceRequest() {
        }
        
        public serviceRequest(TravelPort.DemoSite.Service.Hotel_53.HotelSearchAvailabilityReq HotelSearchAvailabilityReq) {
            this.HotelSearchAvailabilityReq = HotelSearchAvailabilityReq;
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
    [System.ServiceModel.MessageContractAttribute(IsWrapped=false)]
    public partial class serviceResponse {
        
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.travelport.com/schema/hotel_v53_0", Order=0)]
        public TravelPort.DemoSite.Service.Hotel_53.BaseHotelSearchRsp HotelSearchAvailabilityRsp;
        
        public serviceResponse() {
        }
        
        public serviceResponse(TravelPort.DemoSite.Service.Hotel_53.BaseHotelSearchRsp HotelSearchAvailabilityRsp) {
            this.HotelSearchAvailabilityRsp = HotelSearchAvailabilityRsp;
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public interface HotelSearchServicePortTypeChannel : TravelPort.DemoSite.Service.Hotel_53.HotelSearchServicePortType, System.ServiceModel.IClientChannel {
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public partial class HotelSearchServicePortTypeClient : System.ServiceModel.ClientBase<TravelPort.DemoSite.Service.Hotel_53.HotelSearchServicePortType>, TravelPort.DemoSite.Service.Hotel_53.HotelSearchServicePortType {
        
        public HotelSearchServicePortTypeClient() {
        }
        
        public HotelSearchServicePortTypeClient(string endpointConfigurationName) : 
                base(endpointConfigurationName) {
        }
        
        public HotelSearchServicePortTypeClient(string endpointConfigurationName, string remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public HotelSearchServicePortTypeClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public HotelSearchServicePortTypeClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(binding, remoteAddress) {
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        TravelPort.DemoSite.Service.Hotel_53.serviceResponse TravelPort.DemoSite.Service.Hotel_53.HotelSearchServicePortType.service(TravelPort.DemoSite.Service.Hotel_53.serviceRequest request) {
            return base.Channel.service(request);
        }
        
        public TravelPort.DemoSite.Service.Hotel_53.BaseHotelSearchRsp service(TravelPort.DemoSite.Service.Hotel_53.HotelSearchAvailabilityReq HotelSearchAvailabilityReq) {
            TravelPort.DemoSite.Service.Hotel_53.serviceRequest inValue = new TravelPort.DemoSite.Service.Hotel_53.serviceRequest();
            inValue.HotelSearchAvailabilityReq = HotelSearchAvailabilityReq;
            TravelPort.DemoSite.Service.Hotel_53.serviceResponse retVal = ((TravelPort.DemoSite.Service.Hotel_53.HotelSearchServicePortType)(this)).service(inValue);
            return retVal.HotelSearchAvailabilityRsp;
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        System.Threading.Tasks.Task<TravelPort.DemoSite.Service.Hotel_53.serviceResponse> TravelPort.DemoSite.Service.Hotel_53.HotelSearchServicePortType.serviceAsync(TravelPort.DemoSite.Service.Hotel_53.serviceRequest request) {
            return base.Channel.serviceAsync(request);
        }
        
        public System.Threading.Tasks.Task<TravelPort.DemoSite.Service.Hotel_53.serviceResponse> serviceAsync(TravelPort.DemoSite.Service.Hotel_53.HotelSearchAvailabilityReq HotelSearchAvailabilityReq) {
            TravelPort.DemoSite.Service.Hotel_53.serviceRequest inValue = new TravelPort.DemoSite.Service.Hotel_53.serviceRequest();
            inValue.HotelSearchAvailabilityReq = HotelSearchAvailabilityReq;
            return ((TravelPort.DemoSite.Service.Hotel_53.HotelSearchServicePortType)(this)).serviceAsync(inValue);
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ServiceModel.ServiceContractAttribute(Namespace="http://www.travelport.com/service/hotel_v53_0", ConfigurationName="Hotel_53.HotelMediaLinksServicePortType")]
    public interface HotelMediaLinksServicePortType {
        
        // CODEGEN: Generating message contract since the operation service is neither RPC nor document wrapped.
        [System.ServiceModel.OperationContractAttribute(Action="http://localhost:8080/kestrel/HotelService", ReplyAction="*")]
        [System.ServiceModel.FaultContractAttribute(typeof(TravelPort.DemoSite.Service.Hotel_53.ErrorInfo), Action="http://localhost:8080/kestrel/HotelService", Name="ErrorInfo", Namespace="http://www.travelport.com/schema/common_v53_0")]
        [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeAdaptedRoomGuestAllocation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeHotelDetails))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeFeeInfo))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeTax))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeProviderReservationDetail))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeErrorInfo))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeBookingTransactionsAllowed))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeOTAKeyword))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeKeyword))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeAgencyHierarchyReference))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeDateRange))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeProfileRef))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeLocation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(ServiceRuleType))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typePassengerType))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeTimeSpec))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeSearchLocation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeRateDescription))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeSearchTimeSpec))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeAgentInfo))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(Segment))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeTaxInfo))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(MCOInformation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BaseReservation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeGuaranteeInformation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeVoucherInformation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeResultMessage))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BaseRsp))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typePaymentCard))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeRemark))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeRemarkWithTravelerRef))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(SeatAssignment))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(Location))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeVendorLocation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BaseCoreReq))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HotelChain[]))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(Amenity[]))]
        TravelPort.DemoSite.Service.Hotel_53.serviceResponse1 service(TravelPort.DemoSite.Service.Hotel_53.serviceRequest1 request);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://localhost:8080/kestrel/HotelService", ReplyAction="*")]
        System.Threading.Tasks.Task<TravelPort.DemoSite.Service.Hotel_53.serviceResponse1> serviceAsync(TravelPort.DemoSite.Service.Hotel_53.serviceRequest1 request);
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class HotelMediaLinksReq : BaseReq {
        
        private PermittedProviders permittedProvidersField;
        
        private HotelProperty[] hotelPropertyField;
        
        private bool secureLinksField;
        
        private string sizeCodeField;
        
        private bool richMediaField;
        
        private bool galleryField;
        
        public HotelMediaLinksReq() {
            this.secureLinksField = true;
            this.sizeCodeField = "A";
            this.richMediaField = true;
            this.galleryField = true;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=0)]
        public PermittedProviders PermittedProviders {
            get {
                return this.permittedProvidersField;
            }
            set {
                this.permittedProvidersField = value;
                this.RaisePropertyChanged("PermittedProviders");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("HotelProperty", Order=1)]
        public HotelProperty[] HotelProperty {
            get {
                return this.hotelPropertyField;
            }
            set {
                this.hotelPropertyField = value;
                this.RaisePropertyChanged("HotelProperty");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(true)]
        public bool SecureLinks {
            get {
                return this.secureLinksField;
            }
            set {
                this.secureLinksField = value;
                this.RaisePropertyChanged("SecureLinks");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute("A")]
        public string SizeCode {
            get {
                return this.sizeCodeField;
            }
            set {
                this.sizeCodeField = value;
                this.RaisePropertyChanged("SizeCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(true)]
        public bool RichMedia {
            get {
                return this.richMediaField;
            }
            set {
                this.richMediaField = value;
                this.RaisePropertyChanged("RichMedia");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(true)]
        public bool Gallery {
            get {
                return this.galleryField;
            }
            set {
                this.galleryField = value;
                this.RaisePropertyChanged("Gallery");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class HotelMediaLinksRsp : BaseRsp {
        
        private HotelPropertyWithMediaItems[] hotelPropertyWithMediaItemsField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("HotelPropertyWithMediaItems", Order=0)]
        public HotelPropertyWithMediaItems[] HotelPropertyWithMediaItems {
            get {
                return this.hotelPropertyWithMediaItemsField;
            }
            set {
                this.hotelPropertyWithMediaItemsField = value;
                this.RaisePropertyChanged("HotelPropertyWithMediaItems");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class HotelPropertyWithMediaItems : object, System.ComponentModel.INotifyPropertyChanged {
        
        private HotelProperty hotelPropertyField;
        
        private MediaItem[] mediaItemField;
        
        private typeResultMessage[] mediaResultMessageField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public HotelProperty HotelProperty {
            get {
                return this.hotelPropertyField;
            }
            set {
                this.hotelPropertyField = value;
                this.RaisePropertyChanged("HotelProperty");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("MediaItem", Namespace="http://www.travelport.com/schema/common_v53_0", Order=1)]
        public MediaItem[] MediaItem {
            get {
                return this.mediaItemField;
            }
            set {
                this.mediaItemField = value;
                this.RaisePropertyChanged("MediaItem");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("MediaResultMessage", Order=2)]
        public typeResultMessage[] MediaResultMessage {
            get {
                return this.mediaResultMessageField;
            }
            set {
                this.mediaResultMessageField = value;
                this.RaisePropertyChanged("MediaResultMessage");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
    [System.ServiceModel.MessageContractAttribute(IsWrapped=false)]
    public partial class serviceRequest1 {
        
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.travelport.com/schema/hotel_v53_0", Order=0)]
        public TravelPort.DemoSite.Service.Hotel_53.HotelMediaLinksReq HotelMediaLinksReq;
        
        public serviceRequest1() {
        }
        
        public serviceRequest1(TravelPort.DemoSite.Service.Hotel_53.HotelMediaLinksReq HotelMediaLinksReq) {
            this.HotelMediaLinksReq = HotelMediaLinksReq;
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
    [System.ServiceModel.MessageContractAttribute(IsWrapped=false)]
    public partial class serviceResponse1 {
        
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.travelport.com/schema/hotel_v53_0", Order=0)]
        public TravelPort.DemoSite.Service.Hotel_53.HotelMediaLinksRsp HotelMediaLinksRsp;
        
        public serviceResponse1() {
        }
        
        public serviceResponse1(TravelPort.DemoSite.Service.Hotel_53.HotelMediaLinksRsp HotelMediaLinksRsp) {
            this.HotelMediaLinksRsp = HotelMediaLinksRsp;
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public interface HotelMediaLinksServicePortTypeChannel : TravelPort.DemoSite.Service.Hotel_53.HotelMediaLinksServicePortType, System.ServiceModel.IClientChannel {
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public partial class HotelMediaLinksServicePortTypeClient : System.ServiceModel.ClientBase<TravelPort.DemoSite.Service.Hotel_53.HotelMediaLinksServicePortType>, TravelPort.DemoSite.Service.Hotel_53.HotelMediaLinksServicePortType {
        
        public HotelMediaLinksServicePortTypeClient() {
        }
        
        public HotelMediaLinksServicePortTypeClient(string endpointConfigurationName) : 
                base(endpointConfigurationName) {
        }
        
        public HotelMediaLinksServicePortTypeClient(string endpointConfigurationName, string remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public HotelMediaLinksServicePortTypeClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public HotelMediaLinksServicePortTypeClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(binding, remoteAddress) {
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        TravelPort.DemoSite.Service.Hotel_53.serviceResponse1 TravelPort.DemoSite.Service.Hotel_53.HotelMediaLinksServicePortType.service(TravelPort.DemoSite.Service.Hotel_53.serviceRequest1 request) {
            return base.Channel.service(request);
        }
        
        public TravelPort.DemoSite.Service.Hotel_53.HotelMediaLinksRsp service(TravelPort.DemoSite.Service.Hotel_53.HotelMediaLinksReq HotelMediaLinksReq) {
            TravelPort.DemoSite.Service.Hotel_53.serviceRequest1 inValue = new TravelPort.DemoSite.Service.Hotel_53.serviceRequest1();
            inValue.HotelMediaLinksReq = HotelMediaLinksReq;
            TravelPort.DemoSite.Service.Hotel_53.serviceResponse1 retVal = ((TravelPort.DemoSite.Service.Hotel_53.HotelMediaLinksServicePortType)(this)).service(inValue);
            return retVal.HotelMediaLinksRsp;
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        System.Threading.Tasks.Task<TravelPort.DemoSite.Service.Hotel_53.serviceResponse1> TravelPort.DemoSite.Service.Hotel_53.HotelMediaLinksServicePortType.serviceAsync(TravelPort.DemoSite.Service.Hotel_53.serviceRequest1 request) {
            return base.Channel.serviceAsync(request);
        }
        
        public System.Threading.Tasks.Task<TravelPort.DemoSite.Service.Hotel_53.serviceResponse1> serviceAsync(TravelPort.DemoSite.Service.Hotel_53.HotelMediaLinksReq HotelMediaLinksReq) {
            TravelPort.DemoSite.Service.Hotel_53.serviceRequest1 inValue = new TravelPort.DemoSite.Service.Hotel_53.serviceRequest1();
            inValue.HotelMediaLinksReq = HotelMediaLinksReq;
            return ((TravelPort.DemoSite.Service.Hotel_53.HotelMediaLinksServicePortType)(this)).serviceAsync(inValue);
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ServiceModel.ServiceContractAttribute(Namespace="http://www.travelport.com/service/hotel_v53_0", ConfigurationName="Hotel_53.HotelDetailsServicePortType")]
    public interface HotelDetailsServicePortType {
        
        // CODEGEN: Generating message contract since the operation service is neither RPC nor document wrapped.
        [System.ServiceModel.OperationContractAttribute(Action="http://localhost:8080/kestrel/HotelService", ReplyAction="*")]
        [System.ServiceModel.FaultContractAttribute(typeof(TravelPort.DemoSite.Service.Hotel_53.ErrorInfo), Action="http://localhost:8080/kestrel/HotelService", Name="ErrorInfo", Namespace="http://www.travelport.com/schema/common_v53_0")]
        [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeAdaptedRoomGuestAllocation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeHotelDetails))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeFeeInfo))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeTax))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeProviderReservationDetail))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeErrorInfo))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeBookingTransactionsAllowed))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeOTAKeyword))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeKeyword))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeAgencyHierarchyReference))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeDateRange))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeProfileRef))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeLocation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(ServiceRuleType))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typePassengerType))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeTimeSpec))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeSearchLocation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeRateDescription))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeSearchTimeSpec))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeAgentInfo))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(Segment))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeTaxInfo))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(MCOInformation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BaseReservation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeGuaranteeInformation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeVoucherInformation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeResultMessage))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BaseRsp))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typePaymentCard))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeRemark))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeRemarkWithTravelerRef))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(SeatAssignment))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(Location))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeVendorLocation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BaseCoreReq))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HotelChain[]))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(Amenity[]))]
        TravelPort.DemoSite.Service.Hotel_53.serviceResponse2 service(TravelPort.DemoSite.Service.Hotel_53.serviceRequest2 request);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://localhost:8080/kestrel/HotelService", ReplyAction="*")]
        System.Threading.Tasks.Task<TravelPort.DemoSite.Service.Hotel_53.serviceResponse2> serviceAsync(TravelPort.DemoSite.Service.Hotel_53.serviceRequest2 request);
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class HotelDetailsReq : BaseHotelDetailsReq {
        
        private HostToken hostTokenField;
        
        private NextResultReference nextResultReferenceField;
        
        private bool returnMediaLinksField;
        
        private bool returnGuestReviewsField;
        
        private string policyReferenceField;
        
        public HotelDetailsReq() {
            this.returnMediaLinksField = false;
            this.returnGuestReviewsField = false;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=0)]
        public HostToken HostToken {
            get {
                return this.hostTokenField;
            }
            set {
                this.hostTokenField = value;
                this.RaisePropertyChanged("HostToken");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=1)]
        public NextResultReference NextResultReference {
            get {
                return this.nextResultReferenceField;
            }
            set {
                this.nextResultReferenceField = value;
                this.RaisePropertyChanged("NextResultReference");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool ReturnMediaLinks {
            get {
                return this.returnMediaLinksField;
            }
            set {
                this.returnMediaLinksField = value;
                this.RaisePropertyChanged("ReturnMediaLinks");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool ReturnGuestReviews {
            get {
                return this.returnGuestReviewsField;
            }
            set {
                this.returnGuestReviewsField = value;
                this.RaisePropertyChanged("ReturnGuestReviews");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PolicyReference {
            get {
                return this.policyReferenceField;
            }
            set {
                this.policyReferenceField = value;
                this.RaisePropertyChanged("PolicyReference");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class HotelDetailsRsp : BaseRsp {
        
        private NextResultReference nextResultReferenceField;
        
        private HostToken hostTokenField;
        
        private object itemField;
        
        private GuestReviewsComments[] guestReviewsField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=0)]
        public NextResultReference NextResultReference {
            get {
                return this.nextResultReferenceField;
            }
            set {
                this.nextResultReferenceField = value;
                this.RaisePropertyChanged("NextResultReference");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=1)]
        public HostToken HostToken {
            get {
                return this.hostTokenField;
            }
            set {
                this.hostTokenField = value;
                this.RaisePropertyChanged("HostToken");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("HotelAlternateProperties", typeof(HotelAlternateProperties), Order=2)]
        [System.Xml.Serialization.XmlElementAttribute("RequestedHotelDetails", typeof(RequestedHotelDetails), Order=2)]
        public object Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
                this.RaisePropertyChanged("Item");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=3)]
        [System.Xml.Serialization.XmlArrayItemAttribute("Comments", IsNullable=false)]
        public GuestReviewsComments[] GuestReviews {
            get {
                return this.guestReviewsField;
            }
            set {
                this.guestReviewsField = value;
                this.RaisePropertyChanged("GuestReviews");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class HotelAlternateProperties : object, System.ComponentModel.INotifyPropertyChanged {
        
        private HotelProperty[] hotelPropertyField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("HotelProperty", Order=0)]
        public HotelProperty[] HotelProperty {
            get {
                return this.hotelPropertyField;
            }
            set {
                this.hotelPropertyField = value;
                this.RaisePropertyChanged("HotelProperty");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class RequestedHotelDetails : typeHotelDetails {
        
        private HotelType hotelTypeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public HotelType HotelType {
            get {
                return this.hotelTypeField;
            }
            set {
                this.hotelTypeField = value;
                this.RaisePropertyChanged("HotelType");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class GuestReviewsComments : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string commentIdField;
        
        private System.DateTime dateField;
        
        private bool dateFieldSpecified;
        
        private string commenterLanguageField;
        
        private string sourceField;
        
        private string commentSourceNameField;
        
        private string commenterField;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CommentId {
            get {
                return this.commentIdField;
            }
            set {
                this.commentIdField = value;
                this.RaisePropertyChanged("CommentId");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="date")]
        public System.DateTime Date {
            get {
                return this.dateField;
            }
            set {
                this.dateField = value;
                this.RaisePropertyChanged("Date");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DateSpecified {
            get {
                return this.dateFieldSpecified;
            }
            set {
                this.dateFieldSpecified = value;
                this.RaisePropertyChanged("DateSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CommenterLanguage {
            get {
                return this.commenterLanguageField;
            }
            set {
                this.commenterLanguageField = value;
                this.RaisePropertyChanged("CommenterLanguage");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Source {
            get {
                return this.sourceField;
            }
            set {
                this.sourceField = value;
                this.RaisePropertyChanged("Source");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CommentSourceName {
            get {
                return this.commentSourceNameField;
            }
            set {
                this.commentSourceNameField = value;
                this.RaisePropertyChanged("CommentSourceName");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Commenter {
            get {
                return this.commenterField;
            }
            set {
                this.commenterField = value;
                this.RaisePropertyChanged("Commenter");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
                this.RaisePropertyChanged("Value");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
    [System.ServiceModel.MessageContractAttribute(IsWrapped=false)]
    public partial class serviceRequest2 {
        
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.travelport.com/schema/hotel_v53_0", Order=0)]
        public TravelPort.DemoSite.Service.Hotel_53.HotelDetailsReq HotelDetailsReq;
        
        public serviceRequest2() {
        }
        
        public serviceRequest2(TravelPort.DemoSite.Service.Hotel_53.HotelDetailsReq HotelDetailsReq) {
            this.HotelDetailsReq = HotelDetailsReq;
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
    [System.ServiceModel.MessageContractAttribute(IsWrapped=false)]
    public partial class serviceResponse2 {
        
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.travelport.com/schema/hotel_v53_0", Order=0)]
        public TravelPort.DemoSite.Service.Hotel_53.HotelDetailsRsp HotelDetailsRsp;
        
        public serviceResponse2() {
        }
        
        public serviceResponse2(TravelPort.DemoSite.Service.Hotel_53.HotelDetailsRsp HotelDetailsRsp) {
            this.HotelDetailsRsp = HotelDetailsRsp;
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public interface HotelDetailsServicePortTypeChannel : TravelPort.DemoSite.Service.Hotel_53.HotelDetailsServicePortType, System.ServiceModel.IClientChannel {
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public partial class HotelDetailsServicePortTypeClient : System.ServiceModel.ClientBase<TravelPort.DemoSite.Service.Hotel_53.HotelDetailsServicePortType>, TravelPort.DemoSite.Service.Hotel_53.HotelDetailsServicePortType {
        
        public HotelDetailsServicePortTypeClient() {
        }
        
        public HotelDetailsServicePortTypeClient(string endpointConfigurationName) : 
                base(endpointConfigurationName) {
        }
        
        public HotelDetailsServicePortTypeClient(string endpointConfigurationName, string remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public HotelDetailsServicePortTypeClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public HotelDetailsServicePortTypeClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(binding, remoteAddress) {
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        TravelPort.DemoSite.Service.Hotel_53.serviceResponse2 TravelPort.DemoSite.Service.Hotel_53.HotelDetailsServicePortType.service(TravelPort.DemoSite.Service.Hotel_53.serviceRequest2 request) {
            return base.Channel.service(request);
        }
        
        public TravelPort.DemoSite.Service.Hotel_53.HotelDetailsRsp service(TravelPort.DemoSite.Service.Hotel_53.HotelDetailsReq HotelDetailsReq) {
            TravelPort.DemoSite.Service.Hotel_53.serviceRequest2 inValue = new TravelPort.DemoSite.Service.Hotel_53.serviceRequest2();
            inValue.HotelDetailsReq = HotelDetailsReq;
            TravelPort.DemoSite.Service.Hotel_53.serviceResponse2 retVal = ((TravelPort.DemoSite.Service.Hotel_53.HotelDetailsServicePortType)(this)).service(inValue);
            return retVal.HotelDetailsRsp;
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        System.Threading.Tasks.Task<TravelPort.DemoSite.Service.Hotel_53.serviceResponse2> TravelPort.DemoSite.Service.Hotel_53.HotelDetailsServicePortType.serviceAsync(TravelPort.DemoSite.Service.Hotel_53.serviceRequest2 request) {
            return base.Channel.serviceAsync(request);
        }
        
        public System.Threading.Tasks.Task<TravelPort.DemoSite.Service.Hotel_53.serviceResponse2> serviceAsync(TravelPort.DemoSite.Service.Hotel_53.HotelDetailsReq HotelDetailsReq) {
            TravelPort.DemoSite.Service.Hotel_53.serviceRequest2 inValue = new TravelPort.DemoSite.Service.Hotel_53.serviceRequest2();
            inValue.HotelDetailsReq = HotelDetailsReq;
            return ((TravelPort.DemoSite.Service.Hotel_53.HotelDetailsServicePortType)(this)).serviceAsync(inValue);
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ServiceModel.ServiceContractAttribute(Namespace="http://www.travelport.com/service/hotel_v53_0", ConfigurationName="Hotel_53.HotelRetrieveServicePortType")]
    public interface HotelRetrieveServicePortType {
        
        // CODEGEN: Generating message contract since the operation service is neither RPC nor document wrapped.
        [System.ServiceModel.OperationContractAttribute(Action="http://localhost:8080/kestrel/HotelService", ReplyAction="*")]
        [System.ServiceModel.FaultContractAttribute(typeof(TravelPort.DemoSite.Service.Hotel_53.ErrorInfo), Action="http://localhost:8080/kestrel/HotelService", Name="ErrorInfo", Namespace="http://www.travelport.com/schema/common_v53_0")]
        [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeAdaptedRoomGuestAllocation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeHotelDetails))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeFeeInfo))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeTax))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeProviderReservationDetail))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeErrorInfo))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeBookingTransactionsAllowed))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeOTAKeyword))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeKeyword))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeAgencyHierarchyReference))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeDateRange))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeProfileRef))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeLocation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(ServiceRuleType))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typePassengerType))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeTimeSpec))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeSearchLocation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeRateDescription))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeSearchTimeSpec))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeAgentInfo))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(Segment))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeTaxInfo))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(MCOInformation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BaseReservation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeGuaranteeInformation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeVoucherInformation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeResultMessage))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BaseRsp))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typePaymentCard))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeRemark))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeRemarkWithTravelerRef))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(SeatAssignment))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(Location))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeVendorLocation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BaseCoreReq))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HotelChain[]))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(Amenity[]))]
        TravelPort.DemoSite.Service.Hotel_53.serviceResponse3 service(TravelPort.DemoSite.Service.Hotel_53.serviceRequest3 request);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://localhost:8080/kestrel/HotelService", ReplyAction="*")]
        System.Threading.Tasks.Task<TravelPort.DemoSite.Service.Hotel_53.serviceResponse3> serviceAsync(TravelPort.DemoSite.Service.Hotel_53.serviceRequest3 request);
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class HotelRetrieveReq : BaseReq {
        
        private string providerCodeField;
        
        private string providerLocatorCodeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProviderCode {
            get {
                return this.providerCodeField;
            }
            set {
                this.providerCodeField = value;
                this.RaisePropertyChanged("ProviderCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProviderLocatorCode {
            get {
                return this.providerLocatorCodeField;
            }
            set {
                this.providerLocatorCodeField = value;
                this.RaisePropertyChanged("ProviderLocatorCode");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class HotelRetrieveRsp : BaseRsp {
        
        private HotelReservation[] hotelReservationField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("HotelReservation", Order=0)]
        public HotelReservation[] HotelReservation {
            get {
                return this.hotelReservationField;
            }
            set {
                this.hotelReservationField = value;
                this.RaisePropertyChanged("HotelReservation");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class HotelReservation : BaseReservation {
        
        private BookingTravelerRef[] bookingTravelerRefField;
        
        private ReservationName reservationNameField;
        
        private ThirdPartyInformation thirdPartyInformationField;
        
        private Email[] emailField;
        
        private PhoneNumber[] phoneNumberField;
        
        private HotelProperty hotelPropertyField;
        
        private HotelRateDetail[] hotelRateDetailField;
        
        private HotelStay hotelStayField;
        
        private HotelSpecialRequest hotelSpecialRequestField;
        
        private Guarantee guaranteeField;
        
        private PromotionCode promotionCodeField;
        
        private BookingSource bookingSourceField;
        
        private HotelBedding[] hotelBeddingField;
        
        private GuestInformation guestInformationField;
        
        private AssociatedRemark[] associatedRemarkField;
        
        private string[] sellMessageField;
        
        private string hotelCommissionField;
        
        private CancelInfo cancelInfoField;
        
        private HotelReservationTotalReservationPrice totalReservationPriceField;
        
        private HotelDetailItem[] hotelDetailItemField;
        
        private typeAdaptedRoomGuestAllocation[] adaptedRoomGuestAllocationField;
        
        private string statusField;
        
        private string bookingConfirmationField;
        
        private string cancelConfirmationField;
        
        private string providerReservationInfoRefField;
        
        private string travelOrderField;
        
        private string providerSegmentOrderField;
        
        private string passiveProviderReservationInfoRefField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("BookingTravelerRef", Namespace="http://www.travelport.com/schema/common_v53_0", Order=0)]
        public BookingTravelerRef[] BookingTravelerRef {
            get {
                return this.bookingTravelerRefField;
            }
            set {
                this.bookingTravelerRefField = value;
                this.RaisePropertyChanged("BookingTravelerRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=1)]
        public ReservationName ReservationName {
            get {
                return this.reservationNameField;
            }
            set {
                this.reservationNameField = value;
                this.RaisePropertyChanged("ReservationName");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=2)]
        public ThirdPartyInformation ThirdPartyInformation {
            get {
                return this.thirdPartyInformationField;
            }
            set {
                this.thirdPartyInformationField = value;
                this.RaisePropertyChanged("ThirdPartyInformation");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Email", Namespace="http://www.travelport.com/schema/common_v53_0", Order=3)]
        public Email[] Email {
            get {
                return this.emailField;
            }
            set {
                this.emailField = value;
                this.RaisePropertyChanged("Email");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PhoneNumber", Namespace="http://www.travelport.com/schema/common_v53_0", Order=4)]
        public PhoneNumber[] PhoneNumber {
            get {
                return this.phoneNumberField;
            }
            set {
                this.phoneNumberField = value;
                this.RaisePropertyChanged("PhoneNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=5)]
        public HotelProperty HotelProperty {
            get {
                return this.hotelPropertyField;
            }
            set {
                this.hotelPropertyField = value;
                this.RaisePropertyChanged("HotelProperty");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("HotelRateDetail", Order=6)]
        public HotelRateDetail[] HotelRateDetail {
            get {
                return this.hotelRateDetailField;
            }
            set {
                this.hotelRateDetailField = value;
                this.RaisePropertyChanged("HotelRateDetail");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=7)]
        public HotelStay HotelStay {
            get {
                return this.hotelStayField;
            }
            set {
                this.hotelStayField = value;
                this.RaisePropertyChanged("HotelStay");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=8)]
        public HotelSpecialRequest HotelSpecialRequest {
            get {
                return this.hotelSpecialRequestField;
            }
            set {
                this.hotelSpecialRequestField = value;
                this.RaisePropertyChanged("HotelSpecialRequest");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=9)]
        public Guarantee Guarantee {
            get {
                return this.guaranteeField;
            }
            set {
                this.guaranteeField = value;
                this.RaisePropertyChanged("Guarantee");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=10)]
        public PromotionCode PromotionCode {
            get {
                return this.promotionCodeField;
            }
            set {
                this.promotionCodeField = value;
                this.RaisePropertyChanged("PromotionCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=11)]
        public BookingSource BookingSource {
            get {
                return this.bookingSourceField;
            }
            set {
                this.bookingSourceField = value;
                this.RaisePropertyChanged("BookingSource");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("HotelBedding", Order=12)]
        public HotelBedding[] HotelBedding {
            get {
                return this.hotelBeddingField;
            }
            set {
                this.hotelBeddingField = value;
                this.RaisePropertyChanged("HotelBedding");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=13)]
        public GuestInformation GuestInformation {
            get {
                return this.guestInformationField;
            }
            set {
                this.guestInformationField = value;
                this.RaisePropertyChanged("GuestInformation");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AssociatedRemark", Order=14)]
        public AssociatedRemark[] AssociatedRemark {
            get {
                return this.associatedRemarkField;
            }
            set {
                this.associatedRemarkField = value;
                this.RaisePropertyChanged("AssociatedRemark");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SellMessage", Namespace="http://www.travelport.com/schema/common_v53_0", Order=15)]
        public string[] SellMessage {
            get {
                return this.sellMessageField;
            }
            set {
                this.sellMessageField = value;
                this.RaisePropertyChanged("SellMessage");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=16)]
        public string HotelCommission {
            get {
                return this.hotelCommissionField;
            }
            set {
                this.hotelCommissionField = value;
                this.RaisePropertyChanged("HotelCommission");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=17)]
        public CancelInfo CancelInfo {
            get {
                return this.cancelInfoField;
            }
            set {
                this.cancelInfoField = value;
                this.RaisePropertyChanged("CancelInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=18)]
        public HotelReservationTotalReservationPrice TotalReservationPrice {
            get {
                return this.totalReservationPriceField;
            }
            set {
                this.totalReservationPriceField = value;
                this.RaisePropertyChanged("TotalReservationPrice");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("HotelDetailItem", Order=19)]
        public HotelDetailItem[] HotelDetailItem {
            get {
                return this.hotelDetailItemField;
            }
            set {
                this.hotelDetailItemField = value;
                this.RaisePropertyChanged("HotelDetailItem");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=20)]
        [System.Xml.Serialization.XmlArrayItemAttribute("Room", IsNullable=false)]
        public typeAdaptedRoomGuestAllocation[] AdaptedRoomGuestAllocation {
            get {
                return this.adaptedRoomGuestAllocationField;
            }
            set {
                this.adaptedRoomGuestAllocationField = value;
                this.RaisePropertyChanged("AdaptedRoomGuestAllocation");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Status {
            get {
                return this.statusField;
            }
            set {
                this.statusField = value;
                this.RaisePropertyChanged("Status");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string BookingConfirmation {
            get {
                return this.bookingConfirmationField;
            }
            set {
                this.bookingConfirmationField = value;
                this.RaisePropertyChanged("BookingConfirmation");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CancelConfirmation {
            get {
                return this.cancelConfirmationField;
            }
            set {
                this.cancelConfirmationField = value;
                this.RaisePropertyChanged("CancelConfirmation");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProviderReservationInfoRef {
            get {
                return this.providerReservationInfoRefField;
            }
            set {
                this.providerReservationInfoRefField = value;
                this.RaisePropertyChanged("ProviderReservationInfoRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string TravelOrder {
            get {
                return this.travelOrderField;
            }
            set {
                this.travelOrderField = value;
                this.RaisePropertyChanged("TravelOrder");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string ProviderSegmentOrder {
            get {
                return this.providerSegmentOrderField;
            }
            set {
                this.providerSegmentOrderField = value;
                this.RaisePropertyChanged("ProviderSegmentOrder");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PassiveProviderReservationInfoRef {
            get {
                return this.passiveProviderReservationInfoRefField;
            }
            set {
                this.passiveProviderReservationInfoRefField = value;
                this.RaisePropertyChanged("PassiveProviderReservationInfoRef");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class ReservationName : object, System.ComponentModel.INotifyPropertyChanged {
        
        private object itemField;
        
        private string hotelRateDetailRefField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("BookingTravelerRef", typeof(BookingTravelerRef), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("NameOverride", typeof(NameOverride), Order=0)]
        public object Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
                this.RaisePropertyChanged("Item");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string HotelRateDetailRef {
            get {
                return this.hotelRateDetailRefField;
            }
            set {
                this.hotelRateDetailRefField = value;
                this.RaisePropertyChanged("HotelRateDetailRef");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class NameOverride : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string firstField;
        
        private string lastField;
        
        private string ageField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string First {
            get {
                return this.firstField;
            }
            set {
                this.firstField = value;
                this.RaisePropertyChanged("First");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Last {
            get {
                return this.lastField;
            }
            set {
                this.lastField = value;
                this.RaisePropertyChanged("Last");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string Age {
            get {
                return this.ageField;
            }
            set {
                this.ageField = value;
                this.RaisePropertyChanged("Age");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class ThirdPartyInformation : object, System.ComponentModel.INotifyPropertyChanged {
        
        private typeGeneralReference[] segmentRefField;
        
        private string thirdPartyCodeField;
        
        private string thirdPartyLocatorCodeField;
        
        private string thirdPartyNameField;
        
        private string providerReservationInfoRefField;
        
        private string keyField;
        
        private typeElementStatus elStatField;
        
        private bool elStatFieldSpecified;
        
        private bool keyOverrideField;
        
        private bool keyOverrideFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SegmentRef", Order=0)]
        public typeGeneralReference[] SegmentRef {
            get {
                return this.segmentRefField;
            }
            set {
                this.segmentRefField = value;
                this.RaisePropertyChanged("SegmentRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ThirdPartyCode {
            get {
                return this.thirdPartyCodeField;
            }
            set {
                this.thirdPartyCodeField = value;
                this.RaisePropertyChanged("ThirdPartyCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ThirdPartyLocatorCode {
            get {
                return this.thirdPartyLocatorCodeField;
            }
            set {
                this.thirdPartyLocatorCodeField = value;
                this.RaisePropertyChanged("ThirdPartyLocatorCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ThirdPartyName {
            get {
                return this.thirdPartyNameField;
            }
            set {
                this.thirdPartyNameField = value;
                this.RaisePropertyChanged("ThirdPartyName");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProviderReservationInfoRef {
            get {
                return this.providerReservationInfoRefField;
            }
            set {
                this.providerReservationInfoRefField = value;
                this.RaisePropertyChanged("ProviderReservationInfoRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeElementStatus ElStat {
            get {
                return this.elStatField;
            }
            set {
                this.elStatField = value;
                this.RaisePropertyChanged("ElStat");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ElStatSpecified {
            get {
                return this.elStatFieldSpecified;
            }
            set {
                this.elStatFieldSpecified = value;
                this.RaisePropertyChanged("ElStatSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool KeyOverride {
            get {
                return this.keyOverrideField;
            }
            set {
                this.keyOverrideField = value;
                this.RaisePropertyChanged("KeyOverride");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool KeyOverrideSpecified {
            get {
                return this.keyOverrideFieldSpecified;
            }
            set {
                this.keyOverrideFieldSpecified = value;
                this.RaisePropertyChanged("KeyOverrideSpecified");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class HotelSpecialRequest : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string keyField;
        
        private string hotelRateDetailRefField;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string HotelRateDetailRef {
            get {
                return this.hotelRateDetailRefField;
            }
            set {
                this.hotelRateDetailRefField = value;
                this.RaisePropertyChanged("HotelRateDetailRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
                this.RaisePropertyChanged("Value");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class Guarantee : object, System.ComponentModel.INotifyPropertyChanged {
        
        private object itemField;
        
        private string typeField;
        
        private string keyField;
        
        private string reuseFOPField;
        
        private string externalReferenceField;
        
        private bool reusableField;
        
        private typeElementStatus elStatField;
        
        private bool elStatFieldSpecified;
        
        private bool keyOverrideField;
        
        private bool keyOverrideFieldSpecified;
        
        private string hotelRateDetailRefField;
        
        public Guarantee() {
            this.reusableField = false;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CreditCard", typeof(CreditCard), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("OtherGuaranteeInfo", typeof(OtherGuaranteeInfo), Order=0)]
        public object Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
                this.RaisePropertyChanged("Item");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
                this.RaisePropertyChanged("Type");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ReuseFOP {
            get {
                return this.reuseFOPField;
            }
            set {
                this.reuseFOPField = value;
                this.RaisePropertyChanged("ReuseFOP");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ExternalReference {
            get {
                return this.externalReferenceField;
            }
            set {
                this.externalReferenceField = value;
                this.RaisePropertyChanged("ExternalReference");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool Reusable {
            get {
                return this.reusableField;
            }
            set {
                this.reusableField = value;
                this.RaisePropertyChanged("Reusable");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeElementStatus ElStat {
            get {
                return this.elStatField;
            }
            set {
                this.elStatField = value;
                this.RaisePropertyChanged("ElStat");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ElStatSpecified {
            get {
                return this.elStatFieldSpecified;
            }
            set {
                this.elStatFieldSpecified = value;
                this.RaisePropertyChanged("ElStatSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool KeyOverride {
            get {
                return this.keyOverrideField;
            }
            set {
                this.keyOverrideField = value;
                this.RaisePropertyChanged("KeyOverride");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool KeyOverrideSpecified {
            get {
                return this.keyOverrideFieldSpecified;
            }
            set {
                this.keyOverrideFieldSpecified = value;
                this.RaisePropertyChanged("KeyOverrideSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string HotelRateDetailRef {
            get {
                return this.hotelRateDetailRefField;
            }
            set {
                this.hotelRateDetailRefField = value;
                this.RaisePropertyChanged("HotelRateDetailRef");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class OtherGuaranteeInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private OtherGuaranteeInfoType typeField;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public OtherGuaranteeInfoType Type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
                this.RaisePropertyChanged("Type");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
                this.RaisePropertyChanged("Value");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public enum OtherGuaranteeInfoType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("IATA/ARC Number")]
        IATAARCNumber,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("Agency Address")]
        AgencyAddress,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("Deposit Taken")]
        DepositTaken,
        
        /// <remarks/>
        Others,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class PromotionCode : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string keyField;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
                this.RaisePropertyChanged("Value");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class BookingSource : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string codeField;
        
        private BookingSourceType typeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Code {
            get {
                return this.codeField;
            }
            set {
                this.codeField = value;
                this.RaisePropertyChanged("Code");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public BookingSourceType Type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
                this.RaisePropertyChanged("Type");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public enum BookingSourceType {
        
        /// <remarks/>
        PseudoCityCode,
        
        /// <remarks/>
        ArcNumber,
        
        /// <remarks/>
        IataNumber,
        
        /// <remarks/>
        CustomerId,
        
        /// <remarks/>
        BookingSourceOverride,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class GuestInformation : object, System.ComponentModel.INotifyPropertyChanged {
        
        private NumberOfAdults numberOfAdultsField;
        
        private NumberOfChildren numberOfChildrenField;
        
        private GuestInformationExtraChild extraChildField;
        
        private int numberOfRoomsField;
        
        private bool numberOfRoomsFieldSpecified;
        
        private string hotelRateDetailRefField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public NumberOfAdults NumberOfAdults {
            get {
                return this.numberOfAdultsField;
            }
            set {
                this.numberOfAdultsField = value;
                this.RaisePropertyChanged("NumberOfAdults");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public NumberOfChildren NumberOfChildren {
            get {
                return this.numberOfChildrenField;
            }
            set {
                this.numberOfChildrenField = value;
                this.RaisePropertyChanged("NumberOfChildren");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public GuestInformationExtraChild ExtraChild {
            get {
                return this.extraChildField;
            }
            set {
                this.extraChildField = value;
                this.RaisePropertyChanged("ExtraChild");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public int NumberOfRooms {
            get {
                return this.numberOfRoomsField;
            }
            set {
                this.numberOfRoomsField = value;
                this.RaisePropertyChanged("NumberOfRooms");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool NumberOfRoomsSpecified {
            get {
                return this.numberOfRoomsFieldSpecified;
            }
            set {
                this.numberOfRoomsFieldSpecified = value;
                this.RaisePropertyChanged("NumberOfRoomsSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string HotelRateDetailRef {
            get {
                return this.hotelRateDetailRefField;
            }
            set {
                this.hotelRateDetailRefField = value;
                this.RaisePropertyChanged("HotelRateDetailRef");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class NumberOfAdults : object, System.ComponentModel.INotifyPropertyChanged {
        
        private int extraAdultsField;
        
        private bool extraAdultsFieldSpecified;
        
        private string amountField;
        
        private string contentField;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public int ExtraAdults {
            get {
                return this.extraAdultsField;
            }
            set {
                this.extraAdultsField = value;
                this.RaisePropertyChanged("ExtraAdults");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ExtraAdultsSpecified {
            get {
                return this.extraAdultsFieldSpecified;
            }
            set {
                this.extraAdultsFieldSpecified = value;
                this.RaisePropertyChanged("ExtraAdultsSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Amount {
            get {
                return this.amountField;
            }
            set {
                this.amountField = value;
                this.RaisePropertyChanged("Amount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Content {
            get {
                return this.contentField;
            }
            set {
                this.contentField = value;
                this.RaisePropertyChanged("Content");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
                this.RaisePropertyChanged("Value");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class GuestInformationExtraChild : object, System.ComponentModel.INotifyPropertyChanged {
        
        private int countField;
        
        private bool countFieldSpecified;
        
        private string contentField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public int Count {
            get {
                return this.countField;
            }
            set {
                this.countField = value;
                this.RaisePropertyChanged("Count");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool CountSpecified {
            get {
                return this.countFieldSpecified;
            }
            set {
                this.countFieldSpecified = value;
                this.RaisePropertyChanged("CountSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Content {
            get {
                return this.contentField;
            }
            set {
                this.contentField = value;
                this.RaisePropertyChanged("Content");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class AssociatedRemark : typeAssociatedRemark {
        
        private string hotelRateDetailRefField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string HotelRateDetailRef {
            get {
                return this.hotelRateDetailRefField;
            }
            set {
                this.hotelRateDetailRefField = value;
                this.RaisePropertyChanged("HotelRateDetailRef");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class HotelReservationTotalReservationPrice : object, System.ComponentModel.INotifyPropertyChanged {
        
        private typeHotelRateDescription[] roomRateDescriptionField;
        
        private string totalPriceField;
        
        private string approxTotalPriceField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RoomRateDescription", Order=0)]
        public typeHotelRateDescription[] RoomRateDescription {
            get {
                return this.roomRateDescriptionField;
            }
            set {
                this.roomRateDescriptionField = value;
                this.RaisePropertyChanged("RoomRateDescription");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TotalPrice {
            get {
                return this.totalPriceField;
            }
            set {
                this.totalPriceField = value;
                this.RaisePropertyChanged("TotalPrice");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApproxTotalPrice {
            get {
                return this.approxTotalPriceField;
            }
            set {
                this.approxTotalPriceField = value;
                this.RaisePropertyChanged("ApproxTotalPrice");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
    [System.ServiceModel.MessageContractAttribute(IsWrapped=false)]
    public partial class serviceRequest3 {
        
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.travelport.com/schema/hotel_v53_0", Order=0)]
        public TravelPort.DemoSite.Service.Hotel_53.HotelRetrieveReq HotelRetrieveReq;
        
        public serviceRequest3() {
        }
        
        public serviceRequest3(TravelPort.DemoSite.Service.Hotel_53.HotelRetrieveReq HotelRetrieveReq) {
            this.HotelRetrieveReq = HotelRetrieveReq;
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
    [System.ServiceModel.MessageContractAttribute(IsWrapped=false)]
    public partial class serviceResponse3 {
        
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.travelport.com/schema/hotel_v53_0", Order=0)]
        public TravelPort.DemoSite.Service.Hotel_53.HotelRetrieveRsp HotelRetrieveRsp;
        
        public serviceResponse3() {
        }
        
        public serviceResponse3(TravelPort.DemoSite.Service.Hotel_53.HotelRetrieveRsp HotelRetrieveRsp) {
            this.HotelRetrieveRsp = HotelRetrieveRsp;
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public interface HotelRetrieveServicePortTypeChannel : TravelPort.DemoSite.Service.Hotel_53.HotelRetrieveServicePortType, System.ServiceModel.IClientChannel {
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public partial class HotelRetrieveServicePortTypeClient : System.ServiceModel.ClientBase<TravelPort.DemoSite.Service.Hotel_53.HotelRetrieveServicePortType>, TravelPort.DemoSite.Service.Hotel_53.HotelRetrieveServicePortType {
        
        public HotelRetrieveServicePortTypeClient() {
        }
        
        public HotelRetrieveServicePortTypeClient(string endpointConfigurationName) : 
                base(endpointConfigurationName) {
        }
        
        public HotelRetrieveServicePortTypeClient(string endpointConfigurationName, string remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public HotelRetrieveServicePortTypeClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public HotelRetrieveServicePortTypeClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(binding, remoteAddress) {
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        TravelPort.DemoSite.Service.Hotel_53.serviceResponse3 TravelPort.DemoSite.Service.Hotel_53.HotelRetrieveServicePortType.service(TravelPort.DemoSite.Service.Hotel_53.serviceRequest3 request) {
            return base.Channel.service(request);
        }
        
        public TravelPort.DemoSite.Service.Hotel_53.HotelRetrieveRsp service(TravelPort.DemoSite.Service.Hotel_53.HotelRetrieveReq HotelRetrieveReq) {
            TravelPort.DemoSite.Service.Hotel_53.serviceRequest3 inValue = new TravelPort.DemoSite.Service.Hotel_53.serviceRequest3();
            inValue.HotelRetrieveReq = HotelRetrieveReq;
            TravelPort.DemoSite.Service.Hotel_53.serviceResponse3 retVal = ((TravelPort.DemoSite.Service.Hotel_53.HotelRetrieveServicePortType)(this)).service(inValue);
            return retVal.HotelRetrieveRsp;
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        System.Threading.Tasks.Task<TravelPort.DemoSite.Service.Hotel_53.serviceResponse3> TravelPort.DemoSite.Service.Hotel_53.HotelRetrieveServicePortType.serviceAsync(TravelPort.DemoSite.Service.Hotel_53.serviceRequest3 request) {
            return base.Channel.serviceAsync(request);
        }
        
        public System.Threading.Tasks.Task<TravelPort.DemoSite.Service.Hotel_53.serviceResponse3> serviceAsync(TravelPort.DemoSite.Service.Hotel_53.HotelRetrieveReq HotelRetrieveReq) {
            TravelPort.DemoSite.Service.Hotel_53.serviceRequest3 inValue = new TravelPort.DemoSite.Service.Hotel_53.serviceRequest3();
            inValue.HotelRetrieveReq = HotelRetrieveReq;
            return ((TravelPort.DemoSite.Service.Hotel_53.HotelRetrieveServicePortType)(this)).serviceAsync(inValue);
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ServiceModel.ServiceContractAttribute(Namespace="http://www.travelport.com/service/hotel_v53_0", ConfigurationName="Hotel_53.HotelRulesServicePortType")]
    public interface HotelRulesServicePortType {
        
        // CODEGEN: Generating message contract since the operation service is neither RPC nor document wrapped.
        [System.ServiceModel.OperationContractAttribute(Action="http://localhost:8080/kestrel/HotelService", ReplyAction="*")]
        [System.ServiceModel.FaultContractAttribute(typeof(TravelPort.DemoSite.Service.Hotel_53.ErrorInfo), Action="http://localhost:8080/kestrel/HotelService", Name="ErrorInfo", Namespace="http://www.travelport.com/schema/common_v53_0")]
        [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeAdaptedRoomGuestAllocation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeHotelDetails))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeFeeInfo))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeTax))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeProviderReservationDetail))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeErrorInfo))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeBookingTransactionsAllowed))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeOTAKeyword))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeKeyword))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeAgencyHierarchyReference))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeDateRange))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeProfileRef))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeLocation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(ServiceRuleType))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typePassengerType))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeTimeSpec))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeSearchLocation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeRateDescription))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeSearchTimeSpec))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeAgentInfo))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(Segment))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeTaxInfo))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(MCOInformation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BaseReservation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeGuaranteeInformation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeVoucherInformation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeResultMessage))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BaseRsp))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typePaymentCard))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeRemark))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeRemarkWithTravelerRef))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(SeatAssignment))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(Location))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeVendorLocation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BaseCoreReq))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HotelChain[]))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(Amenity[]))]
        TravelPort.DemoSite.Service.Hotel_53.serviceResponse4 service(TravelPort.DemoSite.Service.Hotel_53.serviceRequest4 request);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://localhost:8080/kestrel/HotelService", ReplyAction="*")]
        System.Threading.Tasks.Task<TravelPort.DemoSite.Service.Hotel_53.serviceResponse4> serviceAsync(TravelPort.DemoSite.Service.Hotel_53.serviceRequest4 request);
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class HotelRulesReq : BaseReq {
        
        private object itemField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("HotelReservationLocatorCode", typeof(string), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("HotelRulesLookup", typeof(HotelRulesReqHotelRulesLookup), Order=0)]
        public object Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
                this.RaisePropertyChanged("Item");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class HotelRulesReqHotelRulesLookup : object, System.ComponentModel.INotifyPropertyChanged {
        
        private HotelProperty hotelPropertyField;
        
        private HotelStay hotelStayField;
        
        private HotelRulesModifiers hotelRulesModifiersField;
        
        private string ratePlanTypeField;
        
        private string baseField;
        
        private HotelRulesReqHotelRulesLookupRulesDetailReqd rulesDetailReqdField;
        
        private bool rulesDetailReqdFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public HotelProperty HotelProperty {
            get {
                return this.hotelPropertyField;
            }
            set {
                this.hotelPropertyField = value;
                this.RaisePropertyChanged("HotelProperty");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public HotelStay HotelStay {
            get {
                return this.hotelStayField;
            }
            set {
                this.hotelStayField = value;
                this.RaisePropertyChanged("HotelStay");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public HotelRulesModifiers HotelRulesModifiers {
            get {
                return this.hotelRulesModifiersField;
            }
            set {
                this.hotelRulesModifiersField = value;
                this.RaisePropertyChanged("HotelRulesModifiers");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string RatePlanType {
            get {
                return this.ratePlanTypeField;
            }
            set {
                this.ratePlanTypeField = value;
                this.RaisePropertyChanged("RatePlanType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Base {
            get {
                return this.baseField;
            }
            set {
                this.baseField = value;
                this.RaisePropertyChanged("Base");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public HotelRulesReqHotelRulesLookupRulesDetailReqd RulesDetailReqd {
            get {
                return this.rulesDetailReqdField;
            }
            set {
                this.rulesDetailReqdField = value;
                this.RaisePropertyChanged("RulesDetailReqd");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RulesDetailReqdSpecified {
            get {
                return this.rulesDetailReqdFieldSpecified;
            }
            set {
                this.rulesDetailReqdFieldSpecified = value;
                this.RaisePropertyChanged("RulesDetailReqdSpecified");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class HotelRulesModifiers : object, System.ComponentModel.INotifyPropertyChanged {
        
        private PermittedProviders permittedProvidersField;
        
        private NumberOfChildren numberOfChildrenField;
        
        private HotelBedding[] hotelBeddingField;
        
        private string rateCategoryField;
        
        private CorporateDiscountID[] corporateDiscountIDField;
        
        private int numberOfAdultsField;
        
        private bool numberOfAdultsFieldSpecified;
        
        private int numberOfRoomsField;
        
        private int totalOccupantsField;
        
        private bool totalOccupantsFieldSpecified;
        
        private string keyField;
        
        public HotelRulesModifiers() {
            this.numberOfRoomsField = 1;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=0)]
        public PermittedProviders PermittedProviders {
            get {
                return this.permittedProvidersField;
            }
            set {
                this.permittedProvidersField = value;
                this.RaisePropertyChanged("PermittedProviders");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public NumberOfChildren NumberOfChildren {
            get {
                return this.numberOfChildrenField;
            }
            set {
                this.numberOfChildrenField = value;
                this.RaisePropertyChanged("NumberOfChildren");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("HotelBedding", Order=2)]
        public HotelBedding[] HotelBedding {
            get {
                return this.hotelBeddingField;
            }
            set {
                this.hotelBeddingField = value;
                this.RaisePropertyChanged("HotelBedding");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="positiveInteger", Order=3)]
        public string RateCategory {
            get {
                return this.rateCategoryField;
            }
            set {
                this.rateCategoryField = value;
                this.RaisePropertyChanged("RateCategory");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CorporateDiscountID", Namespace="http://www.travelport.com/schema/common_v53_0", Order=4)]
        public CorporateDiscountID[] CorporateDiscountID {
            get {
                return this.corporateDiscountIDField;
            }
            set {
                this.corporateDiscountIDField = value;
                this.RaisePropertyChanged("CorporateDiscountID");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public int NumberOfAdults {
            get {
                return this.numberOfAdultsField;
            }
            set {
                this.numberOfAdultsField = value;
                this.RaisePropertyChanged("NumberOfAdults");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool NumberOfAdultsSpecified {
            get {
                return this.numberOfAdultsFieldSpecified;
            }
            set {
                this.numberOfAdultsFieldSpecified = value;
                this.RaisePropertyChanged("NumberOfAdultsSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(1)]
        public int NumberOfRooms {
            get {
                return this.numberOfRoomsField;
            }
            set {
                this.numberOfRoomsField = value;
                this.RaisePropertyChanged("NumberOfRooms");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public int TotalOccupants {
            get {
                return this.totalOccupantsField;
            }
            set {
                this.totalOccupantsField = value;
                this.RaisePropertyChanged("TotalOccupants");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool TotalOccupantsSpecified {
            get {
                return this.totalOccupantsFieldSpecified;
            }
            set {
                this.totalOccupantsFieldSpecified = value;
                this.RaisePropertyChanged("TotalOccupantsSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public enum HotelRulesReqHotelRulesLookupRulesDetailReqd {
        
        /// <remarks/>
        Rules,
        
        /// <remarks/>
        Details,
        
        /// <remarks/>
        All,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class HotelRulesRsp : BaseRsp {
        
        private HotelRateDetail[] hotelRateDetailField;
        
        private HotelRuleItem[] hotelRuleItemField;
        
        private HotelType hotelTypeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("HotelRateDetail", Order=0)]
        public HotelRateDetail[] HotelRateDetail {
            get {
                return this.hotelRateDetailField;
            }
            set {
                this.hotelRateDetailField = value;
                this.RaisePropertyChanged("HotelRateDetail");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("HotelRuleItem", Order=1)]
        public HotelRuleItem[] HotelRuleItem {
            get {
                return this.hotelRuleItemField;
            }
            set {
                this.hotelRuleItemField = value;
                this.RaisePropertyChanged("HotelRuleItem");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public HotelType HotelType {
            get {
                return this.hotelTypeField;
            }
            set {
                this.hotelTypeField = value;
                this.RaisePropertyChanged("HotelType");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class HotelRuleItem : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string[] textField;
        
        private string nameField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Text", Order=0)]
        public string[] Text {
            get {
                return this.textField;
            }
            set {
                this.textField = value;
                this.RaisePropertyChanged("Text");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
                this.RaisePropertyChanged("Name");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
    [System.ServiceModel.MessageContractAttribute(IsWrapped=false)]
    public partial class serviceRequest4 {
        
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.travelport.com/schema/hotel_v53_0", Order=0)]
        public TravelPort.DemoSite.Service.Hotel_53.HotelRulesReq HotelRulesReq;
        
        public serviceRequest4() {
        }
        
        public serviceRequest4(TravelPort.DemoSite.Service.Hotel_53.HotelRulesReq HotelRulesReq) {
            this.HotelRulesReq = HotelRulesReq;
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
    [System.ServiceModel.MessageContractAttribute(IsWrapped=false)]
    public partial class serviceResponse4 {
        
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.travelport.com/schema/hotel_v53_0", Order=0)]
        public TravelPort.DemoSite.Service.Hotel_53.HotelRulesRsp HotelRulesRsp;
        
        public serviceResponse4() {
        }
        
        public serviceResponse4(TravelPort.DemoSite.Service.Hotel_53.HotelRulesRsp HotelRulesRsp) {
            this.HotelRulesRsp = HotelRulesRsp;
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public interface HotelRulesServicePortTypeChannel : TravelPort.DemoSite.Service.Hotel_53.HotelRulesServicePortType, System.ServiceModel.IClientChannel {
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public partial class HotelRulesServicePortTypeClient : System.ServiceModel.ClientBase<TravelPort.DemoSite.Service.Hotel_53.HotelRulesServicePortType>, TravelPort.DemoSite.Service.Hotel_53.HotelRulesServicePortType {
        
        public HotelRulesServicePortTypeClient() {
        }
        
        public HotelRulesServicePortTypeClient(string endpointConfigurationName) : 
                base(endpointConfigurationName) {
        }
        
        public HotelRulesServicePortTypeClient(string endpointConfigurationName, string remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public HotelRulesServicePortTypeClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public HotelRulesServicePortTypeClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(binding, remoteAddress) {
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        TravelPort.DemoSite.Service.Hotel_53.serviceResponse4 TravelPort.DemoSite.Service.Hotel_53.HotelRulesServicePortType.service(TravelPort.DemoSite.Service.Hotel_53.serviceRequest4 request) {
            return base.Channel.service(request);
        }
        
        public TravelPort.DemoSite.Service.Hotel_53.HotelRulesRsp service(TravelPort.DemoSite.Service.Hotel_53.HotelRulesReq HotelRulesReq) {
            TravelPort.DemoSite.Service.Hotel_53.serviceRequest4 inValue = new TravelPort.DemoSite.Service.Hotel_53.serviceRequest4();
            inValue.HotelRulesReq = HotelRulesReq;
            TravelPort.DemoSite.Service.Hotel_53.serviceResponse4 retVal = ((TravelPort.DemoSite.Service.Hotel_53.HotelRulesServicePortType)(this)).service(inValue);
            return retVal.HotelRulesRsp;
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        System.Threading.Tasks.Task<TravelPort.DemoSite.Service.Hotel_53.serviceResponse4> TravelPort.DemoSite.Service.Hotel_53.HotelRulesServicePortType.serviceAsync(TravelPort.DemoSite.Service.Hotel_53.serviceRequest4 request) {
            return base.Channel.serviceAsync(request);
        }
        
        public System.Threading.Tasks.Task<TravelPort.DemoSite.Service.Hotel_53.serviceResponse4> serviceAsync(TravelPort.DemoSite.Service.Hotel_53.HotelRulesReq HotelRulesReq) {
            TravelPort.DemoSite.Service.Hotel_53.serviceRequest4 inValue = new TravelPort.DemoSite.Service.Hotel_53.serviceRequest4();
            inValue.HotelRulesReq = HotelRulesReq;
            return ((TravelPort.DemoSite.Service.Hotel_53.HotelRulesServicePortType)(this)).serviceAsync(inValue);
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ServiceModel.ServiceContractAttribute(Namespace="http://www.travelport.com/service/hotel_v53_0", ConfigurationName="Hotel_53.HotelUpsellSearchServicePortType")]
    public interface HotelUpsellSearchServicePortType {
        
        // CODEGEN: Generating message contract since the operation service is neither RPC nor document wrapped.
        [System.ServiceModel.OperationContractAttribute(Action="http://localhost:8080/kestrel/HotelService", ReplyAction="*")]
        [System.ServiceModel.FaultContractAttribute(typeof(TravelPort.DemoSite.Service.Hotel_53.ErrorInfo), Action="http://localhost:8080/kestrel/HotelService", Name="ErrorInfo", Namespace="http://www.travelport.com/schema/common_v53_0")]
        [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeAdaptedRoomGuestAllocation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeHotelDetails))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeFeeInfo))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeTax))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeProviderReservationDetail))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeErrorInfo))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeBookingTransactionsAllowed))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeOTAKeyword))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeKeyword))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeAgencyHierarchyReference))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeDateRange))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeProfileRef))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeLocation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(ServiceRuleType))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typePassengerType))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeTimeSpec))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeSearchLocation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeRateDescription))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeSearchTimeSpec))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeAgentInfo))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(Segment))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeTaxInfo))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(MCOInformation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BaseReservation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeGuaranteeInformation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeVoucherInformation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeResultMessage))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BaseRsp))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typePaymentCard))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeRemark))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeRemarkWithTravelerRef))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(SeatAssignment))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(Location))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeVendorLocation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BaseCoreReq))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HotelChain[]))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(Amenity[]))]
        TravelPort.DemoSite.Service.Hotel_53.serviceResponse5 service(TravelPort.DemoSite.Service.Hotel_53.serviceRequest5 request);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://localhost:8080/kestrel/HotelService", ReplyAction="*")]
        System.Threading.Tasks.Task<TravelPort.DemoSite.Service.Hotel_53.serviceResponse5> serviceAsync(TravelPort.DemoSite.Service.Hotel_53.serviceRequest5 request);
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class HotelUpsellDetailsReq : BaseReq {
        
        private HotelProperty hotelPropertyField;
        
        private HotelRateDetail hotelRateDetailField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public HotelProperty HotelProperty {
            get {
                return this.hotelPropertyField;
            }
            set {
                this.hotelPropertyField = value;
                this.RaisePropertyChanged("HotelProperty");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public HotelRateDetail HotelRateDetail {
            get {
                return this.hotelRateDetailField;
            }
            set {
                this.hotelRateDetailField = value;
                this.RaisePropertyChanged("HotelRateDetail");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class HotelUpsellDetailsRsp : BaseHotelDetailsRsp {
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
    [System.ServiceModel.MessageContractAttribute(IsWrapped=false)]
    public partial class serviceRequest5 {
        
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.travelport.com/schema/hotel_v53_0", Order=0)]
        public TravelPort.DemoSite.Service.Hotel_53.HotelUpsellDetailsReq HotelUpsellDetailsReq;
        
        public serviceRequest5() {
        }
        
        public serviceRequest5(TravelPort.DemoSite.Service.Hotel_53.HotelUpsellDetailsReq HotelUpsellDetailsReq) {
            this.HotelUpsellDetailsReq = HotelUpsellDetailsReq;
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
    [System.ServiceModel.MessageContractAttribute(IsWrapped=false)]
    public partial class serviceResponse5 {
        
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.travelport.com/schema/hotel_v53_0", Order=0)]
        public TravelPort.DemoSite.Service.Hotel_53.HotelUpsellDetailsRsp HotelUpsellDetailsRsp;
        
        public serviceResponse5() {
        }
        
        public serviceResponse5(TravelPort.DemoSite.Service.Hotel_53.HotelUpsellDetailsRsp HotelUpsellDetailsRsp) {
            this.HotelUpsellDetailsRsp = HotelUpsellDetailsRsp;
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public interface HotelUpsellSearchServicePortTypeChannel : TravelPort.DemoSite.Service.Hotel_53.HotelUpsellSearchServicePortType, System.ServiceModel.IClientChannel {
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public partial class HotelUpsellSearchServicePortTypeClient : System.ServiceModel.ClientBase<TravelPort.DemoSite.Service.Hotel_53.HotelUpsellSearchServicePortType>, TravelPort.DemoSite.Service.Hotel_53.HotelUpsellSearchServicePortType {
        
        public HotelUpsellSearchServicePortTypeClient() {
        }
        
        public HotelUpsellSearchServicePortTypeClient(string endpointConfigurationName) : 
                base(endpointConfigurationName) {
        }
        
        public HotelUpsellSearchServicePortTypeClient(string endpointConfigurationName, string remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public HotelUpsellSearchServicePortTypeClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public HotelUpsellSearchServicePortTypeClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(binding, remoteAddress) {
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        TravelPort.DemoSite.Service.Hotel_53.serviceResponse5 TravelPort.DemoSite.Service.Hotel_53.HotelUpsellSearchServicePortType.service(TravelPort.DemoSite.Service.Hotel_53.serviceRequest5 request) {
            return base.Channel.service(request);
        }
        
        public TravelPort.DemoSite.Service.Hotel_53.HotelUpsellDetailsRsp service(TravelPort.DemoSite.Service.Hotel_53.HotelUpsellDetailsReq HotelUpsellDetailsReq) {
            TravelPort.DemoSite.Service.Hotel_53.serviceRequest5 inValue = new TravelPort.DemoSite.Service.Hotel_53.serviceRequest5();
            inValue.HotelUpsellDetailsReq = HotelUpsellDetailsReq;
            TravelPort.DemoSite.Service.Hotel_53.serviceResponse5 retVal = ((TravelPort.DemoSite.Service.Hotel_53.HotelUpsellSearchServicePortType)(this)).service(inValue);
            return retVal.HotelUpsellDetailsRsp;
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        System.Threading.Tasks.Task<TravelPort.DemoSite.Service.Hotel_53.serviceResponse5> TravelPort.DemoSite.Service.Hotel_53.HotelUpsellSearchServicePortType.serviceAsync(TravelPort.DemoSite.Service.Hotel_53.serviceRequest5 request) {
            return base.Channel.serviceAsync(request);
        }
        
        public System.Threading.Tasks.Task<TravelPort.DemoSite.Service.Hotel_53.serviceResponse5> serviceAsync(TravelPort.DemoSite.Service.Hotel_53.HotelUpsellDetailsReq HotelUpsellDetailsReq) {
            TravelPort.DemoSite.Service.Hotel_53.serviceRequest5 inValue = new TravelPort.DemoSite.Service.Hotel_53.serviceRequest5();
            inValue.HotelUpsellDetailsReq = HotelUpsellDetailsReq;
            return ((TravelPort.DemoSite.Service.Hotel_53.HotelUpsellSearchServicePortType)(this)).serviceAsync(inValue);
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ServiceModel.ServiceContractAttribute(Namespace="http://www.travelport.com/service/hotel_v53_0", ConfigurationName="Hotel_53.HotelKeywordsServicePortType")]
    public interface HotelKeywordsServicePortType {
        
        // CODEGEN: Generating message contract since the operation service is neither RPC nor document wrapped.
        [System.ServiceModel.OperationContractAttribute(Action="http://localhost:8080/kestrel/HotelService", ReplyAction="*")]
        [System.ServiceModel.FaultContractAttribute(typeof(TravelPort.DemoSite.Service.Hotel_53.ErrorInfo), Action="http://localhost:8080/kestrel/HotelService", Name="ErrorInfo", Namespace="http://www.travelport.com/schema/common_v53_0")]
        [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeAdaptedRoomGuestAllocation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeHotelDetails))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeFeeInfo))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeTax))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeProviderReservationDetail))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeErrorInfo))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeBookingTransactionsAllowed))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeOTAKeyword))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeKeyword))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeAgencyHierarchyReference))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeDateRange))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeProfileRef))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeLocation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(ServiceRuleType))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typePassengerType))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeTimeSpec))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeSearchLocation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeRateDescription))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeSearchTimeSpec))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeAgentInfo))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(Segment))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeTaxInfo))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(MCOInformation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BaseReservation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeGuaranteeInformation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeVoucherInformation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeResultMessage))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BaseRsp))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typePaymentCard))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeRemark))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeRemarkWithTravelerRef))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(SeatAssignment))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(Location))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeVendorLocation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BaseCoreReq))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HotelChain[]))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(Amenity[]))]
        TravelPort.DemoSite.Service.Hotel_53.serviceResponse6 service(TravelPort.DemoSite.Service.Hotel_53.serviceRequest6 request);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://localhost:8080/kestrel/HotelService", ReplyAction="*")]
        System.Threading.Tasks.Task<TravelPort.DemoSite.Service.Hotel_53.serviceResponse6> serviceAsync(TravelPort.DemoSite.Service.Hotel_53.serviceRequest6 request);
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class HotelKeywordReq : BaseReq {
        
        private Keyword[] keywordField;
        
        private PermittedProviders permittedProvidersField;
        
        private string hotelChainField;
        
        private string hotelCodeField;
        
        private System.DateTime checkinDateField;
        
        private bool checkinDateFieldSpecified;
        
        private bool returnKeywordListField;
        
        private bool returnKeywordListFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Keyword", Namespace="http://www.travelport.com/schema/common_v53_0", Order=0)]
        public Keyword[] Keyword {
            get {
                return this.keywordField;
            }
            set {
                this.keywordField = value;
                this.RaisePropertyChanged("Keyword");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=1)]
        public PermittedProviders PermittedProviders {
            get {
                return this.permittedProvidersField;
            }
            set {
                this.permittedProvidersField = value;
                this.RaisePropertyChanged("PermittedProviders");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string HotelChain {
            get {
                return this.hotelChainField;
            }
            set {
                this.hotelChainField = value;
                this.RaisePropertyChanged("HotelChain");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string HotelCode {
            get {
                return this.hotelCodeField;
            }
            set {
                this.hotelCodeField = value;
                this.RaisePropertyChanged("HotelCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="date")]
        public System.DateTime CheckinDate {
            get {
                return this.checkinDateField;
            }
            set {
                this.checkinDateField = value;
                this.RaisePropertyChanged("CheckinDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool CheckinDateSpecified {
            get {
                return this.checkinDateFieldSpecified;
            }
            set {
                this.checkinDateFieldSpecified = value;
                this.RaisePropertyChanged("CheckinDateSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool ReturnKeywordList {
            get {
                return this.returnKeywordListField;
            }
            set {
                this.returnKeywordListField = value;
                this.RaisePropertyChanged("ReturnKeywordList");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ReturnKeywordListSpecified {
            get {
                return this.returnKeywordListFieldSpecified;
            }
            set {
                this.returnKeywordListFieldSpecified = value;
                this.RaisePropertyChanged("ReturnKeywordListSpecified");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public partial class Keyword : typeKeyword {
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class HotelKeywordRsp : BaseRsp {
        
        private object[] marketingInformationField;
        
        private Keyword[] keywordField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=0)]
        [System.Xml.Serialization.XmlArrayItemAttribute("Text", IsNullable=false)]
        public object[] MarketingInformation {
            get {
                return this.marketingInformationField;
            }
            set {
                this.marketingInformationField = value;
                this.RaisePropertyChanged("MarketingInformation");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Keyword", Namespace="http://www.travelport.com/schema/common_v53_0", Order=1)]
        public Keyword[] Keyword {
            get {
                return this.keywordField;
            }
            set {
                this.keywordField = value;
                this.RaisePropertyChanged("Keyword");
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
    [System.ServiceModel.MessageContractAttribute(IsWrapped=false)]
    public partial class serviceRequest6 {
        
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.travelport.com/schema/hotel_v53_0", Order=0)]
        public TravelPort.DemoSite.Service.Hotel_53.HotelKeywordReq HotelKeywordReq;
        
        public serviceRequest6() {
        }
        
        public serviceRequest6(TravelPort.DemoSite.Service.Hotel_53.HotelKeywordReq HotelKeywordReq) {
            this.HotelKeywordReq = HotelKeywordReq;
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
    [System.ServiceModel.MessageContractAttribute(IsWrapped=false)]
    public partial class serviceResponse6 {
        
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.travelport.com/schema/hotel_v53_0", Order=0)]
        public TravelPort.DemoSite.Service.Hotel_53.HotelKeywordRsp HotelKeywordRsp;
        
        public serviceResponse6() {
        }
        
        public serviceResponse6(TravelPort.DemoSite.Service.Hotel_53.HotelKeywordRsp HotelKeywordRsp) {
            this.HotelKeywordRsp = HotelKeywordRsp;
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public interface HotelKeywordsServicePortTypeChannel : TravelPort.DemoSite.Service.Hotel_53.HotelKeywordsServicePortType, System.ServiceModel.IClientChannel {
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public partial class HotelKeywordsServicePortTypeClient : System.ServiceModel.ClientBase<TravelPort.DemoSite.Service.Hotel_53.HotelKeywordsServicePortType>, TravelPort.DemoSite.Service.Hotel_53.HotelKeywordsServicePortType {
        
        public HotelKeywordsServicePortTypeClient() {
        }
        
        public HotelKeywordsServicePortTypeClient(string endpointConfigurationName) : 
                base(endpointConfigurationName) {
        }
        
        public HotelKeywordsServicePortTypeClient(string endpointConfigurationName, string remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public HotelKeywordsServicePortTypeClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public HotelKeywordsServicePortTypeClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(binding, remoteAddress) {
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        TravelPort.DemoSite.Service.Hotel_53.serviceResponse6 TravelPort.DemoSite.Service.Hotel_53.HotelKeywordsServicePortType.service(TravelPort.DemoSite.Service.Hotel_53.serviceRequest6 request) {
            return base.Channel.service(request);
        }
        
        public TravelPort.DemoSite.Service.Hotel_53.HotelKeywordRsp service(TravelPort.DemoSite.Service.Hotel_53.HotelKeywordReq HotelKeywordReq) {
            TravelPort.DemoSite.Service.Hotel_53.serviceRequest6 inValue = new TravelPort.DemoSite.Service.Hotel_53.serviceRequest6();
            inValue.HotelKeywordReq = HotelKeywordReq;
            TravelPort.DemoSite.Service.Hotel_53.serviceResponse6 retVal = ((TravelPort.DemoSite.Service.Hotel_53.HotelKeywordsServicePortType)(this)).service(inValue);
            return retVal.HotelKeywordRsp;
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        System.Threading.Tasks.Task<TravelPort.DemoSite.Service.Hotel_53.serviceResponse6> TravelPort.DemoSite.Service.Hotel_53.HotelKeywordsServicePortType.serviceAsync(TravelPort.DemoSite.Service.Hotel_53.serviceRequest6 request) {
            return base.Channel.serviceAsync(request);
        }
        
        public System.Threading.Tasks.Task<TravelPort.DemoSite.Service.Hotel_53.serviceResponse6> serviceAsync(TravelPort.DemoSite.Service.Hotel_53.HotelKeywordReq HotelKeywordReq) {
            TravelPort.DemoSite.Service.Hotel_53.serviceRequest6 inValue = new TravelPort.DemoSite.Service.Hotel_53.serviceRequest6();
            inValue.HotelKeywordReq = HotelKeywordReq;
            return ((TravelPort.DemoSite.Service.Hotel_53.HotelKeywordsServicePortType)(this)).serviceAsync(inValue);
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ServiceModel.ServiceContractAttribute(Namespace="http://www.travelport.com/service/hotel_v53_0", ConfigurationName="Hotel_53.HotelSuperShopperServicePortType")]
    public interface HotelSuperShopperServicePortType {
        
        // CODEGEN: Generating message contract since the operation service is neither RPC nor document wrapped.
        [System.ServiceModel.OperationContractAttribute(Action="http://localhost:8080/kestrel/HotelService", ReplyAction="*")]
        [System.ServiceModel.FaultContractAttribute(typeof(TravelPort.DemoSite.Service.Hotel_53.ErrorInfo), Action="http://localhost:8080/kestrel/HotelService", Name="ErrorInfo", Namespace="http://www.travelport.com/schema/common_v53_0")]
        [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeAdaptedRoomGuestAllocation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeHotelDetails))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeFeeInfo))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeTax))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeProviderReservationDetail))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeErrorInfo))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeBookingTransactionsAllowed))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeOTAKeyword))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeKeyword))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeAgencyHierarchyReference))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeDateRange))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeProfileRef))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeLocation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(ServiceRuleType))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typePassengerType))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeTimeSpec))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeSearchLocation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeRateDescription))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeSearchTimeSpec))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeAgentInfo))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(Segment))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeTaxInfo))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(MCOInformation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BaseReservation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeGuaranteeInformation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeVoucherInformation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeResultMessage))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BaseRsp))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typePaymentCard))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeRemark))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeRemarkWithTravelerRef))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(SeatAssignment))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(Location))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeVendorLocation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BaseCoreReq))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HotelChain[]))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(Amenity[]))]
        TravelPort.DemoSite.Service.Hotel_53.serviceResponse7 service(TravelPort.DemoSite.Service.Hotel_53.serviceRequest7 request);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://localhost:8080/kestrel/HotelService", ReplyAction="*")]
        System.Threading.Tasks.Task<TravelPort.DemoSite.Service.Hotel_53.serviceResponse7> serviceAsync(TravelPort.DemoSite.Service.Hotel_53.serviceRequest7 request);
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class HotelSuperShopperReq : BaseSearchReq {
        
        private HotelSearchLocation hotelSearchLocationField;
        
        private HotelSearchModifiers hotelSearchModifiersField;
        
        private HotelStay hotelStayField;
        
        private QuickResponse quickResponseField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public HotelSearchLocation HotelSearchLocation {
            get {
                return this.hotelSearchLocationField;
            }
            set {
                this.hotelSearchLocationField = value;
                this.RaisePropertyChanged("HotelSearchLocation");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public HotelSearchModifiers HotelSearchModifiers {
            get {
                return this.hotelSearchModifiersField;
            }
            set {
                this.hotelSearchModifiersField = value;
                this.RaisePropertyChanged("HotelSearchModifiers");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public HotelStay HotelStay {
            get {
                return this.hotelStayField;
            }
            set {
                this.hotelStayField = value;
                this.RaisePropertyChanged("HotelStay");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=3)]
        public QuickResponse QuickResponse {
            get {
                return this.quickResponseField;
            }
            set {
                this.quickResponseField = value;
                this.RaisePropertyChanged("QuickResponse");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class QuickResponse : object, System.ComponentModel.INotifyPropertyChanged {
        
        private bool fastResultField;
        
        private bool fastResultFieldSpecified;
        
        private string moreTokenField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool FastResult {
            get {
                return this.fastResultField;
            }
            set {
                this.fastResultField = value;
                this.RaisePropertyChanged("FastResult");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FastResultSpecified {
            get {
                return this.fastResultFieldSpecified;
            }
            set {
                this.fastResultFieldSpecified = value;
                this.RaisePropertyChanged("FastResultSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string MoreToken {
            get {
                return this.moreTokenField;
            }
            set {
                this.moreTokenField = value;
                this.RaisePropertyChanged("MoreToken");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class HotelSuperShopperRsp : BaseSearchRsp {
        
        private VendorLocation[] vendorLocationField;
        
        private CurrencyRateConversion[] currencyRateConversionField;
        
        private HotelSuperShopperResults[] hotelSuperShopperResultsField;
        
        private QuickResponse quickResponseField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("VendorLocation", Namespace="http://www.travelport.com/schema/common_v53_0", Order=0)]
        public VendorLocation[] VendorLocation {
            get {
                return this.vendorLocationField;
            }
            set {
                this.vendorLocationField = value;
                this.RaisePropertyChanged("VendorLocation");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CurrencyRateConversion", Order=1)]
        public CurrencyRateConversion[] CurrencyRateConversion {
            get {
                return this.currencyRateConversionField;
            }
            set {
                this.currencyRateConversionField = value;
                this.RaisePropertyChanged("CurrencyRateConversion");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("HotelSuperShopperResults", Order=2)]
        public HotelSuperShopperResults[] HotelSuperShopperResults {
            get {
                return this.hotelSuperShopperResultsField;
            }
            set {
                this.hotelSuperShopperResultsField = value;
                this.RaisePropertyChanged("HotelSuperShopperResults");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=3)]
        public QuickResponse QuickResponse {
            get {
                return this.quickResponseField;
            }
            set {
                this.quickResponseField = value;
                this.RaisePropertyChanged("QuickResponse");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class CurrencyRateConversion : object, System.ComponentModel.INotifyPropertyChanged {
        
        private float rateConversionField;
        
        private bool rateConversionFieldSpecified;
        
        private string sourceCurrencyCodeField;
        
        private string requestedCurrencyCodeField;
        
        private string decimalPlacesField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public float RateConversion {
            get {
                return this.rateConversionField;
            }
            set {
                this.rateConversionField = value;
                this.RaisePropertyChanged("RateConversion");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RateConversionSpecified {
            get {
                return this.rateConversionFieldSpecified;
            }
            set {
                this.rateConversionFieldSpecified = value;
                this.RaisePropertyChanged("RateConversionSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string SourceCurrencyCode {
            get {
                return this.sourceCurrencyCodeField;
            }
            set {
                this.sourceCurrencyCodeField = value;
                this.RaisePropertyChanged("SourceCurrencyCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string RequestedCurrencyCode {
            get {
                return this.requestedCurrencyCodeField;
            }
            set {
                this.requestedCurrencyCodeField = value;
                this.RaisePropertyChanged("RequestedCurrencyCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="nonNegativeInteger")]
        public string DecimalPlaces {
            get {
                return this.decimalPlacesField;
            }
            set {
                this.decimalPlacesField = value;
                this.RaisePropertyChanged("DecimalPlaces");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/hotel_v53_0")]
    public partial class HotelSuperShopperResults : object, System.ComponentModel.INotifyPropertyChanged {
        
        private HotelProperty hotelPropertyField;
        
        private HotelDetailItem[] hotelDetailItemField;
        
        private HotelRateDetail[] hotelRateDetailField;
        
        private typeResultMessage[] hotelResultsErrorField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public HotelProperty HotelProperty {
            get {
                return this.hotelPropertyField;
            }
            set {
                this.hotelPropertyField = value;
                this.RaisePropertyChanged("HotelProperty");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("HotelDetailItem", Order=1)]
        public HotelDetailItem[] HotelDetailItem {
            get {
                return this.hotelDetailItemField;
            }
            set {
                this.hotelDetailItemField = value;
                this.RaisePropertyChanged("HotelDetailItem");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("HotelRateDetail", Order=2)]
        public HotelRateDetail[] HotelRateDetail {
            get {
                return this.hotelRateDetailField;
            }
            set {
                this.hotelRateDetailField = value;
                this.RaisePropertyChanged("HotelRateDetail");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("HotelResultsError", Order=3)]
        public typeResultMessage[] HotelResultsError {
            get {
                return this.hotelResultsErrorField;
            }
            set {
                this.hotelResultsErrorField = value;
                this.RaisePropertyChanged("HotelResultsError");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
    [System.ServiceModel.MessageContractAttribute(IsWrapped=false)]
    public partial class serviceRequest7 {
        
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.travelport.com/schema/hotel_v53_0", Order=0)]
        public TravelPort.DemoSite.Service.Hotel_53.HotelSuperShopperReq HotelSuperShopperReq;
        
        public serviceRequest7() {
        }
        
        public serviceRequest7(TravelPort.DemoSite.Service.Hotel_53.HotelSuperShopperReq HotelSuperShopperReq) {
            this.HotelSuperShopperReq = HotelSuperShopperReq;
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
    [System.ServiceModel.MessageContractAttribute(IsWrapped=false)]
    public partial class serviceResponse7 {
        
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.travelport.com/schema/hotel_v53_0", Order=0)]
        public TravelPort.DemoSite.Service.Hotel_53.HotelSuperShopperRsp HotelSuperShopperRsp;
        
        public serviceResponse7() {
        }
        
        public serviceResponse7(TravelPort.DemoSite.Service.Hotel_53.HotelSuperShopperRsp HotelSuperShopperRsp) {
            this.HotelSuperShopperRsp = HotelSuperShopperRsp;
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public interface HotelSuperShopperServicePortTypeChannel : TravelPort.DemoSite.Service.Hotel_53.HotelSuperShopperServicePortType, System.ServiceModel.IClientChannel {
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public partial class HotelSuperShopperServicePortTypeClient : System.ServiceModel.ClientBase<TravelPort.DemoSite.Service.Hotel_53.HotelSuperShopperServicePortType>, TravelPort.DemoSite.Service.Hotel_53.HotelSuperShopperServicePortType {
        
        public HotelSuperShopperServicePortTypeClient() {
        }
        
        public HotelSuperShopperServicePortTypeClient(string endpointConfigurationName) : 
                base(endpointConfigurationName) {
        }
        
        public HotelSuperShopperServicePortTypeClient(string endpointConfigurationName, string remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public HotelSuperShopperServicePortTypeClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public HotelSuperShopperServicePortTypeClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(binding, remoteAddress) {
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        TravelPort.DemoSite.Service.Hotel_53.serviceResponse7 TravelPort.DemoSite.Service.Hotel_53.HotelSuperShopperServicePortType.service(TravelPort.DemoSite.Service.Hotel_53.serviceRequest7 request) {
            return base.Channel.service(request);
        }
        
        public TravelPort.DemoSite.Service.Hotel_53.HotelSuperShopperRsp service(TravelPort.DemoSite.Service.Hotel_53.HotelSuperShopperReq HotelSuperShopperReq) {
            TravelPort.DemoSite.Service.Hotel_53.serviceRequest7 inValue = new TravelPort.DemoSite.Service.Hotel_53.serviceRequest7();
            inValue.HotelSuperShopperReq = HotelSuperShopperReq;
            TravelPort.DemoSite.Service.Hotel_53.serviceResponse7 retVal = ((TravelPort.DemoSite.Service.Hotel_53.HotelSuperShopperServicePortType)(this)).service(inValue);
            return retVal.HotelSuperShopperRsp;
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        System.Threading.Tasks.Task<TravelPort.DemoSite.Service.Hotel_53.serviceResponse7> TravelPort.DemoSite.Service.Hotel_53.HotelSuperShopperServicePortType.serviceAsync(TravelPort.DemoSite.Service.Hotel_53.serviceRequest7 request) {
            return base.Channel.serviceAsync(request);
        }
        
        public System.Threading.Tasks.Task<TravelPort.DemoSite.Service.Hotel_53.serviceResponse7> serviceAsync(TravelPort.DemoSite.Service.Hotel_53.HotelSuperShopperReq HotelSuperShopperReq) {
            TravelPort.DemoSite.Service.Hotel_53.serviceRequest7 inValue = new TravelPort.DemoSite.Service.Hotel_53.serviceRequest7();
            inValue.HotelSuperShopperReq = HotelSuperShopperReq;
            return ((TravelPort.DemoSite.Service.Hotel_53.HotelSuperShopperServicePortType)(this)).serviceAsync(inValue);
        }
    }
}
