//------------------------------------------------------------------------------
// <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.Rails_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/rail_v53_0")]
    public abstract partial class typeRailPricingSolution : object, System.ComponentModel.INotifyPropertyChanged {
        
        private object[] itemsField;
        
        private RailPricingInfo[] railPricingInfoField;
        
        private string keyField;
        
        private string offerIdField;
        
        private string totalPriceField;
        
        private string basePriceField;
        
        private string approximateTotalPriceField;
        
        private string approximateBasePriceField;
        
        private string equivalentBasePriceField;
        
        private string taxesField;
        
        private string feesField;
        
        private string servicesField;
        
        private string approximateTaxesField;
        
        private string approximateFeesField;
        
        private string providerCodeField;
        
        private string supplierCodeField;
        
        private string hostTokenRefField;
        
        private string referenceField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RailJourney", typeof(RailJourney), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("RailJourneyRef", typeof(RailJourneyRef), Order=0)]
        public object[] Items {
            get {
                return this.itemsField;
            }
            set {
                this.itemsField = value;
                this.RaisePropertyChanged("Items");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RailPricingInfo", Order=1)]
        public RailPricingInfo[] RailPricingInfo {
            get {
                return this.railPricingInfoField;
            }
            set {
                this.railPricingInfoField = value;
                this.RaisePropertyChanged("RailPricingInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string OfferId {
            get {
                return this.offerIdField;
            }
            set {
                this.offerIdField = value;
                this.RaisePropertyChanged("OfferId");
            }
        }
        
        /// <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 BasePrice {
            get {
                return this.basePriceField;
            }
            set {
                this.basePriceField = value;
                this.RaisePropertyChanged("BasePrice");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApproximateTotalPrice {
            get {
                return this.approximateTotalPriceField;
            }
            set {
                this.approximateTotalPriceField = value;
                this.RaisePropertyChanged("ApproximateTotalPrice");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApproximateBasePrice {
            get {
                return this.approximateBasePriceField;
            }
            set {
                this.approximateBasePriceField = value;
                this.RaisePropertyChanged("ApproximateBasePrice");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string EquivalentBasePrice {
            get {
                return this.equivalentBasePriceField;
            }
            set {
                this.equivalentBasePriceField = value;
                this.RaisePropertyChanged("EquivalentBasePrice");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Taxes {
            get {
                return this.taxesField;
            }
            set {
                this.taxesField = value;
                this.RaisePropertyChanged("Taxes");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Fees {
            get {
                return this.feesField;
            }
            set {
                this.feesField = value;
                this.RaisePropertyChanged("Fees");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Services {
            get {
                return this.servicesField;
            }
            set {
                this.servicesField = value;
                this.RaisePropertyChanged("Services");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApproximateTaxes {
            get {
                return this.approximateTaxesField;
            }
            set {
                this.approximateTaxesField = value;
                this.RaisePropertyChanged("ApproximateTaxes");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApproximateFees {
            get {
                return this.approximateFeesField;
            }
            set {
                this.approximateFeesField = value;
                this.RaisePropertyChanged("ApproximateFees");
            }
        }
        
        /// <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 HostTokenRef {
            get {
                return this.hostTokenRefField;
            }
            set {
                this.hostTokenRefField = value;
                this.RaisePropertyChanged("HostTokenRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Reference {
            get {
                return this.referenceField;
            }
            set {
                this.referenceField = value;
                this.RaisePropertyChanged("Reference");
            }
        }
        
        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/rail_v53_0")]
    public partial class RailJourney : object, System.ComponentModel.INotifyPropertyChanged {
        
        private object[] itemsField;
        
        private JourneyRemark[] journeyRemarkField;
        
        private HostToken[] hostTokenField;
        
        private string keyField;
        
        private string originField;
        
        private string destinationField;
        
        private string departureTimeField;
        
        private string arrivalTimeField;
        
        private string originStationNameField;
        
        private string destinationStationNameField;
        
        private string railLocOriginField;
        
        private string railLocDestinationField;
        
        private string routeDescriptionField;
        
        private typeJourneyDirection journeyDirectionField;
        
        private bool journeyDirectionFieldSpecified;
        
        private string journeyDurationField;
        
        private string totalPriceField;
        
        private string basePriceField;
        
        private string approximateTotalPriceField;
        
        private string approximateBasePriceField;
        
        private string equivalentBasePriceField;
        
        private string taxesField;
        
        private string feesField;
        
        private string servicesField;
        
        private string approximateTaxesField;
        
        private string approximateFeesField;
        
        private string providerCodeField;
        
        private string supplierCodeField;
        
        private string statusField;
        
        private string providerReservationInfoRefField;
        
        private string passiveProviderReservationInfoRefField;
        
        private string travelOrderField;
        
        private string routeReferenceField;
        
        private typeElementStatus elStatField;
        
        private bool elStatFieldSpecified;
        
        private bool keyOverrideField;
        
        private bool keyOverrideFieldSpecified;
        
        private string operationField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RailSegment", typeof(RailSegment), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("RailSegmentRef", typeof(RailSegmentRef), Order=0)]
        public object[] Items {
            get {
                return this.itemsField;
            }
            set {
                this.itemsField = value;
                this.RaisePropertyChanged("Items");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("JourneyRemark", Order=1)]
        public JourneyRemark[] JourneyRemark {
            get {
                return this.journeyRemarkField;
            }
            set {
                this.journeyRemarkField = value;
                this.RaisePropertyChanged("JourneyRemark");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("HostToken", Namespace="http://www.travelport.com/schema/common_v53_0", Order=2)]
        public HostToken[] HostToken {
            get {
                return this.hostTokenField;
            }
            set {
                this.hostTokenField = value;
                this.RaisePropertyChanged("HostToken");
            }
        }
        
        /// <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 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 ArrivalTime {
            get {
                return this.arrivalTimeField;
            }
            set {
                this.arrivalTimeField = value;
                this.RaisePropertyChanged("ArrivalTime");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string OriginStationName {
            get {
                return this.originStationNameField;
            }
            set {
                this.originStationNameField = value;
                this.RaisePropertyChanged("OriginStationName");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string DestinationStationName {
            get {
                return this.destinationStationNameField;
            }
            set {
                this.destinationStationNameField = value;
                this.RaisePropertyChanged("DestinationStationName");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string RailLocOrigin {
            get {
                return this.railLocOriginField;
            }
            set {
                this.railLocOriginField = value;
                this.RaisePropertyChanged("RailLocOrigin");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string RailLocDestination {
            get {
                return this.railLocDestinationField;
            }
            set {
                this.railLocDestinationField = value;
                this.RaisePropertyChanged("RailLocDestination");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string RouteDescription {
            get {
                return this.routeDescriptionField;
            }
            set {
                this.routeDescriptionField = value;
                this.RaisePropertyChanged("RouteDescription");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeJourneyDirection JourneyDirection {
            get {
                return this.journeyDirectionField;
            }
            set {
                this.journeyDirectionField = value;
                this.RaisePropertyChanged("JourneyDirection");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool JourneyDirectionSpecified {
            get {
                return this.journeyDirectionFieldSpecified;
            }
            set {
                this.journeyDirectionFieldSpecified = value;
                this.RaisePropertyChanged("JourneyDirectionSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string JourneyDuration {
            get {
                return this.journeyDurationField;
            }
            set {
                this.journeyDurationField = value;
                this.RaisePropertyChanged("JourneyDuration");
            }
        }
        
        /// <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 BasePrice {
            get {
                return this.basePriceField;
            }
            set {
                this.basePriceField = value;
                this.RaisePropertyChanged("BasePrice");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApproximateTotalPrice {
            get {
                return this.approximateTotalPriceField;
            }
            set {
                this.approximateTotalPriceField = value;
                this.RaisePropertyChanged("ApproximateTotalPrice");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApproximateBasePrice {
            get {
                return this.approximateBasePriceField;
            }
            set {
                this.approximateBasePriceField = value;
                this.RaisePropertyChanged("ApproximateBasePrice");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string EquivalentBasePrice {
            get {
                return this.equivalentBasePriceField;
            }
            set {
                this.equivalentBasePriceField = value;
                this.RaisePropertyChanged("EquivalentBasePrice");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Taxes {
            get {
                return this.taxesField;
            }
            set {
                this.taxesField = value;
                this.RaisePropertyChanged("Taxes");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Fees {
            get {
                return this.feesField;
            }
            set {
                this.feesField = value;
                this.RaisePropertyChanged("Fees");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Services {
            get {
                return this.servicesField;
            }
            set {
                this.servicesField = value;
                this.RaisePropertyChanged("Services");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApproximateTaxes {
            get {
                return this.approximateTaxesField;
            }
            set {
                this.approximateTaxesField = value;
                this.RaisePropertyChanged("ApproximateTaxes");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApproximateFees {
            get {
                return this.approximateFeesField;
            }
            set {
                this.approximateFeesField = value;
                this.RaisePropertyChanged("ApproximateFees");
            }
        }
        
        /// <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 Status {
            get {
                return this.statusField;
            }
            set {
                this.statusField = value;
                this.RaisePropertyChanged("Status");
            }
        }
        
        /// <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 PassiveProviderReservationInfoRef {
            get {
                return this.passiveProviderReservationInfoRefField;
            }
            set {
                this.passiveProviderReservationInfoRefField = value;
                this.RaisePropertyChanged("PassiveProviderReservationInfoRef");
            }
        }
        
        /// <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()]
        public string RouteReference {
            get {
                return this.routeReferenceField;
            }
            set {
                this.routeReferenceField = value;
                this.RaisePropertyChanged("RouteReference");
            }
        }
        
        /// <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 Operation {
            get {
                return this.operationField;
            }
            set {
                this.operationField = value;
                this.RaisePropertyChanged("Operation");
            }
        }
        
        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/rail_v53_0")]
    public partial class RailSegment : Segment {
        
        private RailSegmentInfo[] railSegmentInfoField;
        
        private OperatingCompany operatingCompanyField;
        
        private RailAvailInfo[] railAvailInfoField;
        
        private string[] fulFillmentTypeField;
        
        private string trainNumberField;
        
        private string originField;
        
        private string destinationField;
        
        private string departureTimeField;
        
        private string arrivalTimeField;
        
        private string originStationNameField;
        
        private string destinationStationNameField;
        
        private string railLocOriginField;
        
        private string railLocDestinationField;
        
        private string trainTypeField;
        
        private string trainTypeCodeField;
        
        private typeTransportMode transportModeField;
        
        private bool transportModeFieldSpecified;
        
        private bool seatAssignableField;
        
        private bool seatAssignableFieldSpecified;
        
        private string transportCodeField;
        
        private bool reservationRequiredField;
        
        private bool reservationRequiredFieldSpecified;
        
        private string travelTimeField;
        
        private string hostTokenRefField;
        
        private string cabinClassField;
        
        private string classCodeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RailSegmentInfo", Order=0)]
        public RailSegmentInfo[] RailSegmentInfo {
            get {
                return this.railSegmentInfoField;
            }
            set {
                this.railSegmentInfoField = value;
                this.RaisePropertyChanged("RailSegmentInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public OperatingCompany OperatingCompany {
            get {
                return this.operatingCompanyField;
            }
            set {
                this.operatingCompanyField = value;
                this.RaisePropertyChanged("OperatingCompany");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RailAvailInfo", Order=2)]
        public RailAvailInfo[] RailAvailInfo {
            get {
                return this.railAvailInfoField;
            }
            set {
                this.railAvailInfoField = value;
                this.RaisePropertyChanged("RailAvailInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("FulFillmentType", Order=3)]
        public string[] FulFillmentType {
            get {
                return this.fulFillmentTypeField;
            }
            set {
                this.fulFillmentTypeField = value;
                this.RaisePropertyChanged("FulFillmentType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TrainNumber {
            get {
                return this.trainNumberField;
            }
            set {
                this.trainNumberField = value;
                this.RaisePropertyChanged("TrainNumber");
            }
        }
        
        /// <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 ArrivalTime {
            get {
                return this.arrivalTimeField;
            }
            set {
                this.arrivalTimeField = value;
                this.RaisePropertyChanged("ArrivalTime");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string OriginStationName {
            get {
                return this.originStationNameField;
            }
            set {
                this.originStationNameField = value;
                this.RaisePropertyChanged("OriginStationName");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string DestinationStationName {
            get {
                return this.destinationStationNameField;
            }
            set {
                this.destinationStationNameField = value;
                this.RaisePropertyChanged("DestinationStationName");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string RailLocOrigin {
            get {
                return this.railLocOriginField;
            }
            set {
                this.railLocOriginField = value;
                this.RaisePropertyChanged("RailLocOrigin");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string RailLocDestination {
            get {
                return this.railLocDestinationField;
            }
            set {
                this.railLocDestinationField = value;
                this.RaisePropertyChanged("RailLocDestination");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TrainType {
            get {
                return this.trainTypeField;
            }
            set {
                this.trainTypeField = value;
                this.RaisePropertyChanged("TrainType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TrainTypeCode {
            get {
                return this.trainTypeCodeField;
            }
            set {
                this.trainTypeCodeField = value;
                this.RaisePropertyChanged("TrainTypeCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeTransportMode TransportMode {
            get {
                return this.transportModeField;
            }
            set {
                this.transportModeField = value;
                this.RaisePropertyChanged("TransportMode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool TransportModeSpecified {
            get {
                return this.transportModeFieldSpecified;
            }
            set {
                this.transportModeFieldSpecified = value;
                this.RaisePropertyChanged("TransportModeSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool SeatAssignable {
            get {
                return this.seatAssignableField;
            }
            set {
                this.seatAssignableField = value;
                this.RaisePropertyChanged("SeatAssignable");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool SeatAssignableSpecified {
            get {
                return this.seatAssignableFieldSpecified;
            }
            set {
                this.seatAssignableFieldSpecified = value;
                this.RaisePropertyChanged("SeatAssignableSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TransportCode {
            get {
                return this.transportCodeField;
            }
            set {
                this.transportCodeField = value;
                this.RaisePropertyChanged("TransportCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool ReservationRequired {
            get {
                return this.reservationRequiredField;
            }
            set {
                this.reservationRequiredField = value;
                this.RaisePropertyChanged("ReservationRequired");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ReservationRequiredSpecified {
            get {
                return this.reservationRequiredFieldSpecified;
            }
            set {
                this.reservationRequiredFieldSpecified = value;
                this.RaisePropertyChanged("ReservationRequiredSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string TravelTime {
            get {
                return this.travelTimeField;
            }
            set {
                this.travelTimeField = value;
                this.RaisePropertyChanged("TravelTime");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string HostTokenRef {
            get {
                return this.hostTokenRefField;
            }
            set {
                this.hostTokenRefField = value;
                this.RaisePropertyChanged("HostTokenRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CabinClass {
            get {
                return this.cabinClassField;
            }
            set {
                this.cabinClassField = value;
                this.RaisePropertyChanged("CabinClass");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ClassCode {
            get {
                return this.classCodeField;
            }
            set {
                this.classCodeField = value;
                this.RaisePropertyChanged("ClassCode");
            }
        }
    }
    
    /// <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/rail_v53_0")]
    public partial class RailSegmentInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string categoryField;
        
        private typeRailSegmentInfo typeField;
        
        private string valueField;
        
        /// <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 typeRailSegmentInfo 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(Namespace="http://www.travelport.com/schema/rail_v53_0")]
    public enum typeRailSegmentInfo {
        
        /// <remarks/>
        Extra,
        
        /// <remarks/>
        Vendor,
        
        /// <remarks/>
        Services,
    }
    
    /// <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/rail_v53_0")]
    public partial class OperatingCompany : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string codeField;
        
        private string nameField;
        
        private string valueField;
        
        /// <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 Name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
                this.RaisePropertyChanged("Name");
            }
        }
        
        /// <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/rail_v53_0")]
    public partial class RailAvailInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string classCodeField;
        
        private string quantityField;
        
        private string cabinClassField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ClassCode {
            get {
                return this.classCodeField;
            }
            set {
                this.classCodeField = value;
                this.RaisePropertyChanged("ClassCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string Quantity {
            get {
                return this.quantityField;
            }
            set {
                this.quantityField = value;
                this.RaisePropertyChanged("Quantity");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CabinClass {
            get {
                return this.cabinClassField;
            }
            set {
                this.cabinClassField = value;
                this.RaisePropertyChanged("CabinClass");
            }
        }
        
        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/rail_v53_0")]
    public enum typeTransportMode {
        
        /// <remarks/>
        Bicycle,
        
        /// <remarks/>
        Boat,
        
        /// <remarks/>
        Bus,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("Cable Car")]
        CableCar,
        
        /// <remarks/>
        Car,
        
        /// <remarks/>
        Carriage,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("Courtesy car")]
        Courtesycar,
        
        /// <remarks/>
        Helicopter,
        
        /// <remarks/>
        Limousine,
        
        /// <remarks/>
        Metro,
        
        /// <remarks/>
        Monorail,
        
        /// <remarks/>
        Motorbike,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("Pack Animal")]
        PackAnimal,
        
        /// <remarks/>
        Plane,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("Rental Car")]
        RentalCar,
        
        /// <remarks/>
        Rickshaw,
        
        /// <remarks/>
        Shuttle,
        
        /// <remarks/>
        Subway,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("Sedan Chair")]
        SedanChair,
        
        /// <remarks/>
        Taxi,
        
        /// <remarks/>
        Train,
        
        /// <remarks/>
        Trolley,
        
        /// <remarks/>
        Tube,
        
        /// <remarks/>
        Walk,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("Water Taxi")]
        WaterTaxi,
        
        /// <remarks/>
        Other,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("Car/Rush hour")]
        CarRushhour,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("Taxi/Rush hour")]
        TaxiRushhour,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("No Transportation")]
        NoTransportation,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("Express Train")]
        ExpressTrain,
        
        /// <remarks/>
        Public,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("Ship/Ferry")]
        ShipFerry,
        
        /// <remarks/>
        Underground,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("Tram/light rail")]
        Tramlightrail,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("Shared Taxi")]
        SharedTaxi,
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(typeBaseAirSegment))]
    [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.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(Namespace="http://www.travelport.com/schema/air_v53_0")]
    public partial class typeBaseAirSegment : Segment {
        
        private SponsoredFltInfo sponsoredFltInfoField;
        
        private CodeshareInfo codeshareInfoField;
        
        private AirAvailInfo[] airAvailInfoField;
        
        private FlightDetails[] flightDetailsField;
        
        private FlightDetailsRef[] flightDetailsRefField;
        
        private AlternateLocationDistanceRef[] alternateLocationDistanceRefField;
        
        private Connection connectionField;
        
        private string[] sellMessageField;
        
        private RailCoachDetails[] railCoachDetailsField;
        
        private bool openSegmentField;
        
        private bool openSegmentFieldSpecified;
        
        private int groupField;
        
        private string carrierField;
        
        private string cabinClassField;
        
        private string flightNumberField;
        
        private string originField;
        
        private string destinationField;
        
        private string departureTimeField;
        
        private string arrivalTimeField;
        
        private string flightTimeField;
        
        private string travelTimeField;
        
        private string distanceField;
        
        private string providerCodeField;
        
        private string supplierCodeField;
        
        private string participantLevelField;
        
        private bool linkAvailabilityField;
        
        private bool linkAvailabilityFieldSpecified;
        
        private string polledAvailabilityOptionField;
        
        private string availabilityDisplayTypeField;
        
        private string classOfServiceField;
        
        private typeEticketability eTicketabilityField;
        
        private bool eTicketabilityFieldSpecified;
        
        private string equipmentField;
        
        private int marriageGroupField;
        
        private bool marriageGroupFieldSpecified;
        
        private int numberOfStopsField;
        
        private bool numberOfStopsFieldSpecified;
        
        private bool seamlessField;
        
        private bool seamlessFieldSpecified;
        
        private bool changeOfPlaneField;
        
        private string guaranteedPaymentCarrierField;
        
        private string hostTokenRefField;
        
        private string providerReservationInfoRefField;
        
        private string passiveProviderReservationInfoRefField;
        
        private bool optionalServicesIndicatorField;
        
        private bool optionalServicesIndicatorFieldSpecified;
        
        private string availabilitySourceField;
        
        private string aPISRequirementsRefField;
        
        private bool blackListedField;
        
        private bool blackListedFieldSpecified;
        
        private string operationalStatusField;
        
        private string numberInPartyField;
        
        private string railCoachNumberField;
        
        private System.DateTime bookingDateField;
        
        private bool bookingDateFieldSpecified;
        
        private bool flownSegmentField;
        
        private bool scheduleChangeField;
        
        private string brandIndicatorField;
        
        public typeBaseAirSegment() {
            this.changeOfPlaneField = false;
            this.flownSegmentField = false;
            this.scheduleChangeField = false;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public SponsoredFltInfo SponsoredFltInfo {
            get {
                return this.sponsoredFltInfoField;
            }
            set {
                this.sponsoredFltInfoField = value;
                this.RaisePropertyChanged("SponsoredFltInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public CodeshareInfo CodeshareInfo {
            get {
                return this.codeshareInfoField;
            }
            set {
                this.codeshareInfoField = value;
                this.RaisePropertyChanged("CodeshareInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AirAvailInfo", Order=2)]
        public AirAvailInfo[] AirAvailInfo {
            get {
                return this.airAvailInfoField;
            }
            set {
                this.airAvailInfoField = value;
                this.RaisePropertyChanged("AirAvailInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("FlightDetails", Order=3)]
        public FlightDetails[] FlightDetails {
            get {
                return this.flightDetailsField;
            }
            set {
                this.flightDetailsField = value;
                this.RaisePropertyChanged("FlightDetails");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("FlightDetailsRef", Order=4)]
        public FlightDetailsRef[] FlightDetailsRef {
            get {
                return this.flightDetailsRefField;
            }
            set {
                this.flightDetailsRefField = value;
                this.RaisePropertyChanged("FlightDetailsRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AlternateLocationDistanceRef", Order=5)]
        public AlternateLocationDistanceRef[] AlternateLocationDistanceRef {
            get {
                return this.alternateLocationDistanceRefField;
            }
            set {
                this.alternateLocationDistanceRefField = value;
                this.RaisePropertyChanged("AlternateLocationDistanceRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=6)]
        public Connection Connection {
            get {
                return this.connectionField;
            }
            set {
                this.connectionField = value;
                this.RaisePropertyChanged("Connection");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SellMessage", Namespace="http://www.travelport.com/schema/common_v53_0", Order=7)]
        public string[] SellMessage {
            get {
                return this.sellMessageField;
            }
            set {
                this.sellMessageField = value;
                this.RaisePropertyChanged("SellMessage");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RailCoachDetails", Order=8)]
        public RailCoachDetails[] RailCoachDetails {
            get {
                return this.railCoachDetailsField;
            }
            set {
                this.railCoachDetailsField = value;
                this.RaisePropertyChanged("RailCoachDetails");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool OpenSegment {
            get {
                return this.openSegmentField;
            }
            set {
                this.openSegmentField = value;
                this.RaisePropertyChanged("OpenSegment");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool OpenSegmentSpecified {
            get {
                return this.openSegmentFieldSpecified;
            }
            set {
                this.openSegmentFieldSpecified = value;
                this.RaisePropertyChanged("OpenSegmentSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public int Group {
            get {
                return this.groupField;
            }
            set {
                this.groupField = value;
                this.RaisePropertyChanged("Group");
            }
        }
        
        /// <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 CabinClass {
            get {
                return this.cabinClassField;
            }
            set {
                this.cabinClassField = value;
                this.RaisePropertyChanged("CabinClass");
            }
        }
        
        /// <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 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 ArrivalTime {
            get {
                return this.arrivalTimeField;
            }
            set {
                this.arrivalTimeField = value;
                this.RaisePropertyChanged("ArrivalTime");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string FlightTime {
            get {
                return this.flightTimeField;
            }
            set {
                this.flightTimeField = value;
                this.RaisePropertyChanged("FlightTime");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string TravelTime {
            get {
                return this.travelTimeField;
            }
            set {
                this.travelTimeField = value;
                this.RaisePropertyChanged("TravelTime");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string Distance {
            get {
                return this.distanceField;
            }
            set {
                this.distanceField = value;
                this.RaisePropertyChanged("Distance");
            }
        }
        
        /// <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 ParticipantLevel {
            get {
                return this.participantLevelField;
            }
            set {
                this.participantLevelField = value;
                this.RaisePropertyChanged("ParticipantLevel");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool LinkAvailability {
            get {
                return this.linkAvailabilityField;
            }
            set {
                this.linkAvailabilityField = value;
                this.RaisePropertyChanged("LinkAvailability");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool LinkAvailabilitySpecified {
            get {
                return this.linkAvailabilityFieldSpecified;
            }
            set {
                this.linkAvailabilityFieldSpecified = value;
                this.RaisePropertyChanged("LinkAvailabilitySpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PolledAvailabilityOption {
            get {
                return this.polledAvailabilityOptionField;
            }
            set {
                this.polledAvailabilityOptionField = value;
                this.RaisePropertyChanged("PolledAvailabilityOption");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string AvailabilityDisplayType {
            get {
                return this.availabilityDisplayTypeField;
            }
            set {
                this.availabilityDisplayTypeField = value;
                this.RaisePropertyChanged("AvailabilityDisplayType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ClassOfService {
            get {
                return this.classOfServiceField;
            }
            set {
                this.classOfServiceField = value;
                this.RaisePropertyChanged("ClassOfService");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeEticketability ETicketability {
            get {
                return this.eTicketabilityField;
            }
            set {
                this.eTicketabilityField = value;
                this.RaisePropertyChanged("ETicketability");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ETicketabilitySpecified {
            get {
                return this.eTicketabilityFieldSpecified;
            }
            set {
                this.eTicketabilityFieldSpecified = value;
                this.RaisePropertyChanged("ETicketabilitySpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Equipment {
            get {
                return this.equipmentField;
            }
            set {
                this.equipmentField = value;
                this.RaisePropertyChanged("Equipment");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public int MarriageGroup {
            get {
                return this.marriageGroupField;
            }
            set {
                this.marriageGroupField = value;
                this.RaisePropertyChanged("MarriageGroup");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool MarriageGroupSpecified {
            get {
                return this.marriageGroupFieldSpecified;
            }
            set {
                this.marriageGroupFieldSpecified = value;
                this.RaisePropertyChanged("MarriageGroupSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public int NumberOfStops {
            get {
                return this.numberOfStopsField;
            }
            set {
                this.numberOfStopsField = value;
                this.RaisePropertyChanged("NumberOfStops");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool NumberOfStopsSpecified {
            get {
                return this.numberOfStopsFieldSpecified;
            }
            set {
                this.numberOfStopsFieldSpecified = value;
                this.RaisePropertyChanged("NumberOfStopsSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Seamless {
            get {
                return this.seamlessField;
            }
            set {
                this.seamlessField = value;
                this.RaisePropertyChanged("Seamless");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool SeamlessSpecified {
            get {
                return this.seamlessFieldSpecified;
            }
            set {
                this.seamlessFieldSpecified = value;
                this.RaisePropertyChanged("SeamlessSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool ChangeOfPlane {
            get {
                return this.changeOfPlaneField;
            }
            set {
                this.changeOfPlaneField = value;
                this.RaisePropertyChanged("ChangeOfPlane");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string GuaranteedPaymentCarrier {
            get {
                return this.guaranteedPaymentCarrierField;
            }
            set {
                this.guaranteedPaymentCarrierField = value;
                this.RaisePropertyChanged("GuaranteedPaymentCarrier");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string HostTokenRef {
            get {
                return this.hostTokenRefField;
            }
            set {
                this.hostTokenRefField = value;
                this.RaisePropertyChanged("HostTokenRef");
            }
        }
        
        /// <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 PassiveProviderReservationInfoRef {
            get {
                return this.passiveProviderReservationInfoRefField;
            }
            set {
                this.passiveProviderReservationInfoRefField = value;
                this.RaisePropertyChanged("PassiveProviderReservationInfoRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool OptionalServicesIndicator {
            get {
                return this.optionalServicesIndicatorField;
            }
            set {
                this.optionalServicesIndicatorField = value;
                this.RaisePropertyChanged("OptionalServicesIndicator");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool OptionalServicesIndicatorSpecified {
            get {
                return this.optionalServicesIndicatorFieldSpecified;
            }
            set {
                this.optionalServicesIndicatorFieldSpecified = value;
                this.RaisePropertyChanged("OptionalServicesIndicatorSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string AvailabilitySource {
            get {
                return this.availabilitySourceField;
            }
            set {
                this.availabilitySourceField = value;
                this.RaisePropertyChanged("AvailabilitySource");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string APISRequirementsRef {
            get {
                return this.aPISRequirementsRefField;
            }
            set {
                this.aPISRequirementsRefField = value;
                this.RaisePropertyChanged("APISRequirementsRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool BlackListed {
            get {
                return this.blackListedField;
            }
            set {
                this.blackListedField = value;
                this.RaisePropertyChanged("BlackListed");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool BlackListedSpecified {
            get {
                return this.blackListedFieldSpecified;
            }
            set {
                this.blackListedFieldSpecified = value;
                this.RaisePropertyChanged("BlackListedSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string OperationalStatus {
            get {
                return this.operationalStatusField;
            }
            set {
                this.operationalStatusField = value;
                this.RaisePropertyChanged("OperationalStatus");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="positiveInteger")]
        public string NumberInParty {
            get {
                return this.numberInPartyField;
            }
            set {
                this.numberInPartyField = value;
                this.RaisePropertyChanged("NumberInParty");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string RailCoachNumber {
            get {
                return this.railCoachNumberField;
            }
            set {
                this.railCoachNumberField = value;
                this.RaisePropertyChanged("RailCoachNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="date")]
        public System.DateTime BookingDate {
            get {
                return this.bookingDateField;
            }
            set {
                this.bookingDateField = value;
                this.RaisePropertyChanged("BookingDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool BookingDateSpecified {
            get {
                return this.bookingDateFieldSpecified;
            }
            set {
                this.bookingDateFieldSpecified = value;
                this.RaisePropertyChanged("BookingDateSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool FlownSegment {
            get {
                return this.flownSegmentField;
            }
            set {
                this.flownSegmentField = value;
                this.RaisePropertyChanged("FlownSegment");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool ScheduleChange {
            get {
                return this.scheduleChangeField;
            }
            set {
                this.scheduleChangeField = value;
                this.RaisePropertyChanged("ScheduleChange");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string BrandIndicator {
            get {
                return this.brandIndicatorField;
            }
            set {
                this.brandIndicatorField = value;
                this.RaisePropertyChanged("BrandIndicator");
            }
        }
    }
    
    /// <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/air_v53_0")]
    public partial class SponsoredFltInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string sponsoredLNBField;
        
        private string neutralLNBField;
        
        private string fltKeyField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="nonNegativeInteger")]
        public string SponsoredLNB {
            get {
                return this.sponsoredLNBField;
            }
            set {
                this.sponsoredLNBField = value;
                this.RaisePropertyChanged("SponsoredLNB");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="nonNegativeInteger")]
        public string NeutralLNB {
            get {
                return this.neutralLNBField;
            }
            set {
                this.neutralLNBField = value;
                this.RaisePropertyChanged("NeutralLNB");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string FltKey {
            get {
                return this.fltKeyField;
            }
            set {
                this.fltKeyField = value;
                this.RaisePropertyChanged("FltKey");
            }
        }
        
        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/air_v53_0")]
    public partial class CodeshareInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string operatingCarrierField;
        
        private string operatingFlightNumberField;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string OperatingCarrier {
            get {
                return this.operatingCarrierField;
            }
            set {
                this.operatingCarrierField = value;
                this.RaisePropertyChanged("OperatingCarrier");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string OperatingFlightNumber {
            get {
                return this.operatingFlightNumberField;
            }
            set {
                this.operatingFlightNumberField = value;
                this.RaisePropertyChanged("OperatingFlightNumber");
            }
        }
        
        /// <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/air_v53_0")]
    public partial class AirAvailInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private BookingCodeInfo[] bookingCodeInfoField;
        
        private AirAvailInfoFareTokenInfo[] fareTokenInfoField;
        
        private string providerCodeField;
        
        private string hostTokenRefField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("BookingCodeInfo", Order=0)]
        public BookingCodeInfo[] BookingCodeInfo {
            get {
                return this.bookingCodeInfoField;
            }
            set {
                this.bookingCodeInfoField = value;
                this.RaisePropertyChanged("BookingCodeInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("FareTokenInfo", Order=1)]
        public AirAvailInfoFareTokenInfo[] FareTokenInfo {
            get {
                return this.fareTokenInfoField;
            }
            set {
                this.fareTokenInfoField = value;
                this.RaisePropertyChanged("FareTokenInfo");
            }
        }
        
        /// <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 HostTokenRef {
            get {
                return this.hostTokenRefField;
            }
            set {
                this.hostTokenRefField = value;
                this.RaisePropertyChanged("HostTokenRef");
            }
        }
        
        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/air_v53_0")]
    public partial class BookingCodeInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string cabinClassField;
        
        private string bookingCountsField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CabinClass {
            get {
                return this.cabinClassField;
            }
            set {
                this.cabinClassField = value;
                this.RaisePropertyChanged("CabinClass");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string BookingCounts {
            get {
                return this.bookingCountsField;
            }
            set {
                this.bookingCountsField = value;
                this.RaisePropertyChanged("BookingCounts");
            }
        }
        
        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/air_v53_0")]
    public partial class AirAvailInfoFareTokenInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string fareInfoRefField;
        
        private string hostTokenRefField;
        
        /// <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 HostTokenRef {
            get {
                return this.hostTokenRefField;
            }
            set {
                this.hostTokenRefField = value;
                this.RaisePropertyChanged("HostTokenRef");
            }
        }
        
        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/air_v53_0")]
    public partial class FlightDetails : object, System.ComponentModel.INotifyPropertyChanged {
        
        private Connection connectionField;
        
        private typeMealService[] mealsField;
        
        private string[] inFlightServicesField;
        
        private string keyField;
        
        private string originField;
        
        private string destinationField;
        
        private string departureTimeField;
        
        private string arrivalTimeField;
        
        private string flightTimeField;
        
        private string travelTimeField;
        
        private string distanceField;
        
        private string equipmentField;
        
        private string onTimePerformanceField;
        
        private string originTerminalField;
        
        private string destinationTerminalField;
        
        private string groundTimeField;
        
        private bool automatedCheckinField;
        
        private typeElementStatus elStatField;
        
        private bool elStatFieldSpecified;
        
        private bool keyOverrideField;
        
        private bool keyOverrideFieldSpecified;
        
        public FlightDetails() {
            this.automatedCheckinField = false;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public Connection Connection {
            get {
                return this.connectionField;
            }
            set {
                this.connectionField = value;
                this.RaisePropertyChanged("Connection");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Meals", Order=1)]
        public typeMealService[] Meals {
            get {
                return this.mealsField;
            }
            set {
                this.mealsField = value;
                this.RaisePropertyChanged("Meals");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("InFlightServices", Order=2)]
        public string[] InFlightServices {
            get {
                return this.inFlightServicesField;
            }
            set {
                this.inFlightServicesField = value;
                this.RaisePropertyChanged("InFlightServices");
            }
        }
        
        /// <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 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 ArrivalTime {
            get {
                return this.arrivalTimeField;
            }
            set {
                this.arrivalTimeField = value;
                this.RaisePropertyChanged("ArrivalTime");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string FlightTime {
            get {
                return this.flightTimeField;
            }
            set {
                this.flightTimeField = value;
                this.RaisePropertyChanged("FlightTime");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string TravelTime {
            get {
                return this.travelTimeField;
            }
            set {
                this.travelTimeField = value;
                this.RaisePropertyChanged("TravelTime");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string Distance {
            get {
                return this.distanceField;
            }
            set {
                this.distanceField = value;
                this.RaisePropertyChanged("Distance");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Equipment {
            get {
                return this.equipmentField;
            }
            set {
                this.equipmentField = value;
                this.RaisePropertyChanged("Equipment");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string OnTimePerformance {
            get {
                return this.onTimePerformanceField;
            }
            set {
                this.onTimePerformanceField = value;
                this.RaisePropertyChanged("OnTimePerformance");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string OriginTerminal {
            get {
                return this.originTerminalField;
            }
            set {
                this.originTerminalField = value;
                this.RaisePropertyChanged("OriginTerminal");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string DestinationTerminal {
            get {
                return this.destinationTerminalField;
            }
            set {
                this.destinationTerminalField = value;
                this.RaisePropertyChanged("DestinationTerminal");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string GroundTime {
            get {
                return this.groundTimeField;
            }
            set {
                this.groundTimeField = value;
                this.RaisePropertyChanged("GroundTime");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool AutomatedCheckin {
            get {
                return this.automatedCheckinField;
            }
            set {
                this.automatedCheckinField = value;
                this.RaisePropertyChanged("AutomatedCheckin");
            }
        }
        
        /// <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/air_v53_0")]
    public partial class Connection : object, System.ComponentModel.INotifyPropertyChanged {
        
        private FareNote fareNoteField;
        
        private bool changeOfPlaneField;
        
        private bool changeOfTerminalField;
        
        private bool changeOfAirportField;
        
        private bool stopOverField;
        
        private int minConnectionTimeField;
        
        private bool minConnectionTimeFieldSpecified;
        
        private int durationField;
        
        private bool durationFieldSpecified;
        
        private int segmentIndexField;
        
        private bool segmentIndexFieldSpecified;
        
        private int flightDetailsIndexField;
        
        private bool flightDetailsIndexFieldSpecified;
        
        private typeIgnoreStopOver includeStopOverToFareQuoteField;
        
        private bool includeStopOverToFareQuoteFieldSpecified;
        
        public Connection() {
            this.changeOfPlaneField = false;
            this.changeOfTerminalField = false;
            this.changeOfAirportField = false;
            this.stopOverField = false;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public FareNote FareNote {
            get {
                return this.fareNoteField;
            }
            set {
                this.fareNoteField = value;
                this.RaisePropertyChanged("FareNote");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool ChangeOfPlane {
            get {
                return this.changeOfPlaneField;
            }
            set {
                this.changeOfPlaneField = value;
                this.RaisePropertyChanged("ChangeOfPlane");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool ChangeOfTerminal {
            get {
                return this.changeOfTerminalField;
            }
            set {
                this.changeOfTerminalField = value;
                this.RaisePropertyChanged("ChangeOfTerminal");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool ChangeOfAirport {
            get {
                return this.changeOfAirportField;
            }
            set {
                this.changeOfAirportField = value;
                this.RaisePropertyChanged("ChangeOfAirport");
            }
        }
        
        /// <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 int MinConnectionTime {
            get {
                return this.minConnectionTimeField;
            }
            set {
                this.minConnectionTimeField = value;
                this.RaisePropertyChanged("MinConnectionTime");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool MinConnectionTimeSpecified {
            get {
                return this.minConnectionTimeFieldSpecified;
            }
            set {
                this.minConnectionTimeFieldSpecified = value;
                this.RaisePropertyChanged("MinConnectionTimeSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public int Duration {
            get {
                return this.durationField;
            }
            set {
                this.durationField = value;
                this.RaisePropertyChanged("Duration");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DurationSpecified {
            get {
                return this.durationFieldSpecified;
            }
            set {
                this.durationFieldSpecified = value;
                this.RaisePropertyChanged("DurationSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public int SegmentIndex {
            get {
                return this.segmentIndexField;
            }
            set {
                this.segmentIndexField = value;
                this.RaisePropertyChanged("SegmentIndex");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool SegmentIndexSpecified {
            get {
                return this.segmentIndexFieldSpecified;
            }
            set {
                this.segmentIndexFieldSpecified = value;
                this.RaisePropertyChanged("SegmentIndexSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public int FlightDetailsIndex {
            get {
                return this.flightDetailsIndexField;
            }
            set {
                this.flightDetailsIndexField = value;
                this.RaisePropertyChanged("FlightDetailsIndex");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FlightDetailsIndexSpecified {
            get {
                return this.flightDetailsIndexFieldSpecified;
            }
            set {
                this.flightDetailsIndexFieldSpecified = value;
                this.RaisePropertyChanged("FlightDetailsIndexSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeIgnoreStopOver IncludeStopOverToFareQuote {
            get {
                return this.includeStopOverToFareQuoteField;
            }
            set {
                this.includeStopOverToFareQuoteField = value;
                this.RaisePropertyChanged("IncludeStopOverToFareQuote");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool IncludeStopOverToFareQuoteSpecified {
            get {
                return this.includeStopOverToFareQuoteFieldSpecified;
            }
            set {
                this.includeStopOverToFareQuoteFieldSpecified = value;
                this.RaisePropertyChanged("IncludeStopOverToFareQuoteSpecified");
            }
        }
        
        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/air_v53_0")]
    public partial class FareNote : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string keyField;
        
        private string precedenceField;
        
        private string noteNameField;
        
        private string fareInfoMessageRefField;
        
        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(DataType="integer")]
        public string Precedence {
            get {
                return this.precedenceField;
            }
            set {
                this.precedenceField = value;
                this.RaisePropertyChanged("Precedence");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string NoteName {
            get {
                return this.noteNameField;
            }
            set {
                this.noteNameField = value;
                this.RaisePropertyChanged("NoteName");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string FareInfoMessageRef {
            get {
                return this.fareInfoMessageRefField;
            }
            set {
                this.fareInfoMessageRefField = value;
                this.RaisePropertyChanged("FareInfoMessageRef");
            }
        }
        
        /// <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.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/air_v53_0")]
    public enum typeIgnoreStopOver {
        
        /// <remarks/>
        NoStopOver,
        
        /// <remarks/>
        StopOver,
        
        /// <remarks/>
        IgnoreSegment,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/air_v53_0")]
    public enum typeMealService {
        
        /// <remarks/>
        Meal,
        
        /// <remarks/>
        ColdMeal,
        
        /// <remarks/>
        HotMeal,
        
        /// <remarks/>
        Breakfast,
        
        /// <remarks/>
        ContinentalBreakfast,
        
        /// <remarks/>
        Lunch,
        
        /// <remarks/>
        Dinner,
        
        /// <remarks/>
        SnackOrBrunch,
        
        /// <remarks/>
        FoodForPurchase,
        
        /// <remarks/>
        ComplimentaryRefreshments,
        
        /// <remarks/>
        AlcoholicBeveragesForPurchase,
        
        /// <remarks/>
        ComplimentaryAlcoholicBeverages,
        
        /// <remarks/>
        FoodAndBeveragesForPurchase,
        
        /// <remarks/>
        NoMealService,
        
        /// <remarks/>
        RefreshmentsForPurchase,
    }
    
    /// <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/air_v53_0")]
    public partial class FlightDetailsRef : 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/air_v53_0")]
    public partial class AlternateLocationDistanceRef : 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/air_v53_0")]
    public partial class RailCoachDetails : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string railCoachNumberField;
        
        private string availableRailSeatsField;
        
        private bool railSeatMapAvailabilityField;
        
        private bool railSeatMapAvailabilityFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string RailCoachNumber {
            get {
                return this.railCoachNumberField;
            }
            set {
                this.railCoachNumberField = value;
                this.RaisePropertyChanged("RailCoachNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string AvailableRailSeats {
            get {
                return this.availableRailSeatsField;
            }
            set {
                this.availableRailSeatsField = value;
                this.RaisePropertyChanged("AvailableRailSeats");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool RailSeatMapAvailability {
            get {
                return this.railSeatMapAvailabilityField;
            }
            set {
                this.railSeatMapAvailabilityField = value;
                this.RaisePropertyChanged("RailSeatMapAvailability");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RailSeatMapAvailabilitySpecified {
            get {
                return this.railSeatMapAvailabilityFieldSpecified;
            }
            set {
                this.railSeatMapAvailabilityFieldSpecified = value;
                this.RaisePropertyChanged("RailSeatMapAvailabilitySpecified");
            }
        }
        
        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/air_v53_0")]
    public enum typeEticketability {
        
        /// <remarks/>
        Yes,
        
        /// <remarks/>
        No,
        
        /// <remarks/>
        Required,
        
        /// <remarks/>
        Ticketless,
    }
    
    /// <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/rail_v53_0")]
    public partial class RailSegmentRef : 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/rail_v53_0")]
    public partial class JourneyRemark : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string categoryField;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Category {
            get {
                return this.categoryField;
            }
            set {
                this.categoryField = value;
                this.RaisePropertyChanged("Category");
            }
        }
        
        /// <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.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/rail_v53_0")]
    public enum typeJourneyDirection {
        
        /// <remarks/>
        Outward,
        
        /// <remarks/>
        Return,
    }
    
    /// <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/rail_v53_0")]
    public partial class RailJourneyRef : 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/rail_v53_0")]
    public partial class RailPricingInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private object[] itemsField;
        
        private RailBookingInfo[] railBookingInfoField;
        
        private typePassengerType[] passengerTypeField;
        
        private BookingTravelerRef[] bookingTravelerRefField;
        
        private string keyField;
        
        private string exchangeAmountField;
        
        private string approximateExchangeAmountField;
        
        private string totalPriceField;
        
        private string basePriceField;
        
        private string approximateTotalPriceField;
        
        private string approximateBasePriceField;
        
        private string equivalentBasePriceField;
        
        private string taxesField;
        
        private string feesField;
        
        private string servicesField;
        
        private string approximateTaxesField;
        
        private string approximateFeesField;
        
        private typeElementStatus elStatField;
        
        private bool elStatFieldSpecified;
        
        private bool keyOverrideField;
        
        private bool keyOverrideFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RailFare", typeof(RailFare), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("RailFareRef", typeof(RailFareRef), Order=0)]
        public object[] Items {
            get {
                return this.itemsField;
            }
            set {
                this.itemsField = value;
                this.RaisePropertyChanged("Items");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RailBookingInfo", Order=1)]
        public RailBookingInfo[] RailBookingInfo {
            get {
                return this.railBookingInfoField;
            }
            set {
                this.railBookingInfoField = value;
                this.RaisePropertyChanged("RailBookingInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PassengerType", Order=2)]
        public typePassengerType[] PassengerType {
            get {
                return this.passengerTypeField;
            }
            set {
                this.passengerTypeField = value;
                this.RaisePropertyChanged("PassengerType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("BookingTravelerRef", Namespace="http://www.travelport.com/schema/common_v53_0", Order=3)]
        public BookingTravelerRef[] 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 ExchangeAmount {
            get {
                return this.exchangeAmountField;
            }
            set {
                this.exchangeAmountField = value;
                this.RaisePropertyChanged("ExchangeAmount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApproximateExchangeAmount {
            get {
                return this.approximateExchangeAmountField;
            }
            set {
                this.approximateExchangeAmountField = value;
                this.RaisePropertyChanged("ApproximateExchangeAmount");
            }
        }
        
        /// <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 BasePrice {
            get {
                return this.basePriceField;
            }
            set {
                this.basePriceField = value;
                this.RaisePropertyChanged("BasePrice");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApproximateTotalPrice {
            get {
                return this.approximateTotalPriceField;
            }
            set {
                this.approximateTotalPriceField = value;
                this.RaisePropertyChanged("ApproximateTotalPrice");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApproximateBasePrice {
            get {
                return this.approximateBasePriceField;
            }
            set {
                this.approximateBasePriceField = value;
                this.RaisePropertyChanged("ApproximateBasePrice");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string EquivalentBasePrice {
            get {
                return this.equivalentBasePriceField;
            }
            set {
                this.equivalentBasePriceField = value;
                this.RaisePropertyChanged("EquivalentBasePrice");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Taxes {
            get {
                return this.taxesField;
            }
            set {
                this.taxesField = value;
                this.RaisePropertyChanged("Taxes");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Fees {
            get {
                return this.feesField;
            }
            set {
                this.feesField = value;
                this.RaisePropertyChanged("Fees");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Services {
            get {
                return this.servicesField;
            }
            set {
                this.servicesField = value;
                this.RaisePropertyChanged("Services");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApproximateTaxes {
            get {
                return this.approximateTaxesField;
            }
            set {
                this.approximateTaxesField = value;
                this.RaisePropertyChanged("ApproximateTaxes");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApproximateFees {
            get {
                return this.approximateFeesField;
            }
            set {
                this.approximateFeesField = value;
                this.RaisePropertyChanged("ApproximateFees");
            }
        }
        
        /// <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/rail_v53_0")]
    public partial class RailFare : object, System.ComponentModel.INotifyPropertyChanged {
        
        private RailFareNoteRef[] railFareNoteRefField;
        
        private object[] itemsField;
        
        private FareValidity[] fareValidityField;
        
        private HostToken hostTokenField;
        
        private string[] fulFillmentTypeField;
        
        private RailFareComponent[] railFareComponentField;
        
        private string keyField;
        
        private string fareBasisField;
        
        private string cabinClassField;
        
        private string passengerTypeCodeField;
        
        private string originField;
        
        private string destinationField;
        
        private string effectiveDateField;
        
        private string amountField;
        
        private string routeDescriptionField;
        
        private string ticketTypeCodeField;
        
        private string fareReferenceField;
        
        private bool crossCityFareField;
        
        private string originStationNameField;
        
        private string destinationStationNameField;
        
        private bool reservationRequiredField;
        
        private bool reservationRequiredFieldSpecified;
        
        private typeJourneyDirection journeyDirectionField;
        
        private bool journeyDirectionFieldSpecified;
        
        private string railLocOriginField;
        
        private string railLocDestinationField;
        
        private typeElementStatus elStatField;
        
        private bool elStatFieldSpecified;
        
        private bool keyOverrideField;
        
        private bool keyOverrideFieldSpecified;
        
        public RailFare() {
            this.crossCityFareField = false;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RailFareNoteRef", Order=0)]
        public RailFareNoteRef[] RailFareNoteRef {
            get {
                return this.railFareNoteRefField;
            }
            set {
                this.railFareNoteRefField = value;
                this.RaisePropertyChanged("RailFareNoteRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RailFareID", typeof(RailFareID), Order=1)]
        [System.Xml.Serialization.XmlElementAttribute("RailFareIDRef", typeof(RailFareIDRef), Order=1)]
        public object[] Items {
            get {
                return this.itemsField;
            }
            set {
                this.itemsField = value;
                this.RaisePropertyChanged("Items");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("FareValidity", Order=2)]
        public FareValidity[] FareValidity {
            get {
                return this.fareValidityField;
            }
            set {
                this.fareValidityField = value;
                this.RaisePropertyChanged("FareValidity");
            }
        }
        
        /// <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.XmlElementAttribute("FulFillmentType", Order=4)]
        public string[] FulFillmentType {
            get {
                return this.fulFillmentTypeField;
            }
            set {
                this.fulFillmentTypeField = value;
                this.RaisePropertyChanged("FulFillmentType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RailFareComponent", Order=5)]
        public RailFareComponent[] RailFareComponent {
            get {
                return this.railFareComponentField;
            }
            set {
                this.railFareComponentField = value;
                this.RaisePropertyChanged("RailFareComponent");
            }
        }
        
        /// <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 FareBasis {
            get {
                return this.fareBasisField;
            }
            set {
                this.fareBasisField = value;
                this.RaisePropertyChanged("FareBasis");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CabinClass {
            get {
                return this.cabinClassField;
            }
            set {
                this.cabinClassField = value;
                this.RaisePropertyChanged("CabinClass");
            }
        }
        
        /// <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 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 EffectiveDate {
            get {
                return this.effectiveDateField;
            }
            set {
                this.effectiveDateField = value;
                this.RaisePropertyChanged("EffectiveDate");
            }
        }
        
        /// <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 RouteDescription {
            get {
                return this.routeDescriptionField;
            }
            set {
                this.routeDescriptionField = value;
                this.RaisePropertyChanged("RouteDescription");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TicketTypeCode {
            get {
                return this.ticketTypeCodeField;
            }
            set {
                this.ticketTypeCodeField = value;
                this.RaisePropertyChanged("TicketTypeCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string FareReference {
            get {
                return this.fareReferenceField;
            }
            set {
                this.fareReferenceField = value;
                this.RaisePropertyChanged("FareReference");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool CrossCityFare {
            get {
                return this.crossCityFareField;
            }
            set {
                this.crossCityFareField = value;
                this.RaisePropertyChanged("CrossCityFare");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string OriginStationName {
            get {
                return this.originStationNameField;
            }
            set {
                this.originStationNameField = value;
                this.RaisePropertyChanged("OriginStationName");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string DestinationStationName {
            get {
                return this.destinationStationNameField;
            }
            set {
                this.destinationStationNameField = value;
                this.RaisePropertyChanged("DestinationStationName");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool ReservationRequired {
            get {
                return this.reservationRequiredField;
            }
            set {
                this.reservationRequiredField = value;
                this.RaisePropertyChanged("ReservationRequired");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ReservationRequiredSpecified {
            get {
                return this.reservationRequiredFieldSpecified;
            }
            set {
                this.reservationRequiredFieldSpecified = value;
                this.RaisePropertyChanged("ReservationRequiredSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeJourneyDirection JourneyDirection {
            get {
                return this.journeyDirectionField;
            }
            set {
                this.journeyDirectionField = value;
                this.RaisePropertyChanged("JourneyDirection");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool JourneyDirectionSpecified {
            get {
                return this.journeyDirectionFieldSpecified;
            }
            set {
                this.journeyDirectionFieldSpecified = value;
                this.RaisePropertyChanged("JourneyDirectionSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string RailLocOrigin {
            get {
                return this.railLocOriginField;
            }
            set {
                this.railLocOriginField = value;
                this.RaisePropertyChanged("RailLocOrigin");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string RailLocDestination {
            get {
                return this.railLocDestinationField;
            }
            set {
                this.railLocDestinationField = value;
                this.RaisePropertyChanged("RailLocDestination");
            }
        }
        
        /// <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/rail_v53_0")]
    public partial class RailFareNoteRef : 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/rail_v53_0")]
    public partial class RailFareID : 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/rail_v53_0")]
    public partial class RailFareIDRef : 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/rail_v53_0")]
    public partial class FareValidity : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string railJourneyRefField;
        
        private System.DateTime notValidBeforeField;
        
        private bool notValidBeforeFieldSpecified;
        
        private System.DateTime notValidAfterField;
        
        private bool notValidAfterFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string RailJourneyRef {
            get {
                return this.railJourneyRefField;
            }
            set {
                this.railJourneyRefField = value;
                this.RaisePropertyChanged("RailJourneyRef");
            }
        }
        
        /// <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/rail_v53_0")]
    public partial class RailFareComponent : object, System.ComponentModel.INotifyPropertyChanged {
        
        private RailFareComponentDiscount[] discountField;
        
        private string keyField;
        
        private string amountField;
        
        private string ageField;
        
        private string passengerTypeCodeField;
        
        private string supplierPassengerTypeField;
        
        private string quantityField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Discount", Order=0)]
        public RailFareComponentDiscount[] Discount {
            get {
                return this.discountField;
            }
            set {
                this.discountField = value;
                this.RaisePropertyChanged("Discount");
            }
        }
        
        /// <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(DataType="integer")]
        public string Age {
            get {
                return this.ageField;
            }
            set {
                this.ageField = value;
                this.RaisePropertyChanged("Age");
            }
        }
        
        /// <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 SupplierPassengerType {
            get {
                return this.supplierPassengerTypeField;
            }
            set {
                this.supplierPassengerTypeField = value;
                this.RaisePropertyChanged("SupplierPassengerType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        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/rail_v53_0")]
    public partial class RailFareComponentDiscount : object, System.ComponentModel.INotifyPropertyChanged {
        
        private DiscountCard[] discountCardField;
        
        private string keyField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("DiscountCard", Namespace="http://www.travelport.com/schema/common_v53_0", Order=0)]
        public DiscountCard[] DiscountCard {
            get {
                return this.discountCardField;
            }
            set {
                this.discountCardField = value;
                this.RaisePropertyChanged("DiscountCard");
            }
        }
        
        /// <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 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/rail_v53_0")]
    public partial class RailFareRef : 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/rail_v53_0")]
    public partial class RailBookingInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string railFareRefField;
        
        private string railJourneyRefField;
        
        private bool optionalServiceField;
        
        public RailBookingInfo() {
            this.optionalServiceField = false;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string RailFareRef {
            get {
                return this.railFareRefField;
            }
            set {
                this.railFareRefField = value;
                this.RaisePropertyChanged("RailFareRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string RailJourneyRef {
            get {
                return this.railJourneyRefField;
            }
            set {
                this.railJourneyRefField = value;
                this.RaisePropertyChanged("RailJourneyRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool OptionalService {
            get {
                return this.optionalServiceField;
            }
            set {
                this.optionalServiceField = value;
                this.RaisePropertyChanged("OptionalService");
            }
        }
        
        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.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(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 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(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 PaymentRef1[] 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 PaymentRef1[] 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 PaymentRef1 : 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 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/vehicle_v53_0")]
    public partial class typePaymentInformation : object, System.ComponentModel.INotifyPropertyChanged {
        
        private typeVoucherInformation voucherField;
        
        private string billingNumberField;
        
        private string billingReferenceNumberField;
        
        private string prePaymentField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public typeVoucherInformation Voucher {
            get {
                return this.voucherField;
            }
            set {
                this.voucherField = value;
                this.RaisePropertyChanged("Voucher");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string BillingNumber {
            get {
                return this.billingNumberField;
            }
            set {
                this.billingNumberField = value;
                this.RaisePropertyChanged("BillingNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string BillingReferenceNumber {
            get {
                return this.billingReferenceNumberField;
            }
            set {
                this.billingReferenceNumberField = value;
                this.RaisePropertyChanged("BillingReferenceNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PrePayment {
            get {
                return this.prePaymentField;
            }
            set {
                this.prePaymentField = value;
                this.RaisePropertyChanged("PrePayment");
            }
        }
        
        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/vehicle_v53_0")]
    public partial class typeRateInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string rateForPeriodField;
        
        private int numberOfPeriodsField;
        
        private bool numberOfPeriodsFieldSpecified;
        
        private bool unlimitedMileageField;
        
        private bool unlimitedMileageFieldSpecified;
        
        private int mileageAllowanceField;
        
        private bool mileageAllowanceFieldSpecified;
        
        private typeDistance unitsField;
        
        private bool unitsFieldSpecified;
        
        private string extraMileageChargeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string RateForPeriod {
            get {
                return this.rateForPeriodField;
            }
            set {
                this.rateForPeriodField = value;
                this.RaisePropertyChanged("RateForPeriod");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public int NumberOfPeriods {
            get {
                return this.numberOfPeriodsField;
            }
            set {
                this.numberOfPeriodsField = value;
                this.RaisePropertyChanged("NumberOfPeriods");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool NumberOfPeriodsSpecified {
            get {
                return this.numberOfPeriodsFieldSpecified;
            }
            set {
                this.numberOfPeriodsFieldSpecified = value;
                this.RaisePropertyChanged("NumberOfPeriodsSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool UnlimitedMileage {
            get {
                return this.unlimitedMileageField;
            }
            set {
                this.unlimitedMileageField = value;
                this.RaisePropertyChanged("UnlimitedMileage");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool UnlimitedMileageSpecified {
            get {
                return this.unlimitedMileageFieldSpecified;
            }
            set {
                this.unlimitedMileageFieldSpecified = value;
                this.RaisePropertyChanged("UnlimitedMileageSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public int MileageAllowance {
            get {
                return this.mileageAllowanceField;
            }
            set {
                this.mileageAllowanceField = value;
                this.RaisePropertyChanged("MileageAllowance");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool MileageAllowanceSpecified {
            get {
                return this.mileageAllowanceFieldSpecified;
            }
            set {
                this.mileageAllowanceFieldSpecified = value;
                this.RaisePropertyChanged("MileageAllowanceSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeDistance Units {
            get {
                return this.unitsField;
            }
            set {
                this.unitsField = value;
                this.RaisePropertyChanged("Units");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool UnitsSpecified {
            get {
                return this.unitsFieldSpecified;
            }
            set {
                this.unitsFieldSpecified = value;
                this.RaisePropertyChanged("UnitsSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ExtraMileageCharge {
            get {
                return this.extraMileageChargeField;
            }
            set {
                this.extraMileageChargeField = value;
                this.RaisePropertyChanged("ExtraMileageCharge");
            }
        }
        
        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 typeDistance {
        
        /// <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(Namespace="http://www.travelport.com/schema/vehicle_v53_0")]
    public partial class typeRateHostIndicator : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string inventoryTokenField;
        
        private string rateTokenField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string InventoryToken {
            get {
                return this.inventoryTokenField;
            }
            set {
                this.inventoryTokenField = value;
                this.RaisePropertyChanged("InventoryToken");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string RateToken {
            get {
                return this.rateTokenField;
            }
            set {
                this.rateTokenField = value;
                this.RaisePropertyChanged("RateToken");
            }
        }
        
        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/vehicle_v53_0")]
    public partial class typeVehicleRateDescription : 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/vehicle_v53_0")]
    public partial class typeVehicleCharge : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string itemField;
        
        private ItemChoiceType3 itemElementNameField;
        
        private string categoryField;
        
        private string nameField;
        
        private string descriptionField;
        
        private typeVehicleChargeType typeField;
        
        private bool typeFieldSpecified;
        
        private typeVehicleChargeIncludedInRate includedInRateField;
        
        private bool includedInRateFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Amount", typeof(string), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("Percentage", 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 ItemChoiceType3 ItemElementName {
            get {
                return this.itemElementNameField;
            }
            set {
                this.itemElementNameField = value;
                this.RaisePropertyChanged("ItemElementName");
            }
        }
        
        /// <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 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");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeVehicleChargeType 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 typeVehicleChargeIncludedInRate IncludedInRate {
            get {
                return this.includedInRateField;
            }
            set {
                this.includedInRateField = value;
                this.RaisePropertyChanged("IncludedInRate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool IncludedInRateSpecified {
            get {
                return this.includedInRateFieldSpecified;
            }
            set {
                this.includedInRateFieldSpecified = value;
                this.RaisePropertyChanged("IncludedInRateSpecified");
            }
        }
        
        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/vehicle_v53_0", IncludeInSchema=false)]
    public enum ItemChoiceType3 {
        
        /// <remarks/>
        Amount,
        
        /// <remarks/>
        Percentage,
    }
    
    /// <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/vehicle_v53_0")]
    public enum typeVehicleChargeType {
        
        /// <remarks/>
        NoCharge,
        
        /// <remarks/>
        Percent,
        
        /// <remarks/>
        Rental,
        
        /// <remarks/>
        PerContract,
        
        /// <remarks/>
        PerHour,
        
        /// <remarks/>
        PerDay,
        
        /// <remarks/>
        PerWeek,
        
        /// <remarks/>
        PerMonth,
    }
    
    /// <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/vehicle_v53_0")]
    public enum typeVehicleChargeIncludedInRate {
        
        /// <remarks/>
        NotIncluded,
        
        /// <remarks/>
        IncludedInBase,
        
        /// <remarks/>
        IncludedInTotal,
    }
    
    /// <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/vehicle_v53_0")]
    public partial class typeRateVariance : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string typeField;
        
        private decimal valueField;
        
        private string applyField;
        
        /// <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 decimal Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
                this.RaisePropertyChanged("Value");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Apply {
            get {
                return this.applyField;
            }
            set {
                this.applyField = value;
                this.RaisePropertyChanged("Apply");
            }
        }
        
        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/vehicle_v53_0")]
    public partial class typeVehicleRates : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string estimatedTotalAmountField;
        
        private string baseRateField;
        
        private string rateForPeriodField;
        
        private string dropOffChargeField;
        
        private string youngDriverChargeField;
        
        private string seniorDriverChargeField;
        
        private string fuelSurchargeField;
        
        private string extraMileageChargeField;
        
        private string payNowField;
        
        private string payLaterField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string EstimatedTotalAmount {
            get {
                return this.estimatedTotalAmountField;
            }
            set {
                this.estimatedTotalAmountField = value;
                this.RaisePropertyChanged("EstimatedTotalAmount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string BaseRate {
            get {
                return this.baseRateField;
            }
            set {
                this.baseRateField = value;
                this.RaisePropertyChanged("BaseRate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string RateForPeriod {
            get {
                return this.rateForPeriodField;
            }
            set {
                this.rateForPeriodField = value;
                this.RaisePropertyChanged("RateForPeriod");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string DropOffCharge {
            get {
                return this.dropOffChargeField;
            }
            set {
                this.dropOffChargeField = value;
                this.RaisePropertyChanged("DropOffCharge");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string YoungDriverCharge {
            get {
                return this.youngDriverChargeField;
            }
            set {
                this.youngDriverChargeField = value;
                this.RaisePropertyChanged("YoungDriverCharge");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string SeniorDriverCharge {
            get {
                return this.seniorDriverChargeField;
            }
            set {
                this.seniorDriverChargeField = value;
                this.RaisePropertyChanged("SeniorDriverCharge");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string FuelSurcharge {
            get {
                return this.fuelSurchargeField;
            }
            set {
                this.fuelSurchargeField = value;
                this.RaisePropertyChanged("FuelSurcharge");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ExtraMileageCharge {
            get {
                return this.extraMileageChargeField;
            }
            set {
                this.extraMileageChargeField = value;
                this.RaisePropertyChanged("ExtraMileageCharge");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PayNow {
            get {
                return this.payNowField;
            }
            set {
                this.payNowField = value;
                this.RaisePropertyChanged("PayNow");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PayLater {
            get {
                return this.payLaterField;
            }
            set {
                this.payLaterField = value;
                this.RaisePropertyChanged("PayLater");
            }
        }
        
        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(typeVehicleVendorLocation))]
    [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(Namespace="http://www.travelport.com/schema/vehicle_v53_0")]
    public partial class typeVehicleVendorLocation : typeVendorLocation {
        
        private typeVehicleLocation locationTypeField;
        
        private bool locationTypeFieldSpecified;
        
        private string locationCodeField;
        
        private typeVehicleVendorLocationType typeField;
        
        private bool typeFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeVehicleLocation LocationType {
            get {
                return this.locationTypeField;
            }
            set {
                this.locationTypeField = value;
                this.RaisePropertyChanged("LocationType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool LocationTypeSpecified {
            get {
                return this.locationTypeFieldSpecified;
            }
            set {
                this.locationTypeFieldSpecified = value;
                this.RaisePropertyChanged("LocationTypeSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string LocationCode {
            get {
                return this.locationCodeField;
            }
            set {
                this.locationCodeField = value;
                this.RaisePropertyChanged("LocationCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeVehicleVendorLocationType 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.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 typeVehicleLocation {
        
        /// <remarks/>
        Terminal,
        
        /// <remarks/>
        ShuttleOnAirport,
        
        /// <remarks/>
        ShuttleOffAirport,
        
        /// <remarks/>
        RailwayStation,
        
        /// <remarks/>
        Hotel,
        
        /// <remarks/>
        CarDealer,
        
        /// <remarks/>
        CityCenterDowntown,
        
        /// <remarks/>
        EastOfCityCenter,
        
        /// <remarks/>
        SouthOfCityCenter,
        
        /// <remarks/>
        WestOfCityCenter,
        
        /// <remarks/>
        NorthOfCityCenter,
        
        /// <remarks/>
        PortOrFerry,
        
        /// <remarks/>
        NearResort,
        
        /// <remarks/>
        Airport,
        
        /// <remarks/>
        Unknown,
        
        /// <remarks/>
        Military,
        
        /// <remarks/>
        FixedBaseOperations,
    }
    
    /// <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/vehicle_v53_0")]
    public enum typeVehicleVendorLocationType {
        
        /// <remarks/>
        Pickup,
        
        /// <remarks/>
        Return,
    }
    
    /// <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 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 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(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/air_v53_0")]
    public partial class AmenitiesTextType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string typeField;
        
        private string languageCodeField;
        
        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 LanguageCode {
            get {
                return this.languageCodeField;
            }
            set {
                this.languageCodeField = value;
                this.RaisePropertyChanged("LanguageCode");
            }
        }
        
        /// <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 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(TypeName="typeNonAirReservationRef", Namespace="http://www.travelport.com/schema/air_v53_0")]
    public partial class typeNonAirReservationRef1 : 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(TypeName="typeSegmentRef", Namespace="http://www.travelport.com/schema/air_v53_0")]
    public partial class typeSegmentRef1 : 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/air_v53_0")]
    public partial class typeTicketModifierValueType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string valueField;
        
        private bool netFareValueField;
        
        private bool netFareValueFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
                this.RaisePropertyChanged("Value");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool NetFareValue {
            get {
                return this.netFareValueField;
            }
            set {
                this.netFareValueField = value;
                this.RaisePropertyChanged("NetFareValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool NetFareValueSpecified {
            get {
                return this.netFareValueFieldSpecified;
            }
            set {
                this.netFareValueFieldSpecified = value;
                this.RaisePropertyChanged("NetFareValueSpecified");
            }
        }
        
        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/air_v53_0")]
    public partial class typeBulkTicketModifierType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private bool suppressOnFareCalcField;
        
        private bool suppressOnFareCalcFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool SuppressOnFareCalc {
            get {
                return this.suppressOnFareCalcField;
            }
            set {
                this.suppressOnFareCalcField = value;
                this.RaisePropertyChanged("SuppressOnFareCalc");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool SuppressOnFareCalcSpecified {
            get {
                return this.suppressOnFareCalcFieldSpecified;
            }
            set {
                this.suppressOnFareCalcFieldSpecified = value;
                this.RaisePropertyChanged("SuppressOnFareCalcSpecified");
            }
        }
        
        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/air_v53_0")]
    public partial class typeTicketModifierAccountingType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        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/air_v53_0")]
    public partial class typeTicketModifierAmountType : 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/air_v53_0")]
    public partial class PriceChangeType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string amountField;
        
        private string carrierField;
        
        private string segmentRefField;
        
        private string valueField;
        
        /// <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 Carrier {
            get {
                return this.carrierField;
            }
            set {
                this.carrierField = value;
                this.RaisePropertyChanged("Carrier");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string SegmentRef {
            get {
                return this.segmentRefField;
            }
            set {
                this.segmentRefField = value;
                this.RaisePropertyChanged("SegmentRef");
            }
        }
        
        /// <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/air_v53_0")]
    public partial class typeUnitOfMeasure : object, System.ComponentModel.INotifyPropertyChanged {
        
        private float valueField;
        
        private bool valueFieldSpecified;
        
        private string unitField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public float Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
                this.RaisePropertyChanged("Value");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ValueSpecified {
            get {
                return this.valueFieldSpecified;
            }
            set {
                this.valueFieldSpecified = value;
                this.RaisePropertyChanged("ValueSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Unit {
            get {
                return this.unitField;
            }
            set {
                this.unitField = value;
                this.RaisePropertyChanged("Unit");
            }
        }
        
        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/air_v53_0")]
    public partial class BaseBaggageAllowanceInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private URLInfo[] uRLInfoField;
        
        private TextInfo[] textInfoField;
        
        private string originField;
        
        private string destinationField;
        
        private string carrierField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("URLInfo", Order=0)]
        public URLInfo[] URLInfo {
            get {
                return this.uRLInfoField;
            }
            set {
                this.uRLInfoField = value;
                this.RaisePropertyChanged("URLInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("TextInfo", Order=1)]
        public TextInfo[] TextInfo {
            get {
                return this.textInfoField;
            }
            set {
                this.textInfoField = value;
                this.RaisePropertyChanged("TextInfo");
            }
        }
        
        /// <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 Carrier {
            get {
                return this.carrierField;
            }
            set {
                this.carrierField = value;
                this.RaisePropertyChanged("Carrier");
            }
        }
        
        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/air_v53_0")]
    public partial class URLInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string[] textField;
        
        private string[] uRLField;
        
        /// <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.XmlElementAttribute("URL", DataType="anyURI", Order=1)]
        public string[] URL {
            get {
                return this.uRLField;
            }
            set {
                this.uRLField = value;
                this.RaisePropertyChanged("URL");
            }
        }
        
        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/air_v53_0")]
    public partial class TextInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string[] textField;
        
        private string titleField;
        
        /// <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 Title {
            get {
                return this.titleField;
            }
            set {
                this.titleField = value;
                this.RaisePropertyChanged("Title");
            }
        }
        
        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/air_v53_0")]
    public partial class typeRestrictionData : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string amountField;
        
        private string percentageField;
        
        private string nameField;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string Amount {
            get {
                return this.amountField;
            }
            set {
                this.amountField = value;
                this.RaisePropertyChanged("Amount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public string Percentage {
            get {
                return this.percentageField;
            }
            set {
                this.percentageField = value;
                this.RaisePropertyChanged("Percentage");
            }
        }
        
        /// <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 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/air_v53_0")]
    public partial class OTHType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private bool cat0Field;
        
        private bool cat0FieldSpecified;
        
        private bool cat1Field;
        
        private bool cat1FieldSpecified;
        
        private bool cat2Field;
        
        private bool cat2FieldSpecified;
        
        private bool cat3Field;
        
        private bool cat3FieldSpecified;
        
        private bool cat4Field;
        
        private bool cat4FieldSpecified;
        
        private bool cat5Field;
        
        private bool cat5FieldSpecified;
        
        private bool cat6Field;
        
        private bool cat6FieldSpecified;
        
        private bool cat7Field;
        
        private bool cat7FieldSpecified;
        
        private bool cat8Field;
        
        private bool cat8FieldSpecified;
        
        private bool cat9Field;
        
        private bool cat9FieldSpecified;
        
        private bool cat10Field;
        
        private bool cat10FieldSpecified;
        
        private bool cat11Field;
        
        private bool cat11FieldSpecified;
        
        private bool cat12Field;
        
        private bool cat12FieldSpecified;
        
        private bool cat13Field;
        
        private bool cat13FieldSpecified;
        
        private bool cat14Field;
        
        private bool cat14FieldSpecified;
        
        private bool cat15Field;
        
        private bool cat15FieldSpecified;
        
        private bool cat16Field;
        
        private bool cat16FieldSpecified;
        
        private bool cat17Field;
        
        private bool cat17FieldSpecified;
        
        private bool cat18Field;
        
        private bool cat18FieldSpecified;
        
        private bool cat19Field;
        
        private bool cat19FieldSpecified;
        
        private bool cat20Field;
        
        private bool cat20FieldSpecified;
        
        private bool cat21Field;
        
        private bool cat21FieldSpecified;
        
        private bool cat22Field;
        
        private bool cat22FieldSpecified;
        
        private bool cat23Field;
        
        private bool cat23FieldSpecified;
        
        private bool cat24Field;
        
        private bool cat24FieldSpecified;
        
        private bool cat25Field;
        
        private bool cat25FieldSpecified;
        
        private bool cat26Field;
        
        private bool cat26FieldSpecified;
        
        private bool cat27Field;
        
        private bool cat27FieldSpecified;
        
        private bool cat28Field;
        
        private bool cat28FieldSpecified;
        
        private bool cat29Field;
        
        private bool cat29FieldSpecified;
        
        private bool cat30Field;
        
        private bool cat30FieldSpecified;
        
        private bool cat31Field;
        
        private bool cat31FieldSpecified;
        
        private System.DateTime restrictiveDtField;
        
        private bool restrictiveDtFieldSpecified;
        
        private decimal surchargeAmtField;
        
        private bool surchargeAmtFieldSpecified;
        
        private bool notUSACityField;
        
        private bool notUSACityFieldSpecified;
        
        private bool missingRulesField;
        
        private bool missingRulesFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Cat0 {
            get {
                return this.cat0Field;
            }
            set {
                this.cat0Field = value;
                this.RaisePropertyChanged("Cat0");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool Cat0Specified {
            get {
                return this.cat0FieldSpecified;
            }
            set {
                this.cat0FieldSpecified = value;
                this.RaisePropertyChanged("Cat0Specified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Cat1 {
            get {
                return this.cat1Field;
            }
            set {
                this.cat1Field = value;
                this.RaisePropertyChanged("Cat1");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool Cat1Specified {
            get {
                return this.cat1FieldSpecified;
            }
            set {
                this.cat1FieldSpecified = value;
                this.RaisePropertyChanged("Cat1Specified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Cat2 {
            get {
                return this.cat2Field;
            }
            set {
                this.cat2Field = value;
                this.RaisePropertyChanged("Cat2");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool Cat2Specified {
            get {
                return this.cat2FieldSpecified;
            }
            set {
                this.cat2FieldSpecified = value;
                this.RaisePropertyChanged("Cat2Specified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Cat3 {
            get {
                return this.cat3Field;
            }
            set {
                this.cat3Field = value;
                this.RaisePropertyChanged("Cat3");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool Cat3Specified {
            get {
                return this.cat3FieldSpecified;
            }
            set {
                this.cat3FieldSpecified = value;
                this.RaisePropertyChanged("Cat3Specified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Cat4 {
            get {
                return this.cat4Field;
            }
            set {
                this.cat4Field = value;
                this.RaisePropertyChanged("Cat4");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool Cat4Specified {
            get {
                return this.cat4FieldSpecified;
            }
            set {
                this.cat4FieldSpecified = value;
                this.RaisePropertyChanged("Cat4Specified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Cat5 {
            get {
                return this.cat5Field;
            }
            set {
                this.cat5Field = value;
                this.RaisePropertyChanged("Cat5");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool Cat5Specified {
            get {
                return this.cat5FieldSpecified;
            }
            set {
                this.cat5FieldSpecified = value;
                this.RaisePropertyChanged("Cat5Specified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Cat6 {
            get {
                return this.cat6Field;
            }
            set {
                this.cat6Field = value;
                this.RaisePropertyChanged("Cat6");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool Cat6Specified {
            get {
                return this.cat6FieldSpecified;
            }
            set {
                this.cat6FieldSpecified = value;
                this.RaisePropertyChanged("Cat6Specified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Cat7 {
            get {
                return this.cat7Field;
            }
            set {
                this.cat7Field = value;
                this.RaisePropertyChanged("Cat7");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool Cat7Specified {
            get {
                return this.cat7FieldSpecified;
            }
            set {
                this.cat7FieldSpecified = value;
                this.RaisePropertyChanged("Cat7Specified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Cat8 {
            get {
                return this.cat8Field;
            }
            set {
                this.cat8Field = value;
                this.RaisePropertyChanged("Cat8");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool Cat8Specified {
            get {
                return this.cat8FieldSpecified;
            }
            set {
                this.cat8FieldSpecified = value;
                this.RaisePropertyChanged("Cat8Specified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Cat9 {
            get {
                return this.cat9Field;
            }
            set {
                this.cat9Field = value;
                this.RaisePropertyChanged("Cat9");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool Cat9Specified {
            get {
                return this.cat9FieldSpecified;
            }
            set {
                this.cat9FieldSpecified = value;
                this.RaisePropertyChanged("Cat9Specified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Cat10 {
            get {
                return this.cat10Field;
            }
            set {
                this.cat10Field = value;
                this.RaisePropertyChanged("Cat10");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool Cat10Specified {
            get {
                return this.cat10FieldSpecified;
            }
            set {
                this.cat10FieldSpecified = value;
                this.RaisePropertyChanged("Cat10Specified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Cat11 {
            get {
                return this.cat11Field;
            }
            set {
                this.cat11Field = value;
                this.RaisePropertyChanged("Cat11");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool Cat11Specified {
            get {
                return this.cat11FieldSpecified;
            }
            set {
                this.cat11FieldSpecified = value;
                this.RaisePropertyChanged("Cat11Specified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Cat12 {
            get {
                return this.cat12Field;
            }
            set {
                this.cat12Field = value;
                this.RaisePropertyChanged("Cat12");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool Cat12Specified {
            get {
                return this.cat12FieldSpecified;
            }
            set {
                this.cat12FieldSpecified = value;
                this.RaisePropertyChanged("Cat12Specified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Cat13 {
            get {
                return this.cat13Field;
            }
            set {
                this.cat13Field = value;
                this.RaisePropertyChanged("Cat13");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool Cat13Specified {
            get {
                return this.cat13FieldSpecified;
            }
            set {
                this.cat13FieldSpecified = value;
                this.RaisePropertyChanged("Cat13Specified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Cat14 {
            get {
                return this.cat14Field;
            }
            set {
                this.cat14Field = value;
                this.RaisePropertyChanged("Cat14");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool Cat14Specified {
            get {
                return this.cat14FieldSpecified;
            }
            set {
                this.cat14FieldSpecified = value;
                this.RaisePropertyChanged("Cat14Specified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Cat15 {
            get {
                return this.cat15Field;
            }
            set {
                this.cat15Field = value;
                this.RaisePropertyChanged("Cat15");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool Cat15Specified {
            get {
                return this.cat15FieldSpecified;
            }
            set {
                this.cat15FieldSpecified = value;
                this.RaisePropertyChanged("Cat15Specified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Cat16 {
            get {
                return this.cat16Field;
            }
            set {
                this.cat16Field = value;
                this.RaisePropertyChanged("Cat16");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool Cat16Specified {
            get {
                return this.cat16FieldSpecified;
            }
            set {
                this.cat16FieldSpecified = value;
                this.RaisePropertyChanged("Cat16Specified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Cat17 {
            get {
                return this.cat17Field;
            }
            set {
                this.cat17Field = value;
                this.RaisePropertyChanged("Cat17");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool Cat17Specified {
            get {
                return this.cat17FieldSpecified;
            }
            set {
                this.cat17FieldSpecified = value;
                this.RaisePropertyChanged("Cat17Specified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Cat18 {
            get {
                return this.cat18Field;
            }
            set {
                this.cat18Field = value;
                this.RaisePropertyChanged("Cat18");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool Cat18Specified {
            get {
                return this.cat18FieldSpecified;
            }
            set {
                this.cat18FieldSpecified = value;
                this.RaisePropertyChanged("Cat18Specified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Cat19 {
            get {
                return this.cat19Field;
            }
            set {
                this.cat19Field = value;
                this.RaisePropertyChanged("Cat19");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool Cat19Specified {
            get {
                return this.cat19FieldSpecified;
            }
            set {
                this.cat19FieldSpecified = value;
                this.RaisePropertyChanged("Cat19Specified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Cat20 {
            get {
                return this.cat20Field;
            }
            set {
                this.cat20Field = value;
                this.RaisePropertyChanged("Cat20");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool Cat20Specified {
            get {
                return this.cat20FieldSpecified;
            }
            set {
                this.cat20FieldSpecified = value;
                this.RaisePropertyChanged("Cat20Specified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Cat21 {
            get {
                return this.cat21Field;
            }
            set {
                this.cat21Field = value;
                this.RaisePropertyChanged("Cat21");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool Cat21Specified {
            get {
                return this.cat21FieldSpecified;
            }
            set {
                this.cat21FieldSpecified = value;
                this.RaisePropertyChanged("Cat21Specified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Cat22 {
            get {
                return this.cat22Field;
            }
            set {
                this.cat22Field = value;
                this.RaisePropertyChanged("Cat22");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool Cat22Specified {
            get {
                return this.cat22FieldSpecified;
            }
            set {
                this.cat22FieldSpecified = value;
                this.RaisePropertyChanged("Cat22Specified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Cat23 {
            get {
                return this.cat23Field;
            }
            set {
                this.cat23Field = value;
                this.RaisePropertyChanged("Cat23");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool Cat23Specified {
            get {
                return this.cat23FieldSpecified;
            }
            set {
                this.cat23FieldSpecified = value;
                this.RaisePropertyChanged("Cat23Specified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Cat24 {
            get {
                return this.cat24Field;
            }
            set {
                this.cat24Field = value;
                this.RaisePropertyChanged("Cat24");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool Cat24Specified {
            get {
                return this.cat24FieldSpecified;
            }
            set {
                this.cat24FieldSpecified = value;
                this.RaisePropertyChanged("Cat24Specified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Cat25 {
            get {
                return this.cat25Field;
            }
            set {
                this.cat25Field = value;
                this.RaisePropertyChanged("Cat25");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool Cat25Specified {
            get {
                return this.cat25FieldSpecified;
            }
            set {
                this.cat25FieldSpecified = value;
                this.RaisePropertyChanged("Cat25Specified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Cat26 {
            get {
                return this.cat26Field;
            }
            set {
                this.cat26Field = value;
                this.RaisePropertyChanged("Cat26");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool Cat26Specified {
            get {
                return this.cat26FieldSpecified;
            }
            set {
                this.cat26FieldSpecified = value;
                this.RaisePropertyChanged("Cat26Specified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Cat27 {
            get {
                return this.cat27Field;
            }
            set {
                this.cat27Field = value;
                this.RaisePropertyChanged("Cat27");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool Cat27Specified {
            get {
                return this.cat27FieldSpecified;
            }
            set {
                this.cat27FieldSpecified = value;
                this.RaisePropertyChanged("Cat27Specified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Cat28 {
            get {
                return this.cat28Field;
            }
            set {
                this.cat28Field = value;
                this.RaisePropertyChanged("Cat28");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool Cat28Specified {
            get {
                return this.cat28FieldSpecified;
            }
            set {
                this.cat28FieldSpecified = value;
                this.RaisePropertyChanged("Cat28Specified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Cat29 {
            get {
                return this.cat29Field;
            }
            set {
                this.cat29Field = value;
                this.RaisePropertyChanged("Cat29");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool Cat29Specified {
            get {
                return this.cat29FieldSpecified;
            }
            set {
                this.cat29FieldSpecified = value;
                this.RaisePropertyChanged("Cat29Specified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Cat30 {
            get {
                return this.cat30Field;
            }
            set {
                this.cat30Field = value;
                this.RaisePropertyChanged("Cat30");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool Cat30Specified {
            get {
                return this.cat30FieldSpecified;
            }
            set {
                this.cat30FieldSpecified = value;
                this.RaisePropertyChanged("Cat30Specified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Cat31 {
            get {
                return this.cat31Field;
            }
            set {
                this.cat31Field = value;
                this.RaisePropertyChanged("Cat31");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool Cat31Specified {
            get {
                return this.cat31FieldSpecified;
            }
            set {
                this.cat31FieldSpecified = value;
                this.RaisePropertyChanged("Cat31Specified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="date")]
        public System.DateTime RestrictiveDt {
            get {
                return this.restrictiveDtField;
            }
            set {
                this.restrictiveDtField = value;
                this.RaisePropertyChanged("RestrictiveDt");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RestrictiveDtSpecified {
            get {
                return this.restrictiveDtFieldSpecified;
            }
            set {
                this.restrictiveDtFieldSpecified = value;
                this.RaisePropertyChanged("RestrictiveDtSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public decimal SurchargeAmt {
            get {
                return this.surchargeAmtField;
            }
            set {
                this.surchargeAmtField = value;
                this.RaisePropertyChanged("SurchargeAmt");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool SurchargeAmtSpecified {
            get {
                return this.surchargeAmtFieldSpecified;
            }
            set {
                this.surchargeAmtFieldSpecified = value;
                this.RaisePropertyChanged("SurchargeAmtSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool NotUSACity {
            get {
                return this.notUSACityField;
            }
            set {
                this.notUSACityField = value;
                this.RaisePropertyChanged("NotUSACity");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool NotUSACitySpecified {
            get {
                return this.notUSACityFieldSpecified;
            }
            set {
                this.notUSACityFieldSpecified = value;
                this.RaisePropertyChanged("NotUSACitySpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool MissingRules {
            get {
                return this.missingRulesField;
            }
            set {
                this.missingRulesField = value;
                this.RaisePropertyChanged("MissingRules");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool MissingRulesSpecified {
            get {
                return this.missingRulesFieldSpecified;
            }
            set {
                this.missingRulesFieldSpecified = value;
                this.RaisePropertyChanged("MissingRulesSpecified");
            }
        }
        
        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/air_v53_0")]
    public partial class ADVType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private bool advRsvnOnlyIfTkField;
        
        private bool advRsvnOnlyIfTkFieldSpecified;
        
        private bool advRsvnAnyTmField;
        
        private bool advRsvnAnyTmFieldSpecified;
        
        private bool advRsvnHrsField;
        
        private bool advRsvnHrsFieldSpecified;
        
        private bool advRsvnDaysField;
        
        private bool advRsvnDaysFieldSpecified;
        
        private bool advRsvnMonthsField;
        
        private bool advRsvnMonthsFieldSpecified;
        
        private bool advRsvnEarliestTmField;
        
        private bool advRsvnEarliestTmFieldSpecified;
        
        private bool advRsvnLatestTmField;
        
        private bool advRsvnLatestTmFieldSpecified;
        
        private bool advRsvnWaivedField;
        
        private bool advRsvnWaivedFieldSpecified;
        
        private bool advRsvnDataExistsField;
        
        private bool advRsvnDataExistsFieldSpecified;
        
        private bool advRsvnEndItemField;
        
        private bool advRsvnEndItemFieldSpecified;
        
        private bool advTkEarliestTmField;
        
        private bool advTkEarliestTmFieldSpecified;
        
        private bool advTkLatestTmField;
        
        private bool advTkLatestTmFieldSpecified;
        
        private bool advTkRsvnHrsField;
        
        private bool advTkRsvnHrsFieldSpecified;
        
        private bool advTkRsvnDaysField;
        
        private bool advTkRsvnDaysFieldSpecified;
        
        private bool advTkRsvnMonthsField;
        
        private bool advTkRsvnMonthsFieldSpecified;
        
        private bool advTkStartHrsField;
        
        private bool advTkStartHrsFieldSpecified;
        
        private bool advTkStartDaysField;
        
        private bool advTkStartDaysFieldSpecified;
        
        private bool advTkStartMonthsField;
        
        private bool advTkStartMonthsFieldSpecified;
        
        private bool advTkWaivedField;
        
        private bool advTkWaivedFieldSpecified;
        
        private bool advTkAnyTmField;
        
        private bool advTkAnyTmFieldSpecified;
        
        private bool advTkEndItemField;
        
        private bool advTkEndItemFieldSpecified;
        
        private string advRsvnTmField;
        
        private string advTkRsvnTmField;
        
        private string advTkStartTmField;
        
        private bool earliestRsvnDtPresentField;
        
        private bool earliestRsvnDtPresentFieldSpecified;
        
        private bool earliestTkDtPresentField;
        
        private bool earliestTkDtPresentFieldSpecified;
        
        private bool latestRsvnDtPresentField;
        
        private bool latestRsvnDtPresentFieldSpecified;
        
        private bool latestTkDtPresentField;
        
        private bool latestTkDtPresentFieldSpecified;
        
        private System.DateTime earliestRsvnDtField;
        
        private bool earliestRsvnDtFieldSpecified;
        
        private System.DateTime earliestTkDtField;
        
        private bool earliestTkDtFieldSpecified;
        
        private System.DateTime latestRsvnDtField;
        
        private bool latestRsvnDtFieldSpecified;
        
        private System.DateTime latestTkDtField;
        
        private bool latestTkDtFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool AdvRsvnOnlyIfTk {
            get {
                return this.advRsvnOnlyIfTkField;
            }
            set {
                this.advRsvnOnlyIfTkField = value;
                this.RaisePropertyChanged("AdvRsvnOnlyIfTk");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AdvRsvnOnlyIfTkSpecified {
            get {
                return this.advRsvnOnlyIfTkFieldSpecified;
            }
            set {
                this.advRsvnOnlyIfTkFieldSpecified = value;
                this.RaisePropertyChanged("AdvRsvnOnlyIfTkSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool AdvRsvnAnyTm {
            get {
                return this.advRsvnAnyTmField;
            }
            set {
                this.advRsvnAnyTmField = value;
                this.RaisePropertyChanged("AdvRsvnAnyTm");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AdvRsvnAnyTmSpecified {
            get {
                return this.advRsvnAnyTmFieldSpecified;
            }
            set {
                this.advRsvnAnyTmFieldSpecified = value;
                this.RaisePropertyChanged("AdvRsvnAnyTmSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool AdvRsvnHrs {
            get {
                return this.advRsvnHrsField;
            }
            set {
                this.advRsvnHrsField = value;
                this.RaisePropertyChanged("AdvRsvnHrs");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AdvRsvnHrsSpecified {
            get {
                return this.advRsvnHrsFieldSpecified;
            }
            set {
                this.advRsvnHrsFieldSpecified = value;
                this.RaisePropertyChanged("AdvRsvnHrsSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool AdvRsvnDays {
            get {
                return this.advRsvnDaysField;
            }
            set {
                this.advRsvnDaysField = value;
                this.RaisePropertyChanged("AdvRsvnDays");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AdvRsvnDaysSpecified {
            get {
                return this.advRsvnDaysFieldSpecified;
            }
            set {
                this.advRsvnDaysFieldSpecified = value;
                this.RaisePropertyChanged("AdvRsvnDaysSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool AdvRsvnMonths {
            get {
                return this.advRsvnMonthsField;
            }
            set {
                this.advRsvnMonthsField = value;
                this.RaisePropertyChanged("AdvRsvnMonths");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AdvRsvnMonthsSpecified {
            get {
                return this.advRsvnMonthsFieldSpecified;
            }
            set {
                this.advRsvnMonthsFieldSpecified = value;
                this.RaisePropertyChanged("AdvRsvnMonthsSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool AdvRsvnEarliestTm {
            get {
                return this.advRsvnEarliestTmField;
            }
            set {
                this.advRsvnEarliestTmField = value;
                this.RaisePropertyChanged("AdvRsvnEarliestTm");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AdvRsvnEarliestTmSpecified {
            get {
                return this.advRsvnEarliestTmFieldSpecified;
            }
            set {
                this.advRsvnEarliestTmFieldSpecified = value;
                this.RaisePropertyChanged("AdvRsvnEarliestTmSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool AdvRsvnLatestTm {
            get {
                return this.advRsvnLatestTmField;
            }
            set {
                this.advRsvnLatestTmField = value;
                this.RaisePropertyChanged("AdvRsvnLatestTm");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AdvRsvnLatestTmSpecified {
            get {
                return this.advRsvnLatestTmFieldSpecified;
            }
            set {
                this.advRsvnLatestTmFieldSpecified = value;
                this.RaisePropertyChanged("AdvRsvnLatestTmSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool AdvRsvnWaived {
            get {
                return this.advRsvnWaivedField;
            }
            set {
                this.advRsvnWaivedField = value;
                this.RaisePropertyChanged("AdvRsvnWaived");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AdvRsvnWaivedSpecified {
            get {
                return this.advRsvnWaivedFieldSpecified;
            }
            set {
                this.advRsvnWaivedFieldSpecified = value;
                this.RaisePropertyChanged("AdvRsvnWaivedSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool AdvRsvnDataExists {
            get {
                return this.advRsvnDataExistsField;
            }
            set {
                this.advRsvnDataExistsField = value;
                this.RaisePropertyChanged("AdvRsvnDataExists");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AdvRsvnDataExistsSpecified {
            get {
                return this.advRsvnDataExistsFieldSpecified;
            }
            set {
                this.advRsvnDataExistsFieldSpecified = value;
                this.RaisePropertyChanged("AdvRsvnDataExistsSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool AdvRsvnEndItem {
            get {
                return this.advRsvnEndItemField;
            }
            set {
                this.advRsvnEndItemField = value;
                this.RaisePropertyChanged("AdvRsvnEndItem");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AdvRsvnEndItemSpecified {
            get {
                return this.advRsvnEndItemFieldSpecified;
            }
            set {
                this.advRsvnEndItemFieldSpecified = value;
                this.RaisePropertyChanged("AdvRsvnEndItemSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool AdvTkEarliestTm {
            get {
                return this.advTkEarliestTmField;
            }
            set {
                this.advTkEarliestTmField = value;
                this.RaisePropertyChanged("AdvTkEarliestTm");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AdvTkEarliestTmSpecified {
            get {
                return this.advTkEarliestTmFieldSpecified;
            }
            set {
                this.advTkEarliestTmFieldSpecified = value;
                this.RaisePropertyChanged("AdvTkEarliestTmSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool AdvTkLatestTm {
            get {
                return this.advTkLatestTmField;
            }
            set {
                this.advTkLatestTmField = value;
                this.RaisePropertyChanged("AdvTkLatestTm");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AdvTkLatestTmSpecified {
            get {
                return this.advTkLatestTmFieldSpecified;
            }
            set {
                this.advTkLatestTmFieldSpecified = value;
                this.RaisePropertyChanged("AdvTkLatestTmSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool AdvTkRsvnHrs {
            get {
                return this.advTkRsvnHrsField;
            }
            set {
                this.advTkRsvnHrsField = value;
                this.RaisePropertyChanged("AdvTkRsvnHrs");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AdvTkRsvnHrsSpecified {
            get {
                return this.advTkRsvnHrsFieldSpecified;
            }
            set {
                this.advTkRsvnHrsFieldSpecified = value;
                this.RaisePropertyChanged("AdvTkRsvnHrsSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool AdvTkRsvnDays {
            get {
                return this.advTkRsvnDaysField;
            }
            set {
                this.advTkRsvnDaysField = value;
                this.RaisePropertyChanged("AdvTkRsvnDays");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AdvTkRsvnDaysSpecified {
            get {
                return this.advTkRsvnDaysFieldSpecified;
            }
            set {
                this.advTkRsvnDaysFieldSpecified = value;
                this.RaisePropertyChanged("AdvTkRsvnDaysSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool AdvTkRsvnMonths {
            get {
                return this.advTkRsvnMonthsField;
            }
            set {
                this.advTkRsvnMonthsField = value;
                this.RaisePropertyChanged("AdvTkRsvnMonths");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AdvTkRsvnMonthsSpecified {
            get {
                return this.advTkRsvnMonthsFieldSpecified;
            }
            set {
                this.advTkRsvnMonthsFieldSpecified = value;
                this.RaisePropertyChanged("AdvTkRsvnMonthsSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool AdvTkStartHrs {
            get {
                return this.advTkStartHrsField;
            }
            set {
                this.advTkStartHrsField = value;
                this.RaisePropertyChanged("AdvTkStartHrs");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AdvTkStartHrsSpecified {
            get {
                return this.advTkStartHrsFieldSpecified;
            }
            set {
                this.advTkStartHrsFieldSpecified = value;
                this.RaisePropertyChanged("AdvTkStartHrsSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool AdvTkStartDays {
            get {
                return this.advTkStartDaysField;
            }
            set {
                this.advTkStartDaysField = value;
                this.RaisePropertyChanged("AdvTkStartDays");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AdvTkStartDaysSpecified {
            get {
                return this.advTkStartDaysFieldSpecified;
            }
            set {
                this.advTkStartDaysFieldSpecified = value;
                this.RaisePropertyChanged("AdvTkStartDaysSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool AdvTkStartMonths {
            get {
                return this.advTkStartMonthsField;
            }
            set {
                this.advTkStartMonthsField = value;
                this.RaisePropertyChanged("AdvTkStartMonths");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AdvTkStartMonthsSpecified {
            get {
                return this.advTkStartMonthsFieldSpecified;
            }
            set {
                this.advTkStartMonthsFieldSpecified = value;
                this.RaisePropertyChanged("AdvTkStartMonthsSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool AdvTkWaived {
            get {
                return this.advTkWaivedField;
            }
            set {
                this.advTkWaivedField = value;
                this.RaisePropertyChanged("AdvTkWaived");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AdvTkWaivedSpecified {
            get {
                return this.advTkWaivedFieldSpecified;
            }
            set {
                this.advTkWaivedFieldSpecified = value;
                this.RaisePropertyChanged("AdvTkWaivedSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool AdvTkAnyTm {
            get {
                return this.advTkAnyTmField;
            }
            set {
                this.advTkAnyTmField = value;
                this.RaisePropertyChanged("AdvTkAnyTm");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AdvTkAnyTmSpecified {
            get {
                return this.advTkAnyTmFieldSpecified;
            }
            set {
                this.advTkAnyTmFieldSpecified = value;
                this.RaisePropertyChanged("AdvTkAnyTmSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool AdvTkEndItem {
            get {
                return this.advTkEndItemField;
            }
            set {
                this.advTkEndItemField = value;
                this.RaisePropertyChanged("AdvTkEndItem");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AdvTkEndItemSpecified {
            get {
                return this.advTkEndItemFieldSpecified;
            }
            set {
                this.advTkEndItemFieldSpecified = value;
                this.RaisePropertyChanged("AdvTkEndItemSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string AdvRsvnTm {
            get {
                return this.advRsvnTmField;
            }
            set {
                this.advRsvnTmField = value;
                this.RaisePropertyChanged("AdvRsvnTm");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string AdvTkRsvnTm {
            get {
                return this.advTkRsvnTmField;
            }
            set {
                this.advTkRsvnTmField = value;
                this.RaisePropertyChanged("AdvTkRsvnTm");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string AdvTkStartTm {
            get {
                return this.advTkStartTmField;
            }
            set {
                this.advTkStartTmField = value;
                this.RaisePropertyChanged("AdvTkStartTm");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool EarliestRsvnDtPresent {
            get {
                return this.earliestRsvnDtPresentField;
            }
            set {
                this.earliestRsvnDtPresentField = value;
                this.RaisePropertyChanged("EarliestRsvnDtPresent");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool EarliestRsvnDtPresentSpecified {
            get {
                return this.earliestRsvnDtPresentFieldSpecified;
            }
            set {
                this.earliestRsvnDtPresentFieldSpecified = value;
                this.RaisePropertyChanged("EarliestRsvnDtPresentSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool EarliestTkDtPresent {
            get {
                return this.earliestTkDtPresentField;
            }
            set {
                this.earliestTkDtPresentField = value;
                this.RaisePropertyChanged("EarliestTkDtPresent");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool EarliestTkDtPresentSpecified {
            get {
                return this.earliestTkDtPresentFieldSpecified;
            }
            set {
                this.earliestTkDtPresentFieldSpecified = value;
                this.RaisePropertyChanged("EarliestTkDtPresentSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool LatestRsvnDtPresent {
            get {
                return this.latestRsvnDtPresentField;
            }
            set {
                this.latestRsvnDtPresentField = value;
                this.RaisePropertyChanged("LatestRsvnDtPresent");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool LatestRsvnDtPresentSpecified {
            get {
                return this.latestRsvnDtPresentFieldSpecified;
            }
            set {
                this.latestRsvnDtPresentFieldSpecified = value;
                this.RaisePropertyChanged("LatestRsvnDtPresentSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool LatestTkDtPresent {
            get {
                return this.latestTkDtPresentField;
            }
            set {
                this.latestTkDtPresentField = value;
                this.RaisePropertyChanged("LatestTkDtPresent");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool LatestTkDtPresentSpecified {
            get {
                return this.latestTkDtPresentFieldSpecified;
            }
            set {
                this.latestTkDtPresentFieldSpecified = value;
                this.RaisePropertyChanged("LatestTkDtPresentSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="date")]
        public System.DateTime EarliestRsvnDt {
            get {
                return this.earliestRsvnDtField;
            }
            set {
                this.earliestRsvnDtField = value;
                this.RaisePropertyChanged("EarliestRsvnDt");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool EarliestRsvnDtSpecified {
            get {
                return this.earliestRsvnDtFieldSpecified;
            }
            set {
                this.earliestRsvnDtFieldSpecified = value;
                this.RaisePropertyChanged("EarliestRsvnDtSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="date")]
        public System.DateTime EarliestTkDt {
            get {
                return this.earliestTkDtField;
            }
            set {
                this.earliestTkDtField = value;
                this.RaisePropertyChanged("EarliestTkDt");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool EarliestTkDtSpecified {
            get {
                return this.earliestTkDtFieldSpecified;
            }
            set {
                this.earliestTkDtFieldSpecified = value;
                this.RaisePropertyChanged("EarliestTkDtSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="date")]
        public System.DateTime LatestRsvnDt {
            get {
                return this.latestRsvnDtField;
            }
            set {
                this.latestRsvnDtField = value;
                this.RaisePropertyChanged("LatestRsvnDt");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool LatestRsvnDtSpecified {
            get {
                return this.latestRsvnDtFieldSpecified;
            }
            set {
                this.latestRsvnDtFieldSpecified = value;
                this.RaisePropertyChanged("LatestRsvnDtSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="date")]
        public System.DateTime LatestTkDt {
            get {
                return this.latestTkDtField;
            }
            set {
                this.latestTkDtField = value;
                this.RaisePropertyChanged("LatestTkDt");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool LatestTkDtSpecified {
            get {
                return this.latestTkDtFieldSpecified;
            }
            set {
                this.latestTkDtFieldSpecified = value;
                this.RaisePropertyChanged("LatestTkDtSpecified");
            }
        }
        
        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/air_v53_0")]
    public partial class MAXType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private bool hoursMaxField;
        
        private bool hoursMaxFieldSpecified;
        
        private bool daysMaxField;
        
        private bool daysMaxFieldSpecified;
        
        private bool monthsMaxField;
        
        private bool monthsMaxFieldSpecified;
        
        private bool occurIndMaxField;
        
        private bool occurIndMaxFieldSpecified;
        
        private bool sameDayMaxField;
        
        private bool sameDayMaxFieldSpecified;
        
        private bool startIndMaxField;
        
        private bool startIndMaxFieldSpecified;
        
        private bool completionIndField;
        
        private bool completionIndFieldSpecified;
        
        private string tmDOWMaxField;
        
        private string numOccurMaxField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool HoursMax {
            get {
                return this.hoursMaxField;
            }
            set {
                this.hoursMaxField = value;
                this.RaisePropertyChanged("HoursMax");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool HoursMaxSpecified {
            get {
                return this.hoursMaxFieldSpecified;
            }
            set {
                this.hoursMaxFieldSpecified = value;
                this.RaisePropertyChanged("HoursMaxSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool DaysMax {
            get {
                return this.daysMaxField;
            }
            set {
                this.daysMaxField = value;
                this.RaisePropertyChanged("DaysMax");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DaysMaxSpecified {
            get {
                return this.daysMaxFieldSpecified;
            }
            set {
                this.daysMaxFieldSpecified = value;
                this.RaisePropertyChanged("DaysMaxSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool MonthsMax {
            get {
                return this.monthsMaxField;
            }
            set {
                this.monthsMaxField = value;
                this.RaisePropertyChanged("MonthsMax");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool MonthsMaxSpecified {
            get {
                return this.monthsMaxFieldSpecified;
            }
            set {
                this.monthsMaxFieldSpecified = value;
                this.RaisePropertyChanged("MonthsMaxSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool OccurIndMax {
            get {
                return this.occurIndMaxField;
            }
            set {
                this.occurIndMaxField = value;
                this.RaisePropertyChanged("OccurIndMax");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool OccurIndMaxSpecified {
            get {
                return this.occurIndMaxFieldSpecified;
            }
            set {
                this.occurIndMaxFieldSpecified = value;
                this.RaisePropertyChanged("OccurIndMaxSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool SameDayMax {
            get {
                return this.sameDayMaxField;
            }
            set {
                this.sameDayMaxField = value;
                this.RaisePropertyChanged("SameDayMax");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool SameDayMaxSpecified {
            get {
                return this.sameDayMaxFieldSpecified;
            }
            set {
                this.sameDayMaxFieldSpecified = value;
                this.RaisePropertyChanged("SameDayMaxSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool StartIndMax {
            get {
                return this.startIndMaxField;
            }
            set {
                this.startIndMaxField = value;
                this.RaisePropertyChanged("StartIndMax");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool StartIndMaxSpecified {
            get {
                return this.startIndMaxFieldSpecified;
            }
            set {
                this.startIndMaxFieldSpecified = value;
                this.RaisePropertyChanged("StartIndMaxSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool CompletionInd {
            get {
                return this.completionIndField;
            }
            set {
                this.completionIndField = value;
                this.RaisePropertyChanged("CompletionInd");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool CompletionIndSpecified {
            get {
                return this.completionIndFieldSpecified;
            }
            set {
                this.completionIndFieldSpecified = value;
                this.RaisePropertyChanged("CompletionIndSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string TmDOWMax {
            get {
                return this.tmDOWMaxField;
            }
            set {
                this.tmDOWMaxField = value;
                this.RaisePropertyChanged("TmDOWMax");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string NumOccurMax {
            get {
                return this.numOccurMaxField;
            }
            set {
                this.numOccurMaxField = value;
                this.RaisePropertyChanged("NumOccurMax");
            }
        }
        
        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/air_v53_0")]
    public partial class MINType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private bool hoursMinField;
        
        private bool hoursMinFieldSpecified;
        
        private bool daysMinField;
        
        private bool daysMinFieldSpecified;
        
        private bool monthsMinField;
        
        private bool monthsMinFieldSpecified;
        
        private bool occurIndMinField;
        
        private bool occurIndMinFieldSpecified;
        
        private bool sameDayMinField;
        
        private bool sameDayMinFieldSpecified;
        
        private string tmDOWMinField;
        
        private string fareComponentField;
        
        private string numOccurMinField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool HoursMin {
            get {
                return this.hoursMinField;
            }
            set {
                this.hoursMinField = value;
                this.RaisePropertyChanged("HoursMin");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool HoursMinSpecified {
            get {
                return this.hoursMinFieldSpecified;
            }
            set {
                this.hoursMinFieldSpecified = value;
                this.RaisePropertyChanged("HoursMinSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool DaysMin {
            get {
                return this.daysMinField;
            }
            set {
                this.daysMinField = value;
                this.RaisePropertyChanged("DaysMin");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DaysMinSpecified {
            get {
                return this.daysMinFieldSpecified;
            }
            set {
                this.daysMinFieldSpecified = value;
                this.RaisePropertyChanged("DaysMinSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool MonthsMin {
            get {
                return this.monthsMinField;
            }
            set {
                this.monthsMinField = value;
                this.RaisePropertyChanged("MonthsMin");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool MonthsMinSpecified {
            get {
                return this.monthsMinFieldSpecified;
            }
            set {
                this.monthsMinFieldSpecified = value;
                this.RaisePropertyChanged("MonthsMinSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool OccurIndMin {
            get {
                return this.occurIndMinField;
            }
            set {
                this.occurIndMinField = value;
                this.RaisePropertyChanged("OccurIndMin");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool OccurIndMinSpecified {
            get {
                return this.occurIndMinFieldSpecified;
            }
            set {
                this.occurIndMinFieldSpecified = value;
                this.RaisePropertyChanged("OccurIndMinSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool SameDayMin {
            get {
                return this.sameDayMinField;
            }
            set {
                this.sameDayMinField = value;
                this.RaisePropertyChanged("SameDayMin");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool SameDayMinSpecified {
            get {
                return this.sameDayMinFieldSpecified;
            }
            set {
                this.sameDayMinFieldSpecified = value;
                this.RaisePropertyChanged("SameDayMinSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string TmDOWMin {
            get {
                return this.tmDOWMinField;
            }
            set {
                this.tmDOWMinField = value;
                this.RaisePropertyChanged("TmDOWMin");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string FareComponent {
            get {
                return this.fareComponentField;
            }
            set {
                this.fareComponentField = value;
                this.RaisePropertyChanged("FareComponent");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string NumOccurMin {
            get {
                return this.numOccurMinField;
            }
            set {
                this.numOccurMinField = value;
                this.RaisePropertyChanged("NumOccurMin");
            }
        }
        
        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/air_v53_0")]
    public partial class PenFeeType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private bool depRequiredField;
        
        private bool depRequiredFieldSpecified;
        
        private bool depNonRefField;
        
        private bool depNonRefFieldSpecified;
        
        private bool tkNonRefField;
        
        private bool tkNonRefFieldSpecified;
        
        private bool airVFeeField;
        
        private bool airVFeeFieldSpecified;
        
        private bool cancellationField;
        
        private bool cancellationFieldSpecified;
        
        private bool failConfirmSpaceField;
        
        private bool failConfirmSpaceFieldSpecified;
        
        private bool itinChgField;
        
        private bool itinChgFieldSpecified;
        
        private bool replaceTkField;
        
        private bool replaceTkFieldSpecified;
        
        private bool applicableField;
        
        private bool applicableFieldSpecified;
        
        private bool applicableToField;
        
        private bool applicableToFieldSpecified;
        
        private decimal amtField;
        
        private bool amtFieldSpecified;
        
        private string typeField;
        
        private string currencyField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool DepRequired {
            get {
                return this.depRequiredField;
            }
            set {
                this.depRequiredField = value;
                this.RaisePropertyChanged("DepRequired");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DepRequiredSpecified {
            get {
                return this.depRequiredFieldSpecified;
            }
            set {
                this.depRequiredFieldSpecified = value;
                this.RaisePropertyChanged("DepRequiredSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool DepNonRef {
            get {
                return this.depNonRefField;
            }
            set {
                this.depNonRefField = value;
                this.RaisePropertyChanged("DepNonRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DepNonRefSpecified {
            get {
                return this.depNonRefFieldSpecified;
            }
            set {
                this.depNonRefFieldSpecified = value;
                this.RaisePropertyChanged("DepNonRefSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool TkNonRef {
            get {
                return this.tkNonRefField;
            }
            set {
                this.tkNonRefField = value;
                this.RaisePropertyChanged("TkNonRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool TkNonRefSpecified {
            get {
                return this.tkNonRefFieldSpecified;
            }
            set {
                this.tkNonRefFieldSpecified = value;
                this.RaisePropertyChanged("TkNonRefSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool AirVFee {
            get {
                return this.airVFeeField;
            }
            set {
                this.airVFeeField = value;
                this.RaisePropertyChanged("AirVFee");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AirVFeeSpecified {
            get {
                return this.airVFeeFieldSpecified;
            }
            set {
                this.airVFeeFieldSpecified = value;
                this.RaisePropertyChanged("AirVFeeSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Cancellation {
            get {
                return this.cancellationField;
            }
            set {
                this.cancellationField = value;
                this.RaisePropertyChanged("Cancellation");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool CancellationSpecified {
            get {
                return this.cancellationFieldSpecified;
            }
            set {
                this.cancellationFieldSpecified = value;
                this.RaisePropertyChanged("CancellationSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool FailConfirmSpace {
            get {
                return this.failConfirmSpaceField;
            }
            set {
                this.failConfirmSpaceField = value;
                this.RaisePropertyChanged("FailConfirmSpace");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FailConfirmSpaceSpecified {
            get {
                return this.failConfirmSpaceFieldSpecified;
            }
            set {
                this.failConfirmSpaceFieldSpecified = value;
                this.RaisePropertyChanged("FailConfirmSpaceSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool ItinChg {
            get {
                return this.itinChgField;
            }
            set {
                this.itinChgField = value;
                this.RaisePropertyChanged("ItinChg");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ItinChgSpecified {
            get {
                return this.itinChgFieldSpecified;
            }
            set {
                this.itinChgFieldSpecified = value;
                this.RaisePropertyChanged("ItinChgSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool ReplaceTk {
            get {
                return this.replaceTkField;
            }
            set {
                this.replaceTkField = value;
                this.RaisePropertyChanged("ReplaceTk");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ReplaceTkSpecified {
            get {
                return this.replaceTkFieldSpecified;
            }
            set {
                this.replaceTkFieldSpecified = value;
                this.RaisePropertyChanged("ReplaceTkSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Applicable {
            get {
                return this.applicableField;
            }
            set {
                this.applicableField = value;
                this.RaisePropertyChanged("Applicable");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ApplicableSpecified {
            get {
                return this.applicableFieldSpecified;
            }
            set {
                this.applicableFieldSpecified = value;
                this.RaisePropertyChanged("ApplicableSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool ApplicableTo {
            get {
                return this.applicableToField;
            }
            set {
                this.applicableToField = value;
                this.RaisePropertyChanged("ApplicableTo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ApplicableToSpecified {
            get {
                return this.applicableToFieldSpecified;
            }
            set {
                this.applicableToFieldSpecified = value;
                this.RaisePropertyChanged("ApplicableToSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public decimal Amt {
            get {
                return this.amtField;
            }
            set {
                this.amtField = value;
                this.RaisePropertyChanged("Amt");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AmtSpecified {
            get {
                return this.amtFieldSpecified;
            }
            set {
                this.amtFieldSpecified = value;
                this.RaisePropertyChanged("AmtSpecified");
            }
        }
        
        /// <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 Currency {
            get {
                return this.currencyField;
            }
            set {
                this.currencyField = value;
                this.RaisePropertyChanged("Currency");
            }
        }
        
        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/air_v53_0")]
    public partial class typeFarePenalty : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string amountField;
        
        private string percentageField;
        
        private typeFarePenaltyPenaltyApplies penaltyAppliesField;
        
        private bool penaltyAppliesFieldSpecified;
        
        private bool noShowField;
        
        private bool noShowFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string Amount {
            get {
                return this.amountField;
            }
            set {
                this.amountField = value;
                this.RaisePropertyChanged("Amount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public string Percentage {
            get {
                return this.percentageField;
            }
            set {
                this.percentageField = value;
                this.RaisePropertyChanged("Percentage");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeFarePenaltyPenaltyApplies PenaltyApplies {
            get {
                return this.penaltyAppliesField;
            }
            set {
                this.penaltyAppliesField = value;
                this.RaisePropertyChanged("PenaltyApplies");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PenaltyAppliesSpecified {
            get {
                return this.penaltyAppliesFieldSpecified;
            }
            set {
                this.penaltyAppliesFieldSpecified = value;
                this.RaisePropertyChanged("PenaltyAppliesSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool NoShow {
            get {
                return this.noShowField;
            }
            set {
                this.noShowField = value;
                this.RaisePropertyChanged("NoShow");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool NoShowSpecified {
            get {
                return this.noShowFieldSpecified;
            }
            set {
                this.noShowFieldSpecified = value;
                this.RaisePropertyChanged("NoShowSpecified");
            }
        }
        
        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/air_v53_0")]
    public enum typeFarePenaltyPenaltyApplies {
        
        /// <remarks/>
        Anytime,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("Before Departure")]
        BeforeDeparture,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("After Departure")]
        AfterDeparture,
    }
    
    /// <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/air_v53_0")]
    public partial class typeDefaultBrandDetail : object, System.ComponentModel.INotifyPropertyChanged {
        
        private typeTextElement[] textField;
        
        private ImageLocation[] imageLocationField;
        
        private typeApplicableSegment[] applicableSegmentField;
        
        private string brandIDField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Text", Order=0)]
        public typeTextElement[] Text {
            get {
                return this.textField;
            }
            set {
                this.textField = value;
                this.RaisePropertyChanged("Text");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ImageLocation", Order=1)]
        public ImageLocation[] ImageLocation {
            get {
                return this.imageLocationField;
            }
            set {
                this.imageLocationField = value;
                this.RaisePropertyChanged("ImageLocation");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ApplicableSegment", Order=2)]
        public typeApplicableSegment[] ApplicableSegment {
            get {
                return this.applicableSegmentField;
            }
            set {
                this.applicableSegmentField = value;
                this.RaisePropertyChanged("ApplicableSegment");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string BrandID {
            get {
                return this.brandIDField;
            }
            set {
                this.brandIDField = value;
                this.RaisePropertyChanged("BrandID");
            }
        }
        
        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/air_v53_0")]
    public partial class typeTextElement : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string typeField;
        
        private string languageCodeField;
        
        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(DataType="language")]
        public string LanguageCode {
            get {
                return this.languageCodeField;
            }
            set {
                this.languageCodeField = value;
                this.RaisePropertyChanged("LanguageCode");
            }
        }
        
        /// <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/air_v53_0")]
    public partial class ImageLocation : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string typeField;
        
        private string imageWidthField;
        
        private string imageHeightField;
        
        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(DataType="nonNegativeInteger")]
        public string ImageWidth {
            get {
                return this.imageWidthField;
            }
            set {
                this.imageWidthField = value;
                this.RaisePropertyChanged("ImageWidth");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="nonNegativeInteger")]
        public string ImageHeight {
            get {
                return this.imageHeightField;
            }
            set {
                this.imageHeightField = value;
                this.RaisePropertyChanged("ImageHeight");
            }
        }
        
        /// <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/air_v53_0")]
    public partial class typeApplicableSegment : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string keyField;
        
        private string airItineraryDetailsRefField;
        
        private string bookingCountsField;
        
        /// <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 AirItineraryDetailsRef {
            get {
                return this.airItineraryDetailsRefField;
            }
            set {
                this.airItineraryDetailsRefField = value;
                this.RaisePropertyChanged("AirItineraryDetailsRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string BookingCounts {
            get {
                return this.bookingCountsField;
            }
            set {
                this.bookingCountsField = value;
                this.RaisePropertyChanged("BookingCounts");
            }
        }
        
        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/air_v53_0")]
    public partial class typeWeight : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string valueField;
        
        private typeUnitWeight unitField;
        
        private bool unitFieldSpecified;
        
        /// <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 typeUnitWeight Unit {
            get {
                return this.unitField;
            }
            set {
                this.unitField = value;
                this.RaisePropertyChanged("Unit");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool UnitSpecified {
            get {
                return this.unitFieldSpecified;
            }
            set {
                this.unitFieldSpecified = value;
                this.RaisePropertyChanged("UnitSpecified");
            }
        }
        
        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/air_v53_0")]
    public enum typeUnitWeight {
        
        /// <remarks/>
        Kilograms,
        
        /// <remarks/>
        Pounds,
    }
    
    /// <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 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 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(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(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 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.Xml.Serialization.XmlIncludeAttribute(typeof(typeTaxInfoWithPaymentRef))]
    [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/air_v53_0")]
    public partial class typeTaxInfoWithPaymentRef : typeTaxInfo {
        
        private PaymentRef[] paymentRefField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PaymentRef", Order=0)]
        public PaymentRef[] PaymentRef {
            get {
                return this.paymentRefField;
            }
            set {
                this.paymentRefField = value;
                this.RaisePropertyChanged("PaymentRef");
            }
        }
    }
    
    /// <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/air_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.Xml.Serialization.XmlIncludeAttribute(typeof(typeBaseAirReservation))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(typeAirReservationWithFOP))]
    [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.Xml.Serialization.XmlIncludeAttribute(typeof(typeAirReservationWithFOP))]
    [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/air_v53_0")]
    public partial class typeBaseAirReservation : BaseReservation {
        
        private OptionalServices optionalServicesField;
        
        private SupplierLocator[] supplierLocatorField;
        
        private ThirdPartyInformation[] thirdPartyInformationField;
        
        private DocumentInfo documentInfoField;
        
        private BookingTravelerRef[] bookingTravelerRefField;
        
        private ProviderReservationInfoRef[] providerReservationInfoRefField;
        
        private typeBaseAirSegment[] airSegmentField;
        
        private SvcSegment[] svcSegmentField;
        
        private AirPricingInfo[] airPricingInfoField;
        
        private Payment[] paymentField;
        
        private CreditCardAuth[] creditCardAuthField;
        
        private FareNote[] fareNoteField;
        
        private typeFeeInfo[] feeInfoField;
        
        private typeTaxInfoWithPaymentRef[] taxInfoField;
        
        private TicketingModifiers[] ticketingModifiersField;
        
        private AssociatedRemark[] associatedRemarkField;
        
        private PocketItineraryRemark[] pocketItineraryRemarkField;
        
        private AirExchangeBundleTotal airExchangeBundleTotalField;
        
        private AirExchangeBundle[] airExchangeBundleField;
        
        private Amenities[][] amenitiesListField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public OptionalServices OptionalServices {
            get {
                return this.optionalServicesField;
            }
            set {
                this.optionalServicesField = value;
                this.RaisePropertyChanged("OptionalServices");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SupplierLocator", Namespace="http://www.travelport.com/schema/common_v53_0", Order=1)]
        public SupplierLocator[] SupplierLocator {
            get {
                return this.supplierLocatorField;
            }
            set {
                this.supplierLocatorField = value;
                this.RaisePropertyChanged("SupplierLocator");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ThirdPartyInformation", 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(Order=3)]
        public DocumentInfo DocumentInfo {
            get {
                return this.documentInfoField;
            }
            set {
                this.documentInfoField = value;
                this.RaisePropertyChanged("DocumentInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("BookingTravelerRef", Namespace="http://www.travelport.com/schema/common_v53_0", Order=4)]
        public BookingTravelerRef[] BookingTravelerRef {
            get {
                return this.bookingTravelerRefField;
            }
            set {
                this.bookingTravelerRefField = value;
                this.RaisePropertyChanged("BookingTravelerRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ProviderReservationInfoRef", Namespace="http://www.travelport.com/schema/common_v53_0", Order=5)]
        public ProviderReservationInfoRef[] ProviderReservationInfoRef {
            get {
                return this.providerReservationInfoRefField;
            }
            set {
                this.providerReservationInfoRefField = value;
                this.RaisePropertyChanged("ProviderReservationInfoRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AirSegment", Order=6)]
        public typeBaseAirSegment[] AirSegment {
            get {
                return this.airSegmentField;
            }
            set {
                this.airSegmentField = value;
                this.RaisePropertyChanged("AirSegment");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SvcSegment", Order=7)]
        public SvcSegment[] SvcSegment {
            get {
                return this.svcSegmentField;
            }
            set {
                this.svcSegmentField = value;
                this.RaisePropertyChanged("SvcSegment");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AirPricingInfo", Order=8)]
        public AirPricingInfo[] AirPricingInfo {
            get {
                return this.airPricingInfoField;
            }
            set {
                this.airPricingInfoField = value;
                this.RaisePropertyChanged("AirPricingInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Payment", Namespace="http://www.travelport.com/schema/common_v53_0", Order=9)]
        public Payment[] Payment {
            get {
                return this.paymentField;
            }
            set {
                this.paymentField = value;
                this.RaisePropertyChanged("Payment");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CreditCardAuth", Namespace="http://www.travelport.com/schema/common_v53_0", Order=10)]
        public CreditCardAuth[] CreditCardAuth {
            get {
                return this.creditCardAuthField;
            }
            set {
                this.creditCardAuthField = value;
                this.RaisePropertyChanged("CreditCardAuth");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("FareNote", Order=11)]
        public FareNote[] FareNote {
            get {
                return this.fareNoteField;
            }
            set {
                this.fareNoteField = value;
                this.RaisePropertyChanged("FareNote");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("FeeInfo", Order=12)]
        public typeFeeInfo[] FeeInfo {
            get {
                return this.feeInfoField;
            }
            set {
                this.feeInfoField = value;
                this.RaisePropertyChanged("FeeInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("TaxInfo", Order=13)]
        public typeTaxInfoWithPaymentRef[] TaxInfo {
            get {
                return this.taxInfoField;
            }
            set {
                this.taxInfoField = value;
                this.RaisePropertyChanged("TaxInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("TicketingModifiers", Order=14)]
        public TicketingModifiers[] TicketingModifiers {
            get {
                return this.ticketingModifiersField;
            }
            set {
                this.ticketingModifiersField = value;
                this.RaisePropertyChanged("TicketingModifiers");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AssociatedRemark", Order=15)]
        public AssociatedRemark[] AssociatedRemark {
            get {
                return this.associatedRemarkField;
            }
            set {
                this.associatedRemarkField = value;
                this.RaisePropertyChanged("AssociatedRemark");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PocketItineraryRemark", Order=16)]
        public PocketItineraryRemark[] PocketItineraryRemark {
            get {
                return this.pocketItineraryRemarkField;
            }
            set {
                this.pocketItineraryRemarkField = value;
                this.RaisePropertyChanged("PocketItineraryRemark");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=17)]
        public AirExchangeBundleTotal AirExchangeBundleTotal {
            get {
                return this.airExchangeBundleTotalField;
            }
            set {
                this.airExchangeBundleTotalField = value;
                this.RaisePropertyChanged("AirExchangeBundleTotal");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AirExchangeBundle", Order=18)]
        public AirExchangeBundle[] AirExchangeBundle {
            get {
                return this.airExchangeBundleField;
            }
            set {
                this.airExchangeBundleField = value;
                this.RaisePropertyChanged("AirExchangeBundle");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=19)]
        [System.Xml.Serialization.XmlArrayItemAttribute("Amenities", typeof(Amenities), IsNullable=false)]
        public Amenities[][] AmenitiesList {
            get {
                return this.amenitiesListField;
            }
            set {
                this.amenitiesListField = value;
                this.RaisePropertyChanged("AmenitiesList");
            }
        }
    }
    
    /// <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/air_v53_0")]
    public partial class OptionalServices : object, System.ComponentModel.INotifyPropertyChanged {
        
        private OptionalServicesOptionalServicesTotal optionalServicesTotalField;
        
        private OptionalService[] optionalServiceField;
        
        private GroupedOptionInfo[] groupedOptionInfoField;
        
        private ServiceRuleType[] optionalServiceRulesField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public OptionalServicesOptionalServicesTotal OptionalServicesTotal {
            get {
                return this.optionalServicesTotalField;
            }
            set {
                this.optionalServicesTotalField = value;
                this.RaisePropertyChanged("OptionalServicesTotal");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("OptionalService", Order=1)]
        public OptionalService[] OptionalService {
            get {
                return this.optionalServiceField;
            }
            set {
                this.optionalServiceField = value;
                this.RaisePropertyChanged("OptionalService");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("GroupedOptionInfo", Order=2)]
        public GroupedOptionInfo[] GroupedOptionInfo {
            get {
                return this.groupedOptionInfoField;
            }
            set {
                this.groupedOptionInfoField = value;
                this.RaisePropertyChanged("GroupedOptionInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("OptionalServiceRules", Order=3)]
        public ServiceRuleType[] OptionalServiceRules {
            get {
                return this.optionalServiceRulesField;
            }
            set {
                this.optionalServiceRulesField = value;
                this.RaisePropertyChanged("OptionalServiceRules");
            }
        }
        
        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/air_v53_0")]
    public partial class OptionalServicesOptionalServicesTotal : object, System.ComponentModel.INotifyPropertyChanged {
        
        private typeTaxInfo[] taxInfoField;
        
        private typeFeeInfo[] feeInfoField;
        
        private string totalPriceField;
        
        private string basePriceField;
        
        private string approximateTotalPriceField;
        
        private string approximateBasePriceField;
        
        private string equivalentBasePriceField;
        
        private string taxesField;
        
        private string feesField;
        
        private string servicesField;
        
        private string approximateTaxesField;
        
        private string approximateFeesField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("TaxInfo", Order=0)]
        public typeTaxInfo[] TaxInfo {
            get {
                return this.taxInfoField;
            }
            set {
                this.taxInfoField = value;
                this.RaisePropertyChanged("TaxInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("FeeInfo", Order=1)]
        public typeFeeInfo[] FeeInfo {
            get {
                return this.feeInfoField;
            }
            set {
                this.feeInfoField = value;
                this.RaisePropertyChanged("FeeInfo");
            }
        }
        
        /// <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 BasePrice {
            get {
                return this.basePriceField;
            }
            set {
                this.basePriceField = value;
                this.RaisePropertyChanged("BasePrice");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApproximateTotalPrice {
            get {
                return this.approximateTotalPriceField;
            }
            set {
                this.approximateTotalPriceField = value;
                this.RaisePropertyChanged("ApproximateTotalPrice");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApproximateBasePrice {
            get {
                return this.approximateBasePriceField;
            }
            set {
                this.approximateBasePriceField = value;
                this.RaisePropertyChanged("ApproximateBasePrice");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string EquivalentBasePrice {
            get {
                return this.equivalentBasePriceField;
            }
            set {
                this.equivalentBasePriceField = value;
                this.RaisePropertyChanged("EquivalentBasePrice");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Taxes {
            get {
                return this.taxesField;
            }
            set {
                this.taxesField = value;
                this.RaisePropertyChanged("Taxes");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Fees {
            get {
                return this.feesField;
            }
            set {
                this.feesField = value;
                this.RaisePropertyChanged("Fees");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Services {
            get {
                return this.servicesField;
            }
            set {
                this.servicesField = value;
                this.RaisePropertyChanged("Services");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApproximateTaxes {
            get {
                return this.approximateTaxesField;
            }
            set {
                this.approximateTaxesField = value;
                this.RaisePropertyChanged("ApproximateTaxes");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApproximateFees {
            get {
                return this.approximateFeesField;
            }
            set {
                this.approximateFeesField = value;
                this.RaisePropertyChanged("ApproximateFees");
            }
        }
        
        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/air_v53_0")]
    public partial class OptionalService : object, System.ComponentModel.INotifyPropertyChanged {
        
        private ServiceData[] serviceDataField;
        
        private ServiceInfo serviceInfoField;
        
        private Remark[] remarkField;
        
        private typeTaxInfo[] taxInfoField;
        
        private typeFeeInfo[] feeInfoField;
        
        private EMD eMDField;
        
        private BundledService[] bundledServicesField;
        
        private AdditionalInfo[] additionalInfoField;
        
        private FeeApplication feeApplicationField;
        
        private typeTextElement[] textField;
        
        private PriceRange[] priceRangeField;
        
        private TourCode tourCodeField;
        
        private BrandingInfo brandingInfoField;
        
        private typeTextElement[] titleField;
        
        private string providerCodeField;
        
        private string supplierCodeField;
        
        private string optionalServicesRuleRefField;
        
        private string typeField;
        
        private string confirmationField;
        
        private string secondaryTypeField;
        
        private typePurchaseWindow purchaseWindowField;
        
        private bool purchaseWindowFieldSpecified;
        
        private string priorityField;
        
        private bool availableField;
        
        private bool availableFieldSpecified;
        
        private bool entitledField;
        
        private bool entitledFieldSpecified;
        
        private bool perTravelerField;
        
        private System.DateTime createDateField;
        
        private bool createDateFieldSpecified;
        
        private string paymentRefField;
        
        private string serviceStatusField;
        
        private string quantityField;
        
        private string sequenceNumberField;
        
        private string serviceSubCodeField;
        
        private string sSRCodeField;
        
        private string issuanceReasonField;
        
        private string providerDefinedTypeField;
        
        private string totalPriceField;
        
        private string basePriceField;
        
        private string approximateTotalPriceField;
        
        private string approximateBasePriceField;
        
        private string equivalentBasePriceField;
        
        private string taxesField;
        
        private string feesField;
        
        private string servicesField;
        
        private string approximateTaxesField;
        
        private string approximateFeesField;
        
        private string keyField;
        
        private typeAssessIndicator assessIndicatorField;
        
        private bool assessIndicatorFieldSpecified;
        
        private string mileageField;
        
        private string applicableFFLevelField;
        
        private bool privateField;
        
        private bool privateFieldSpecified;
        
        private string sSRFreeTextField;
        
        private bool isPricingApproximateField;
        
        private bool isPricingApproximateFieldSpecified;
        
        private typeElementStatus elStatField;
        
        private bool elStatFieldSpecified;
        
        private bool keyOverrideField;
        
        private bool keyOverrideFieldSpecified;
        
        private string chargeableField;
        
        private bool inclusiveOfTaxField;
        
        private bool inclusiveOfTaxFieldSpecified;
        
        private bool interlineSettlementAllowedField;
        
        private bool interlineSettlementAllowedFieldSpecified;
        
        private string geographySpecificationField;
        
        private string excessWeightRateField;
        
        private string sourceField;
        
        private bool viewableOnlyField;
        
        private bool viewableOnlyFieldSpecified;
        
        private string displayTextField;
        
        private string weightInExcessField;
        
        private string totalWeightField;
        
        private string baggageUnitPriceField;
        
        private int firstPieceField;
        
        private bool firstPieceFieldSpecified;
        
        private int lastPieceField;
        
        private bool lastPieceFieldSpecified;
        
        private bool restrictedField;
        
        private bool isRepriceRequiredField;
        
        private string bookedQuantityField;
        
        private string groupField;
        
        private string pseudoCityCodeField;
        
        private string tagField;
        
        private string displayOrderField;
        
        public OptionalService() {
            this.perTravelerField = true;
            this.restrictedField = false;
            this.isRepriceRequiredField = false;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ServiceData", Namespace="http://www.travelport.com/schema/common_v53_0", Order=0)]
        public ServiceData[] ServiceData {
            get {
                return this.serviceDataField;
            }
            set {
                this.serviceDataField = value;
                this.RaisePropertyChanged("ServiceData");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=1)]
        public ServiceInfo ServiceInfo {
            get {
                return this.serviceInfoField;
            }
            set {
                this.serviceInfoField = value;
                this.RaisePropertyChanged("ServiceInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Remark", Namespace="http://www.travelport.com/schema/common_v53_0", Order=2)]
        public Remark[] Remark {
            get {
                return this.remarkField;
            }
            set {
                this.remarkField = value;
                this.RaisePropertyChanged("Remark");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("TaxInfo", Order=3)]
        public typeTaxInfo[] TaxInfo {
            get {
                return this.taxInfoField;
            }
            set {
                this.taxInfoField = value;
                this.RaisePropertyChanged("TaxInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("FeeInfo", Order=4)]
        public typeFeeInfo[] FeeInfo {
            get {
                return this.feeInfoField;
            }
            set {
                this.feeInfoField = value;
                this.RaisePropertyChanged("FeeInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=5)]
        public EMD EMD {
            get {
                return this.eMDField;
            }
            set {
                this.eMDField = value;
                this.RaisePropertyChanged("EMD");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=6)]
        [System.Xml.Serialization.XmlArrayItemAttribute("BundledService", IsNullable=false)]
        public BundledService[] BundledServices {
            get {
                return this.bundledServicesField;
            }
            set {
                this.bundledServicesField = value;
                this.RaisePropertyChanged("BundledServices");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AdditionalInfo", Order=7)]
        public AdditionalInfo[] AdditionalInfo {
            get {
                return this.additionalInfoField;
            }
            set {
                this.additionalInfoField = value;
                this.RaisePropertyChanged("AdditionalInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=8)]
        public FeeApplication FeeApplication {
            get {
                return this.feeApplicationField;
            }
            set {
                this.feeApplicationField = value;
                this.RaisePropertyChanged("FeeApplication");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Text", Order=9)]
        public typeTextElement[] Text {
            get {
                return this.textField;
            }
            set {
                this.textField = value;
                this.RaisePropertyChanged("Text");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PriceRange", Order=10)]
        public PriceRange[] PriceRange {
            get {
                return this.priceRangeField;
            }
            set {
                this.priceRangeField = value;
                this.RaisePropertyChanged("PriceRange");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=11)]
        public TourCode TourCode {
            get {
                return this.tourCodeField;
            }
            set {
                this.tourCodeField = value;
                this.RaisePropertyChanged("TourCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=12)]
        public BrandingInfo BrandingInfo {
            get {
                return this.brandingInfoField;
            }
            set {
                this.brandingInfoField = value;
                this.RaisePropertyChanged("BrandingInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Title", Order=13)]
        public typeTextElement[] Title {
            get {
                return this.titleField;
            }
            set {
                this.titleField = value;
                this.RaisePropertyChanged("Title");
            }
        }
        
        /// <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 OptionalServicesRuleRef {
            get {
                return this.optionalServicesRuleRefField;
            }
            set {
                this.optionalServicesRuleRefField = value;
                this.RaisePropertyChanged("OptionalServicesRuleRef");
            }
        }
        
        /// <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 Confirmation {
            get {
                return this.confirmationField;
            }
            set {
                this.confirmationField = value;
                this.RaisePropertyChanged("Confirmation");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string SecondaryType {
            get {
                return this.secondaryTypeField;
            }
            set {
                this.secondaryTypeField = value;
                this.RaisePropertyChanged("SecondaryType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typePurchaseWindow PurchaseWindow {
            get {
                return this.purchaseWindowField;
            }
            set {
                this.purchaseWindowField = value;
                this.RaisePropertyChanged("PurchaseWindow");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PurchaseWindowSpecified {
            get {
                return this.purchaseWindowFieldSpecified;
            }
            set {
                this.purchaseWindowFieldSpecified = value;
                this.RaisePropertyChanged("PurchaseWindowSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string Priority {
            get {
                return this.priorityField;
            }
            set {
                this.priorityField = value;
                this.RaisePropertyChanged("Priority");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Available {
            get {
                return this.availableField;
            }
            set {
                this.availableField = value;
                this.RaisePropertyChanged("Available");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AvailableSpecified {
            get {
                return this.availableFieldSpecified;
            }
            set {
                this.availableFieldSpecified = value;
                this.RaisePropertyChanged("AvailableSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Entitled {
            get {
                return this.entitledField;
            }
            set {
                this.entitledField = value;
                this.RaisePropertyChanged("Entitled");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool EntitledSpecified {
            get {
                return this.entitledFieldSpecified;
            }
            set {
                this.entitledFieldSpecified = value;
                this.RaisePropertyChanged("EntitledSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(true)]
        public bool PerTraveler {
            get {
                return this.perTravelerField;
            }
            set {
                this.perTravelerField = value;
                this.RaisePropertyChanged("PerTraveler");
            }
        }
        
        /// <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()]
        public string PaymentRef {
            get {
                return this.paymentRefField;
            }
            set {
                this.paymentRefField = value;
                this.RaisePropertyChanged("PaymentRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ServiceStatus {
            get {
                return this.serviceStatusField;
            }
            set {
                this.serviceStatusField = value;
                this.RaisePropertyChanged("ServiceStatus");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string Quantity {
            get {
                return this.quantityField;
            }
            set {
                this.quantityField = value;
                this.RaisePropertyChanged("Quantity");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string SequenceNumber {
            get {
                return this.sequenceNumberField;
            }
            set {
                this.sequenceNumberField = value;
                this.RaisePropertyChanged("SequenceNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ServiceSubCode {
            get {
                return this.serviceSubCodeField;
            }
            set {
                this.serviceSubCodeField = value;
                this.RaisePropertyChanged("ServiceSubCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string SSRCode {
            get {
                return this.sSRCodeField;
            }
            set {
                this.sSRCodeField = value;
                this.RaisePropertyChanged("SSRCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string IssuanceReason {
            get {
                return this.issuanceReasonField;
            }
            set {
                this.issuanceReasonField = value;
                this.RaisePropertyChanged("IssuanceReason");
            }
        }
        
        /// <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 TotalPrice {
            get {
                return this.totalPriceField;
            }
            set {
                this.totalPriceField = value;
                this.RaisePropertyChanged("TotalPrice");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string BasePrice {
            get {
                return this.basePriceField;
            }
            set {
                this.basePriceField = value;
                this.RaisePropertyChanged("BasePrice");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApproximateTotalPrice {
            get {
                return this.approximateTotalPriceField;
            }
            set {
                this.approximateTotalPriceField = value;
                this.RaisePropertyChanged("ApproximateTotalPrice");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApproximateBasePrice {
            get {
                return this.approximateBasePriceField;
            }
            set {
                this.approximateBasePriceField = value;
                this.RaisePropertyChanged("ApproximateBasePrice");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string EquivalentBasePrice {
            get {
                return this.equivalentBasePriceField;
            }
            set {
                this.equivalentBasePriceField = value;
                this.RaisePropertyChanged("EquivalentBasePrice");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Taxes {
            get {
                return this.taxesField;
            }
            set {
                this.taxesField = value;
                this.RaisePropertyChanged("Taxes");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Fees {
            get {
                return this.feesField;
            }
            set {
                this.feesField = value;
                this.RaisePropertyChanged("Fees");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Services {
            get {
                return this.servicesField;
            }
            set {
                this.servicesField = value;
                this.RaisePropertyChanged("Services");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApproximateTaxes {
            get {
                return this.approximateTaxesField;
            }
            set {
                this.approximateTaxesField = value;
                this.RaisePropertyChanged("ApproximateTaxes");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApproximateFees {
            get {
                return this.approximateFeesField;
            }
            set {
                this.approximateFeesField = value;
                this.RaisePropertyChanged("ApproximateFees");
            }
        }
        
        /// <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 typeAssessIndicator AssessIndicator {
            get {
                return this.assessIndicatorField;
            }
            set {
                this.assessIndicatorField = value;
                this.RaisePropertyChanged("AssessIndicator");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AssessIndicatorSpecified {
            get {
                return this.assessIndicatorFieldSpecified;
            }
            set {
                this.assessIndicatorFieldSpecified = value;
                this.RaisePropertyChanged("AssessIndicatorSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string Mileage {
            get {
                return this.mileageField;
            }
            set {
                this.mileageField = value;
                this.RaisePropertyChanged("Mileage");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string ApplicableFFLevel {
            get {
                return this.applicableFFLevelField;
            }
            set {
                this.applicableFFLevelField = value;
                this.RaisePropertyChanged("ApplicableFFLevel");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Private {
            get {
                return this.privateField;
            }
            set {
                this.privateField = value;
                this.RaisePropertyChanged("Private");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PrivateSpecified {
            get {
                return this.privateFieldSpecified;
            }
            set {
                this.privateFieldSpecified = value;
                this.RaisePropertyChanged("PrivateSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string SSRFreeText {
            get {
                return this.sSRFreeTextField;
            }
            set {
                this.sSRFreeTextField = value;
                this.RaisePropertyChanged("SSRFreeText");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool IsPricingApproximate {
            get {
                return this.isPricingApproximateField;
            }
            set {
                this.isPricingApproximateField = value;
                this.RaisePropertyChanged("IsPricingApproximate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool IsPricingApproximateSpecified {
            get {
                return this.isPricingApproximateFieldSpecified;
            }
            set {
                this.isPricingApproximateFieldSpecified = value;
                this.RaisePropertyChanged("IsPricingApproximateSpecified");
            }
        }
        
        /// <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 Chargeable {
            get {
                return this.chargeableField;
            }
            set {
                this.chargeableField = value;
                this.RaisePropertyChanged("Chargeable");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool InclusiveOfTax {
            get {
                return this.inclusiveOfTaxField;
            }
            set {
                this.inclusiveOfTaxField = value;
                this.RaisePropertyChanged("InclusiveOfTax");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool InclusiveOfTaxSpecified {
            get {
                return this.inclusiveOfTaxFieldSpecified;
            }
            set {
                this.inclusiveOfTaxFieldSpecified = value;
                this.RaisePropertyChanged("InclusiveOfTaxSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool InterlineSettlementAllowed {
            get {
                return this.interlineSettlementAllowedField;
            }
            set {
                this.interlineSettlementAllowedField = value;
                this.RaisePropertyChanged("InterlineSettlementAllowed");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool InterlineSettlementAllowedSpecified {
            get {
                return this.interlineSettlementAllowedFieldSpecified;
            }
            set {
                this.interlineSettlementAllowedFieldSpecified = value;
                this.RaisePropertyChanged("InterlineSettlementAllowedSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string GeographySpecification {
            get {
                return this.geographySpecificationField;
            }
            set {
                this.geographySpecificationField = value;
                this.RaisePropertyChanged("GeographySpecification");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ExcessWeightRate {
            get {
                return this.excessWeightRateField;
            }
            set {
                this.excessWeightRateField = value;
                this.RaisePropertyChanged("ExcessWeightRate");
            }
        }
        
        /// <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 bool ViewableOnly {
            get {
                return this.viewableOnlyField;
            }
            set {
                this.viewableOnlyField = value;
                this.RaisePropertyChanged("ViewableOnly");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ViewableOnlySpecified {
            get {
                return this.viewableOnlyFieldSpecified;
            }
            set {
                this.viewableOnlyFieldSpecified = value;
                this.RaisePropertyChanged("ViewableOnlySpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string DisplayText {
            get {
                return this.displayTextField;
            }
            set {
                this.displayTextField = value;
                this.RaisePropertyChanged("DisplayText");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string WeightInExcess {
            get {
                return this.weightInExcessField;
            }
            set {
                this.weightInExcessField = value;
                this.RaisePropertyChanged("WeightInExcess");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TotalWeight {
            get {
                return this.totalWeightField;
            }
            set {
                this.totalWeightField = value;
                this.RaisePropertyChanged("TotalWeight");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string BaggageUnitPrice {
            get {
                return this.baggageUnitPriceField;
            }
            set {
                this.baggageUnitPriceField = value;
                this.RaisePropertyChanged("BaggageUnitPrice");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public int FirstPiece {
            get {
                return this.firstPieceField;
            }
            set {
                this.firstPieceField = value;
                this.RaisePropertyChanged("FirstPiece");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FirstPieceSpecified {
            get {
                return this.firstPieceFieldSpecified;
            }
            set {
                this.firstPieceFieldSpecified = value;
                this.RaisePropertyChanged("FirstPieceSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public int LastPiece {
            get {
                return this.lastPieceField;
            }
            set {
                this.lastPieceField = value;
                this.RaisePropertyChanged("LastPiece");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool LastPieceSpecified {
            get {
                return this.lastPieceFieldSpecified;
            }
            set {
                this.lastPieceFieldSpecified = value;
                this.RaisePropertyChanged("LastPieceSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool Restricted {
            get {
                return this.restrictedField;
            }
            set {
                this.restrictedField = value;
                this.RaisePropertyChanged("Restricted");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool IsRepriceRequired {
            get {
                return this.isRepriceRequiredField;
            }
            set {
                this.isRepriceRequiredField = value;
                this.RaisePropertyChanged("IsRepriceRequired");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string BookedQuantity {
            get {
                return this.bookedQuantityField;
            }
            set {
                this.bookedQuantityField = value;
                this.RaisePropertyChanged("BookedQuantity");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Group {
            get {
                return this.groupField;
            }
            set {
                this.groupField = value;
                this.RaisePropertyChanged("Group");
            }
        }
        
        /// <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 Tag {
            get {
                return this.tagField;
            }
            set {
                this.tagField = value;
                this.RaisePropertyChanged("Tag");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string DisplayOrder {
            get {
                return this.displayOrderField;
            }
            set {
                this.displayOrderField = value;
                this.RaisePropertyChanged("DisplayOrder");
            }
        }
        
        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 ServiceInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string[] descriptionField;
        
        private MediaItem[] mediaItemField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Description", Order=0)]
        public string[] Description {
            get {
                return this.descriptionField;
            }
            set {
                this.descriptionField = value;
                this.RaisePropertyChanged("Description");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("MediaItem", Order=1)]
        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/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(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.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.travelport.com/schema/air_v53_0")]
    public partial class EMD : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string fulfillmentTypeField;
        
        private string fulfillmentTypeDescriptionField;
        
        private string associatedItemField;
        
        private EMDAvailabilityChargeIndicator availabilityChargeIndicatorField;
        
        private bool availabilityChargeIndicatorFieldSpecified;
        
        private EMDRefundReissueIndicator refundReissueIndicatorField;
        
        private bool refundReissueIndicatorFieldSpecified;
        
        private bool commissionableField;
        
        private bool commissionableFieldSpecified;
        
        private bool mileageIndicatorField;
        
        private bool mileageIndicatorFieldSpecified;
        
        private string locationField;
        
        private System.DateTime dateField;
        
        private bool dateFieldSpecified;
        
        private EMDBooking bookingField;
        
        private bool bookingFieldSpecified;
        
        private EMDDisplayCategory displayCategoryField;
        
        private bool displayCategoryFieldSpecified;
        
        private bool reusableField;
        
        private bool reusableFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string FulfillmentType {
            get {
                return this.fulfillmentTypeField;
            }
            set {
                this.fulfillmentTypeField = value;
                this.RaisePropertyChanged("FulfillmentType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string FulfillmentTypeDescription {
            get {
                return this.fulfillmentTypeDescriptionField;
            }
            set {
                this.fulfillmentTypeDescriptionField = value;
                this.RaisePropertyChanged("FulfillmentTypeDescription");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string AssociatedItem {
            get {
                return this.associatedItemField;
            }
            set {
                this.associatedItemField = value;
                this.RaisePropertyChanged("AssociatedItem");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public EMDAvailabilityChargeIndicator AvailabilityChargeIndicator {
            get {
                return this.availabilityChargeIndicatorField;
            }
            set {
                this.availabilityChargeIndicatorField = value;
                this.RaisePropertyChanged("AvailabilityChargeIndicator");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AvailabilityChargeIndicatorSpecified {
            get {
                return this.availabilityChargeIndicatorFieldSpecified;
            }
            set {
                this.availabilityChargeIndicatorFieldSpecified = value;
                this.RaisePropertyChanged("AvailabilityChargeIndicatorSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public EMDRefundReissueIndicator RefundReissueIndicator {
            get {
                return this.refundReissueIndicatorField;
            }
            set {
                this.refundReissueIndicatorField = value;
                this.RaisePropertyChanged("RefundReissueIndicator");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RefundReissueIndicatorSpecified {
            get {
                return this.refundReissueIndicatorFieldSpecified;
            }
            set {
                this.refundReissueIndicatorFieldSpecified = value;
                this.RaisePropertyChanged("RefundReissueIndicatorSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Commissionable {
            get {
                return this.commissionableField;
            }
            set {
                this.commissionableField = value;
                this.RaisePropertyChanged("Commissionable");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool CommissionableSpecified {
            get {
                return this.commissionableFieldSpecified;
            }
            set {
                this.commissionableFieldSpecified = value;
                this.RaisePropertyChanged("CommissionableSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool MileageIndicator {
            get {
                return this.mileageIndicatorField;
            }
            set {
                this.mileageIndicatorField = value;
                this.RaisePropertyChanged("MileageIndicator");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool MileageIndicatorSpecified {
            get {
                return this.mileageIndicatorFieldSpecified;
            }
            set {
                this.mileageIndicatorFieldSpecified = value;
                this.RaisePropertyChanged("MileageIndicatorSpecified");
            }
        }
        
        /// <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 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 EMDBooking Booking {
            get {
                return this.bookingField;
            }
            set {
                this.bookingField = value;
                this.RaisePropertyChanged("Booking");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool BookingSpecified {
            get {
                return this.bookingFieldSpecified;
            }
            set {
                this.bookingFieldSpecified = value;
                this.RaisePropertyChanged("BookingSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public EMDDisplayCategory DisplayCategory {
            get {
                return this.displayCategoryField;
            }
            set {
                this.displayCategoryField = value;
                this.RaisePropertyChanged("DisplayCategory");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DisplayCategorySpecified {
            get {
                return this.displayCategoryFieldSpecified;
            }
            set {
                this.displayCategoryFieldSpecified = value;
                this.RaisePropertyChanged("DisplayCategorySpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Reusable {
            get {
                return this.reusableField;
            }
            set {
                this.reusableField = value;
                this.RaisePropertyChanged("Reusable");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ReusableSpecified {
            get {
                return this.reusableFieldSpecified;
            }
            set {
                this.reusableFieldSpecified = value;
                this.RaisePropertyChanged("ReusableSpecified");
            }
        }
        
        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/air_v53_0")]
    public enum EMDAvailabilityChargeIndicator {
        
        /// <remarks/>
        X,
        
        /// <remarks/>
        E,
        
        /// <remarks/>
        F,
        
        /// <remarks/>
        G,
        
        /// <remarks/>
        H,
    }
    
    /// <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/air_v53_0")]
    public enum EMDRefundReissueIndicator {
        
        /// <remarks/>
        Refundable,
        
        /// <remarks/>
        NonRefundable,
        
        /// <remarks/>
        Reuse,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/air_v53_0")]
    public enum EMDBooking {
        
        /// <remarks/>
        SSR,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("Auxillary Segment")]
        AuxillarySegment,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("Available for Display/Pricing")]
        AvailableforDisplayPricing,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("Contact Carrier for Booking")]
        ContactCarrierforBooking,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("No Booking Required")]
        NoBookingRequired,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("Apply booking per service")]
        Applybookingperservice,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/air_v53_0")]
    public enum EMDDisplayCategory {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("With Itinerary Pricing")]
        WithItineraryPricing,
        
        /// <remarks/>
        Store,
        
        /// <remarks/>
        SpecialService,
    }
    
    /// <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/air_v53_0")]
    public partial class BundledService : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string carrierField;
        
        private bool carrierSubCodeField;
        
        private bool carrierSubCodeFieldSpecified;
        
        private string serviceTypeField;
        
        private string serviceSubCodeField;
        
        private string nameField;
        
        private EMDBooking bookingField;
        
        private bool bookingFieldSpecified;
        
        private string occurrenceField;
        
        /// <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 bool CarrierSubCode {
            get {
                return this.carrierSubCodeField;
            }
            set {
                this.carrierSubCodeField = value;
                this.RaisePropertyChanged("CarrierSubCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool CarrierSubCodeSpecified {
            get {
                return this.carrierSubCodeFieldSpecified;
            }
            set {
                this.carrierSubCodeFieldSpecified = value;
                this.RaisePropertyChanged("CarrierSubCodeSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ServiceType {
            get {
                return this.serviceTypeField;
            }
            set {
                this.serviceTypeField = value;
                this.RaisePropertyChanged("ServiceType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ServiceSubCode {
            get {
                return this.serviceSubCodeField;
            }
            set {
                this.serviceSubCodeField = value;
                this.RaisePropertyChanged("ServiceSubCode");
            }
        }
        
        /// <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 EMDBooking Booking {
            get {
                return this.bookingField;
            }
            set {
                this.bookingField = value;
                this.RaisePropertyChanged("Booking");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool BookingSpecified {
            get {
                return this.bookingFieldSpecified;
            }
            set {
                this.bookingFieldSpecified = value;
                this.RaisePropertyChanged("BookingSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="positiveInteger")]
        public string Occurrence {
            get {
                return this.occurrenceField;
            }
            set {
                this.occurrenceField = value;
                this.RaisePropertyChanged("Occurrence");
            }
        }
        
        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/air_v53_0")]
    public partial class AdditionalInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string categoryField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Category {
            get {
                return this.categoryField;
            }
            set {
                this.categoryField = value;
                this.RaisePropertyChanged("Category");
            }
        }
        
        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/air_v53_0")]
    public partial class FeeApplication : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string codeField;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Code {
            get {
                return this.codeField;
            }
            set {
                this.codeField = value;
                this.RaisePropertyChanged("Code");
            }
        }
        
        /// <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/air_v53_0")]
    public partial class PriceRange : object, System.ComponentModel.INotifyPropertyChanged {
        
        private bool defaultCurrencyField;
        
        private bool defaultCurrencyFieldSpecified;
        
        private string startPriceField;
        
        private string endPriceField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool DefaultCurrency {
            get {
                return this.defaultCurrencyField;
            }
            set {
                this.defaultCurrencyField = value;
                this.RaisePropertyChanged("DefaultCurrency");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DefaultCurrencySpecified {
            get {
                return this.defaultCurrencyFieldSpecified;
            }
            set {
                this.defaultCurrencyFieldSpecified = value;
                this.RaisePropertyChanged("DefaultCurrencySpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string StartPrice {
            get {
                return this.startPriceField;
            }
            set {
                this.startPriceField = value;
                this.RaisePropertyChanged("StartPrice");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string EndPrice {
            get {
                return this.endPriceField;
            }
            set {
                this.endPriceField = value;
                this.RaisePropertyChanged("EndPrice");
            }
        }
        
        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/air_v53_0")]
    public partial class TourCode : 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/air_v53_0")]
    public partial class BrandingInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private PriceRange[] priceRangeField;
        
        private typeTextElement[] textField;
        
        private typeTextElement[] titleField;
        
        private ImageLocation[] imageLocationField;
        
        private ServiceGroup serviceGroupField;
        
        private typeSegmentRef[] airSegmentRefField;
        
        private string keyField;
        
        private string serviceSubCodeField;
        
        private string externalServiceNameField;
        
        private string serviceTypeField;
        
        private string commercialNameField;
        
        private string chargeableField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PriceRange", Order=0)]
        public PriceRange[] PriceRange {
            get {
                return this.priceRangeField;
            }
            set {
                this.priceRangeField = value;
                this.RaisePropertyChanged("PriceRange");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Text", Order=1)]
        public typeTextElement[] Text {
            get {
                return this.textField;
            }
            set {
                this.textField = value;
                this.RaisePropertyChanged("Text");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Title", Order=2)]
        public typeTextElement[] Title {
            get {
                return this.titleField;
            }
            set {
                this.titleField = value;
                this.RaisePropertyChanged("Title");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ImageLocation", Order=3)]
        public ImageLocation[] ImageLocation {
            get {
                return this.imageLocationField;
            }
            set {
                this.imageLocationField = value;
                this.RaisePropertyChanged("ImageLocation");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=4)]
        public ServiceGroup ServiceGroup {
            get {
                return this.serviceGroupField;
            }
            set {
                this.serviceGroupField = value;
                this.RaisePropertyChanged("ServiceGroup");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AirSegmentRef", Order=5)]
        public typeSegmentRef[] AirSegmentRef {
            get {
                return this.airSegmentRefField;
            }
            set {
                this.airSegmentRefField = value;
                this.RaisePropertyChanged("AirSegmentRef");
            }
        }
        
        /// <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 ServiceSubCode {
            get {
                return this.serviceSubCodeField;
            }
            set {
                this.serviceSubCodeField = value;
                this.RaisePropertyChanged("ServiceSubCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ExternalServiceName {
            get {
                return this.externalServiceNameField;
            }
            set {
                this.externalServiceNameField = value;
                this.RaisePropertyChanged("ExternalServiceName");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ServiceType {
            get {
                return this.serviceTypeField;
            }
            set {
                this.serviceTypeField = value;
                this.RaisePropertyChanged("ServiceType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CommercialName {
            get {
                return this.commercialNameField;
            }
            set {
                this.commercialNameField = value;
                this.RaisePropertyChanged("CommercialName");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Chargeable {
            get {
                return this.chargeableField;
            }
            set {
                this.chargeableField = value;
                this.RaisePropertyChanged("Chargeable");
            }
        }
        
        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/air_v53_0")]
    public partial class ServiceGroup : object, System.ComponentModel.INotifyPropertyChanged {
        
        private ServiceSubGroup[] serviceSubGroupField;
        
        private string codeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ServiceSubGroup", Order=0)]
        public ServiceSubGroup[] ServiceSubGroup {
            get {
                return this.serviceSubGroupField;
            }
            set {
                this.serviceSubGroupField = value;
                this.RaisePropertyChanged("ServiceSubGroup");
            }
        }
        
        /// <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/air_v53_0")]
    public partial class ServiceSubGroup : 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(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.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public enum typePurchaseWindow {
        
        /// <remarks/>
        BookingOnly,
        
        /// <remarks/>
        TicketingOnly,
        
        /// <remarks/>
        CheckInOnly,
        
        /// <remarks/>
        Anytime,
        
        /// <remarks/>
        PostTicketing,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/air_v53_0")]
    public enum typeAssessIndicator {
        
        /// <remarks/>
        MileageAndCurrency,
        
        /// <remarks/>
        MileageOrCurrency,
    }
    
    /// <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/air_v53_0")]
    public partial class GroupedOptionInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private GroupedOption[] itemsField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("GroupedOption", Order=0)]
        public GroupedOption[] Items {
            get {
                return this.itemsField;
            }
            set {
                this.itemsField = value;
                this.RaisePropertyChanged("Items");
            }
        }
        
        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/air_v53_0")]
    public partial class GroupedOption : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string optionalServiceRefField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string OptionalServiceRef {
            get {
                return this.optionalServiceRefField;
            }
            set {
                this.optionalServiceRefField = value;
                this.RaisePropertyChanged("OptionalServiceRef");
            }
        }
        
        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 SupplierLocator : object, System.ComponentModel.INotifyPropertyChanged {
        
        private typeGeneralReference[] segmentRefField;
        
        private string supplierCodeField;
        
        private string supplierLocatorCodeField;
        
        private string providerReservationInfoRefField;
        
        private System.DateTime createDateTimeField;
        
        private bool createDateTimeFieldSpecified;
        
        /// <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 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");
            }
        }
        
        /// <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 System.DateTime CreateDateTime {
            get {
                return this.createDateTimeField;
            }
            set {
                this.createDateTimeField = value;
                this.RaisePropertyChanged("CreateDateTime");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool CreateDateTimeSpecified {
            get {
                return this.createDateTimeFieldSpecified;
            }
            set {
                this.createDateTimeFieldSpecified = value;
                this.RaisePropertyChanged("CreateDateTimeSpecified");
            }
        }
        
        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(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/air_v53_0")]
    public partial class DocumentInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private TicketInfo[] ticketInfoField;
        
        private MCOInformation[] mCOInfoField;
        
        private TCRInfo[] tCRInfoField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("TicketInfo", Order=0)]
        public TicketInfo[] TicketInfo {
            get {
                return this.ticketInfoField;
            }
            set {
                this.ticketInfoField = value;
                this.RaisePropertyChanged("TicketInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("MCOInfo", Order=1)]
        public MCOInformation[] MCOInfo {
            get {
                return this.mCOInfoField;
            }
            set {
                this.mCOInfoField = value;
                this.RaisePropertyChanged("MCOInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("TCRInfo", Order=2)]
        public TCRInfo[] TCRInfo {
            get {
                return this.tCRInfoField;
            }
            set {
                this.tCRInfoField = value;
                this.RaisePropertyChanged("TCRInfo");
            }
        }
        
        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/air_v53_0")]
    public partial class TicketInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private Name nameField;
        
        private ConjunctedTicketInfo[] conjunctedTicketInfoField;
        
        private ExchangedTicketInfo[] exchangedTicketInfoField;
        
        private string numberField;
        
        private string iATANumberField;
        
        private System.DateTime ticketIssueDateField;
        
        private bool ticketIssueDateFieldSpecified;
        
        private string ticketingAgentSignOnField;
        
        private string countryCodeField;
        
        private typeTicketStatus statusField;
        
        private bool bulkTicketField;
        
        private bool bulkTicketFieldSpecified;
        
        private string bookingTravelerRefField;
        
        private string airPricingInfoRefField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=0)]
        public Name Name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
                this.RaisePropertyChanged("Name");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ConjunctedTicketInfo", Order=1)]
        public ConjunctedTicketInfo[] ConjunctedTicketInfo {
            get {
                return this.conjunctedTicketInfoField;
            }
            set {
                this.conjunctedTicketInfoField = value;
                this.RaisePropertyChanged("ConjunctedTicketInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ExchangedTicketInfo", Order=2)]
        public ExchangedTicketInfo[] ExchangedTicketInfo {
            get {
                return this.exchangedTicketInfoField;
            }
            set {
                this.exchangedTicketInfoField = value;
                this.RaisePropertyChanged("ExchangedTicketInfo");
            }
        }
        
        /// <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 IATANumber {
            get {
                return this.iATANumberField;
            }
            set {
                this.iATANumberField = value;
                this.RaisePropertyChanged("IATANumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public System.DateTime TicketIssueDate {
            get {
                return this.ticketIssueDateField;
            }
            set {
                this.ticketIssueDateField = value;
                this.RaisePropertyChanged("TicketIssueDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool TicketIssueDateSpecified {
            get {
                return this.ticketIssueDateFieldSpecified;
            }
            set {
                this.ticketIssueDateFieldSpecified = value;
                this.RaisePropertyChanged("TicketIssueDateSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TicketingAgentSignOn {
            get {
                return this.ticketingAgentSignOnField;
            }
            set {
                this.ticketingAgentSignOnField = value;
                this.RaisePropertyChanged("TicketingAgentSignOn");
            }
        }
        
        /// <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 typeTicketStatus Status {
            get {
                return this.statusField;
            }
            set {
                this.statusField = value;
                this.RaisePropertyChanged("Status");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool BulkTicket {
            get {
                return this.bulkTicketField;
            }
            set {
                this.bulkTicketField = value;
                this.RaisePropertyChanged("BulkTicket");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool BulkTicketSpecified {
            get {
                return this.bulkTicketFieldSpecified;
            }
            set {
                this.bulkTicketFieldSpecified = value;
                this.RaisePropertyChanged("BulkTicketSpecified");
            }
        }
        
        /// <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 AirPricingInfoRef {
            get {
                return this.airPricingInfoRefField;
            }
            set {
                this.airPricingInfoRefField = value;
                this.RaisePropertyChanged("AirPricingInfoRef");
            }
        }
        
        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/air_v53_0")]
    public partial class ConjunctedTicketInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string numberField;
        
        private string iATANumberField;
        
        private System.DateTime ticketIssueDateField;
        
        private bool ticketIssueDateFieldSpecified;
        
        private string ticketingAgentSignOnField;
        
        private string countryCodeField;
        
        private typeTicketStatus statusField;
        
        /// <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 IATANumber {
            get {
                return this.iATANumberField;
            }
            set {
                this.iATANumberField = value;
                this.RaisePropertyChanged("IATANumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public System.DateTime TicketIssueDate {
            get {
                return this.ticketIssueDateField;
            }
            set {
                this.ticketIssueDateField = value;
                this.RaisePropertyChanged("TicketIssueDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool TicketIssueDateSpecified {
            get {
                return this.ticketIssueDateFieldSpecified;
            }
            set {
                this.ticketIssueDateFieldSpecified = value;
                this.RaisePropertyChanged("TicketIssueDateSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TicketingAgentSignOn {
            get {
                return this.ticketingAgentSignOnField;
            }
            set {
                this.ticketingAgentSignOnField = value;
                this.RaisePropertyChanged("TicketingAgentSignOn");
            }
        }
        
        /// <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 typeTicketStatus Status {
            get {
                return this.statusField;
            }
            set {
                this.statusField = value;
                this.RaisePropertyChanged("Status");
            }
        }
        
        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 typeTicketStatus {
        
        /// <remarks/>
        U,
        
        /// <remarks/>
        T,
        
        /// <remarks/>
        V,
        
        /// <remarks/>
        R,
        
        /// <remarks/>
        X,
        
        /// <remarks/>
        Z,
        
        /// <remarks/>
        N,
        
        /// <remarks/>
        S,
    }
    
    /// <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/air_v53_0")]
    public partial class ExchangedTicketInfo : 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/air_v53_0")]
    public partial class TCRInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private typeTCRStatus statusField;
        
        private System.DateTime dateField;
        
        private bool dateFieldSpecified;
        
        private string tCRNumberField;
        
        private string providerReservationInfoRefField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeTCRStatus Status {
            get {
                return this.statusField;
            }
            set {
                this.statusField = value;
                this.RaisePropertyChanged("Status");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        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 TCRNumber {
            get {
                return this.tCRNumberField;
            }
            set {
                this.tCRNumberField = value;
                this.RaisePropertyChanged("TCRNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProviderReservationInfoRef {
            get {
                return this.providerReservationInfoRefField;
            }
            set {
                this.providerReservationInfoRefField = value;
                this.RaisePropertyChanged("ProviderReservationInfoRef");
            }
        }
        
        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/air_v53_0")]
    public enum typeTCRStatus {
        
        /// <remarks/>
        Unknown,
        
        /// <remarks/>
        Confirmed,
        
        /// <remarks/>
        Refunded,
        
        /// <remarks/>
        Exchanged,
        
        /// <remarks/>
        Cancelled,
        
        /// <remarks/>
        Pending,
    }
    
    /// <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/air_v53_0")]
    public partial class SvcSegment : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string keyField;
        
        private string carrierField;
        
        private string statusField;
        
        private string numberOfItemsField;
        
        private string originField;
        
        private string destinationField;
        
        private System.DateTime startDateField;
        
        private bool startDateFieldSpecified;
        
        private string travelOrderField;
        
        private string bookingTravelerRefField;
        
        private string rFICField;
        
        private string rFISCField;
        
        private string svcDescriptionField;
        
        private string feeField;
        
        private string eMDNumberField;
        
        /// <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 Status {
            get {
                return this.statusField;
            }
            set {
                this.statusField = value;
                this.RaisePropertyChanged("Status");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string NumberOfItems {
            get {
                return this.numberOfItemsField;
            }
            set {
                this.numberOfItemsField = value;
                this.RaisePropertyChanged("NumberOfItems");
            }
        }
        
        /// <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(DataType="date")]
        public System.DateTime StartDate {
            get {
                return this.startDateField;
            }
            set {
                this.startDateField = value;
                this.RaisePropertyChanged("StartDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool StartDateSpecified {
            get {
                return this.startDateFieldSpecified;
            }
            set {
                this.startDateFieldSpecified = value;
                this.RaisePropertyChanged("StartDateSpecified");
            }
        }
        
        /// <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()]
        public string BookingTravelerRef {
            get {
                return this.bookingTravelerRefField;
            }
            set {
                this.bookingTravelerRefField = value;
                this.RaisePropertyChanged("BookingTravelerRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string RFIC {
            get {
                return this.rFICField;
            }
            set {
                this.rFICField = value;
                this.RaisePropertyChanged("RFIC");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string RFISC {
            get {
                return this.rFISCField;
            }
            set {
                this.rFISCField = value;
                this.RaisePropertyChanged("RFISC");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string SvcDescription {
            get {
                return this.svcDescriptionField;
            }
            set {
                this.svcDescriptionField = value;
                this.RaisePropertyChanged("SvcDescription");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Fee {
            get {
                return this.feeField;
            }
            set {
                this.feeField = value;
                this.RaisePropertyChanged("Fee");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string EMDNumber {
            get {
                return this.eMDNumberField;
            }
            set {
                this.eMDNumberField = value;
                this.RaisePropertyChanged("EMDNumber");
            }
        }
        
        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/air_v53_0")]
    public partial class AirPricingInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private FareInfo[] fareInfoField;
        
        private FareStatus fareStatusField;
        
        private FareInfoRef[] fareInfoRefField;
        
        private BookingInfo[] bookingInfoField;
        
        private typeTaxInfo[] taxInfoField;
        
        private string fareCalcField;
        
        private PassengerType[] passengerTypeField;
        
        private BookingTravelerRef[] bookingTravelerRefField;
        
        private WaiverCode waiverCodeField;
        
        private PaymentRef[] paymentRefField;
        
        private typeFarePenalty[] changePenaltyField;
        
        private typeFarePenalty[] cancelPenaltyField;
        
        private typeFarePenalty[] noShowPenaltyField;
        
        private typeRestrictionData[] mostRestrictivePenaltiesField;
        
        private typeFeeInfo[] feeInfoField;
        
        private Adjustment[] adjustmentField;
        
        private Yield[] yieldField;
        
        private AirPricingModifiers airPricingModifiersField;
        
        private TicketingModifiersRef[] ticketingModifiersRefField;
        
        private AirSegmentPricingModifiers[] airSegmentPricingModifiersField;
        
        private FlightOption[] flightOptionsListField;
        
        private BaggageAllowances baggageAllowancesField;
        
        private FareRulesFilter fareRulesFilterField;
        
        private int[] policyCodesListField;
        
        private PriceChangeType[] priceChangeField;
        
        private ActionDetails actionDetailsField;
        
        private Commission[] commissionField;
        
        private string originField;
        
        private string destinationField;
        
        private string keyField;
        
        private string commandKeyField;
        
        private string totalPriceField;
        
        private string basePriceField;
        
        private string approximateTotalPriceField;
        
        private string approximateBasePriceField;
        
        private string equivalentBasePriceField;
        
        private string taxesField;
        
        private string feesField;
        
        private string servicesField;
        
        private string approximateTaxesField;
        
        private string approximateFeesField;
        
        private string providerCodeField;
        
        private string supplierCodeField;
        
        private string amountTypeField;
        
        private bool includesVATField;
        
        private bool includesVATFieldSpecified;
        
        private string exchangeAmountField;
        
        private string forfeitAmountField;
        
        private bool refundableField;
        
        private bool refundableFieldSpecified;
        
        private bool exchangeableField;
        
        private bool exchangeableFieldSpecified;
        
        private string latestTicketingTimeField;
        
        private typePricingMethod pricingMethodField;
        
        private string checksumField;
        
        private typeEticketability eTicketabilityField;
        
        private bool eTicketabilityFieldSpecified;
        
        private string platingCarrierField;
        
        private string providerReservationInfoRefField;
        
        private int airPricingInfoGroupField;
        
        private bool airPricingInfoGroupFieldSpecified;
        
        private string totalNetPriceField;
        
        private bool ticketedField;
        
        private bool ticketedFieldSpecified;
        
        private string pricingTypeField;
        
        private string trueLastDateToTicketField;
        
        private typeElementStatus elStatField;
        
        private bool elStatFieldSpecified;
        
        private bool keyOverrideField;
        
        private bool keyOverrideFieldSpecified;
        
        private bool inPolicyField;
        
        private bool inPolicyFieldSpecified;
        
        private bool preferredOptionField;
        
        private bool preferredOptionFieldSpecified;
        
        private string fareCalculationIndField;
        
        private bool cat35IndicatorField;
        
        private bool cat35IndicatorFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("FareInfo", Order=0)]
        public FareInfo[] FareInfo {
            get {
                return this.fareInfoField;
            }
            set {
                this.fareInfoField = value;
                this.RaisePropertyChanged("FareInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public FareStatus FareStatus {
            get {
                return this.fareStatusField;
            }
            set {
                this.fareStatusField = value;
                this.RaisePropertyChanged("FareStatus");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("FareInfoRef", Order=2)]
        public FareInfoRef[] FareInfoRef {
            get {
                return this.fareInfoRefField;
            }
            set {
                this.fareInfoRefField = value;
                this.RaisePropertyChanged("FareInfoRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("BookingInfo", Order=3)]
        public BookingInfo[] BookingInfo {
            get {
                return this.bookingInfoField;
            }
            set {
                this.bookingInfoField = value;
                this.RaisePropertyChanged("BookingInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("TaxInfo", Order=4)]
        public typeTaxInfo[] TaxInfo {
            get {
                return this.taxInfoField;
            }
            set {
                this.taxInfoField = value;
                this.RaisePropertyChanged("TaxInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=5)]
        public string FareCalc {
            get {
                return this.fareCalcField;
            }
            set {
                this.fareCalcField = value;
                this.RaisePropertyChanged("FareCalc");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PassengerType", Order=6)]
        public PassengerType[] PassengerType {
            get {
                return this.passengerTypeField;
            }
            set {
                this.passengerTypeField = value;
                this.RaisePropertyChanged("PassengerType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("BookingTravelerRef", Namespace="http://www.travelport.com/schema/common_v53_0", Order=7)]
        public BookingTravelerRef[] BookingTravelerRef {
            get {
                return this.bookingTravelerRefField;
            }
            set {
                this.bookingTravelerRefField = value;
                this.RaisePropertyChanged("BookingTravelerRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=8)]
        public WaiverCode WaiverCode {
            get {
                return this.waiverCodeField;
            }
            set {
                this.waiverCodeField = value;
                this.RaisePropertyChanged("WaiverCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PaymentRef", Order=9)]
        public PaymentRef[] PaymentRef {
            get {
                return this.paymentRefField;
            }
            set {
                this.paymentRefField = value;
                this.RaisePropertyChanged("PaymentRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ChangePenalty", Order=10)]
        public typeFarePenalty[] ChangePenalty {
            get {
                return this.changePenaltyField;
            }
            set {
                this.changePenaltyField = value;
                this.RaisePropertyChanged("ChangePenalty");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CancelPenalty", Order=11)]
        public typeFarePenalty[] CancelPenalty {
            get {
                return this.cancelPenaltyField;
            }
            set {
                this.cancelPenaltyField = value;
                this.RaisePropertyChanged("CancelPenalty");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("NoShowPenalty", Order=12)]
        public typeFarePenalty[] NoShowPenalty {
            get {
                return this.noShowPenaltyField;
            }
            set {
                this.noShowPenaltyField = value;
                this.RaisePropertyChanged("NoShowPenalty");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=13)]
        [System.Xml.Serialization.XmlArrayItemAttribute("RestrictionType", IsNullable=false)]
        public typeRestrictionData[] MostRestrictivePenalties {
            get {
                return this.mostRestrictivePenaltiesField;
            }
            set {
                this.mostRestrictivePenaltiesField = value;
                this.RaisePropertyChanged("MostRestrictivePenalties");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("FeeInfo", Order=14)]
        public typeFeeInfo[] FeeInfo {
            get {
                return this.feeInfoField;
            }
            set {
                this.feeInfoField = value;
                this.RaisePropertyChanged("FeeInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Adjustment", Order=15)]
        public Adjustment[] Adjustment {
            get {
                return this.adjustmentField;
            }
            set {
                this.adjustmentField = value;
                this.RaisePropertyChanged("Adjustment");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Yield", Order=16)]
        public Yield[] Yield {
            get {
                return this.yieldField;
            }
            set {
                this.yieldField = value;
                this.RaisePropertyChanged("Yield");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=17)]
        public AirPricingModifiers AirPricingModifiers {
            get {
                return this.airPricingModifiersField;
            }
            set {
                this.airPricingModifiersField = value;
                this.RaisePropertyChanged("AirPricingModifiers");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("TicketingModifiersRef", Order=18)]
        public TicketingModifiersRef[] TicketingModifiersRef {
            get {
                return this.ticketingModifiersRefField;
            }
            set {
                this.ticketingModifiersRefField = value;
                this.RaisePropertyChanged("TicketingModifiersRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AirSegmentPricingModifiers", Order=19)]
        public AirSegmentPricingModifiers[] AirSegmentPricingModifiers {
            get {
                return this.airSegmentPricingModifiersField;
            }
            set {
                this.airSegmentPricingModifiersField = value;
                this.RaisePropertyChanged("AirSegmentPricingModifiers");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=20)]
        [System.Xml.Serialization.XmlArrayItemAttribute("FlightOption", IsNullable=false)]
        public FlightOption[] FlightOptionsList {
            get {
                return this.flightOptionsListField;
            }
            set {
                this.flightOptionsListField = value;
                this.RaisePropertyChanged("FlightOptionsList");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=21)]
        public BaggageAllowances BaggageAllowances {
            get {
                return this.baggageAllowancesField;
            }
            set {
                this.baggageAllowancesField = value;
                this.RaisePropertyChanged("BaggageAllowances");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=22)]
        public FareRulesFilter FareRulesFilter {
            get {
                return this.fareRulesFilterField;
            }
            set {
                this.fareRulesFilterField = value;
                this.RaisePropertyChanged("FareRulesFilter");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=23)]
        [System.Xml.Serialization.XmlArrayItemAttribute("PolicyCode", IsNullable=false)]
        public int[] PolicyCodesList {
            get {
                return this.policyCodesListField;
            }
            set {
                this.policyCodesListField = value;
                this.RaisePropertyChanged("PolicyCodesList");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PriceChange", Order=24)]
        public PriceChangeType[] PriceChange {
            get {
                return this.priceChangeField;
            }
            set {
                this.priceChangeField = value;
                this.RaisePropertyChanged("PriceChange");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=25)]
        public ActionDetails ActionDetails {
            get {
                return this.actionDetailsField;
            }
            set {
                this.actionDetailsField = value;
                this.RaisePropertyChanged("ActionDetails");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Commission", Namespace="http://www.travelport.com/schema/common_v53_0", Order=26)]
        public Commission[] Commission {
            get {
                return this.commissionField;
            }
            set {
                this.commissionField = value;
                this.RaisePropertyChanged("Commission");
            }
        }
        
        /// <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 Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CommandKey {
            get {
                return this.commandKeyField;
            }
            set {
                this.commandKeyField = value;
                this.RaisePropertyChanged("CommandKey");
            }
        }
        
        /// <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 BasePrice {
            get {
                return this.basePriceField;
            }
            set {
                this.basePriceField = value;
                this.RaisePropertyChanged("BasePrice");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApproximateTotalPrice {
            get {
                return this.approximateTotalPriceField;
            }
            set {
                this.approximateTotalPriceField = value;
                this.RaisePropertyChanged("ApproximateTotalPrice");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApproximateBasePrice {
            get {
                return this.approximateBasePriceField;
            }
            set {
                this.approximateBasePriceField = value;
                this.RaisePropertyChanged("ApproximateBasePrice");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string EquivalentBasePrice {
            get {
                return this.equivalentBasePriceField;
            }
            set {
                this.equivalentBasePriceField = value;
                this.RaisePropertyChanged("EquivalentBasePrice");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Taxes {
            get {
                return this.taxesField;
            }
            set {
                this.taxesField = value;
                this.RaisePropertyChanged("Taxes");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Fees {
            get {
                return this.feesField;
            }
            set {
                this.feesField = value;
                this.RaisePropertyChanged("Fees");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Services {
            get {
                return this.servicesField;
            }
            set {
                this.servicesField = value;
                this.RaisePropertyChanged("Services");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApproximateTaxes {
            get {
                return this.approximateTaxesField;
            }
            set {
                this.approximateTaxesField = value;
                this.RaisePropertyChanged("ApproximateTaxes");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApproximateFees {
            get {
                return this.approximateFeesField;
            }
            set {
                this.approximateFeesField = value;
                this.RaisePropertyChanged("ApproximateFees");
            }
        }
        
        /// <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 AmountType {
            get {
                return this.amountTypeField;
            }
            set {
                this.amountTypeField = value;
                this.RaisePropertyChanged("AmountType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool IncludesVAT {
            get {
                return this.includesVATField;
            }
            set {
                this.includesVATField = value;
                this.RaisePropertyChanged("IncludesVAT");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool IncludesVATSpecified {
            get {
                return this.includesVATFieldSpecified;
            }
            set {
                this.includesVATFieldSpecified = value;
                this.RaisePropertyChanged("IncludesVATSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ExchangeAmount {
            get {
                return this.exchangeAmountField;
            }
            set {
                this.exchangeAmountField = value;
                this.RaisePropertyChanged("ExchangeAmount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ForfeitAmount {
            get {
                return this.forfeitAmountField;
            }
            set {
                this.forfeitAmountField = value;
                this.RaisePropertyChanged("ForfeitAmount");
            }
        }
        
        /// <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 bool Exchangeable {
            get {
                return this.exchangeableField;
            }
            set {
                this.exchangeableField = value;
                this.RaisePropertyChanged("Exchangeable");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ExchangeableSpecified {
            get {
                return this.exchangeableFieldSpecified;
            }
            set {
                this.exchangeableFieldSpecified = value;
                this.RaisePropertyChanged("ExchangeableSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string LatestTicketingTime {
            get {
                return this.latestTicketingTimeField;
            }
            set {
                this.latestTicketingTimeField = value;
                this.RaisePropertyChanged("LatestTicketingTime");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typePricingMethod PricingMethod {
            get {
                return this.pricingMethodField;
            }
            set {
                this.pricingMethodField = value;
                this.RaisePropertyChanged("PricingMethod");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Checksum {
            get {
                return this.checksumField;
            }
            set {
                this.checksumField = value;
                this.RaisePropertyChanged("Checksum");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeEticketability ETicketability {
            get {
                return this.eTicketabilityField;
            }
            set {
                this.eTicketabilityField = value;
                this.RaisePropertyChanged("ETicketability");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ETicketabilitySpecified {
            get {
                return this.eTicketabilityFieldSpecified;
            }
            set {
                this.eTicketabilityFieldSpecified = value;
                this.RaisePropertyChanged("ETicketabilitySpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PlatingCarrier {
            get {
                return this.platingCarrierField;
            }
            set {
                this.platingCarrierField = value;
                this.RaisePropertyChanged("PlatingCarrier");
            }
        }
        
        /// <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 int AirPricingInfoGroup {
            get {
                return this.airPricingInfoGroupField;
            }
            set {
                this.airPricingInfoGroupField = value;
                this.RaisePropertyChanged("AirPricingInfoGroup");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AirPricingInfoGroupSpecified {
            get {
                return this.airPricingInfoGroupFieldSpecified;
            }
            set {
                this.airPricingInfoGroupFieldSpecified = value;
                this.RaisePropertyChanged("AirPricingInfoGroupSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TotalNetPrice {
            get {
                return this.totalNetPriceField;
            }
            set {
                this.totalNetPriceField = value;
                this.RaisePropertyChanged("TotalNetPrice");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Ticketed {
            get {
                return this.ticketedField;
            }
            set {
                this.ticketedField = value;
                this.RaisePropertyChanged("Ticketed");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool TicketedSpecified {
            get {
                return this.ticketedFieldSpecified;
            }
            set {
                this.ticketedFieldSpecified = value;
                this.RaisePropertyChanged("TicketedSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PricingType {
            get {
                return this.pricingTypeField;
            }
            set {
                this.pricingTypeField = value;
                this.RaisePropertyChanged("PricingType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TrueLastDateToTicket {
            get {
                return this.trueLastDateToTicketField;
            }
            set {
                this.trueLastDateToTicketField = value;
                this.RaisePropertyChanged("TrueLastDateToTicket");
            }
        }
        
        /// <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 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 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 FareCalculationInd {
            get {
                return this.fareCalculationIndField;
            }
            set {
                this.fareCalculationIndField = value;
                this.RaisePropertyChanged("FareCalculationInd");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Cat35Indicator {
            get {
                return this.cat35IndicatorField;
            }
            set {
                this.cat35IndicatorField = value;
                this.RaisePropertyChanged("Cat35Indicator");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool Cat35IndicatorSpecified {
            get {
                return this.cat35IndicatorFieldSpecified;
            }
            set {
                this.cat35IndicatorFieldSpecified = value;
                this.RaisePropertyChanged("Cat35IndicatorSpecified");
            }
        }
        
        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/air_v53_0")]
    public partial class FareInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private FareTicketDesignator[] fareTicketDesignatorField;
        
        private TicketingCode[] ticketingCodeField;
        
        private FareSurcharge[] fareSurchargeField;
        
        private AccountCode[] accountCodeField;
        
        private ContractCode[] contractCodeField;
        
        private Endorsement[] endorsementField;
        
        private BaggageAllowance baggageAllowanceField;
        
        private FareRuleKey fareRuleKeyField;
        
        private string[] fareRuleFailureInfoField;
        
        private FareRemarkRef[] fareRemarkRefField;
        
        private Brand brandField;
        
        private Commission commissionField;
        
        private string fareAttributesField;
        
        private typeFarePenalty changePenaltyField;
        
        private typeFarePenalty cancelPenaltyField;
        
        private FareRulesFilter fareRulesFilterField;
        
        private string keyField;
        
        private string fareBasisField;
        
        private string passengerTypeCodeField;
        
        private string originField;
        
        private string destinationField;
        
        private string effectiveDateField;
        
        private System.DateTime travelDateField;
        
        private bool travelDateFieldSpecified;
        
        private System.DateTime departureDateField;
        
        private bool departureDateFieldSpecified;
        
        private string amountField;
        
        private typePrivateFare privateFareField;
        
        private bool privateFareFieldSpecified;
        
        private bool negotiatedFareField;
        
        private bool negotiatedFareFieldSpecified;
        
        private string tourCodeField;
        
        private string waiverCodeField;
        
        private System.DateTime notValidBeforeField;
        
        private bool notValidBeforeFieldSpecified;
        
        private System.DateTime notValidAfterField;
        
        private bool notValidAfterFieldSpecified;
        
        private string pseudoCityCodeField;
        
        private string fareFamilyField;
        
        private bool promotionalFareField;
        
        private bool promotionalFareFieldSpecified;
        
        private string carCodeField;
        
        private string valueCodeField;
        
        private typeElementStatus elStatField;
        
        private bool elStatFieldSpecified;
        
        private bool keyOverrideField;
        
        private bool keyOverrideFieldSpecified;
        
        private bool bulkTicketField;
        
        private bool bulkTicketFieldSpecified;
        
        private bool inclusiveTourField;
        
        private bool inclusiveTourFieldSpecified;
        
        private string valueField;
        
        private string supplierCodeField;
        
        private string taxAmountField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("FareTicketDesignator", Order=0)]
        public FareTicketDesignator[] FareTicketDesignator {
            get {
                return this.fareTicketDesignatorField;
            }
            set {
                this.fareTicketDesignatorField = value;
                this.RaisePropertyChanged("FareTicketDesignator");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("TicketingCode", Order=1)]
        public TicketingCode[] TicketingCode {
            get {
                return this.ticketingCodeField;
            }
            set {
                this.ticketingCodeField = value;
                this.RaisePropertyChanged("TicketingCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("FareSurcharge", Order=2)]
        public FareSurcharge[] FareSurcharge {
            get {
                return this.fareSurchargeField;
            }
            set {
                this.fareSurchargeField = value;
                this.RaisePropertyChanged("FareSurcharge");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AccountCode", Namespace="http://www.travelport.com/schema/common_v53_0", Order=3)]
        public AccountCode[] AccountCode {
            get {
                return this.accountCodeField;
            }
            set {
                this.accountCodeField = value;
                this.RaisePropertyChanged("AccountCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ContractCode", Order=4)]
        public ContractCode[] ContractCode {
            get {
                return this.contractCodeField;
            }
            set {
                this.contractCodeField = value;
                this.RaisePropertyChanged("ContractCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Endorsement", Namespace="http://www.travelport.com/schema/common_v53_0", Order=5)]
        public Endorsement[] Endorsement {
            get {
                return this.endorsementField;
            }
            set {
                this.endorsementField = value;
                this.RaisePropertyChanged("Endorsement");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=6)]
        public BaggageAllowance BaggageAllowance {
            get {
                return this.baggageAllowanceField;
            }
            set {
                this.baggageAllowanceField = value;
                this.RaisePropertyChanged("BaggageAllowance");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=7)]
        public FareRuleKey FareRuleKey {
            get {
                return this.fareRuleKeyField;
            }
            set {
                this.fareRuleKeyField = value;
                this.RaisePropertyChanged("FareRuleKey");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=8)]
        [System.Xml.Serialization.XmlArrayItemAttribute("Reason", IsNullable=false)]
        public string[] FareRuleFailureInfo {
            get {
                return this.fareRuleFailureInfoField;
            }
            set {
                this.fareRuleFailureInfoField = value;
                this.RaisePropertyChanged("FareRuleFailureInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("FareRemarkRef", Order=9)]
        public FareRemarkRef[] FareRemarkRef {
            get {
                return this.fareRemarkRefField;
            }
            set {
                this.fareRemarkRefField = value;
                this.RaisePropertyChanged("FareRemarkRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=10)]
        public Brand Brand {
            get {
                return this.brandField;
            }
            set {
                this.brandField = value;
                this.RaisePropertyChanged("Brand");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=11)]
        public Commission Commission {
            get {
                return this.commissionField;
            }
            set {
                this.commissionField = value;
                this.RaisePropertyChanged("Commission");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=12)]
        public string FareAttributes {
            get {
                return this.fareAttributesField;
            }
            set {
                this.fareAttributesField = value;
                this.RaisePropertyChanged("FareAttributes");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=13)]
        public typeFarePenalty ChangePenalty {
            get {
                return this.changePenaltyField;
            }
            set {
                this.changePenaltyField = value;
                this.RaisePropertyChanged("ChangePenalty");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=14)]
        public typeFarePenalty CancelPenalty {
            get {
                return this.cancelPenaltyField;
            }
            set {
                this.cancelPenaltyField = value;
                this.RaisePropertyChanged("CancelPenalty");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=15)]
        public FareRulesFilter FareRulesFilter {
            get {
                return this.fareRulesFilterField;
            }
            set {
                this.fareRulesFilterField = value;
                this.RaisePropertyChanged("FareRulesFilter");
            }
        }
        
        /// <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 FareBasis {
            get {
                return this.fareBasisField;
            }
            set {
                this.fareBasisField = value;
                this.RaisePropertyChanged("FareBasis");
            }
        }
        
        /// <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 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 EffectiveDate {
            get {
                return this.effectiveDateField;
            }
            set {
                this.effectiveDateField = value;
                this.RaisePropertyChanged("EffectiveDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="date")]
        public System.DateTime TravelDate {
            get {
                return this.travelDateField;
            }
            set {
                this.travelDateField = value;
                this.RaisePropertyChanged("TravelDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool TravelDateSpecified {
            get {
                return this.travelDateFieldSpecified;
            }
            set {
                this.travelDateFieldSpecified = value;
                this.RaisePropertyChanged("TravelDateSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="date")]
        public System.DateTime DepartureDate {
            get {
                return this.departureDateField;
            }
            set {
                this.departureDateField = value;
                this.RaisePropertyChanged("DepartureDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DepartureDateSpecified {
            get {
                return this.departureDateFieldSpecified;
            }
            set {
                this.departureDateFieldSpecified = value;
                this.RaisePropertyChanged("DepartureDateSpecified");
            }
        }
        
        /// <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 typePrivateFare PrivateFare {
            get {
                return this.privateFareField;
            }
            set {
                this.privateFareField = value;
                this.RaisePropertyChanged("PrivateFare");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PrivateFareSpecified {
            get {
                return this.privateFareFieldSpecified;
            }
            set {
                this.privateFareFieldSpecified = value;
                this.RaisePropertyChanged("PrivateFareSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool NegotiatedFare {
            get {
                return this.negotiatedFareField;
            }
            set {
                this.negotiatedFareField = value;
                this.RaisePropertyChanged("NegotiatedFare");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool NegotiatedFareSpecified {
            get {
                return this.negotiatedFareFieldSpecified;
            }
            set {
                this.negotiatedFareFieldSpecified = value;
                this.RaisePropertyChanged("NegotiatedFareSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TourCode {
            get {
                return this.tourCodeField;
            }
            set {
                this.tourCodeField = value;
                this.RaisePropertyChanged("TourCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string WaiverCode {
            get {
                return this.waiverCodeField;
            }
            set {
                this.waiverCodeField = value;
                this.RaisePropertyChanged("WaiverCode");
            }
        }
        
        /// <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");
            }
        }
        
        /// <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 FareFamily {
            get {
                return this.fareFamilyField;
            }
            set {
                this.fareFamilyField = value;
                this.RaisePropertyChanged("FareFamily");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool PromotionalFare {
            get {
                return this.promotionalFareField;
            }
            set {
                this.promotionalFareField = value;
                this.RaisePropertyChanged("PromotionalFare");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PromotionalFareSpecified {
            get {
                return this.promotionalFareFieldSpecified;
            }
            set {
                this.promotionalFareFieldSpecified = value;
                this.RaisePropertyChanged("PromotionalFareSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CarCode {
            get {
                return this.carCodeField;
            }
            set {
                this.carCodeField = value;
                this.RaisePropertyChanged("CarCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ValueCode {
            get {
                return this.valueCodeField;
            }
            set {
                this.valueCodeField = value;
                this.RaisePropertyChanged("ValueCode");
            }
        }
        
        /// <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 bool BulkTicket {
            get {
                return this.bulkTicketField;
            }
            set {
                this.bulkTicketField = value;
                this.RaisePropertyChanged("BulkTicket");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool BulkTicketSpecified {
            get {
                return this.bulkTicketFieldSpecified;
            }
            set {
                this.bulkTicketFieldSpecified = value;
                this.RaisePropertyChanged("BulkTicketSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool InclusiveTour {
            get {
                return this.inclusiveTourField;
            }
            set {
                this.inclusiveTourField = value;
                this.RaisePropertyChanged("InclusiveTour");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool InclusiveTourSpecified {
            get {
                return this.inclusiveTourFieldSpecified;
            }
            set {
                this.inclusiveTourFieldSpecified = value;
                this.RaisePropertyChanged("InclusiveTourSpecified");
            }
        }
        
        /// <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 SupplierCode {
            get {
                return this.supplierCodeField;
            }
            set {
                this.supplierCodeField = value;
                this.RaisePropertyChanged("SupplierCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TaxAmount {
            get {
                return this.taxAmountField;
            }
            set {
                this.taxAmountField = value;
                this.RaisePropertyChanged("TaxAmount");
            }
        }
        
        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/air_v53_0")]
    public partial class FareTicketDesignator : 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/air_v53_0")]
    public partial class TicketingCode : 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/air_v53_0")]
    public partial class FareSurcharge : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string keyField;
        
        private string typeField;
        
        private string amountField;
        
        private string segmentRefField;
        
        private string couponRefField;
        
        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 Type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
                this.RaisePropertyChanged("Type");
            }
        }
        
        /// <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 SegmentRef {
            get {
                return this.segmentRefField;
            }
            set {
                this.segmentRefField = value;
                this.RaisePropertyChanged("SegmentRef");
            }
        }
        
        /// <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 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 AccountCode : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string codeField;
        
        private string providerCodeField;
        
        private string supplierCodeField;
        
        private string 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 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 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/air_v53_0")]
    public partial class ContractCode : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string codeField;
        
        private string companyNameField;
        
        private string providerCodeField;
        
        private string supplierCodeField;
        
        /// <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 CompanyName {
            get {
                return this.companyNameField;
            }
            set {
                this.companyNameField = value;
                this.RaisePropertyChanged("CompanyName");
            }
        }
        
        /// <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");
            }
        }
        
        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 Endorsement : 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/air_v53_0")]
    public partial class BaggageAllowance : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string numberOfPiecesField;
        
        private typeWeight maxWeightField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="integer", Order=0)]
        public string NumberOfPieces {
            get {
                return this.numberOfPiecesField;
            }
            set {
                this.numberOfPiecesField = value;
                this.RaisePropertyChanged("NumberOfPieces");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public typeWeight MaxWeight {
            get {
                return this.maxWeightField;
            }
            set {
                this.maxWeightField = value;
                this.RaisePropertyChanged("MaxWeight");
            }
        }
        
        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/air_v53_0")]
    public partial class FareRuleKey : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string fareInfoRefField;
        
        private string providerCodeField;
        
        private string valueField;
        
        /// <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 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/air_v53_0")]
    public partial class FareRemarkRef : 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/air_v53_0")]
    public partial class Brand : object, System.ComponentModel.INotifyPropertyChanged {
        
        private typeTextElement[] titleField;
        
        private typeTextElement[] textField;
        
        private ImageLocation[] imageLocationField;
        
        private OptionalServices optionalServicesField;
        
        private Rules[] rulesField;
        
        private ServiceAssociationsApplicableSegment[] serviceAssociationsField;
        
        private UpsellBrand upsellBrandField;
        
        private typeApplicableSegment[] applicableSegmentField;
        
        private typeDefaultBrandDetail[] defaultBrandDetailField;
        
        private string keyField;
        
        private string brandIDField;
        
        private string nameField;
        
        private string airItineraryDetailsRefField;
        
        private string upSellBrandIDField;
        
        private bool brandFoundField;
        
        private bool brandFoundFieldSpecified;
        
        private bool upSellBrandFoundField;
        
        private bool upSellBrandFoundFieldSpecified;
        
        private bool brandedDetailsAvailableField;
        
        private bool brandedDetailsAvailableFieldSpecified;
        
        private string carrierField;
        
        private string brandTierField;
        
        private string brandMaintainedField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Title", Order=0)]
        public typeTextElement[] Title {
            get {
                return this.titleField;
            }
            set {
                this.titleField = value;
                this.RaisePropertyChanged("Title");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Text", Order=1)]
        public typeTextElement[] Text {
            get {
                return this.textField;
            }
            set {
                this.textField = value;
                this.RaisePropertyChanged("Text");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ImageLocation", Order=2)]
        public ImageLocation[] ImageLocation {
            get {
                return this.imageLocationField;
            }
            set {
                this.imageLocationField = value;
                this.RaisePropertyChanged("ImageLocation");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=3)]
        public OptionalServices OptionalServices {
            get {
                return this.optionalServicesField;
            }
            set {
                this.optionalServicesField = value;
                this.RaisePropertyChanged("OptionalServices");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Rules", Order=4)]
        public Rules[] Rules {
            get {
                return this.rulesField;
            }
            set {
                this.rulesField = value;
                this.RaisePropertyChanged("Rules");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=5)]
        [System.Xml.Serialization.XmlArrayItemAttribute("ApplicableSegment", IsNullable=false)]
        public ServiceAssociationsApplicableSegment[] ServiceAssociations {
            get {
                return this.serviceAssociationsField;
            }
            set {
                this.serviceAssociationsField = value;
                this.RaisePropertyChanged("ServiceAssociations");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=6)]
        public UpsellBrand UpsellBrand {
            get {
                return this.upsellBrandField;
            }
            set {
                this.upsellBrandField = value;
                this.RaisePropertyChanged("UpsellBrand");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ApplicableSegment", Order=7)]
        public typeApplicableSegment[] ApplicableSegment {
            get {
                return this.applicableSegmentField;
            }
            set {
                this.applicableSegmentField = value;
                this.RaisePropertyChanged("ApplicableSegment");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("DefaultBrandDetail", Order=8)]
        public typeDefaultBrandDetail[] DefaultBrandDetail {
            get {
                return this.defaultBrandDetailField;
            }
            set {
                this.defaultBrandDetailField = value;
                this.RaisePropertyChanged("DefaultBrandDetail");
            }
        }
        
        /// <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 BrandID {
            get {
                return this.brandIDField;
            }
            set {
                this.brandIDField = value;
                this.RaisePropertyChanged("BrandID");
            }
        }
        
        /// <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 AirItineraryDetailsRef {
            get {
                return this.airItineraryDetailsRefField;
            }
            set {
                this.airItineraryDetailsRefField = value;
                this.RaisePropertyChanged("AirItineraryDetailsRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string UpSellBrandID {
            get {
                return this.upSellBrandIDField;
            }
            set {
                this.upSellBrandIDField = value;
                this.RaisePropertyChanged("UpSellBrandID");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool BrandFound {
            get {
                return this.brandFoundField;
            }
            set {
                this.brandFoundField = value;
                this.RaisePropertyChanged("BrandFound");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool BrandFoundSpecified {
            get {
                return this.brandFoundFieldSpecified;
            }
            set {
                this.brandFoundFieldSpecified = value;
                this.RaisePropertyChanged("BrandFoundSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool UpSellBrandFound {
            get {
                return this.upSellBrandFoundField;
            }
            set {
                this.upSellBrandFoundField = value;
                this.RaisePropertyChanged("UpSellBrandFound");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool UpSellBrandFoundSpecified {
            get {
                return this.upSellBrandFoundFieldSpecified;
            }
            set {
                this.upSellBrandFoundFieldSpecified = value;
                this.RaisePropertyChanged("UpSellBrandFoundSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool BrandedDetailsAvailable {
            get {
                return this.brandedDetailsAvailableField;
            }
            set {
                this.brandedDetailsAvailableField = value;
                this.RaisePropertyChanged("BrandedDetailsAvailable");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool BrandedDetailsAvailableSpecified {
            get {
                return this.brandedDetailsAvailableFieldSpecified;
            }
            set {
                this.brandedDetailsAvailableFieldSpecified = value;
                this.RaisePropertyChanged("BrandedDetailsAvailableSpecified");
            }
        }
        
        /// <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 BrandTier {
            get {
                return this.brandTierField;
            }
            set {
                this.brandTierField = value;
                this.RaisePropertyChanged("BrandTier");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string BrandMaintained {
            get {
                return this.brandMaintainedField;
            }
            set {
                this.brandMaintainedField = value;
                this.RaisePropertyChanged("BrandMaintained");
            }
        }
        
        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/air_v53_0")]
    public partial class Rules : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string rulesTextField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string RulesText {
            get {
                return this.rulesTextField;
            }
            set {
                this.rulesTextField = value;
                this.RaisePropertyChanged("RulesText");
            }
        }
        
        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/air_v53_0")]
    public partial class ServiceAssociationsApplicableSegment : object, System.ComponentModel.INotifyPropertyChanged {
        
        private object itemField;
        
        private string keyField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("OptionalServiceRef", typeof(string), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("ResponseMessage", typeof(ResponseMessage), Namespace="http://www.travelport.com/schema/common_v53_0", Order=0)]
        public object Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
                this.RaisePropertyChanged("Item");
            }
        }
        
        /// <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 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(AnonymousType=true, Namespace="http://www.travelport.com/schema/air_v53_0")]
    public partial class UpsellBrand : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string fareBasisField;
        
        private string fareInfoRefField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string FareBasis {
            get {
                return this.fareBasisField;
            }
            set {
                this.fareBasisField = value;
                this.RaisePropertyChanged("FareBasis");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string FareInfoRef {
            get {
                return this.fareInfoRefField;
            }
            set {
                this.fareInfoRefField = value;
                this.RaisePropertyChanged("FareInfoRef");
            }
        }
        
        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/air_v53_0")]
    public partial class FareRulesFilter : object, System.ComponentModel.INotifyPropertyChanged {
        
        private FareRulesFilterRefundability refundabilityField;
        
        private System.DateTime latestTicketingTimeField;
        
        private bool latestTicketingTimeFieldSpecified;
        
        private PenFeeType[] cHGField;
        
        private MINType mINField;
        
        private MAXType mAXField;
        
        private ADVType aDVField;
        
        private OTHType oTHField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public FareRulesFilterRefundability Refundability {
            get {
                return this.refundabilityField;
            }
            set {
                this.refundabilityField = value;
                this.RaisePropertyChanged("Refundability");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public System.DateTime LatestTicketingTime {
            get {
                return this.latestTicketingTimeField;
            }
            set {
                this.latestTicketingTimeField = value;
                this.RaisePropertyChanged("LatestTicketingTime");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool LatestTicketingTimeSpecified {
            get {
                return this.latestTicketingTimeFieldSpecified;
            }
            set {
                this.latestTicketingTimeFieldSpecified = value;
                this.RaisePropertyChanged("LatestTicketingTimeSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=2)]
        [System.Xml.Serialization.XmlArrayItemAttribute("PenFee", IsNullable=false)]
        public PenFeeType[] CHG {
            get {
                return this.cHGField;
            }
            set {
                this.cHGField = value;
                this.RaisePropertyChanged("CHG");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=3)]
        public MINType MIN {
            get {
                return this.mINField;
            }
            set {
                this.mINField = value;
                this.RaisePropertyChanged("MIN");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=4)]
        public MAXType MAX {
            get {
                return this.mAXField;
            }
            set {
                this.mAXField = value;
                this.RaisePropertyChanged("MAX");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=5)]
        public ADVType ADV {
            get {
                return this.aDVField;
            }
            set {
                this.aDVField = value;
                this.RaisePropertyChanged("ADV");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=6)]
        public OTHType OTH {
            get {
                return this.oTHField;
            }
            set {
                this.oTHField = value;
                this.RaisePropertyChanged("OTH");
            }
        }
        
        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/air_v53_0")]
    public partial class FareRulesFilterRefundability : 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.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/air_v53_0")]
    public enum typePrivateFare {
        
        /// <remarks/>
        UnknownType,
        
        /// <remarks/>
        PrivateFare,
        
        /// <remarks/>
        AgencyPrivateFare,
        
        /// <remarks/>
        AirlinePrivateFare,
    }
    
    /// <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/air_v53_0")]
    public partial class FareStatus : object, System.ComponentModel.INotifyPropertyChanged {
        
        private FareStatusFailureInfo fareStatusFailureInfoField;
        
        private typeFareStatusCode codeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public FareStatusFailureInfo FareStatusFailureInfo {
            get {
                return this.fareStatusFailureInfoField;
            }
            set {
                this.fareStatusFailureInfoField = value;
                this.RaisePropertyChanged("FareStatusFailureInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeFareStatusCode 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/air_v53_0")]
    public partial class FareStatusFailureInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string codeField;
        
        private string reasonField;
        
        /// <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 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.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/air_v53_0")]
    public enum typeFareStatusCode {
        
        /// <remarks/>
        ReadyToTicket,
        
        /// <remarks/>
        UnableToTicket,
        
        /// <remarks/>
        Reprice,
        
        /// <remarks/>
        Ticketed,
        
        /// <remarks/>
        Unable,
        
        /// <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/air_v53_0")]
    public partial class FareInfoRef : 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/air_v53_0")]
    public partial class BookingInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private AmenitiesRef[] amenitiesRefField;
        
        private string bookingCodeField;
        
        private string bookingCountField;
        
        private string cabinClassField;
        
        private string fareInfoRefField;
        
        private string segmentRefField;
        
        private string couponRefField;
        
        private string airItinerarySolutionRefField;
        
        private string hostTokenRefField;
        
        private string taxInfoRefField;
        
        private string amenitiesRef1Field;
        
        private bool incidentalStopsField;
        
        public BookingInfo() {
            this.incidentalStopsField = false;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AmenitiesRef", Order=0)]
        public AmenitiesRef[] AmenitiesRef {
            get {
                return this.amenitiesRefField;
            }
            set {
                this.amenitiesRefField = value;
                this.RaisePropertyChanged("AmenitiesRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string BookingCode {
            get {
                return this.bookingCodeField;
            }
            set {
                this.bookingCodeField = value;
                this.RaisePropertyChanged("BookingCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string BookingCount {
            get {
                return this.bookingCountField;
            }
            set {
                this.bookingCountField = value;
                this.RaisePropertyChanged("BookingCount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CabinClass {
            get {
                return this.cabinClassField;
            }
            set {
                this.cabinClassField = value;
                this.RaisePropertyChanged("CabinClass");
            }
        }
        
        /// <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 SegmentRef {
            get {
                return this.segmentRefField;
            }
            set {
                this.segmentRefField = value;
                this.RaisePropertyChanged("SegmentRef");
            }
        }
        
        /// <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 AirItinerarySolutionRef {
            get {
                return this.airItinerarySolutionRefField;
            }
            set {
                this.airItinerarySolutionRefField = value;
                this.RaisePropertyChanged("AirItinerarySolutionRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string HostTokenRef {
            get {
                return this.hostTokenRefField;
            }
            set {
                this.hostTokenRefField = value;
                this.RaisePropertyChanged("HostTokenRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TaxInfoRef {
            get {
                return this.taxInfoRefField;
            }
            set {
                this.taxInfoRefField = value;
                this.RaisePropertyChanged("TaxInfoRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("AmenitiesRef")]
        public string AmenitiesRef1 {
            get {
                return this.amenitiesRef1Field;
            }
            set {
                this.amenitiesRef1Field = value;
                this.RaisePropertyChanged("AmenitiesRef1");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool IncidentalStops {
            get {
                return this.incidentalStopsField;
            }
            set {
                this.incidentalStopsField = value;
                this.RaisePropertyChanged("IncidentalStops");
            }
        }
        
        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/air_v53_0")]
    public partial class AmenitiesRef : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string keyField;
        
        private string flightDetailsRefField;
        
        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 FlightDetailsRef {
            get {
                return this.flightDetailsRefField;
            }
            set {
                this.flightDetailsRefField = value;
                this.RaisePropertyChanged("FlightDetailsRef");
            }
        }
        
        /// <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/air_v53_0")]
    public partial class PassengerType : typePassengerType {
        
        private FareGuaranteeInfo fareGuaranteeInfoField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public FareGuaranteeInfo FareGuaranteeInfo {
            get {
                return this.fareGuaranteeInfoField;
            }
            set {
                this.fareGuaranteeInfoField = value;
                this.RaisePropertyChanged("FareGuaranteeInfo");
            }
        }
    }
    
    /// <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/air_v53_0")]
    public partial class FareGuaranteeInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private System.DateTime guaranteeDateField;
        
        private bool guaranteeDateFieldSpecified;
        
        private typeFareGuarantee guaranteeTypeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="date")]
        public System.DateTime GuaranteeDate {
            get {
                return this.guaranteeDateField;
            }
            set {
                this.guaranteeDateField = value;
                this.RaisePropertyChanged("GuaranteeDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool GuaranteeDateSpecified {
            get {
                return this.guaranteeDateFieldSpecified;
            }
            set {
                this.guaranteeDateFieldSpecified = value;
                this.RaisePropertyChanged("GuaranteeDateSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeFareGuarantee GuaranteeType {
            get {
                return this.guaranteeTypeField;
            }
            set {
                this.guaranteeTypeField = value;
                this.RaisePropertyChanged("GuaranteeType");
            }
        }
        
        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/air_v53_0")]
    public enum typeFareGuarantee {
        
        /// <remarks/>
        Auto,
        
        /// <remarks/>
        Manual,
        
        /// <remarks/>
        ManualFare,
        
        /// <remarks/>
        Guaranteed,
        
        /// <remarks/>
        Invalid,
        
        /// <remarks/>
        Restored,
        
        /// <remarks/>
        Ticketed,
        
        /// <remarks/>
        Unticketable,
        
        /// <remarks/>
        Reprice,
        
        /// <remarks/>
        Expired,
        
        /// <remarks/>
        AutoUsingPrivateFare,
        
        /// <remarks/>
        GuaranteedUsingAirlinePrivateFare,
        
        /// <remarks/>
        Airline,
        
        /// <remarks/>
        GuaranteeExpired,
        
        /// <remarks/>
        AgencyPrivateFareNoOverride,
        
        /// <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/air_v53_0")]
    public partial class WaiverCode : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string tourCodeField;
        
        private string ticketDesignatorField;
        
        private string endorsementField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TourCode {
            get {
                return this.tourCodeField;
            }
            set {
                this.tourCodeField = value;
                this.RaisePropertyChanged("TourCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TicketDesignator {
            get {
                return this.ticketDesignatorField;
            }
            set {
                this.ticketDesignatorField = value;
                this.RaisePropertyChanged("TicketDesignator");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Endorsement {
            get {
                return this.endorsementField;
            }
            set {
                this.endorsementField = value;
                this.RaisePropertyChanged("Endorsement");
            }
        }
        
        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/air_v53_0")]
    public partial class Adjustment : object, System.ComponentModel.INotifyPropertyChanged {
        
        private object itemField;
        
        private string adjustedTotalPriceField;
        
        private string approximateAdjustedTotalPriceField;
        
        private string bookingTravelerRefField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Amount", typeof(string), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("Percent", typeof(float), Order=0)]
        public object Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
                this.RaisePropertyChanged("Item");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string AdjustedTotalPrice {
            get {
                return this.adjustedTotalPriceField;
            }
            set {
                this.adjustedTotalPriceField = value;
                this.RaisePropertyChanged("AdjustedTotalPrice");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApproximateAdjustedTotalPrice {
            get {
                return this.approximateAdjustedTotalPriceField;
            }
            set {
                this.approximateAdjustedTotalPriceField = value;
                this.RaisePropertyChanged("ApproximateAdjustedTotalPrice");
            }
        }
        
        /// <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/air_v53_0")]
    public partial class Yield : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string amountField;
        
        private string bookingTravelerRefField;
        
        /// <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 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/air_v53_0")]
    public partial class AirPricingModifiers : object, System.ComponentModel.INotifyPropertyChanged {
        
        private FareRuleCategory[] prohibitedRuleCategoriesField;
        
        private AccountCode[] accountCodesField;
        
        private CabinClass[] permittedCabinsField;
        
        private ContractCode[] contractCodesField;
        
        private ExemptTaxes exemptTaxesField;
        
        private PenaltyFareInformation penaltyFareInformationField;
        
        private DiscountCard[] discountCardField;
        
        private PromoCode[] promoCodesField;
        
        private ManualFareAdjustment[] manualFareAdjustmentField;
        
        private PointOfSale pointOfSaleField;
        
        private BrandModifiers brandModifiersField;
        
        private MultiGDSSearchIndicator[] multiGDSSearchIndicatorField;
        
        private PreferredCabins[] preferredCabinsField;
        
        private bool prohibitMinStayFaresField;
        
        private bool prohibitMaxStayFaresField;
        
        private string currencyTypeField;
        
        private bool prohibitAdvancePurchaseFaresField;
        
        private bool prohibitNonRefundableFaresField;
        
        private bool prohibitRestrictedFaresField;
        
        private typeFaresIndicator faresIndicatorField;
        
        private bool faresIndicatorFieldSpecified;
        
        private string filedCurrencyField;
        
        private string platingCarrierField;
        
        private string overrideCarrierField;
        
        private typeEticketability eTicketabilityField;
        
        private bool eTicketabilityFieldSpecified;
        
        private bool accountCodeFaresOnlyField;
        
        private bool accountCodeFaresOnlyFieldSpecified;
        
        private string keyField;
        
        private bool prohibitNonExchangeableFaresField;
        
        private bool forceSegmentSelectField;
        
        private typeInventoryRequest inventoryRequestTypeField;
        
        private bool inventoryRequestTypeFieldSpecified;
        
        private bool oneWayShopField;
        
        private bool prohibitUnbundledFareTypesField;
        
        private bool prohibitUnbundledFareTypesFieldSpecified;
        
        private bool returnServicesField;
        
        private string channelIdField;
        
        private bool returnFareAttributesField;
        
        private bool sellCheckField;
        
        private bool returnFailedSegmentsField;
        
        private string sellCityField;
        
        private string ticketingCityField;
        
        public AirPricingModifiers() {
            this.prohibitMinStayFaresField = false;
            this.prohibitMaxStayFaresField = false;
            this.prohibitAdvancePurchaseFaresField = false;
            this.prohibitNonRefundableFaresField = false;
            this.prohibitRestrictedFaresField = false;
            this.prohibitNonExchangeableFaresField = false;
            this.forceSegmentSelectField = false;
            this.oneWayShopField = false;
            this.returnServicesField = false;
            this.returnFareAttributesField = false;
            this.sellCheckField = false;
            this.returnFailedSegmentsField = false;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=0)]
        [System.Xml.Serialization.XmlArrayItemAttribute("FareRuleCategory", IsNullable=false)]
        public FareRuleCategory[] ProhibitedRuleCategories {
            get {
                return this.prohibitedRuleCategoriesField;
            }
            set {
                this.prohibitedRuleCategoriesField = value;
                this.RaisePropertyChanged("ProhibitedRuleCategories");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=1)]
        [System.Xml.Serialization.XmlArrayItemAttribute("AccountCode", Namespace="http://www.travelport.com/schema/common_v53_0", IsNullable=false)]
        public AccountCode[] AccountCodes {
            get {
                return this.accountCodesField;
            }
            set {
                this.accountCodesField = value;
                this.RaisePropertyChanged("AccountCodes");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=2)]
        [System.Xml.Serialization.XmlArrayItemAttribute("CabinClass", Namespace="http://www.travelport.com/schema/common_v53_0", IsNullable=false)]
        public CabinClass[] PermittedCabins {
            get {
                return this.permittedCabinsField;
            }
            set {
                this.permittedCabinsField = value;
                this.RaisePropertyChanged("PermittedCabins");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=3)]
        [System.Xml.Serialization.XmlArrayItemAttribute("ContractCode", IsNullable=false)]
        public ContractCode[] ContractCodes {
            get {
                return this.contractCodesField;
            }
            set {
                this.contractCodesField = value;
                this.RaisePropertyChanged("ContractCodes");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=4)]
        public ExemptTaxes ExemptTaxes {
            get {
                return this.exemptTaxesField;
            }
            set {
                this.exemptTaxesField = value;
                this.RaisePropertyChanged("ExemptTaxes");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=5)]
        public PenaltyFareInformation PenaltyFareInformation {
            get {
                return this.penaltyFareInformationField;
            }
            set {
                this.penaltyFareInformationField = value;
                this.RaisePropertyChanged("PenaltyFareInformation");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("DiscountCard", Namespace="http://www.travelport.com/schema/common_v53_0", Order=6)]
        public DiscountCard[] DiscountCard {
            get {
                return this.discountCardField;
            }
            set {
                this.discountCardField = value;
                this.RaisePropertyChanged("DiscountCard");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=7)]
        [System.Xml.Serialization.XmlArrayItemAttribute("PromoCode", IsNullable=false)]
        public PromoCode[] PromoCodes {
            get {
                return this.promoCodesField;
            }
            set {
                this.promoCodesField = value;
                this.RaisePropertyChanged("PromoCodes");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ManualFareAdjustment", Order=8)]
        public ManualFareAdjustment[] ManualFareAdjustment {
            get {
                return this.manualFareAdjustmentField;
            }
            set {
                this.manualFareAdjustmentField = value;
                this.RaisePropertyChanged("ManualFareAdjustment");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=9)]
        public PointOfSale PointOfSale {
            get {
                return this.pointOfSaleField;
            }
            set {
                this.pointOfSaleField = value;
                this.RaisePropertyChanged("PointOfSale");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=10)]
        public BrandModifiers BrandModifiers {
            get {
                return this.brandModifiersField;
            }
            set {
                this.brandModifiersField = value;
                this.RaisePropertyChanged("BrandModifiers");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("MultiGDSSearchIndicator", Order=11)]
        public MultiGDSSearchIndicator[] MultiGDSSearchIndicator {
            get {
                return this.multiGDSSearchIndicatorField;
            }
            set {
                this.multiGDSSearchIndicatorField = value;
                this.RaisePropertyChanged("MultiGDSSearchIndicator");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PreferredCabins", Order=12)]
        public PreferredCabins[] PreferredCabins {
            get {
                return this.preferredCabinsField;
            }
            set {
                this.preferredCabinsField = value;
                this.RaisePropertyChanged("PreferredCabins");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool ProhibitMinStayFares {
            get {
                return this.prohibitMinStayFaresField;
            }
            set {
                this.prohibitMinStayFaresField = value;
                this.RaisePropertyChanged("ProhibitMinStayFares");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool ProhibitMaxStayFares {
            get {
                return this.prohibitMaxStayFaresField;
            }
            set {
                this.prohibitMaxStayFaresField = value;
                this.RaisePropertyChanged("ProhibitMaxStayFares");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CurrencyType {
            get {
                return this.currencyTypeField;
            }
            set {
                this.currencyTypeField = value;
                this.RaisePropertyChanged("CurrencyType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool ProhibitAdvancePurchaseFares {
            get {
                return this.prohibitAdvancePurchaseFaresField;
            }
            set {
                this.prohibitAdvancePurchaseFaresField = value;
                this.RaisePropertyChanged("ProhibitAdvancePurchaseFares");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool ProhibitNonRefundableFares {
            get {
                return this.prohibitNonRefundableFaresField;
            }
            set {
                this.prohibitNonRefundableFaresField = value;
                this.RaisePropertyChanged("ProhibitNonRefundableFares");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool ProhibitRestrictedFares {
            get {
                return this.prohibitRestrictedFaresField;
            }
            set {
                this.prohibitRestrictedFaresField = value;
                this.RaisePropertyChanged("ProhibitRestrictedFares");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeFaresIndicator FaresIndicator {
            get {
                return this.faresIndicatorField;
            }
            set {
                this.faresIndicatorField = value;
                this.RaisePropertyChanged("FaresIndicator");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FaresIndicatorSpecified {
            get {
                return this.faresIndicatorFieldSpecified;
            }
            set {
                this.faresIndicatorFieldSpecified = value;
                this.RaisePropertyChanged("FaresIndicatorSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string FiledCurrency {
            get {
                return this.filedCurrencyField;
            }
            set {
                this.filedCurrencyField = value;
                this.RaisePropertyChanged("FiledCurrency");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PlatingCarrier {
            get {
                return this.platingCarrierField;
            }
            set {
                this.platingCarrierField = value;
                this.RaisePropertyChanged("PlatingCarrier");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string OverrideCarrier {
            get {
                return this.overrideCarrierField;
            }
            set {
                this.overrideCarrierField = value;
                this.RaisePropertyChanged("OverrideCarrier");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeEticketability ETicketability {
            get {
                return this.eTicketabilityField;
            }
            set {
                this.eTicketabilityField = value;
                this.RaisePropertyChanged("ETicketability");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ETicketabilitySpecified {
            get {
                return this.eTicketabilityFieldSpecified;
            }
            set {
                this.eTicketabilityFieldSpecified = value;
                this.RaisePropertyChanged("ETicketabilitySpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool AccountCodeFaresOnly {
            get {
                return this.accountCodeFaresOnlyField;
            }
            set {
                this.accountCodeFaresOnlyField = value;
                this.RaisePropertyChanged("AccountCodeFaresOnly");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AccountCodeFaresOnlySpecified {
            get {
                return this.accountCodeFaresOnlyFieldSpecified;
            }
            set {
                this.accountCodeFaresOnlyFieldSpecified = value;
                this.RaisePropertyChanged("AccountCodeFaresOnlySpecified");
            }
        }
        
        /// <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(false)]
        public bool ProhibitNonExchangeableFares {
            get {
                return this.prohibitNonExchangeableFaresField;
            }
            set {
                this.prohibitNonExchangeableFaresField = value;
                this.RaisePropertyChanged("ProhibitNonExchangeableFares");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool ForceSegmentSelect {
            get {
                return this.forceSegmentSelectField;
            }
            set {
                this.forceSegmentSelectField = value;
                this.RaisePropertyChanged("ForceSegmentSelect");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeInventoryRequest InventoryRequestType {
            get {
                return this.inventoryRequestTypeField;
            }
            set {
                this.inventoryRequestTypeField = value;
                this.RaisePropertyChanged("InventoryRequestType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool InventoryRequestTypeSpecified {
            get {
                return this.inventoryRequestTypeFieldSpecified;
            }
            set {
                this.inventoryRequestTypeFieldSpecified = value;
                this.RaisePropertyChanged("InventoryRequestTypeSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool OneWayShop {
            get {
                return this.oneWayShopField;
            }
            set {
                this.oneWayShopField = value;
                this.RaisePropertyChanged("OneWayShop");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool ProhibitUnbundledFareTypes {
            get {
                return this.prohibitUnbundledFareTypesField;
            }
            set {
                this.prohibitUnbundledFareTypesField = value;
                this.RaisePropertyChanged("ProhibitUnbundledFareTypes");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ProhibitUnbundledFareTypesSpecified {
            get {
                return this.prohibitUnbundledFareTypesFieldSpecified;
            }
            set {
                this.prohibitUnbundledFareTypesFieldSpecified = value;
                this.RaisePropertyChanged("ProhibitUnbundledFareTypesSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool ReturnServices {
            get {
                return this.returnServicesField;
            }
            set {
                this.returnServicesField = value;
                this.RaisePropertyChanged("ReturnServices");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ChannelId {
            get {
                return this.channelIdField;
            }
            set {
                this.channelIdField = value;
                this.RaisePropertyChanged("ChannelId");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool ReturnFareAttributes {
            get {
                return this.returnFareAttributesField;
            }
            set {
                this.returnFareAttributesField = value;
                this.RaisePropertyChanged("ReturnFareAttributes");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool SellCheck {
            get {
                return this.sellCheckField;
            }
            set {
                this.sellCheckField = value;
                this.RaisePropertyChanged("SellCheck");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool ReturnFailedSegments {
            get {
                return this.returnFailedSegmentsField;
            }
            set {
                this.returnFailedSegmentsField = value;
                this.RaisePropertyChanged("ReturnFailedSegments");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string SellCity {
            get {
                return this.sellCityField;
            }
            set {
                this.sellCityField = value;
                this.RaisePropertyChanged("SellCity");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TicketingCity {
            get {
                return this.ticketingCityField;
            }
            set {
                this.ticketingCityField = value;
                this.RaisePropertyChanged("TicketingCity");
            }
        }
        
        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/air_v53_0")]
    public partial class FareRuleCategory : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string categoryField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string Category {
            get {
                return this.categoryField;
            }
            set {
                this.categoryField = value;
                this.RaisePropertyChanged("Category");
            }
        }
        
        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/air_v53_0")]
    public partial class ExemptTaxes : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string[] countryCodeField;
        
        private string[] taxCategoryField;
        
        private bool allTaxesField;
        
        private bool allTaxesFieldSpecified;
        
        private string taxTerritoryField;
        
        private string companyNameField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CountryCode", Order=0)]
        public string[] CountryCode {
            get {
                return this.countryCodeField;
            }
            set {
                this.countryCodeField = value;
                this.RaisePropertyChanged("CountryCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("TaxCategory", Order=1)]
        public string[] TaxCategory {
            get {
                return this.taxCategoryField;
            }
            set {
                this.taxCategoryField = value;
                this.RaisePropertyChanged("TaxCategory");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool AllTaxes {
            get {
                return this.allTaxesField;
            }
            set {
                this.allTaxesField = value;
                this.RaisePropertyChanged("AllTaxes");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AllTaxesSpecified {
            get {
                return this.allTaxesFieldSpecified;
            }
            set {
                this.allTaxesFieldSpecified = value;
                this.RaisePropertyChanged("AllTaxesSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TaxTerritory {
            get {
                return this.taxTerritoryField;
            }
            set {
                this.taxTerritoryField = value;
                this.RaisePropertyChanged("TaxTerritory");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CompanyName {
            get {
                return this.companyNameField;
            }
            set {
                this.companyNameField = value;
                this.RaisePropertyChanged("CompanyName");
            }
        }
        
        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/air_v53_0")]
    public partial class PenaltyFareInformation : object, System.ComponentModel.INotifyPropertyChanged {
        
        private typeFarePenalty penaltyInfoField;
        
        private bool prohibitPenaltyFaresField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public typeFarePenalty PenaltyInfo {
            get {
                return this.penaltyInfoField;
            }
            set {
                this.penaltyInfoField = value;
                this.RaisePropertyChanged("PenaltyInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool ProhibitPenaltyFares {
            get {
                return this.prohibitPenaltyFaresField;
            }
            set {
                this.prohibitPenaltyFaresField = value;
                this.RaisePropertyChanged("ProhibitPenaltyFares");
            }
        }
        
        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/air_v53_0")]
    public partial class PromoCode : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string codeField;
        
        private string providerCodeField;
        
        private string supplierCodeField;
        
        /// <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 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");
            }
        }
        
        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/air_v53_0")]
    public partial class ManualFareAdjustment : object, System.ComponentModel.INotifyPropertyChanged {
        
        private typeAdjustmentTarget appliedOnField;
        
        private typeAdjustmentType adjustmentTypeField;
        
        private decimal valueField;
        
        private string passengerRefField;
        
        private string ticketDesignatorField;
        
        private string fareTypeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeAdjustmentTarget AppliedOn {
            get {
                return this.appliedOnField;
            }
            set {
                this.appliedOnField = value;
                this.RaisePropertyChanged("AppliedOn");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeAdjustmentType AdjustmentType {
            get {
                return this.adjustmentTypeField;
            }
            set {
                this.adjustmentTypeField = value;
                this.RaisePropertyChanged("AdjustmentType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public decimal Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
                this.RaisePropertyChanged("Value");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PassengerRef {
            get {
                return this.passengerRefField;
            }
            set {
                this.passengerRefField = value;
                this.RaisePropertyChanged("PassengerRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TicketDesignator {
            get {
                return this.ticketDesignatorField;
            }
            set {
                this.ticketDesignatorField = value;
                this.RaisePropertyChanged("TicketDesignator");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string FareType {
            get {
                return this.fareTypeField;
            }
            set {
                this.fareTypeField = value;
                this.RaisePropertyChanged("FareType");
            }
        }
        
        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 typeAdjustmentTarget {
        
        /// <remarks/>
        Base,
        
        /// <remarks/>
        Total,
        
        /// <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/common_v53_0")]
    public enum typeAdjustmentType {
        
        /// <remarks/>
        Amount,
        
        /// <remarks/>
        Percentage,
    }
    
    /// <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.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/air_v53_0")]
    public partial class BrandModifiers : object, System.ComponentModel.INotifyPropertyChanged {
        
        private object itemField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("BasicDetailsOnly", typeof(BrandModifiersBasicDetailsOnly), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("FareFamilyDisplay", typeof(BrandModifiersFareFamilyDisplay), Order=0)]
        public object 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/air_v53_0")]
    public partial class BrandModifiersBasicDetailsOnly : object, System.ComponentModel.INotifyPropertyChanged {
        
        private bool returnBasicDetailsField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool ReturnBasicDetails {
            get {
                return this.returnBasicDetailsField;
            }
            set {
                this.returnBasicDetailsField = value;
                this.RaisePropertyChanged("ReturnBasicDetails");
            }
        }
        
        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/air_v53_0")]
    public partial class BrandModifiersFareFamilyDisplay : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string modifierTypeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ModifierType {
            get {
                return this.modifierTypeField;
            }
            set {
                this.modifierTypeField = value;
                this.RaisePropertyChanged("ModifierType");
            }
        }
        
        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/air_v53_0")]
    public partial class MultiGDSSearchIndicator : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string typeField;
        
        private string providerCodeField;
        
        private bool defaultProviderField;
        
        private bool defaultProviderFieldSpecified;
        
        private string privateFareCodeField;
        
        private bool privateFareCodeOnlyField;
        
        private bool privateFareCodeOnlyFieldSpecified;
        
        /// <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 ProviderCode {
            get {
                return this.providerCodeField;
            }
            set {
                this.providerCodeField = value;
                this.RaisePropertyChanged("ProviderCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool DefaultProvider {
            get {
                return this.defaultProviderField;
            }
            set {
                this.defaultProviderField = value;
                this.RaisePropertyChanged("DefaultProvider");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DefaultProviderSpecified {
            get {
                return this.defaultProviderFieldSpecified;
            }
            set {
                this.defaultProviderFieldSpecified = value;
                this.RaisePropertyChanged("DefaultProviderSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PrivateFareCode {
            get {
                return this.privateFareCodeField;
            }
            set {
                this.privateFareCodeField = value;
                this.RaisePropertyChanged("PrivateFareCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool PrivateFareCodeOnly {
            get {
                return this.privateFareCodeOnlyField;
            }
            set {
                this.privateFareCodeOnlyField = value;
                this.RaisePropertyChanged("PrivateFareCodeOnly");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PrivateFareCodeOnlySpecified {
            get {
                return this.privateFareCodeOnlyFieldSpecified;
            }
            set {
                this.privateFareCodeOnlyFieldSpecified = value;
                this.RaisePropertyChanged("PrivateFareCodeOnlySpecified");
            }
        }
        
        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/air_v53_0")]
    public partial class PreferredCabins : object, System.ComponentModel.INotifyPropertyChanged {
        
        private CabinClass cabinClassField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=0)]
        public CabinClass CabinClass {
            get {
                return this.cabinClassField;
            }
            set {
                this.cabinClassField = value;
                this.RaisePropertyChanged("CabinClass");
            }
        }
        
        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/air_v53_0")]
    public enum typeFaresIndicator {
        
        /// <remarks/>
        PublicFaresOnly,
        
        /// <remarks/>
        PrivateFaresOnly,
        
        /// <remarks/>
        AgencyPrivateFaresOnly,
        
        /// <remarks/>
        AirlinePrivateFaresOnly,
        
        /// <remarks/>
        PublicAndPrivateFares,
        
        /// <remarks/>
        NetFaresOnly,
        
        /// <remarks/>
        AllFares,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/air_v53_0")]
    public enum typeInventoryRequest {
        
        /// <remarks/>
        Seamless,
        
        /// <remarks/>
        DirectAccess,
        
        /// <remarks/>
        Basic,
    }
    
    /// <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/air_v53_0")]
    public partial class TicketingModifiersRef : 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/air_v53_0")]
    public partial class AirSegmentPricingModifiers : object, System.ComponentModel.INotifyPropertyChanged {
        
        private BookingCode[] permittedBookingCodesField;
        
        private string airSegmentRefField;
        
        private string cabinClassField;
        
        private string accountCodeField;
        
        private bool prohibitAdvancePurchaseFaresField;
        
        private bool prohibitNonRefundableFaresField;
        
        private bool prohibitPenaltyFaresField;
        
        private string fareBasisCodeField;
        
        private typeFareBreak fareBreakField;
        
        private bool fareBreakFieldSpecified;
        
        private typeConnectionIndicator connectionIndicatorField;
        
        private bool connectionIndicatorFieldSpecified;
        
        private string brandTierField;
        
        public AirSegmentPricingModifiers() {
            this.prohibitAdvancePurchaseFaresField = false;
            this.prohibitNonRefundableFaresField = false;
            this.prohibitPenaltyFaresField = false;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=0)]
        [System.Xml.Serialization.XmlArrayItemAttribute("BookingCode", IsNullable=false)]
        public BookingCode[] PermittedBookingCodes {
            get {
                return this.permittedBookingCodesField;
            }
            set {
                this.permittedBookingCodesField = value;
                this.RaisePropertyChanged("PermittedBookingCodes");
            }
        }
        
        /// <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 CabinClass {
            get {
                return this.cabinClassField;
            }
            set {
                this.cabinClassField = value;
                this.RaisePropertyChanged("CabinClass");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string AccountCode {
            get {
                return this.accountCodeField;
            }
            set {
                this.accountCodeField = value;
                this.RaisePropertyChanged("AccountCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool ProhibitAdvancePurchaseFares {
            get {
                return this.prohibitAdvancePurchaseFaresField;
            }
            set {
                this.prohibitAdvancePurchaseFaresField = value;
                this.RaisePropertyChanged("ProhibitAdvancePurchaseFares");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool ProhibitNonRefundableFares {
            get {
                return this.prohibitNonRefundableFaresField;
            }
            set {
                this.prohibitNonRefundableFaresField = value;
                this.RaisePropertyChanged("ProhibitNonRefundableFares");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool ProhibitPenaltyFares {
            get {
                return this.prohibitPenaltyFaresField;
            }
            set {
                this.prohibitPenaltyFaresField = value;
                this.RaisePropertyChanged("ProhibitPenaltyFares");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string FareBasisCode {
            get {
                return this.fareBasisCodeField;
            }
            set {
                this.fareBasisCodeField = value;
                this.RaisePropertyChanged("FareBasisCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeFareBreak FareBreak {
            get {
                return this.fareBreakField;
            }
            set {
                this.fareBreakField = value;
                this.RaisePropertyChanged("FareBreak");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FareBreakSpecified {
            get {
                return this.fareBreakFieldSpecified;
            }
            set {
                this.fareBreakFieldSpecified = value;
                this.RaisePropertyChanged("FareBreakSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeConnectionIndicator ConnectionIndicator {
            get {
                return this.connectionIndicatorField;
            }
            set {
                this.connectionIndicatorField = value;
                this.RaisePropertyChanged("ConnectionIndicator");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ConnectionIndicatorSpecified {
            get {
                return this.connectionIndicatorFieldSpecified;
            }
            set {
                this.connectionIndicatorFieldSpecified = value;
                this.RaisePropertyChanged("ConnectionIndicatorSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string BrandTier {
            get {
                return this.brandTierField;
            }
            set {
                this.brandTierField = value;
                this.RaisePropertyChanged("BrandTier");
            }
        }
        
        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/air_v53_0")]
    public partial class BookingCode : 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.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/air_v53_0")]
    public enum typeFareBreak {
        
        /// <remarks/>
        MustBreak,
        
        /// <remarks/>
        MustOnlyBreak,
        
        /// <remarks/>
        MustNotBreak,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/air_v53_0")]
    public enum typeConnectionIndicator {
        
        /// <remarks/>
        AvailabilityAndPricing,
        
        /// <remarks/>
        TurnAround,
        
        /// <remarks/>
        Stopover,
    }
    
    /// <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/air_v53_0")]
    public partial class FlightOption : object, System.ComponentModel.INotifyPropertyChanged {
        
        private Option[] optionField;
        
        private string legRefField;
        
        private string originField;
        
        private string destinationField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Option", Order=0)]
        public Option[] Option {
            get {
                return this.optionField;
            }
            set {
                this.optionField = value;
                this.RaisePropertyChanged("Option");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string LegRef {
            get {
                return this.legRefField;
            }
            set {
                this.legRefField = value;
                this.RaisePropertyChanged("LegRef");
            }
        }
        
        /// <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");
            }
        }
        
        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/air_v53_0")]
    public partial class Option : object, System.ComponentModel.INotifyPropertyChanged {
        
        private BookingInfo[] bookingInfoField;
        
        private Connection[] connectionField;
        
        private string keyField;
        
        private string travelTimeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("BookingInfo", Order=0)]
        public BookingInfo[] BookingInfo {
            get {
                return this.bookingInfoField;
            }
            set {
                this.bookingInfoField = value;
                this.RaisePropertyChanged("BookingInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Connection", Order=1)]
        public Connection[] Connection {
            get {
                return this.connectionField;
            }
            set {
                this.connectionField = value;
                this.RaisePropertyChanged("Connection");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="duration")]
        public string TravelTime {
            get {
                return this.travelTimeField;
            }
            set {
                this.travelTimeField = value;
                this.RaisePropertyChanged("TravelTime");
            }
        }
        
        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/air_v53_0")]
    public partial class BaggageAllowances : object, System.ComponentModel.INotifyPropertyChanged {
        
        private BaggageAllowanceInfo[] baggageAllowanceInfoField;
        
        private CarryOnAllowanceInfo[] carryOnAllowanceInfoField;
        
        private BaseBaggageAllowanceInfo[] embargoInfoField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("BaggageAllowanceInfo", Order=0)]
        public BaggageAllowanceInfo[] BaggageAllowanceInfo {
            get {
                return this.baggageAllowanceInfoField;
            }
            set {
                this.baggageAllowanceInfoField = value;
                this.RaisePropertyChanged("BaggageAllowanceInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CarryOnAllowanceInfo", Order=1)]
        public CarryOnAllowanceInfo[] CarryOnAllowanceInfo {
            get {
                return this.carryOnAllowanceInfoField;
            }
            set {
                this.carryOnAllowanceInfoField = value;
                this.RaisePropertyChanged("CarryOnAllowanceInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("EmbargoInfo", Order=2)]
        public BaseBaggageAllowanceInfo[] EmbargoInfo {
            get {
                return this.embargoInfoField;
            }
            set {
                this.embargoInfoField = value;
                this.RaisePropertyChanged("EmbargoInfo");
            }
        }
        
        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/air_v53_0")]
    public partial class BaggageAllowanceInfo : BaseBaggageAllowanceInfo {
        
        private BagDetails[] bagDetailsField;
        
        private string travelerTypeField;
        
        private string fareInfoRefField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("BagDetails", Order=0)]
        public BagDetails[] BagDetails {
            get {
                return this.bagDetailsField;
            }
            set {
                this.bagDetailsField = value;
                this.RaisePropertyChanged("BagDetails");
            }
        }
        
        /// <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 FareInfoRef {
            get {
                return this.fareInfoRefField;
            }
            set {
                this.fareInfoRefField = value;
                this.RaisePropertyChanged("FareInfoRef");
            }
        }
    }
    
    /// <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/air_v53_0")]
    public partial class BagDetails : object, System.ComponentModel.INotifyPropertyChanged {
        
        private BaggageRestriction[] baggageRestrictionField;
        
        private AvailableDiscount[] availableDiscountField;
        
        private string applicableBagsField;
        
        private string basePriceField;
        
        private string approximateBasePriceField;
        
        private string taxesField;
        
        private string totalPriceField;
        
        private string approximateTotalPriceField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("BaggageRestriction", Order=0)]
        public BaggageRestriction[] BaggageRestriction {
            get {
                return this.baggageRestrictionField;
            }
            set {
                this.baggageRestrictionField = value;
                this.RaisePropertyChanged("BaggageRestriction");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AvailableDiscount", Order=1)]
        public AvailableDiscount[] AvailableDiscount {
            get {
                return this.availableDiscountField;
            }
            set {
                this.availableDiscountField = value;
                this.RaisePropertyChanged("AvailableDiscount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApplicableBags {
            get {
                return this.applicableBagsField;
            }
            set {
                this.applicableBagsField = value;
                this.RaisePropertyChanged("ApplicableBags");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string BasePrice {
            get {
                return this.basePriceField;
            }
            set {
                this.basePriceField = value;
                this.RaisePropertyChanged("BasePrice");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApproximateBasePrice {
            get {
                return this.approximateBasePriceField;
            }
            set {
                this.approximateBasePriceField = value;
                this.RaisePropertyChanged("ApproximateBasePrice");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Taxes {
            get {
                return this.taxesField;
            }
            set {
                this.taxesField = value;
                this.RaisePropertyChanged("Taxes");
            }
        }
        
        /// <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 ApproximateTotalPrice {
            get {
                return this.approximateTotalPriceField;
            }
            set {
                this.approximateTotalPriceField = value;
                this.RaisePropertyChanged("ApproximateTotalPrice");
            }
        }
        
        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/air_v53_0")]
    public partial class BaggageRestriction : object, System.ComponentModel.INotifyPropertyChanged {
        
        private Dimension[] dimensionField;
        
        private typeUnitOfMeasure[] maxWeightField;
        
        private TextInfo[] textInfoField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Dimension", Order=0)]
        public Dimension[] Dimension {
            get {
                return this.dimensionField;
            }
            set {
                this.dimensionField = value;
                this.RaisePropertyChanged("Dimension");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("MaxWeight", Order=1)]
        public typeUnitOfMeasure[] MaxWeight {
            get {
                return this.maxWeightField;
            }
            set {
                this.maxWeightField = value;
                this.RaisePropertyChanged("MaxWeight");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("TextInfo", Order=2)]
        public TextInfo[] TextInfo {
            get {
                return this.textInfoField;
            }
            set {
                this.textInfoField = value;
                this.RaisePropertyChanged("TextInfo");
            }
        }
        
        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/air_v53_0")]
    public partial class Dimension : typeUnitOfMeasure {
        
        private string typeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
                this.RaisePropertyChanged("type");
            }
        }
    }
    
    /// <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/air_v53_0")]
    public partial class AvailableDiscount : object, System.ComponentModel.INotifyPropertyChanged {
        
        private LoyaltyProgram[] loyaltyProgramField;
        
        private string amountField;
        
        private string percentField;
        
        private string descriptionField;
        
        private string discountQualifierField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("LoyaltyProgram", Namespace="http://www.travelport.com/schema/common_v53_0", Order=0)]
        public LoyaltyProgram[] LoyaltyProgram {
            get {
                return this.loyaltyProgramField;
            }
            set {
                this.loyaltyProgramField = value;
                this.RaisePropertyChanged("LoyaltyProgram");
            }
        }
        
        /// <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 Percent {
            get {
                return this.percentField;
            }
            set {
                this.percentField = value;
                this.RaisePropertyChanged("Percent");
            }
        }
        
        /// <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 DiscountQualifier {
            get {
                return this.discountQualifierField;
            }
            set {
                this.discountQualifierField = value;
                this.RaisePropertyChanged("DiscountQualifier");
            }
        }
        
        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 LoyaltyProgram : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string keyField;
        
        private string supplierCodeField;
        
        private string allianceLevelField;
        
        private string membershipProgramField;
        
        private string levelField;
        
        /// <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 Level {
            get {
                return this.levelField;
            }
            set {
                this.levelField = value;
                this.RaisePropertyChanged("Level");
            }
        }
        
        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/air_v53_0")]
    public partial class CarryOnAllowanceInfo : BaseBaggageAllowanceInfo {
        
        private CarryOnAllowanceInfoCarryOnDetails[] carryOnDetailsField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CarryOnDetails", Order=0)]
        public CarryOnAllowanceInfoCarryOnDetails[] CarryOnDetails {
            get {
                return this.carryOnDetailsField;
            }
            set {
                this.carryOnDetailsField = value;
                this.RaisePropertyChanged("CarryOnDetails");
            }
        }
    }
    
    /// <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/air_v53_0")]
    public partial class CarryOnAllowanceInfoCarryOnDetails : object, System.ComponentModel.INotifyPropertyChanged {
        
        private BaggageRestriction[] baggageRestrictionField;
        
        private string applicableCarryOnBagsField;
        
        private string basePriceField;
        
        private string approximateBasePriceField;
        
        private string taxesField;
        
        private string totalPriceField;
        
        private string approximateTotalPriceField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("BaggageRestriction", Order=0)]
        public BaggageRestriction[] BaggageRestriction {
            get {
                return this.baggageRestrictionField;
            }
            set {
                this.baggageRestrictionField = value;
                this.RaisePropertyChanged("BaggageRestriction");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApplicableCarryOnBags {
            get {
                return this.applicableCarryOnBagsField;
            }
            set {
                this.applicableCarryOnBagsField = value;
                this.RaisePropertyChanged("ApplicableCarryOnBags");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string BasePrice {
            get {
                return this.basePriceField;
            }
            set {
                this.basePriceField = value;
                this.RaisePropertyChanged("BasePrice");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApproximateBasePrice {
            get {
                return this.approximateBasePriceField;
            }
            set {
                this.approximateBasePriceField = value;
                this.RaisePropertyChanged("ApproximateBasePrice");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Taxes {
            get {
                return this.taxesField;
            }
            set {
                this.taxesField = value;
                this.RaisePropertyChanged("Taxes");
            }
        }
        
        /// <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 ApproximateTotalPrice {
            get {
                return this.approximateTotalPriceField;
            }
            set {
                this.approximateTotalPriceField = value;
                this.RaisePropertyChanged("ApproximateTotalPrice");
            }
        }
        
        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/air_v53_0")]
    public partial class ActionDetails : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string pseudoCityCodeField;
        
        private string agentSineField;
        
        private System.DateTime eventDateField;
        
        private bool eventDateFieldSpecified;
        
        private System.DateTime eventTimeField;
        
        private bool eventTimeFieldSpecified;
        
        private string textField;
        
        /// <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 AgentSine {
            get {
                return this.agentSineField;
            }
            set {
                this.agentSineField = value;
                this.RaisePropertyChanged("AgentSine");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="date")]
        public System.DateTime EventDate {
            get {
                return this.eventDateField;
            }
            set {
                this.eventDateField = value;
                this.RaisePropertyChanged("EventDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool EventDateSpecified {
            get {
                return this.eventDateFieldSpecified;
            }
            set {
                this.eventDateFieldSpecified = value;
                this.RaisePropertyChanged("EventDateSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="time")]
        public System.DateTime EventTime {
            get {
                return this.eventTimeField;
            }
            set {
                this.eventTimeField = value;
                this.RaisePropertyChanged("EventTime");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool EventTimeSpecified {
            get {
                return this.eventTimeFieldSpecified;
            }
            set {
                this.eventTimeFieldSpecified = value;
                this.RaisePropertyChanged("EventTimeSpecified");
            }
        }
        
        /// <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.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/air_v53_0")]
    public enum typePricingMethod {
        
        /// <remarks/>
        Auto,
        
        /// <remarks/>
        Manual,
        
        /// <remarks/>
        ManualFare,
        
        /// <remarks/>
        Guaranteed,
        
        /// <remarks/>
        Invalid,
        
        /// <remarks/>
        Restored,
        
        /// <remarks/>
        Ticketed,
        
        /// <remarks/>
        Unticketable,
        
        /// <remarks/>
        Reprice,
        
        /// <remarks/>
        Expired,
        
        /// <remarks/>
        AutoUsingPrivateFare,
        
        /// <remarks/>
        GuaranteedUsingAirlinePrivateFare,
        
        /// <remarks/>
        Airline,
        
        /// <remarks/>
        AgentAssisted,
        
        /// <remarks/>
        VerifyPrice,
        
        /// <remarks/>
        AltSegmentRemovedReprice,
        
        /// <remarks/>
        AuxiliarySegmentRemovedReprice,
        
        /// <remarks/>
        DuplicateSegmentRemovedReprice,
        
        /// <remarks/>
        Unknown,
        
        /// <remarks/>
        GuaranteedUsingAgencyPrivateFare,
        
        /// <remarks/>
        AutoRapidReprice,
    }
    
    /// <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 Payment : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string keyField;
        
        private PaymentType typeField;
        
        private string formOfPaymentRefField;
        
        private string bookingTravelerRefField;
        
        private string amountField;
        
        private string amountTypeField;
        
        private string approximateAmountField;
        
        private string statusField;
        
        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 PaymentType Type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
                this.RaisePropertyChanged("Type");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string FormOfPaymentRef {
            get {
                return this.formOfPaymentRefField;
            }
            set {
                this.formOfPaymentRefField = value;
                this.RaisePropertyChanged("FormOfPaymentRef");
            }
        }
        
        /// <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 Amount {
            get {
                return this.amountField;
            }
            set {
                this.amountField = value;
                this.RaisePropertyChanged("Amount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string AmountType {
            get {
                return this.amountTypeField;
            }
            set {
                this.amountTypeField = value;
                this.RaisePropertyChanged("AmountType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApproximateAmount {
            get {
                return this.approximateAmountField;
            }
            set {
                this.approximateAmountField = value;
                this.RaisePropertyChanged("ApproximateAmount");
            }
        }
        
        /// <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 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(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public enum PaymentType {
        
        /// <remarks/>
        AirlineFee,
        
        /// <remarks/>
        DeliveryFee,
        
        /// <remarks/>
        Itinerary,
        
        /// <remarks/>
        Passenger,
        
        /// <remarks/>
        ServiceFee,
        
        /// <remarks/>
        OptionalService,
        
        /// <remarks/>
        TicketFee,
    }
    
    /// <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 CreditCardAuth : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string keyField;
        
        private string paymentRefField;
        
        private string transIdField;
        
        private string numberField;
        
        private string amountField;
        
        private string authCodeField;
        
        private string authResultCodeField;
        
        private string aVSResultCodeField;
        
        private string messageField;
        
        private string providerReservationInfoRefField;
        
        private string formOfPaymentRefField;
        
        /// <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 PaymentRef {
            get {
                return this.paymentRefField;
            }
            set {
                this.paymentRefField = value;
                this.RaisePropertyChanged("PaymentRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TransId {
            get {
                return this.transIdField;
            }
            set {
                this.transIdField = value;
                this.RaisePropertyChanged("TransId");
            }
        }
        
        /// <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 AuthCode {
            get {
                return this.authCodeField;
            }
            set {
                this.authCodeField = value;
                this.RaisePropertyChanged("AuthCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string AuthResultCode {
            get {
                return this.authResultCodeField;
            }
            set {
                this.authResultCodeField = value;
                this.RaisePropertyChanged("AuthResultCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string AVSResultCode {
            get {
                return this.aVSResultCodeField;
            }
            set {
                this.aVSResultCodeField = value;
                this.RaisePropertyChanged("AVSResultCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Message {
            get {
                return this.messageField;
            }
            set {
                this.messageField = value;
                this.RaisePropertyChanged("Message");
            }
        }
        
        /// <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 FormOfPaymentRef {
            get {
                return this.formOfPaymentRefField;
            }
            set {
                this.formOfPaymentRefField = value;
                this.RaisePropertyChanged("FormOfPaymentRef");
            }
        }
        
        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/air_v53_0")]
    public partial class TicketingModifiers : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string[] bookingTravelerRefField;
        
        private typeTicketModifierAmountType netRemitField;
        
        private typeTicketModifierAmountType netFareField;
        
        private typeTicketModifierAmountType actualSellingFareField;
        
        private typeTicketModifierAccountingType invoiceFareField;
        
        private typeTicketModifierAccountingType corporateDiscountField;
        
        private typeTicketModifierAccountingType accountingInfoField;
        
        private TicketingModifiersBulkTicket bulkTicketField;
        
        private typeBulkTicketModifierType groupTourField;
        
        private Commission commissionField;
        
        private TourCode tourCodeField;
        
        private TicketEndorsement[] ticketEndorsementField;
        
        private typeTicketModifierValueType valueModifierField;
        
        private DocumentSelect documentSelectField;
        
        private DocumentOptions documentOptionsField;
        
        private SegmentSelect segmentSelectField;
        
        private SegmentModifiers[] segmentModifiersField;
        
        private SupplierLocator supplierLocatorField;
        
        private DestinationPurposeCode destinationPurposeCodeField;
        
        private LanguageOption[] languageOptionField;
        
        private LandCharges landChargesField;
        
        private PrintBlankFormItinerary printBlankFormItineraryField;
        
        private string[] exemptOBFeeField;
        
        private bool isPrimaryDIField;
        
        private string documentInstructionNumberField;
        
        private string referenceField;
        
        private string statusField;
        
        private string freeTextField;
        
        private string nameNumberField;
        
        private string ticketRecordField;
        
        private string platingCarrierField;
        
        private bool exemptVATField;
        
        private bool exemptVATFieldSpecified;
        
        private bool netRemitAppliedField;
        
        private bool netRemitAppliedFieldSpecified;
        
        private bool freeTicketField;
        
        private bool freeTicketFieldSpecified;
        
        private string currencyOverrideCodeField;
        
        private string keyField;
        
        private typeElementStatus elStatField;
        
        private bool elStatFieldSpecified;
        
        private bool keyOverrideField;
        
        private bool keyOverrideFieldSpecified;
        
        public TicketingModifiers() {
            this.isPrimaryDIField = false;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("BookingTravelerRef", Order=0)]
        public string[] BookingTravelerRef {
            get {
                return this.bookingTravelerRefField;
            }
            set {
                this.bookingTravelerRefField = value;
                this.RaisePropertyChanged("BookingTravelerRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public typeTicketModifierAmountType NetRemit {
            get {
                return this.netRemitField;
            }
            set {
                this.netRemitField = value;
                this.RaisePropertyChanged("NetRemit");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public typeTicketModifierAmountType NetFare {
            get {
                return this.netFareField;
            }
            set {
                this.netFareField = value;
                this.RaisePropertyChanged("NetFare");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=3)]
        public typeTicketModifierAmountType ActualSellingFare {
            get {
                return this.actualSellingFareField;
            }
            set {
                this.actualSellingFareField = value;
                this.RaisePropertyChanged("ActualSellingFare");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=4)]
        public typeTicketModifierAccountingType InvoiceFare {
            get {
                return this.invoiceFareField;
            }
            set {
                this.invoiceFareField = value;
                this.RaisePropertyChanged("InvoiceFare");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=5)]
        public typeTicketModifierAccountingType CorporateDiscount {
            get {
                return this.corporateDiscountField;
            }
            set {
                this.corporateDiscountField = value;
                this.RaisePropertyChanged("CorporateDiscount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=6)]
        public typeTicketModifierAccountingType AccountingInfo {
            get {
                return this.accountingInfoField;
            }
            set {
                this.accountingInfoField = value;
                this.RaisePropertyChanged("AccountingInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=7)]
        public TicketingModifiersBulkTicket BulkTicket {
            get {
                return this.bulkTicketField;
            }
            set {
                this.bulkTicketField = value;
                this.RaisePropertyChanged("BulkTicket");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=8)]
        public typeBulkTicketModifierType GroupTour {
            get {
                return this.groupTourField;
            }
            set {
                this.groupTourField = value;
                this.RaisePropertyChanged("GroupTour");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=9)]
        public Commission Commission {
            get {
                return this.commissionField;
            }
            set {
                this.commissionField = value;
                this.RaisePropertyChanged("Commission");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=10)]
        public TourCode TourCode {
            get {
                return this.tourCodeField;
            }
            set {
                this.tourCodeField = value;
                this.RaisePropertyChanged("TourCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("TicketEndorsement", Order=11)]
        public TicketEndorsement[] TicketEndorsement {
            get {
                return this.ticketEndorsementField;
            }
            set {
                this.ticketEndorsementField = value;
                this.RaisePropertyChanged("TicketEndorsement");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=12)]
        public typeTicketModifierValueType ValueModifier {
            get {
                return this.valueModifierField;
            }
            set {
                this.valueModifierField = value;
                this.RaisePropertyChanged("ValueModifier");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=13)]
        public DocumentSelect DocumentSelect {
            get {
                return this.documentSelectField;
            }
            set {
                this.documentSelectField = value;
                this.RaisePropertyChanged("DocumentSelect");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=14)]
        public DocumentOptions DocumentOptions {
            get {
                return this.documentOptionsField;
            }
            set {
                this.documentOptionsField = value;
                this.RaisePropertyChanged("DocumentOptions");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=15)]
        public SegmentSelect SegmentSelect {
            get {
                return this.segmentSelectField;
            }
            set {
                this.segmentSelectField = value;
                this.RaisePropertyChanged("SegmentSelect");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SegmentModifiers", Order=16)]
        public SegmentModifiers[] SegmentModifiers {
            get {
                return this.segmentModifiersField;
            }
            set {
                this.segmentModifiersField = value;
                this.RaisePropertyChanged("SegmentModifiers");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=17)]
        public SupplierLocator SupplierLocator {
            get {
                return this.supplierLocatorField;
            }
            set {
                this.supplierLocatorField = value;
                this.RaisePropertyChanged("SupplierLocator");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=18)]
        public DestinationPurposeCode DestinationPurposeCode {
            get {
                return this.destinationPurposeCodeField;
            }
            set {
                this.destinationPurposeCodeField = value;
                this.RaisePropertyChanged("DestinationPurposeCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("LanguageOption", Order=19)]
        public LanguageOption[] LanguageOption {
            get {
                return this.languageOptionField;
            }
            set {
                this.languageOptionField = value;
                this.RaisePropertyChanged("LanguageOption");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=20)]
        public LandCharges LandCharges {
            get {
                return this.landChargesField;
            }
            set {
                this.landChargesField = value;
                this.RaisePropertyChanged("LandCharges");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=21)]
        public PrintBlankFormItinerary PrintBlankFormItinerary {
            get {
                return this.printBlankFormItineraryField;
            }
            set {
                this.printBlankFormItineraryField = value;
                this.RaisePropertyChanged("PrintBlankFormItinerary");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=22)]
        [System.Xml.Serialization.XmlArrayItemAttribute("SubCode", IsNullable=false)]
        public string[] ExemptOBFee {
            get {
                return this.exemptOBFeeField;
            }
            set {
                this.exemptOBFeeField = value;
                this.RaisePropertyChanged("ExemptOBFee");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool IsPrimaryDI {
            get {
                return this.isPrimaryDIField;
            }
            set {
                this.isPrimaryDIField = value;
                this.RaisePropertyChanged("IsPrimaryDI");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string DocumentInstructionNumber {
            get {
                return this.documentInstructionNumberField;
            }
            set {
                this.documentInstructionNumberField = value;
                this.RaisePropertyChanged("DocumentInstructionNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Reference {
            get {
                return this.referenceField;
            }
            set {
                this.referenceField = value;
                this.RaisePropertyChanged("Reference");
            }
        }
        
        /// <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 NameNumber {
            get {
                return this.nameNumberField;
            }
            set {
                this.nameNumberField = value;
                this.RaisePropertyChanged("NameNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TicketRecord {
            get {
                return this.ticketRecordField;
            }
            set {
                this.ticketRecordField = value;
                this.RaisePropertyChanged("TicketRecord");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PlatingCarrier {
            get {
                return this.platingCarrierField;
            }
            set {
                this.platingCarrierField = value;
                this.RaisePropertyChanged("PlatingCarrier");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool ExemptVAT {
            get {
                return this.exemptVATField;
            }
            set {
                this.exemptVATField = value;
                this.RaisePropertyChanged("ExemptVAT");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ExemptVATSpecified {
            get {
                return this.exemptVATFieldSpecified;
            }
            set {
                this.exemptVATFieldSpecified = value;
                this.RaisePropertyChanged("ExemptVATSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool NetRemitApplied {
            get {
                return this.netRemitAppliedField;
            }
            set {
                this.netRemitAppliedField = value;
                this.RaisePropertyChanged("NetRemitApplied");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool NetRemitAppliedSpecified {
            get {
                return this.netRemitAppliedFieldSpecified;
            }
            set {
                this.netRemitAppliedFieldSpecified = value;
                this.RaisePropertyChanged("NetRemitAppliedSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool FreeTicket {
            get {
                return this.freeTicketField;
            }
            set {
                this.freeTicketField = value;
                this.RaisePropertyChanged("FreeTicket");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FreeTicketSpecified {
            get {
                return this.freeTicketFieldSpecified;
            }
            set {
                this.freeTicketFieldSpecified = value;
                this.RaisePropertyChanged("FreeTicketSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CurrencyOverrideCode {
            get {
                return this.currencyOverrideCodeField;
            }
            set {
                this.currencyOverrideCodeField = value;
                this.RaisePropertyChanged("CurrencyOverrideCode");
            }
        }
        
        /// <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/air_v53_0")]
    public partial class TicketingModifiersBulkTicket : typeBulkTicketModifierType {
        
        private bool nonRefundableField;
        
        private bool nonRefundableFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool NonRefundable {
            get {
                return this.nonRefundableField;
            }
            set {
                this.nonRefundableField = value;
                this.RaisePropertyChanged("NonRefundable");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool NonRefundableSpecified {
            get {
                return this.nonRefundableFieldSpecified;
            }
            set {
                this.nonRefundableFieldSpecified = value;
                this.RaisePropertyChanged("NonRefundableSpecified");
            }
        }
    }
    
    /// <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/air_v53_0")]
    public partial class TicketEndorsement : 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/air_v53_0")]
    public partial class DocumentSelect : object, System.ComponentModel.INotifyPropertyChanged {
        
        private BackOfficeHandOff backOfficeHandOffField;
        
        private Itinerary itineraryField;
        
        private bool issueTicketOnlyField;
        
        private bool issueTicketOnlyFieldSpecified;
        
        private bool issueElectronicTicketField;
        
        private bool issueElectronicTicketFieldSpecified;
        
        private bool faxIndicatorField;
        
        private bool faxIndicatorFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public BackOfficeHandOff BackOfficeHandOff {
            get {
                return this.backOfficeHandOffField;
            }
            set {
                this.backOfficeHandOffField = value;
                this.RaisePropertyChanged("BackOfficeHandOff");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public Itinerary Itinerary {
            get {
                return this.itineraryField;
            }
            set {
                this.itineraryField = value;
                this.RaisePropertyChanged("Itinerary");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool IssueTicketOnly {
            get {
                return this.issueTicketOnlyField;
            }
            set {
                this.issueTicketOnlyField = value;
                this.RaisePropertyChanged("IssueTicketOnly");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool IssueTicketOnlySpecified {
            get {
                return this.issueTicketOnlyFieldSpecified;
            }
            set {
                this.issueTicketOnlyFieldSpecified = value;
                this.RaisePropertyChanged("IssueTicketOnlySpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool IssueElectronicTicket {
            get {
                return this.issueElectronicTicketField;
            }
            set {
                this.issueElectronicTicketField = value;
                this.RaisePropertyChanged("IssueElectronicTicket");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool IssueElectronicTicketSpecified {
            get {
                return this.issueElectronicTicketFieldSpecified;
            }
            set {
                this.issueElectronicTicketFieldSpecified = value;
                this.RaisePropertyChanged("IssueElectronicTicketSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool FaxIndicator {
            get {
                return this.faxIndicatorField;
            }
            set {
                this.faxIndicatorField = value;
                this.RaisePropertyChanged("FaxIndicator");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FaxIndicatorSpecified {
            get {
                return this.faxIndicatorFieldSpecified;
            }
            set {
                this.faxIndicatorFieldSpecified = value;
                this.RaisePropertyChanged("FaxIndicatorSpecified");
            }
        }
        
        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/air_v53_0")]
    public partial class BackOfficeHandOff : object, System.ComponentModel.INotifyPropertyChanged {
        
        private typeBackOffice typeField;
        
        private string locationField;
        
        private string pseudoCityCodeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeBackOffice Type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
                this.RaisePropertyChanged("Type");
            }
        }
        
        /// <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 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.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/air_v53_0")]
    public enum typeBackOffice {
        
        /// <remarks/>
        Accounting,
        
        /// <remarks/>
        Global,
        
        /// <remarks/>
        NonAccounting,
        
        /// <remarks/>
        NonAccountingRemote,
        
        /// <remarks/>
        Dual,
    }
    
    /// <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/air_v53_0")]
    public partial class Itinerary : object, System.ComponentModel.INotifyPropertyChanged {
        
        private typeItinerary typeField;
        
        private bool typeFieldSpecified;
        
        private typeItineraryOption optionField;
        
        private bool optionFieldSpecified;
        
        private bool separateIndicatorField;
        
        private bool separateIndicatorFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeItinerary 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 typeItineraryOption Option {
            get {
                return this.optionField;
            }
            set {
                this.optionField = value;
                this.RaisePropertyChanged("Option");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool OptionSpecified {
            get {
                return this.optionFieldSpecified;
            }
            set {
                this.optionFieldSpecified = value;
                this.RaisePropertyChanged("OptionSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool SeparateIndicator {
            get {
                return this.separateIndicatorField;
            }
            set {
                this.separateIndicatorField = value;
                this.RaisePropertyChanged("SeparateIndicator");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool SeparateIndicatorSpecified {
            get {
                return this.separateIndicatorFieldSpecified;
            }
            set {
                this.separateIndicatorFieldSpecified = value;
                this.RaisePropertyChanged("SeparateIndicatorSpecified");
            }
        }
        
        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/air_v53_0")]
    public enum typeItinerary {
        
        /// <remarks/>
        Invoice,
        
        /// <remarks/>
        Pocket,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/air_v53_0")]
    public enum typeItineraryOption {
        
        /// <remarks/>
        NoFare,
        
        /// <remarks/>
        NoAmount,
        
        /// <remarks/>
        SequenceNumber,
    }
    
    /// <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/air_v53_0")]
    public partial class DocumentOptions : object, System.ComponentModel.INotifyPropertyChanged {
        
        private PassengerReceiptOverride passengerReceiptOverrideField;
        
        private string[] overrideOptionField;
        
        private bool suppressItineraryRemarksField;
        
        private bool suppressItineraryRemarksFieldSpecified;
        
        private bool generateItinNumbersField;
        
        private bool generateItinNumbersFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public PassengerReceiptOverride PassengerReceiptOverride {
            get {
                return this.passengerReceiptOverrideField;
            }
            set {
                this.passengerReceiptOverrideField = value;
                this.RaisePropertyChanged("PassengerReceiptOverride");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("OverrideOption", Order=1)]
        public string[] OverrideOption {
            get {
                return this.overrideOptionField;
            }
            set {
                this.overrideOptionField = value;
                this.RaisePropertyChanged("OverrideOption");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool SuppressItineraryRemarks {
            get {
                return this.suppressItineraryRemarksField;
            }
            set {
                this.suppressItineraryRemarksField = value;
                this.RaisePropertyChanged("SuppressItineraryRemarks");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool SuppressItineraryRemarksSpecified {
            get {
                return this.suppressItineraryRemarksFieldSpecified;
            }
            set {
                this.suppressItineraryRemarksFieldSpecified = value;
                this.RaisePropertyChanged("SuppressItineraryRemarksSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool GenerateItinNumbers {
            get {
                return this.generateItinNumbersField;
            }
            set {
                this.generateItinNumbersField = value;
                this.RaisePropertyChanged("GenerateItinNumbers");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool GenerateItinNumbersSpecified {
            get {
                return this.generateItinNumbersFieldSpecified;
            }
            set {
                this.generateItinNumbersFieldSpecified = value;
                this.RaisePropertyChanged("GenerateItinNumbersSpecified");
            }
        }
        
        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/air_v53_0")]
    public partial class PassengerReceiptOverride : 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/air_v53_0")]
    public partial class SegmentSelect : object, System.ComponentModel.INotifyPropertyChanged {
        
        private typeSegmentRef1[] airSegmentRefField;
        
        private typeNonAirReservationRef1[] hotelReservationRefField;
        
        private typeNonAirReservationRef1[] vehicleReservationRefField;
        
        private typeSegmentRef1[] passiveSegmentRefField;
        
        private bool allConfirmedAirField;
        
        private bool allConfirmedAirFieldSpecified;
        
        private bool allWaitlistedAirField;
        
        private bool allWaitlistedAirFieldSpecified;
        
        private bool allHotelField;
        
        private bool allHotelFieldSpecified;
        
        private bool allVehicleField;
        
        private bool allVehicleFieldSpecified;
        
        private bool allPassiveField;
        
        private bool allPassiveFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AirSegmentRef", Order=0)]
        public typeSegmentRef1[] AirSegmentRef {
            get {
                return this.airSegmentRefField;
            }
            set {
                this.airSegmentRefField = value;
                this.RaisePropertyChanged("AirSegmentRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("HotelReservationRef", Order=1)]
        public typeNonAirReservationRef1[] HotelReservationRef {
            get {
                return this.hotelReservationRefField;
            }
            set {
                this.hotelReservationRefField = value;
                this.RaisePropertyChanged("HotelReservationRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("VehicleReservationRef", Order=2)]
        public typeNonAirReservationRef1[] VehicleReservationRef {
            get {
                return this.vehicleReservationRefField;
            }
            set {
                this.vehicleReservationRefField = value;
                this.RaisePropertyChanged("VehicleReservationRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PassiveSegmentRef", Order=3)]
        public typeSegmentRef1[] PassiveSegmentRef {
            get {
                return this.passiveSegmentRefField;
            }
            set {
                this.passiveSegmentRefField = value;
                this.RaisePropertyChanged("PassiveSegmentRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool AllConfirmedAir {
            get {
                return this.allConfirmedAirField;
            }
            set {
                this.allConfirmedAirField = value;
                this.RaisePropertyChanged("AllConfirmedAir");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AllConfirmedAirSpecified {
            get {
                return this.allConfirmedAirFieldSpecified;
            }
            set {
                this.allConfirmedAirFieldSpecified = value;
                this.RaisePropertyChanged("AllConfirmedAirSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool AllWaitlistedAir {
            get {
                return this.allWaitlistedAirField;
            }
            set {
                this.allWaitlistedAirField = value;
                this.RaisePropertyChanged("AllWaitlistedAir");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AllWaitlistedAirSpecified {
            get {
                return this.allWaitlistedAirFieldSpecified;
            }
            set {
                this.allWaitlistedAirFieldSpecified = value;
                this.RaisePropertyChanged("AllWaitlistedAirSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool AllHotel {
            get {
                return this.allHotelField;
            }
            set {
                this.allHotelField = value;
                this.RaisePropertyChanged("AllHotel");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AllHotelSpecified {
            get {
                return this.allHotelFieldSpecified;
            }
            set {
                this.allHotelFieldSpecified = value;
                this.RaisePropertyChanged("AllHotelSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool AllVehicle {
            get {
                return this.allVehicleField;
            }
            set {
                this.allVehicleField = value;
                this.RaisePropertyChanged("AllVehicle");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AllVehicleSpecified {
            get {
                return this.allVehicleFieldSpecified;
            }
            set {
                this.allVehicleFieldSpecified = value;
                this.RaisePropertyChanged("AllVehicleSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool AllPassive {
            get {
                return this.allPassiveField;
            }
            set {
                this.allPassiveField = value;
                this.RaisePropertyChanged("AllPassive");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AllPassiveSpecified {
            get {
                return this.allPassiveFieldSpecified;
            }
            set {
                this.allPassiveFieldSpecified = value;
                this.RaisePropertyChanged("AllPassiveSpecified");
            }
        }
        
        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/air_v53_0")]
    public partial class SegmentModifiers : object, System.ComponentModel.INotifyPropertyChanged {
        
        private AirSegmentRef airSegmentRefField;
        
        private TicketValidity ticketValidityField;
        
        private BaggageAllowance baggageAllowanceField;
        
        private string ticketDesignatorField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public AirSegmentRef AirSegmentRef {
            get {
                return this.airSegmentRefField;
            }
            set {
                this.airSegmentRefField = value;
                this.RaisePropertyChanged("AirSegmentRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public TicketValidity TicketValidity {
            get {
                return this.ticketValidityField;
            }
            set {
                this.ticketValidityField = value;
                this.RaisePropertyChanged("TicketValidity");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public BaggageAllowance BaggageAllowance {
            get {
                return this.baggageAllowanceField;
            }
            set {
                this.baggageAllowanceField = value;
                this.RaisePropertyChanged("BaggageAllowance");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=3)]
        public string TicketDesignator {
            get {
                return this.ticketDesignatorField;
            }
            set {
                this.ticketDesignatorField = value;
                this.RaisePropertyChanged("TicketDesignator");
            }
        }
        
        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/air_v53_0")]
    public partial class AirSegmentRef : 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/air_v53_0")]
    public partial class TicketValidity : object, System.ComponentModel.INotifyPropertyChanged {
        
        private System.DateTime notValidBeforeField;
        
        private bool notValidBeforeFieldSpecified;
        
        private System.DateTime notValidAfterField;
        
        private bool notValidAfterFieldSpecified;
        
        /// <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/air_v53_0")]
    public partial class DestinationPurposeCode : object, System.ComponentModel.INotifyPropertyChanged {
        
        private typeDestinationCode destinationField;
        
        private typePurposeCode purposeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeDestinationCode Destination {
            get {
                return this.destinationField;
            }
            set {
                this.destinationField = value;
                this.RaisePropertyChanged("Destination");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typePurposeCode Purpose {
            get {
                return this.purposeField;
            }
            set {
                this.purposeField = value;
                this.RaisePropertyChanged("Purpose");
            }
        }
        
        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/air_v53_0")]
    public enum typeDestinationCode {
        
        /// <remarks/>
        MexicoCostRicaCentralAmerica,
        
        /// <remarks/>
        Caribbean,
        
        /// <remarks/>
        SouthAmerica,
        
        /// <remarks/>
        Europe,
        
        /// <remarks/>
        Africa,
        
        /// <remarks/>
        MiddleEastWesternAsia,
        
        /// <remarks/>
        Asia,
        
        /// <remarks/>
        AustraliaNewZealandPacificIslands,
        
        /// <remarks/>
        CanadaGreenland,
        
        /// <remarks/>
        USA,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/air_v53_0")]
    public enum typePurposeCode {
        
        /// <remarks/>
        Business,
        
        /// <remarks/>
        Pleasure,
        
        /// <remarks/>
        CharterService,
    }
    
    /// <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/air_v53_0")]
    public partial class LanguageOption : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string languageField;
        
        private string countryField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Language {
            get {
                return this.languageField;
            }
            set {
                this.languageField = value;
                this.RaisePropertyChanged("Language");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Country {
            get {
                return this.countryField;
            }
            set {
                this.countryField = value;
                this.RaisePropertyChanged("Country");
            }
        }
        
        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/air_v53_0")]
    public partial class LandCharges : object, System.ComponentModel.INotifyPropertyChanged {
        
        private Tax[] taxField;
        
        private string baseField;
        
        private string totalField;
        
        private string miscellaneousField;
        
        private string prePaidField;
        
        private string depositField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Tax", Order=0)]
        public Tax[] Tax {
            get {
                return this.taxField;
            }
            set {
                this.taxField = value;
                this.RaisePropertyChanged("Tax");
            }
        }
        
        /// <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 Total {
            get {
                return this.totalField;
            }
            set {
                this.totalField = value;
                this.RaisePropertyChanged("Total");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Miscellaneous {
            get {
                return this.miscellaneousField;
            }
            set {
                this.miscellaneousField = value;
                this.RaisePropertyChanged("Miscellaneous");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PrePaid {
            get {
                return this.prePaidField;
            }
            set {
                this.prePaidField = value;
                this.RaisePropertyChanged("PrePaid");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Deposit {
            get {
                return this.depositField;
            }
            set {
                this.depositField = value;
                this.RaisePropertyChanged("Deposit");
            }
        }
        
        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/air_v53_0")]
    public partial class Tax : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string categoryField;
        
        private string amountField;
        
        /// <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 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/air_v53_0")]
    public partial class PrintBlankFormItinerary : object, System.ComponentModel.INotifyPropertyChanged {
        
        private bool includeDescriptionField;
        
        private bool includeHeaderField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool IncludeDescription {
            get {
                return this.includeDescriptionField;
            }
            set {
                this.includeDescriptionField = value;
                this.RaisePropertyChanged("IncludeDescription");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool IncludeHeader {
            get {
                return this.includeHeaderField;
            }
            set {
                this.includeHeaderField = value;
                this.RaisePropertyChanged("IncludeHeader");
            }
        }
        
        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/air_v53_0")]
    public partial class AssociatedRemark : typeAssociatedRemarkWithSegmentRef {
    }
    
    /// <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.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.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.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/air_v53_0")]
    public partial class PocketItineraryRemark : typeAssociatedRemarkWithSegmentRef {
    }
    
    /// <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/air_v53_0")]
    public partial class AirExchangeBundleTotal : object, System.ComponentModel.INotifyPropertyChanged {
        
        private AirExchangeInfo airExchangeInfoField;
        
        private Penalty[] penaltyField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=0)]
        public AirExchangeInfo AirExchangeInfo {
            get {
                return this.airExchangeInfoField;
            }
            set {
                this.airExchangeInfoField = value;
                this.RaisePropertyChanged("AirExchangeInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Penalty", Namespace="http://www.travelport.com/schema/common_v53_0", Order=1)]
        public Penalty[] Penalty {
            get {
                return this.penaltyField;
            }
            set {
                this.penaltyField = value;
                this.RaisePropertyChanged("Penalty");
            }
        }
        
        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 AirExchangeInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private AirExchangeInfoTotalPenaltyTaxInfo totalPenaltyTaxInfoField;
        
        private typeTax[] paidTaxField;
        
        private AirExchangeInfoTicketFeeInfo[] ticketFeeInfoField;
        
        private string[] reasonField;
        
        private typeFeeInfo[] feeInfoField;
        
        private typeTaxInfo[] taxInfoField;
        
        private string exchangeAmountField;
        
        private string baseFareField;
        
        private string equivalentBaseFareField;
        
        private string taxesField;
        
        private string changeFeeField;
        
        private string forfeitAmountField;
        
        private bool refundableField;
        
        private bool refundableFieldSpecified;
        
        private bool exchangeableField;
        
        private bool exchangeableFieldSpecified;
        
        private bool firstClassUpgradeField;
        
        private bool firstClassUpgradeFieldSpecified;
        
        private string ticketByDateField;
        
        private string pricingTagField;
        
        private string equivalentChangeFeeField;
        
        private string equivalentExchangeAmountField;
        
        private string addCollectionField;
        
        private string residualValueField;
        
        private string totalResidualValueField;
        
        private string originalFlightValueField;
        
        private string flownSegmentValueField;
        
        private bool bulkTicketAdvisoryField;
        
        private bool bulkTicketAdvisoryFieldSpecified;
        
        private typeFarePull farePullField;
        
        private bool farePullFieldSpecified;
        
        private string passengerTypeCodeField;
        
        private string passengerCountField;
        
        private typeFormOfRefund formOfRefundField;
        
        private bool formOfRefundFieldSpecified;
        
        private string refundField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public AirExchangeInfoTotalPenaltyTaxInfo TotalPenaltyTaxInfo {
            get {
                return this.totalPenaltyTaxInfoField;
            }
            set {
                this.totalPenaltyTaxInfoField = value;
                this.RaisePropertyChanged("TotalPenaltyTaxInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PaidTax", Order=1)]
        public typeTax[] PaidTax {
            get {
                return this.paidTaxField;
            }
            set {
                this.paidTaxField = value;
                this.RaisePropertyChanged("PaidTax");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("TicketFeeInfo", Order=2)]
        public AirExchangeInfoTicketFeeInfo[] TicketFeeInfo {
            get {
                return this.ticketFeeInfoField;
            }
            set {
                this.ticketFeeInfoField = value;
                this.RaisePropertyChanged("TicketFeeInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Reason", Order=3)]
        public string[] Reason {
            get {
                return this.reasonField;
            }
            set {
                this.reasonField = value;
                this.RaisePropertyChanged("Reason");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("FeeInfo", Order=4)]
        public typeFeeInfo[] FeeInfo {
            get {
                return this.feeInfoField;
            }
            set {
                this.feeInfoField = value;
                this.RaisePropertyChanged("FeeInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("TaxInfo", Order=5)]
        public typeTaxInfo[] TaxInfo {
            get {
                return this.taxInfoField;
            }
            set {
                this.taxInfoField = value;
                this.RaisePropertyChanged("TaxInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ExchangeAmount {
            get {
                return this.exchangeAmountField;
            }
            set {
                this.exchangeAmountField = value;
                this.RaisePropertyChanged("ExchangeAmount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string BaseFare {
            get {
                return this.baseFareField;
            }
            set {
                this.baseFareField = value;
                this.RaisePropertyChanged("BaseFare");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string EquivalentBaseFare {
            get {
                return this.equivalentBaseFareField;
            }
            set {
                this.equivalentBaseFareField = value;
                this.RaisePropertyChanged("EquivalentBaseFare");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Taxes {
            get {
                return this.taxesField;
            }
            set {
                this.taxesField = value;
                this.RaisePropertyChanged("Taxes");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ChangeFee {
            get {
                return this.changeFeeField;
            }
            set {
                this.changeFeeField = value;
                this.RaisePropertyChanged("ChangeFee");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ForfeitAmount {
            get {
                return this.forfeitAmountField;
            }
            set {
                this.forfeitAmountField = value;
                this.RaisePropertyChanged("ForfeitAmount");
            }
        }
        
        /// <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 bool Exchangeable {
            get {
                return this.exchangeableField;
            }
            set {
                this.exchangeableField = value;
                this.RaisePropertyChanged("Exchangeable");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ExchangeableSpecified {
            get {
                return this.exchangeableFieldSpecified;
            }
            set {
                this.exchangeableFieldSpecified = value;
                this.RaisePropertyChanged("ExchangeableSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool FirstClassUpgrade {
            get {
                return this.firstClassUpgradeField;
            }
            set {
                this.firstClassUpgradeField = value;
                this.RaisePropertyChanged("FirstClassUpgrade");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FirstClassUpgradeSpecified {
            get {
                return this.firstClassUpgradeFieldSpecified;
            }
            set {
                this.firstClassUpgradeFieldSpecified = value;
                this.RaisePropertyChanged("FirstClassUpgradeSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TicketByDate {
            get {
                return this.ticketByDateField;
            }
            set {
                this.ticketByDateField = value;
                this.RaisePropertyChanged("TicketByDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PricingTag {
            get {
                return this.pricingTagField;
            }
            set {
                this.pricingTagField = value;
                this.RaisePropertyChanged("PricingTag");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string EquivalentChangeFee {
            get {
                return this.equivalentChangeFeeField;
            }
            set {
                this.equivalentChangeFeeField = value;
                this.RaisePropertyChanged("EquivalentChangeFee");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string EquivalentExchangeAmount {
            get {
                return this.equivalentExchangeAmountField;
            }
            set {
                this.equivalentExchangeAmountField = value;
                this.RaisePropertyChanged("EquivalentExchangeAmount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string AddCollection {
            get {
                return this.addCollectionField;
            }
            set {
                this.addCollectionField = value;
                this.RaisePropertyChanged("AddCollection");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ResidualValue {
            get {
                return this.residualValueField;
            }
            set {
                this.residualValueField = value;
                this.RaisePropertyChanged("ResidualValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TotalResidualValue {
            get {
                return this.totalResidualValueField;
            }
            set {
                this.totalResidualValueField = value;
                this.RaisePropertyChanged("TotalResidualValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string OriginalFlightValue {
            get {
                return this.originalFlightValueField;
            }
            set {
                this.originalFlightValueField = value;
                this.RaisePropertyChanged("OriginalFlightValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string FlownSegmentValue {
            get {
                return this.flownSegmentValueField;
            }
            set {
                this.flownSegmentValueField = value;
                this.RaisePropertyChanged("FlownSegmentValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool BulkTicketAdvisory {
            get {
                return this.bulkTicketAdvisoryField;
            }
            set {
                this.bulkTicketAdvisoryField = value;
                this.RaisePropertyChanged("BulkTicketAdvisory");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool BulkTicketAdvisorySpecified {
            get {
                return this.bulkTicketAdvisoryFieldSpecified;
            }
            set {
                this.bulkTicketAdvisoryFieldSpecified = value;
                this.RaisePropertyChanged("BulkTicketAdvisorySpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeFarePull FarePull {
            get {
                return this.farePullField;
            }
            set {
                this.farePullField = value;
                this.RaisePropertyChanged("FarePull");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FarePullSpecified {
            get {
                return this.farePullFieldSpecified;
            }
            set {
                this.farePullFieldSpecified = value;
                this.RaisePropertyChanged("FarePullSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PassengerTypeCode {
            get {
                return this.passengerTypeCodeField;
            }
            set {
                this.passengerTypeCodeField = value;
                this.RaisePropertyChanged("PassengerTypeCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string PassengerCount {
            get {
                return this.passengerCountField;
            }
            set {
                this.passengerCountField = value;
                this.RaisePropertyChanged("PassengerCount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeFormOfRefund FormOfRefund {
            get {
                return this.formOfRefundField;
            }
            set {
                this.formOfRefundField = value;
                this.RaisePropertyChanged("FormOfRefund");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FormOfRefundSpecified {
            get {
                return this.formOfRefundFieldSpecified;
            }
            set {
                this.formOfRefundFieldSpecified = value;
                this.RaisePropertyChanged("FormOfRefundSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Refund {
            get {
                return this.refundField;
            }
            set {
                this.refundField = value;
                this.RaisePropertyChanged("Refund");
            }
        }
        
        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 AirExchangeInfoTotalPenaltyTaxInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private typeTax[] penaltyTaxInfoField;
        
        private string totalPenaltyTaxField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PenaltyTaxInfo", Order=0)]
        public typeTax[] PenaltyTaxInfo {
            get {
                return this.penaltyTaxInfoField;
            }
            set {
                this.penaltyTaxInfoField = value;
                this.RaisePropertyChanged("PenaltyTaxInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TotalPenaltyTax {
            get {
                return this.totalPenaltyTaxField;
            }
            set {
                this.totalPenaltyTaxField = value;
                this.RaisePropertyChanged("TotalPenaltyTax");
            }
        }
        
        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 AirExchangeInfoTicketFeeInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string baseField;
        
        private string taxField;
        
        private string totalField;
        
        /// <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");
            }
        }
        
        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 typeFarePull {
        
        /// <remarks/>
        ReverseOfOriginDestination,
        
        /// <remarks/>
        SameAsOriginDestination,
    }
    
    /// <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 typeFormOfRefund {
        
        /// <remarks/>
        MCO,
        
        /// <remarks/>
        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 Penalty : object, System.ComponentModel.INotifyPropertyChanged {
        
        private bool cancelRefundField;
        
        private bool cancelRefundFieldSpecified;
        
        private bool nonRefundableField;
        
        private bool nonRefundableFieldSpecified;
        
        private bool nonExchangeableField;
        
        private bool nonExchangeableFieldSpecified;
        
        private bool cancelationPenaltyField;
        
        private bool cancelationPenaltyFieldSpecified;
        
        private bool reissuePenaltyField;
        
        private bool reissuePenaltyFieldSpecified;
        
        private bool nonReissuePenaltyField;
        
        private bool nonReissuePenaltyFieldSpecified;
        
        private bool ticketRefundPenaltyField;
        
        private bool ticketRefundPenaltyFieldSpecified;
        
        private bool chargeApplicableField;
        
        private bool chargeApplicableFieldSpecified;
        
        private bool chargePortionField;
        
        private bool chargePortionFieldSpecified;
        
        private string penaltyAmountField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool CancelRefund {
            get {
                return this.cancelRefundField;
            }
            set {
                this.cancelRefundField = value;
                this.RaisePropertyChanged("CancelRefund");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool CancelRefundSpecified {
            get {
                return this.cancelRefundFieldSpecified;
            }
            set {
                this.cancelRefundFieldSpecified = value;
                this.RaisePropertyChanged("CancelRefundSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool NonRefundable {
            get {
                return this.nonRefundableField;
            }
            set {
                this.nonRefundableField = value;
                this.RaisePropertyChanged("NonRefundable");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool NonRefundableSpecified {
            get {
                return this.nonRefundableFieldSpecified;
            }
            set {
                this.nonRefundableFieldSpecified = value;
                this.RaisePropertyChanged("NonRefundableSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool NonExchangeable {
            get {
                return this.nonExchangeableField;
            }
            set {
                this.nonExchangeableField = value;
                this.RaisePropertyChanged("NonExchangeable");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool NonExchangeableSpecified {
            get {
                return this.nonExchangeableFieldSpecified;
            }
            set {
                this.nonExchangeableFieldSpecified = value;
                this.RaisePropertyChanged("NonExchangeableSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool CancelationPenalty {
            get {
                return this.cancelationPenaltyField;
            }
            set {
                this.cancelationPenaltyField = value;
                this.RaisePropertyChanged("CancelationPenalty");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool CancelationPenaltySpecified {
            get {
                return this.cancelationPenaltyFieldSpecified;
            }
            set {
                this.cancelationPenaltyFieldSpecified = value;
                this.RaisePropertyChanged("CancelationPenaltySpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool ReissuePenalty {
            get {
                return this.reissuePenaltyField;
            }
            set {
                this.reissuePenaltyField = value;
                this.RaisePropertyChanged("ReissuePenalty");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ReissuePenaltySpecified {
            get {
                return this.reissuePenaltyFieldSpecified;
            }
            set {
                this.reissuePenaltyFieldSpecified = value;
                this.RaisePropertyChanged("ReissuePenaltySpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool NonReissuePenalty {
            get {
                return this.nonReissuePenaltyField;
            }
            set {
                this.nonReissuePenaltyField = value;
                this.RaisePropertyChanged("NonReissuePenalty");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool NonReissuePenaltySpecified {
            get {
                return this.nonReissuePenaltyFieldSpecified;
            }
            set {
                this.nonReissuePenaltyFieldSpecified = value;
                this.RaisePropertyChanged("NonReissuePenaltySpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool TicketRefundPenalty {
            get {
                return this.ticketRefundPenaltyField;
            }
            set {
                this.ticketRefundPenaltyField = value;
                this.RaisePropertyChanged("TicketRefundPenalty");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool TicketRefundPenaltySpecified {
            get {
                return this.ticketRefundPenaltyFieldSpecified;
            }
            set {
                this.ticketRefundPenaltyFieldSpecified = value;
                this.RaisePropertyChanged("TicketRefundPenaltySpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool ChargeApplicable {
            get {
                return this.chargeApplicableField;
            }
            set {
                this.chargeApplicableField = value;
                this.RaisePropertyChanged("ChargeApplicable");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ChargeApplicableSpecified {
            get {
                return this.chargeApplicableFieldSpecified;
            }
            set {
                this.chargeApplicableFieldSpecified = value;
                this.RaisePropertyChanged("ChargeApplicableSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool ChargePortion {
            get {
                return this.chargePortionField;
            }
            set {
                this.chargePortionField = value;
                this.RaisePropertyChanged("ChargePortion");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ChargePortionSpecified {
            get {
                return this.chargePortionFieldSpecified;
            }
            set {
                this.chargePortionFieldSpecified = value;
                this.RaisePropertyChanged("ChargePortionSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PenaltyAmount {
            get {
                return this.penaltyAmountField;
            }
            set {
                this.penaltyAmountField = value;
                this.RaisePropertyChanged("PenaltyAmount");
            }
        }
        
        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/air_v53_0")]
    public partial class AirExchangeBundle : object, System.ComponentModel.INotifyPropertyChanged {
        
        private AirExchangeInfo airExchangeInfoField;
        
        private AirPricingInfoRef[] airPricingInfoRefField;
        
        private typeTaxInfo[] taxInfoField;
        
        private Penalty[] penaltyField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=0)]
        public AirExchangeInfo AirExchangeInfo {
            get {
                return this.airExchangeInfoField;
            }
            set {
                this.airExchangeInfoField = value;
                this.RaisePropertyChanged("AirExchangeInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AirPricingInfoRef", Order=1)]
        public AirPricingInfoRef[] AirPricingInfoRef {
            get {
                return this.airPricingInfoRefField;
            }
            set {
                this.airPricingInfoRefField = value;
                this.RaisePropertyChanged("AirPricingInfoRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("TaxInfo", Order=2)]
        public typeTaxInfo[] TaxInfo {
            get {
                return this.taxInfoField;
            }
            set {
                this.taxInfoField = value;
                this.RaisePropertyChanged("TaxInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Penalty", Namespace="http://www.travelport.com/schema/common_v53_0", Order=3)]
        public Penalty[] Penalty {
            get {
                return this.penaltyField;
            }
            set {
                this.penaltyField = value;
                this.RaisePropertyChanged("Penalty");
            }
        }
        
        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/air_v53_0")]
    public partial class AirPricingInfoRef : 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/air_v53_0")]
    public partial class Amenities : object, System.ComponentModel.INotifyPropertyChanged {
        
        private AmenitiesTextType[] textField;
        
        private string keyField;
        
        private string languageCodeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Text", Order=0)]
        public AmenitiesTextType[] Text {
            get {
                return this.textField;
            }
            set {
                this.textField = value;
                this.RaisePropertyChanged("Text");
            }
        }
        
        /// <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 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.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/air_v53_0")]
    public partial class typeAirReservationWithFOP : typeBaseAirReservation {
        
        private FormOfPayment[] formOfPaymentField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("FormOfPayment", Namespace="http://www.travelport.com/schema/common_v53_0", 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(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.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(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.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(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.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.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(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(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(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(BaseSearchRsp))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(typeRailReservationRsp))]
    [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(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/rail_v53_0")]
    public abstract partial class typeRailReservationRsp : BaseRsp {
        
        private UniversalRecord universalRecordField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.travelport.com/schema/universal_v53_0", Order=0)]
        public UniversalRecord UniversalRecord {
            get {
                return this.universalRecordField;
            }
            set {
                this.universalRecordField = value;
                this.RaisePropertyChanged("UniversalRecord");
            }
        }
    }
    
    /// <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/universal_v53_0")]
    public partial class UniversalRecord : object, System.ComponentModel.INotifyPropertyChanged {
        
        private LinkedUniversalRecord[] linkedUniversalRecordField;
        
        private Group groupField;
        
        private BookingTraveler[] bookingTravelerField;
        
        private ServiceFeeInfo[] serviceFeeInfoField;
        
        private OSI[] oSIField;
        
        private ActionStatus[] actionStatusField;
        
        private ProviderReservationInfo[] providerReservationInfoField;
        
        private AirReservation[] itemsField;
        
        private HotelReservation[] items1Field;
        
        private VehicleReservation[] items2Field;
        
        private PassiveReservation[] items3Field;
        
        private RailReservation[] items4Field;
        
        private CruiseReservation[] items5Field;
        
        private EMDSummaryInfo[] items6Field;
        
        private ProviderARNKSegment[] providerARNKSegmentField;
        
        private SegmentContinuityInfo segmentContinuityInfoField;
        
        private XMLRemark[] xMLRemarkField;
        
        private GeneralRemark[] generalRemarkField;
        
        private AccountingRemark[] accountingRemarkField;
        
        private UnassociatedRemark[] unassociatedRemarkField;
        
        private Postscript[] postscriptField;
        
        private AgentAction[] agencyInfoField;
        
        private AppliedProfile appliedProfileField;
        
        private AgencyContactInfo agencyContactInfoField;
        
        private CustomerID[] customerIDField;
        
        private CommissionRemark[] commissionRemarkField;
        
        private ConsolidatorRemark[] consolidatorRemarkField;
        
        private InvoiceRemark[] invoiceRemarkField;
        
        private ReviewBooking[] reviewBookingField;
        
        private SSR[] sSRField;
        
        private InvoiceData[] invoiceDataField;
        
        private FormOfPayment[] formOfPaymentField;
        
        private string locatorCodeField;
        
        private string savedTripLocatorCodeField;
        
        private string lockReasonField;
        
        private System.DateTime createDateField;
        
        private bool createDateFieldSpecified;
        
        private string versionField;
        
        private string statusField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("LinkedUniversalRecord", Namespace="http://www.travelport.com/schema/common_v53_0", Order=0)]
        public LinkedUniversalRecord[] LinkedUniversalRecord {
            get {
                return this.linkedUniversalRecordField;
            }
            set {
                this.linkedUniversalRecordField = value;
                this.RaisePropertyChanged("LinkedUniversalRecord");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=1)]
        public Group Group {
            get {
                return this.groupField;
            }
            set {
                this.groupField = value;
                this.RaisePropertyChanged("Group");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("BookingTraveler", Namespace="http://www.travelport.com/schema/common_v53_0", Order=2)]
        public BookingTraveler[] BookingTraveler {
            get {
                return this.bookingTravelerField;
            }
            set {
                this.bookingTravelerField = value;
                this.RaisePropertyChanged("BookingTraveler");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ServiceFeeInfo", Namespace="http://www.travelport.com/schema/common_v53_0", Order=3)]
        public ServiceFeeInfo[] ServiceFeeInfo {
            get {
                return this.serviceFeeInfoField;
            }
            set {
                this.serviceFeeInfoField = value;
                this.RaisePropertyChanged("ServiceFeeInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("OSI", Namespace="http://www.travelport.com/schema/common_v53_0", Order=4)]
        public OSI[] OSI {
            get {
                return this.oSIField;
            }
            set {
                this.oSIField = value;
                this.RaisePropertyChanged("OSI");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ActionStatus", Namespace="http://www.travelport.com/schema/common_v53_0", Order=5)]
        public ActionStatus[] ActionStatus {
            get {
                return this.actionStatusField;
            }
            set {
                this.actionStatusField = value;
                this.RaisePropertyChanged("ActionStatus");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ProviderReservationInfo", Order=6)]
        public ProviderReservationInfo[] ProviderReservationInfo {
            get {
                return this.providerReservationInfoField;
            }
            set {
                this.providerReservationInfoField = value;
                this.RaisePropertyChanged("ProviderReservationInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AirReservation", Namespace="http://www.travelport.com/schema/air_v53_0", Order=7)]
        public AirReservation[] Items {
            get {
                return this.itemsField;
            }
            set {
                this.itemsField = value;
                this.RaisePropertyChanged("Items");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("HotelReservation", Namespace="http://www.travelport.com/schema/hotel_v53_0", Order=8)]
        public HotelReservation[] Items1 {
            get {
                return this.items1Field;
            }
            set {
                this.items1Field = value;
                this.RaisePropertyChanged("Items1");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("VehicleReservation", Namespace="http://www.travelport.com/schema/vehicle_v53_0", Order=9)]
        public VehicleReservation[] Items2 {
            get {
                return this.items2Field;
            }
            set {
                this.items2Field = value;
                this.RaisePropertyChanged("Items2");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PassiveReservation", Namespace="http://www.travelport.com/schema/passive_v53_0", Order=10)]
        public PassiveReservation[] Items3 {
            get {
                return this.items3Field;
            }
            set {
                this.items3Field = value;
                this.RaisePropertyChanged("Items3");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RailReservation", Namespace="http://www.travelport.com/schema/rail_v53_0", Order=11)]
        public RailReservation[] Items4 {
            get {
                return this.items4Field;
            }
            set {
                this.items4Field = value;
                this.RaisePropertyChanged("Items4");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CruiseReservation", Namespace="http://www.travelport.com/schema/cruise_v53_0", Order=12)]
        public CruiseReservation[] Items5 {
            get {
                return this.items5Field;
            }
            set {
                this.items5Field = value;
                this.RaisePropertyChanged("Items5");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("EMDSummaryInfo", Namespace="http://www.travelport.com/schema/air_v53_0", Order=13)]
        public EMDSummaryInfo[] Items6 {
            get {
                return this.items6Field;
            }
            set {
                this.items6Field = value;
                this.RaisePropertyChanged("Items6");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ProviderARNKSegment", Namespace="http://www.travelport.com/schema/common_v53_0", Order=14)]
        public ProviderARNKSegment[] ProviderARNKSegment {
            get {
                return this.providerARNKSegmentField;
            }
            set {
                this.providerARNKSegmentField = value;
                this.RaisePropertyChanged("ProviderARNKSegment");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=15)]
        public SegmentContinuityInfo SegmentContinuityInfo {
            get {
                return this.segmentContinuityInfoField;
            }
            set {
                this.segmentContinuityInfoField = value;
                this.RaisePropertyChanged("SegmentContinuityInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("XMLRemark", Namespace="http://www.travelport.com/schema/common_v53_0", Order=16)]
        public XMLRemark[] XMLRemark {
            get {
                return this.xMLRemarkField;
            }
            set {
                this.xMLRemarkField = value;
                this.RaisePropertyChanged("XMLRemark");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("GeneralRemark", Namespace="http://www.travelport.com/schema/common_v53_0", Order=17)]
        public GeneralRemark[] GeneralRemark {
            get {
                return this.generalRemarkField;
            }
            set {
                this.generalRemarkField = value;
                this.RaisePropertyChanged("GeneralRemark");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AccountingRemark", Namespace="http://www.travelport.com/schema/common_v53_0", Order=18)]
        public AccountingRemark[] AccountingRemark {
            get {
                return this.accountingRemarkField;
            }
            set {
                this.accountingRemarkField = value;
                this.RaisePropertyChanged("AccountingRemark");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("UnassociatedRemark", Namespace="http://www.travelport.com/schema/common_v53_0", Order=19)]
        public UnassociatedRemark[] UnassociatedRemark {
            get {
                return this.unassociatedRemarkField;
            }
            set {
                this.unassociatedRemarkField = value;
                this.RaisePropertyChanged("UnassociatedRemark");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Postscript", Namespace="http://www.travelport.com/schema/common_v53_0", Order=20)]
        public Postscript[] Postscript {
            get {
                return this.postscriptField;
            }
            set {
                this.postscriptField = value;
                this.RaisePropertyChanged("Postscript");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=21)]
        [System.Xml.Serialization.XmlArrayItemAttribute("AgentAction", IsNullable=false)]
        public AgentAction[] AgencyInfo {
            get {
                return this.agencyInfoField;
            }
            set {
                this.agencyInfoField = value;
                this.RaisePropertyChanged("AgencyInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=22)]
        public AppliedProfile AppliedProfile {
            get {
                return this.appliedProfileField;
            }
            set {
                this.appliedProfileField = value;
                this.RaisePropertyChanged("AppliedProfile");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=23)]
        public AgencyContactInfo AgencyContactInfo {
            get {
                return this.agencyContactInfoField;
            }
            set {
                this.agencyContactInfoField = value;
                this.RaisePropertyChanged("AgencyContactInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CustomerID", Namespace="http://www.travelport.com/schema/common_v53_0", Order=24)]
        public CustomerID[] CustomerID {
            get {
                return this.customerIDField;
            }
            set {
                this.customerIDField = value;
                this.RaisePropertyChanged("CustomerID");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CommissionRemark", Namespace="http://www.travelport.com/schema/common_v53_0", Order=25)]
        public CommissionRemark[] CommissionRemark {
            get {
                return this.commissionRemarkField;
            }
            set {
                this.commissionRemarkField = value;
                this.RaisePropertyChanged("CommissionRemark");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ConsolidatorRemark", Namespace="http://www.travelport.com/schema/common_v53_0", Order=26)]
        public ConsolidatorRemark[] ConsolidatorRemark {
            get {
                return this.consolidatorRemarkField;
            }
            set {
                this.consolidatorRemarkField = value;
                this.RaisePropertyChanged("ConsolidatorRemark");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("InvoiceRemark", Namespace="http://www.travelport.com/schema/common_v53_0", Order=27)]
        public InvoiceRemark[] InvoiceRemark {
            get {
                return this.invoiceRemarkField;
            }
            set {
                this.invoiceRemarkField = value;
                this.RaisePropertyChanged("InvoiceRemark");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ReviewBooking", Namespace="http://www.travelport.com/schema/common_v53_0", Order=28)]
        public ReviewBooking[] ReviewBooking {
            get {
                return this.reviewBookingField;
            }
            set {
                this.reviewBookingField = value;
                this.RaisePropertyChanged("ReviewBooking");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SSR", Namespace="http://www.travelport.com/schema/common_v53_0", Order=29)]
        public SSR[] SSR {
            get {
                return this.sSRField;
            }
            set {
                this.sSRField = value;
                this.RaisePropertyChanged("SSR");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("InvoiceData", Namespace="http://www.travelport.com/schema/common_v53_0", Order=30)]
        public InvoiceData[] InvoiceData {
            get {
                return this.invoiceDataField;
            }
            set {
                this.invoiceDataField = value;
                this.RaisePropertyChanged("InvoiceData");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("FormOfPayment", Namespace="http://www.travelport.com/schema/common_v53_0", Order=31)]
        public FormOfPayment[] FormOfPayment {
            get {
                return this.formOfPaymentField;
            }
            set {
                this.formOfPaymentField = value;
                this.RaisePropertyChanged("FormOfPayment");
            }
        }
        
        /// <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 SavedTripLocatorCode {
            get {
                return this.savedTripLocatorCodeField;
            }
            set {
                this.savedTripLocatorCodeField = value;
                this.RaisePropertyChanged("SavedTripLocatorCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string LockReason {
            get {
                return this.lockReasonField;
            }
            set {
                this.lockReasonField = value;
                this.RaisePropertyChanged("LockReason");
            }
        }
        
        /// <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(DataType="integer")]
        public string Version {
            get {
                return this.versionField;
            }
            set {
                this.versionField = value;
                this.RaisePropertyChanged("Version");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Status {
            get {
                return this.statusField;
            }
            set {
                this.statusField = value;
                this.RaisePropertyChanged("Status");
            }
        }
        
        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 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 Group : object, System.ComponentModel.INotifyPropertyChanged {
        
        private GroupName nameField;
        
        private DeliveryInfo deliveryInfoField;
        
        private PhoneNumber[] phoneNumberField;
        
        private GroupSSRRef[] sSRRefField;
        
        private typeStructuredAddress addressField;
        
        private GroupBookingTravelerRef[] bookingTravelerRefField;
        
        private string keyField;
        
        private string travelerTypeField;
        
        private string groupSizeField;
        
        private typeElementStatus elStatField;
        
        private bool elStatFieldSpecified;
        
        private bool keyOverrideField;
        
        private bool keyOverrideFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public GroupName Name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
                this.RaisePropertyChanged("Name");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(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("SSRRef", Order=3)]
        public GroupSSRRef[] SSRRef {
            get {
                return this.sSRRefField;
            }
            set {
                this.sSRRefField = value;
                this.RaisePropertyChanged("SSRRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=4)]
        public typeStructuredAddress Address {
            get {
                return this.addressField;
            }
            set {
                this.addressField = value;
                this.RaisePropertyChanged("Address");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("BookingTravelerRef", Order=5)]
        public GroupBookingTravelerRef[] 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 TravelerType {
            get {
                return this.travelerTypeField;
            }
            set {
                this.travelerTypeField = value;
                this.RaisePropertyChanged("TravelerType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="positiveInteger")]
        public string GroupSize {
            get {
                return this.groupSizeField;
            }
            set {
                this.groupSizeField = value;
                this.RaisePropertyChanged("GroupSize");
            }
        }
        
        /// <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 GroupName : 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 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 GroupSSRRef : 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 GroupBookingTravelerRef : 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 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 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(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(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 ServiceFeeInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private FormOfPayment formOfPaymentField;
        
        private ServiceFeeTaxInfo[] serviceFeeTaxInfoField;
        
        private CreditCardAuth creditCardAuthField;
        
        private Payment paymentField;
        
        private typeStatus statusField;
        
        private bool statusFieldSpecified;
        
        private string descriptionField;
        
        private string keyField;
        
        private string confirmationField;
        
        private string ticketNumberField;
        
        private string bookingTravelerRefField;
        
        private string providerReservationInfoRefField;
        
        private string passiveProviderReservationInfoRefField;
        
        private string totalAmountField;
        
        private string baseAmountField;
        
        private string taxesField;
        
        private typeElementStatus elStatField;
        
        private bool elStatFieldSpecified;
        
        private bool keyOverrideField;
        
        private bool keyOverrideFieldSpecified;
        
        private string bookingTravelerNameField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public FormOfPayment FormOfPayment {
            get {
                return this.formOfPaymentField;
            }
            set {
                this.formOfPaymentField = value;
                this.RaisePropertyChanged("FormOfPayment");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ServiceFeeTaxInfo", Order=1)]
        public ServiceFeeTaxInfo[] ServiceFeeTaxInfo {
            get {
                return this.serviceFeeTaxInfoField;
            }
            set {
                this.serviceFeeTaxInfoField = value;
                this.RaisePropertyChanged("ServiceFeeTaxInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public CreditCardAuth CreditCardAuth {
            get {
                return this.creditCardAuthField;
            }
            set {
                this.creditCardAuthField = value;
                this.RaisePropertyChanged("CreditCardAuth");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=3)]
        public Payment Payment {
            get {
                return this.paymentField;
            }
            set {
                this.paymentField = value;
                this.RaisePropertyChanged("Payment");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeStatus Status {
            get {
                return this.statusField;
            }
            set {
                this.statusField = value;
                this.RaisePropertyChanged("Status");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool StatusSpecified {
            get {
                return this.statusFieldSpecified;
            }
            set {
                this.statusFieldSpecified = value;
                this.RaisePropertyChanged("StatusSpecified");
            }
        }
        
        /// <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 Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("Key");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Confirmation {
            get {
                return this.confirmationField;
            }
            set {
                this.confirmationField = value;
                this.RaisePropertyChanged("Confirmation");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TicketNumber {
            get {
                return this.ticketNumberField;
            }
            set {
                this.ticketNumberField = value;
                this.RaisePropertyChanged("TicketNumber");
            }
        }
        
        /// <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 ProviderReservationInfoRef {
            get {
                return this.providerReservationInfoRefField;
            }
            set {
                this.providerReservationInfoRefField = value;
                this.RaisePropertyChanged("ProviderReservationInfoRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PassiveProviderReservationInfoRef {
            get {
                return this.passiveProviderReservationInfoRefField;
            }
            set {
                this.passiveProviderReservationInfoRefField = value;
                this.RaisePropertyChanged("PassiveProviderReservationInfoRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TotalAmount {
            get {
                return this.totalAmountField;
            }
            set {
                this.totalAmountField = value;
                this.RaisePropertyChanged("TotalAmount");
            }
        }
        
        /// <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 Taxes {
            get {
                return this.taxesField;
            }
            set {
                this.taxesField = value;
                this.RaisePropertyChanged("Taxes");
            }
        }
        
        /// <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 BookingTravelerName {
            get {
                return this.bookingTravelerNameField;
            }
            set {
                this.bookingTravelerNameField = value;
                this.RaisePropertyChanged("BookingTravelerName");
            }
        }
        
        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 ServiceFeeTaxInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string categoryField;
        
        private string amountField;
        
        /// <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 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.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0")]
    public enum typeStatus {
        
        /// <remarks/>
        Issued,
        
        /// <remarks/>
        ReadyToIssue,
        
        /// <remarks/>
        IssueLater,
    }
    
    /// <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 ActionStatus : object, System.ComponentModel.INotifyPropertyChanged {
        
        private Remark remarkField;
        
        private ActionStatusType typeField;
        
        private string ticketDateField;
        
        private string keyField;
        
        private string providerReservationInfoRefField;
        
        private string queueCategoryField;
        
        private string airportCodeField;
        
        private string providerCodeField;
        
        private string supplierCodeField;
        
        private string pseudoCityCodeField;
        
        private string accountCodeField;
        
        private typeElementStatus elStatField;
        
        private bool elStatFieldSpecified;
        
        private bool keyOverrideField;
        
        private bool keyOverrideFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public Remark Remark {
            get {
                return this.remarkField;
            }
            set {
                this.remarkField = value;
                this.RaisePropertyChanged("Remark");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public ActionStatusType Type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
                this.RaisePropertyChanged("Type");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TicketDate {
            get {
                return this.ticketDateField;
            }
            set {
                this.ticketDateField = value;
                this.RaisePropertyChanged("TicketDate");
            }
        }
        
        /// <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 QueueCategory {
            get {
                return this.queueCategoryField;
            }
            set {
                this.queueCategoryField = value;
                this.RaisePropertyChanged("QueueCategory");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string AirportCode {
            get {
                return this.airportCodeField;
            }
            set {
                this.airportCodeField = value;
                this.RaisePropertyChanged("AirportCode");
            }
        }
        
        /// <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 PseudoCityCode {
            get {
                return this.pseudoCityCodeField;
            }
            set {
                this.pseudoCityCodeField = value;
                this.RaisePropertyChanged("PseudoCityCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string AccountCode {
            get {
                return this.accountCodeField;
            }
            set {
                this.accountCodeField = value;
                this.RaisePropertyChanged("AccountCode");
            }
        }
        
        /// <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(AnonymousType=true, Namespace="http://www.travelport.com/schema/common_v53_0")]
    public enum ActionStatusType {
        
        /// <remarks/>
        TAW,
        
        /// <remarks/>
        TTL,
        
        /// <remarks/>
        TLCXL,
        
        /// <remarks/>
        ACTIVE,
        
        /// <remarks/>
        CXL,
        
        /// <remarks/>
        TAU,
        
        /// <remarks/>
        TRH,
    }
    
    /// <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/universal_v53_0")]
    public partial class ProviderReservationInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private object itemField;
        
        private string keyField;
        
        private string providerCodeField;
        
        private string locatorCodeField;
        
        private System.DateTime createDateField;
        
        private System.DateTime hostCreateDateField;
        
        private bool hostCreateDateFieldSpecified;
        
        private System.DateTime hostCreateTimeField;
        
        private bool hostCreateTimeFieldSpecified;
        
        private System.DateTime modifiedDateField;
        
        private bool importedField;
        
        private bool importedFieldSpecified;
        
        private string ticketingModifiersRefField;
        
        private bool inQueueModeField;
        
        private bool inQueueModeFieldSpecified;
        
        private string groupRefField;
        
        private typeElementStatus elStatField;
        
        private bool elStatFieldSpecified;
        
        private bool keyOverrideField;
        
        private bool keyOverrideFieldSpecified;
        
        private string owningPCCField;
        
        private string agentOverrideField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ProviderReservationDetails", typeof(ProviderReservationDetails), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("ProviderReservationDisplayDetailsList", typeof(ProviderReservationDisplayDetailsList), Order=0)]
        public object Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
                this.RaisePropertyChanged("Item");
            }
        }
        
        /// <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 ProviderCode {
            get {
                return this.providerCodeField;
            }
            set {
                this.providerCodeField = value;
                this.RaisePropertyChanged("ProviderCode");
            }
        }
        
        /// <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 System.DateTime CreateDate {
            get {
                return this.createDateField;
            }
            set {
                this.createDateField = value;
                this.RaisePropertyChanged("CreateDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="date")]
        public System.DateTime HostCreateDate {
            get {
                return this.hostCreateDateField;
            }
            set {
                this.hostCreateDateField = value;
                this.RaisePropertyChanged("HostCreateDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool HostCreateDateSpecified {
            get {
                return this.hostCreateDateFieldSpecified;
            }
            set {
                this.hostCreateDateFieldSpecified = value;
                this.RaisePropertyChanged("HostCreateDateSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="time")]
        public System.DateTime HostCreateTime {
            get {
                return this.hostCreateTimeField;
            }
            set {
                this.hostCreateTimeField = value;
                this.RaisePropertyChanged("HostCreateTime");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool HostCreateTimeSpecified {
            get {
                return this.hostCreateTimeFieldSpecified;
            }
            set {
                this.hostCreateTimeFieldSpecified = value;
                this.RaisePropertyChanged("HostCreateTimeSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public System.DateTime ModifiedDate {
            get {
                return this.modifiedDateField;
            }
            set {
                this.modifiedDateField = value;
                this.RaisePropertyChanged("ModifiedDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Imported {
            get {
                return this.importedField;
            }
            set {
                this.importedField = value;
                this.RaisePropertyChanged("Imported");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ImportedSpecified {
            get {
                return this.importedFieldSpecified;
            }
            set {
                this.importedFieldSpecified = value;
                this.RaisePropertyChanged("ImportedSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TicketingModifiersRef {
            get {
                return this.ticketingModifiersRefField;
            }
            set {
                this.ticketingModifiersRefField = value;
                this.RaisePropertyChanged("TicketingModifiersRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool InQueueMode {
            get {
                return this.inQueueModeField;
            }
            set {
                this.inQueueModeField = value;
                this.RaisePropertyChanged("InQueueMode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool InQueueModeSpecified {
            get {
                return this.inQueueModeFieldSpecified;
            }
            set {
                this.inQueueModeFieldSpecified = value;
                this.RaisePropertyChanged("InQueueModeSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string GroupRef {
            get {
                return this.groupRefField;
            }
            set {
                this.groupRefField = value;
                this.RaisePropertyChanged("GroupRef");
            }
        }
        
        /// <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 OwningPCC {
            get {
                return this.owningPCCField;
            }
            set {
                this.owningPCCField = value;
                this.RaisePropertyChanged("OwningPCC");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string AgentOverride {
            get {
                return this.agentOverrideField;
            }
            set {
                this.agentOverrideField = value;
                this.RaisePropertyChanged("AgentOverride");
            }
        }
        
        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/universal_v53_0")]
    public partial class ProviderReservationDetails : object, System.ComponentModel.INotifyPropertyChanged {
        
        private bool providerReservationDetailField;
        
        private bool providerReservationDetailFieldSpecified;
        
        private bool customCheckField;
        
        private bool customCheckFieldSpecified;
        
        private bool providerProfileField;
        
        private bool providerProfileFieldSpecified;
        
        private bool divideDetailsField;
        
        private bool divideDetailsFieldSpecified;
        
        private bool enhancedItinModifiersField;
        
        private bool enhancedItinModifiersFieldSpecified;
        
        private bool integratedContentField;
        
        private bool integratedContentFieldSpecified;
        
        private bool cruiseField;
        
        private bool cruiseFieldSpecified;
        
        private bool railSegmentField;
        
        private bool railSegmentFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool ProviderReservationDetail {
            get {
                return this.providerReservationDetailField;
            }
            set {
                this.providerReservationDetailField = value;
                this.RaisePropertyChanged("ProviderReservationDetail");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ProviderReservationDetailSpecified {
            get {
                return this.providerReservationDetailFieldSpecified;
            }
            set {
                this.providerReservationDetailFieldSpecified = value;
                this.RaisePropertyChanged("ProviderReservationDetailSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool CustomCheck {
            get {
                return this.customCheckField;
            }
            set {
                this.customCheckField = value;
                this.RaisePropertyChanged("CustomCheck");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool CustomCheckSpecified {
            get {
                return this.customCheckFieldSpecified;
            }
            set {
                this.customCheckFieldSpecified = value;
                this.RaisePropertyChanged("CustomCheckSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool ProviderProfile {
            get {
                return this.providerProfileField;
            }
            set {
                this.providerProfileField = value;
                this.RaisePropertyChanged("ProviderProfile");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ProviderProfileSpecified {
            get {
                return this.providerProfileFieldSpecified;
            }
            set {
                this.providerProfileFieldSpecified = value;
                this.RaisePropertyChanged("ProviderProfileSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool DivideDetails {
            get {
                return this.divideDetailsField;
            }
            set {
                this.divideDetailsField = value;
                this.RaisePropertyChanged("DivideDetails");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DivideDetailsSpecified {
            get {
                return this.divideDetailsFieldSpecified;
            }
            set {
                this.divideDetailsFieldSpecified = value;
                this.RaisePropertyChanged("DivideDetailsSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool EnhancedItinModifiers {
            get {
                return this.enhancedItinModifiersField;
            }
            set {
                this.enhancedItinModifiersField = value;
                this.RaisePropertyChanged("EnhancedItinModifiers");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool EnhancedItinModifiersSpecified {
            get {
                return this.enhancedItinModifiersFieldSpecified;
            }
            set {
                this.enhancedItinModifiersFieldSpecified = value;
                this.RaisePropertyChanged("EnhancedItinModifiersSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool IntegratedContent {
            get {
                return this.integratedContentField;
            }
            set {
                this.integratedContentField = value;
                this.RaisePropertyChanged("IntegratedContent");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool IntegratedContentSpecified {
            get {
                return this.integratedContentFieldSpecified;
            }
            set {
                this.integratedContentFieldSpecified = value;
                this.RaisePropertyChanged("IntegratedContentSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Cruise {
            get {
                return this.cruiseField;
            }
            set {
                this.cruiseField = value;
                this.RaisePropertyChanged("Cruise");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool CruiseSpecified {
            get {
                return this.cruiseFieldSpecified;
            }
            set {
                this.cruiseFieldSpecified = value;
                this.RaisePropertyChanged("CruiseSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool RailSegment {
            get {
                return this.railSegmentField;
            }
            set {
                this.railSegmentField = value;
                this.RaisePropertyChanged("RailSegment");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RailSegmentSpecified {
            get {
                return this.railSegmentFieldSpecified;
            }
            set {
                this.railSegmentFieldSpecified = value;
                this.RaisePropertyChanged("RailSegmentSpecified");
            }
        }
        
        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/universal_v53_0")]
    public partial class ProviderReservationDisplayDetailsList : object, System.ComponentModel.INotifyPropertyChanged {
        
        private DisplayDetails[] displayDetailsField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("DisplayDetails", Order=0)]
        public DisplayDetails[] DisplayDetails {
            get {
                return this.displayDetailsField;
            }
            set {
                this.displayDetailsField = value;
                this.RaisePropertyChanged("DisplayDetails");
            }
        }
        
        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/universal_v53_0")]
    public partial class DisplayDetails : object, System.ComponentModel.INotifyPropertyChanged {
        
        private object[] itemsField;
        
        private bool providerReservationDetailField;
        
        private bool providerReservationDetailFieldSpecified;
        
        private bool customCheckField;
        
        private bool customCheckFieldSpecified;
        
        private bool providerProfileField;
        
        private bool providerProfileFieldSpecified;
        
        private bool divideDetailsField;
        
        private bool divideDetailsFieldSpecified;
        
        private bool enhancedItinModifiersField;
        
        private bool enhancedItinModifiersFieldSpecified;
        
        private bool integratedContentField;
        
        private bool integratedContentFieldSpecified;
        
        private bool cruiseField;
        
        private bool cruiseFieldSpecified;
        
        private bool railSegmentField;
        
        private bool railSegmentFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("DisplayContents", typeof(string), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("DisplayDetail", typeof(DisplayDetail), Order=0)]
        public object[] Items {
            get {
                return this.itemsField;
            }
            set {
                this.itemsField = value;
                this.RaisePropertyChanged("Items");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool ProviderReservationDetail {
            get {
                return this.providerReservationDetailField;
            }
            set {
                this.providerReservationDetailField = value;
                this.RaisePropertyChanged("ProviderReservationDetail");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ProviderReservationDetailSpecified {
            get {
                return this.providerReservationDetailFieldSpecified;
            }
            set {
                this.providerReservationDetailFieldSpecified = value;
                this.RaisePropertyChanged("ProviderReservationDetailSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool CustomCheck {
            get {
                return this.customCheckField;
            }
            set {
                this.customCheckField = value;
                this.RaisePropertyChanged("CustomCheck");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool CustomCheckSpecified {
            get {
                return this.customCheckFieldSpecified;
            }
            set {
                this.customCheckFieldSpecified = value;
                this.RaisePropertyChanged("CustomCheckSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool ProviderProfile {
            get {
                return this.providerProfileField;
            }
            set {
                this.providerProfileField = value;
                this.RaisePropertyChanged("ProviderProfile");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ProviderProfileSpecified {
            get {
                return this.providerProfileFieldSpecified;
            }
            set {
                this.providerProfileFieldSpecified = value;
                this.RaisePropertyChanged("ProviderProfileSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool DivideDetails {
            get {
                return this.divideDetailsField;
            }
            set {
                this.divideDetailsField = value;
                this.RaisePropertyChanged("DivideDetails");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DivideDetailsSpecified {
            get {
                return this.divideDetailsFieldSpecified;
            }
            set {
                this.divideDetailsFieldSpecified = value;
                this.RaisePropertyChanged("DivideDetailsSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool EnhancedItinModifiers {
            get {
                return this.enhancedItinModifiersField;
            }
            set {
                this.enhancedItinModifiersField = value;
                this.RaisePropertyChanged("EnhancedItinModifiers");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool EnhancedItinModifiersSpecified {
            get {
                return this.enhancedItinModifiersFieldSpecified;
            }
            set {
                this.enhancedItinModifiersFieldSpecified = value;
                this.RaisePropertyChanged("EnhancedItinModifiersSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool IntegratedContent {
            get {
                return this.integratedContentField;
            }
            set {
                this.integratedContentField = value;
                this.RaisePropertyChanged("IntegratedContent");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool IntegratedContentSpecified {
            get {
                return this.integratedContentFieldSpecified;
            }
            set {
                this.integratedContentFieldSpecified = value;
                this.RaisePropertyChanged("IntegratedContentSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Cruise {
            get {
                return this.cruiseField;
            }
            set {
                this.cruiseField = value;
                this.RaisePropertyChanged("Cruise");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool CruiseSpecified {
            get {
                return this.cruiseFieldSpecified;
            }
            set {
                this.cruiseFieldSpecified = value;
                this.RaisePropertyChanged("CruiseSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool RailSegment {
            get {
                return this.railSegmentField;
            }
            set {
                this.railSegmentField = value;
                this.RaisePropertyChanged("RailSegment");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RailSegmentSpecified {
            get {
                return this.railSegmentFieldSpecified;
            }
            set {
                this.railSegmentFieldSpecified = value;
                this.RaisePropertyChanged("RailSegmentSpecified");
            }
        }
        
        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/universal_v53_0")]
    public partial class DisplayDetail : object, System.ComponentModel.INotifyPropertyChanged {
        
        private typeDisplayDetailName nameField;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeDisplayDetailName Name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
                this.RaisePropertyChanged("Name");
            }
        }
        
        /// <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(Namespace="http://www.travelport.com/schema/universal_v53_0")]
    public enum typeDisplayDetailName {
        
        /// <remarks/>
        OwningAgencyPCC,
        
        /// <remarks/>
        CreatingAgentSignOn,
        
        /// <remarks/>
        CreatingAgentDuty,
        
        /// <remarks/>
        CreatingAgencyIATA,
        
        /// <remarks/>
        PrepaidTicketAdviceIndicator,
        
        /// <remarks/>
        BFBorrowed,
        
        /// <remarks/>
        GlobalPNR,
        
        /// <remarks/>
        ReadOnlyPNR,
        
        /// <remarks/>
        PastDateQuickRetrievedPNR,
        
        /// <remarks/>
        SuperPNR,
        
        /// <remarks/>
        PNRPurgeDate,
        
        /// <remarks/>
        OriginalReceivedFieldValue,
        
        /// <remarks/>
        DivPsgrName,
        
        /// <remarks/>
        TruncInd,
        
        /// <remarks/>
        DivTypeInd,
        
        /// <remarks/>
        RLoc,
        
        /// <remarks/>
        DivDt,
        
        /// <remarks/>
        DivTm,
        
        /// <remarks/>
        TravelOrder,
        
        /// <remarks/>
        SegmentStatus,
        
        /// <remarks/>
        StartDate,
        
        /// <remarks/>
        DayChange,
        
        /// <remarks/>
        Vendor,
        
        /// <remarks/>
        StartTime,
        
        /// <remarks/>
        EndTime,
        
        /// <remarks/>
        BookingCode,
        
        /// <remarks/>
        TrainNumber,
        
        /// <remarks/>
        NumberOfSeats,
        
        /// <remarks/>
        SellType,
        
        /// <remarks/>
        TariffType,
        
        /// <remarks/>
        ConfirmationNumber,
        
        /// <remarks/>
        BoardingInformation,
        
        /// <remarks/>
        ArrivalInformation,
        
        /// <remarks/>
        Text,
    }
    
    /// <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/air_v53_0")]
    public partial class AirReservation : typeBaseAirReservation {
    }
    
    /// <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 AssociatedRemark1[] 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 AssociatedRemark1[] 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/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 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 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 Tax1[] 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 Tax1[] 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(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 Tax1 : 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/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 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 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.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 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 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 AssociatedRemark1 : 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));
            }
        }
    }
    
    /// <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/vehicle_v53_0")]
    public partial class VehicleReservation : BaseReservation {
        
        private BookingTravelerRef[] bookingTravelerRefField;
        
        private ReservationName reservationNameField;
        
        private Email[] emailField;
        
        private PhoneNumber[] phoneNumberField;
        
        private VehicleDateLocation vehicleDateLocationField;
        
        private Vehicle vehicleField;
        
        private SpecialEquipment[] specialEquipmentField;
        
        private VehicleSpecialRequest vehicleSpecialRequestField;
        
        private PaymentInformation paymentInformationField;
        
        private DeliveryAddress deliveryAddressField;
        
        private CollectionAddress collectionAddressField;
        
        private FlightArrivalInformation flightArrivalInformationField;
        
        private Guarantee guaranteeField;
        
        private AssociatedRemark2[] associatedRemarkField;
        
        private BookingSource bookingSourceField;
        
        private ThirdPartyInformation thirdPartyInformationField;
        
        private string[] sellMessageField;
        
        private string supplierCodeField;
        
        private string bookingConfirmationField;
        
        private string statusField;
        
        private string providerReservationInfoRefField;
        
        private string passiveProviderReservationInfoRefField;
        
        private string travelOrderField;
        
        private string providerSegmentOrderField;
        
        /// <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("Email", Namespace="http://www.travelport.com/schema/common_v53_0", Order=2)]
        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=3)]
        public PhoneNumber[] PhoneNumber {
            get {
                return this.phoneNumberField;
            }
            set {
                this.phoneNumberField = value;
                this.RaisePropertyChanged("PhoneNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=4)]
        public VehicleDateLocation VehicleDateLocation {
            get {
                return this.vehicleDateLocationField;
            }
            set {
                this.vehicleDateLocationField = value;
                this.RaisePropertyChanged("VehicleDateLocation");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=5)]
        public Vehicle Vehicle {
            get {
                return this.vehicleField;
            }
            set {
                this.vehicleField = value;
                this.RaisePropertyChanged("Vehicle");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SpecialEquipment", Namespace="http://www.travelport.com/schema/common_v53_0", Order=6)]
        public SpecialEquipment[] SpecialEquipment {
            get {
                return this.specialEquipmentField;
            }
            set {
                this.specialEquipmentField = value;
                this.RaisePropertyChanged("SpecialEquipment");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=7)]
        public VehicleSpecialRequest VehicleSpecialRequest {
            get {
                return this.vehicleSpecialRequestField;
            }
            set {
                this.vehicleSpecialRequestField = value;
                this.RaisePropertyChanged("VehicleSpecialRequest");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=8)]
        public PaymentInformation PaymentInformation {
            get {
                return this.paymentInformationField;
            }
            set {
                this.paymentInformationField = value;
                this.RaisePropertyChanged("PaymentInformation");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=9)]
        public DeliveryAddress DeliveryAddress {
            get {
                return this.deliveryAddressField;
            }
            set {
                this.deliveryAddressField = value;
                this.RaisePropertyChanged("DeliveryAddress");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=10)]
        public CollectionAddress CollectionAddress {
            get {
                return this.collectionAddressField;
            }
            set {
                this.collectionAddressField = value;
                this.RaisePropertyChanged("CollectionAddress");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=11)]
        public FlightArrivalInformation FlightArrivalInformation {
            get {
                return this.flightArrivalInformationField;
            }
            set {
                this.flightArrivalInformationField = value;
                this.RaisePropertyChanged("FlightArrivalInformation");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=12)]
        public Guarantee Guarantee {
            get {
                return this.guaranteeField;
            }
            set {
                this.guaranteeField = value;
                this.RaisePropertyChanged("Guarantee");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AssociatedRemark", Order=13)]
        public AssociatedRemark2[] AssociatedRemark {
            get {
                return this.associatedRemarkField;
            }
            set {
                this.associatedRemarkField = value;
                this.RaisePropertyChanged("AssociatedRemark");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=14)]
        public BookingSource BookingSource {
            get {
                return this.bookingSourceField;
            }
            set {
                this.bookingSourceField = value;
                this.RaisePropertyChanged("BookingSource");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=15)]
        public ThirdPartyInformation ThirdPartyInformation {
            get {
                return this.thirdPartyInformationField;
            }
            set {
                this.thirdPartyInformationField = value;
                this.RaisePropertyChanged("ThirdPartyInformation");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SellMessage", Namespace="http://www.travelport.com/schema/common_v53_0", Order=16)]
        public string[] SellMessage {
            get {
                return this.sellMessageField;
            }
            set {
                this.sellMessageField = value;
                this.RaisePropertyChanged("SellMessage");
            }
        }
        
        /// <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 BookingConfirmation {
            get {
                return this.bookingConfirmationField;
            }
            set {
                this.bookingConfirmationField = value;
                this.RaisePropertyChanged("BookingConfirmation");
            }
        }
        
        /// <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 ProviderReservationInfoRef {
            get {
                return this.providerReservationInfoRefField;
            }
            set {
                this.providerReservationInfoRefField = value;
                this.RaisePropertyChanged("ProviderReservationInfoRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PassiveProviderReservationInfoRef {
            get {
                return this.passiveProviderReservationInfoRefField;
            }
            set {
                this.passiveProviderReservationInfoRefField = value;
                this.RaisePropertyChanged("PassiveProviderReservationInfoRef");
            }
        }
        
        /// <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.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/vehicle_v53_0")]
    public partial class VehicleDateLocation : object, System.ComponentModel.INotifyPropertyChanged {
        
        private VehicleDateLocationVendorLocation[] vendorLocationField;
        
        private string pickupDateTimeField;
        
        private string pickupLocationField;
        
        private string returnDateTimeField;
        
        private string returnLocationField;
        
        private typeVehicleLocation pickupLocationTypeField;
        
        private bool pickupLocationTypeFieldSpecified;
        
        private typeVehicleLocation returnLocationTypeField;
        
        private bool returnLocationTypeFieldSpecified;
        
        private string pickupLocationNumberField;
        
        private string returnLocationNumberField;
        
        private string keyField;
        
        private double latitudeField;
        
        private bool latitudeFieldSpecified;
        
        private double longitudeField;
        
        private bool longitudeFieldSpecified;
        
        private double distanceField;
        
        private bool distanceFieldSpecified;
        
        private VehicleDateLocationUnit unitField;
        
        public VehicleDateLocation() {
            this.unitField = VehicleDateLocationUnit.MI;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("VendorLocation", Order=0)]
        public VehicleDateLocationVendorLocation[] VendorLocation {
            get {
                return this.vendorLocationField;
            }
            set {
                this.vendorLocationField = value;
                this.RaisePropertyChanged("VendorLocation");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PickupDateTime {
            get {
                return this.pickupDateTimeField;
            }
            set {
                this.pickupDateTimeField = value;
                this.RaisePropertyChanged("PickupDateTime");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PickupLocation {
            get {
                return this.pickupLocationField;
            }
            set {
                this.pickupLocationField = value;
                this.RaisePropertyChanged("PickupLocation");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ReturnDateTime {
            get {
                return this.returnDateTimeField;
            }
            set {
                this.returnDateTimeField = value;
                this.RaisePropertyChanged("ReturnDateTime");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ReturnLocation {
            get {
                return this.returnLocationField;
            }
            set {
                this.returnLocationField = value;
                this.RaisePropertyChanged("ReturnLocation");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeVehicleLocation PickupLocationType {
            get {
                return this.pickupLocationTypeField;
            }
            set {
                this.pickupLocationTypeField = value;
                this.RaisePropertyChanged("PickupLocationType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PickupLocationTypeSpecified {
            get {
                return this.pickupLocationTypeFieldSpecified;
            }
            set {
                this.pickupLocationTypeFieldSpecified = value;
                this.RaisePropertyChanged("PickupLocationTypeSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeVehicleLocation ReturnLocationType {
            get {
                return this.returnLocationTypeField;
            }
            set {
                this.returnLocationTypeField = value;
                this.RaisePropertyChanged("ReturnLocationType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ReturnLocationTypeSpecified {
            get {
                return this.returnLocationTypeFieldSpecified;
            }
            set {
                this.returnLocationTypeFieldSpecified = value;
                this.RaisePropertyChanged("ReturnLocationTypeSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PickupLocationNumber {
            get {
                return this.pickupLocationNumberField;
            }
            set {
                this.pickupLocationNumberField = value;
                this.RaisePropertyChanged("PickupLocationNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ReturnLocationNumber {
            get {
                return this.returnLocationNumberField;
            }
            set {
                this.returnLocationNumberField = value;
                this.RaisePropertyChanged("ReturnLocationNumber");
            }
        }
        
        /// <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 double Latitude {
            get {
                return this.latitudeField;
            }
            set {
                this.latitudeField = value;
                this.RaisePropertyChanged("Latitude");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool LatitudeSpecified {
            get {
                return this.latitudeFieldSpecified;
            }
            set {
                this.latitudeFieldSpecified = value;
                this.RaisePropertyChanged("LatitudeSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public double Longitude {
            get {
                return this.longitudeField;
            }
            set {
                this.longitudeField = value;
                this.RaisePropertyChanged("Longitude");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool LongitudeSpecified {
            get {
                return this.longitudeFieldSpecified;
            }
            set {
                this.longitudeFieldSpecified = value;
                this.RaisePropertyChanged("LongitudeSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public double Distance {
            get {
                return this.distanceField;
            }
            set {
                this.distanceField = value;
                this.RaisePropertyChanged("Distance");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DistanceSpecified {
            get {
                return this.distanceFieldSpecified;
            }
            set {
                this.distanceFieldSpecified = value;
                this.RaisePropertyChanged("DistanceSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(VehicleDateLocationUnit.MI)]
        public VehicleDateLocationUnit Unit {
            get {
                return this.unitField;
            }
            set {
                this.unitField = value;
                this.RaisePropertyChanged("Unit");
            }
        }
        
        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/vehicle_v53_0")]
    public partial class VehicleDateLocationVendorLocation : typeVehicleVendorLocation {
        
        private Distance distanceField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=0)]
        public Distance Distance {
            get {
                return this.distanceField;
            }
            set {
                this.distanceField = value;
                this.RaisePropertyChanged("Distance");
            }
        }
    }
    
    /// <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/vehicle_v53_0")]
    public enum VehicleDateLocationUnit {
        
        /// <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/vehicle_v53_0")]
    public partial class Vehicle : object, System.ComponentModel.INotifyPropertyChanged {
        
        private typePolicyCodesList policyCodesListField;
        
        private VehicleRate vehicleRateField;
        
        private MediaItem[] mediaItemField;
        
        private string vendorCodeField;
        
        private bool airConditioningField;
        
        private typeVehicleTransmission transmissionTypeField;
        
        private typeVehicleClass vehicleClassField;
        
        private typeVehicleCategory categoryField;
        
        private string descriptionField;
        
        private typeDoorCount doorCountField;
        
        private bool doorCountFieldSpecified;
        
        private string locationField;
        
        private string counterLocationCodeField;
        
        private string vendorLocationKeyField;
        
        private string vendorNameField;
        
        private string alternateVendorField;
        
        private typeFuel fuelTypeField;
        
        private bool fuelTypeFieldSpecified;
        
        private string acrissVehicleCodeField;
        
        private string keyField;
        
        private bool returnAtPickupField;
        
        private bool returnAtPickupFieldSpecified;
        
        private bool inPolicyField;
        
        private bool inPolicyFieldSpecified;
        
        private int policyCodeField;
        
        private bool policyCodeFieldSpecified;
        
        private bool preferredOptionField;
        
        private bool preferredOptionFieldSpecified;
        
        /// <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(Order=1)]
        public VehicleRate VehicleRate {
            get {
                return this.vehicleRateField;
            }
            set {
                this.vehicleRateField = value;
                this.RaisePropertyChanged("VehicleRate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("MediaItem", Namespace="http://www.travelport.com/schema/common_v53_0", Order=2)]
        public MediaItem[] MediaItem {
            get {
                return this.mediaItemField;
            }
            set {
                this.mediaItemField = value;
                this.RaisePropertyChanged("MediaItem");
            }
        }
        
        /// <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 AirConditioning {
            get {
                return this.airConditioningField;
            }
            set {
                this.airConditioningField = value;
                this.RaisePropertyChanged("AirConditioning");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeVehicleTransmission TransmissionType {
            get {
                return this.transmissionTypeField;
            }
            set {
                this.transmissionTypeField = value;
                this.RaisePropertyChanged("TransmissionType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeVehicleClass VehicleClass {
            get {
                return this.vehicleClassField;
            }
            set {
                this.vehicleClassField = value;
                this.RaisePropertyChanged("VehicleClass");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeVehicleCategory Category {
            get {
                return this.categoryField;
            }
            set {
                this.categoryField = value;
                this.RaisePropertyChanged("Category");
            }
        }
        
        /// <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 typeDoorCount DoorCount {
            get {
                return this.doorCountField;
            }
            set {
                this.doorCountField = value;
                this.RaisePropertyChanged("DoorCount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DoorCountSpecified {
            get {
                return this.doorCountFieldSpecified;
            }
            set {
                this.doorCountFieldSpecified = value;
                this.RaisePropertyChanged("DoorCountSpecified");
            }
        }
        
        /// <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 CounterLocationCode {
            get {
                return this.counterLocationCodeField;
            }
            set {
                this.counterLocationCodeField = value;
                this.RaisePropertyChanged("CounterLocationCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string VendorLocationKey {
            get {
                return this.vendorLocationKeyField;
            }
            set {
                this.vendorLocationKeyField = value;
                this.RaisePropertyChanged("VendorLocationKey");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string VendorName {
            get {
                return this.vendorNameField;
            }
            set {
                this.vendorNameField = value;
                this.RaisePropertyChanged("VendorName");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string AlternateVendor {
            get {
                return this.alternateVendorField;
            }
            set {
                this.alternateVendorField = value;
                this.RaisePropertyChanged("AlternateVendor");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeFuel FuelType {
            get {
                return this.fuelTypeField;
            }
            set {
                this.fuelTypeField = value;
                this.RaisePropertyChanged("FuelType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FuelTypeSpecified {
            get {
                return this.fuelTypeFieldSpecified;
            }
            set {
                this.fuelTypeFieldSpecified = value;
                this.RaisePropertyChanged("FuelTypeSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string AcrissVehicleCode {
            get {
                return this.acrissVehicleCodeField;
            }
            set {
                this.acrissVehicleCodeField = value;
                this.RaisePropertyChanged("AcrissVehicleCode");
            }
        }
        
        /// <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 ReturnAtPickup {
            get {
                return this.returnAtPickupField;
            }
            set {
                this.returnAtPickupField = value;
                this.RaisePropertyChanged("ReturnAtPickup");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ReturnAtPickupSpecified {
            get {
                return this.returnAtPickupFieldSpecified;
            }
            set {
                this.returnAtPickupFieldSpecified = value;
                this.RaisePropertyChanged("ReturnAtPickupSpecified");
            }
        }
        
        /// <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 int PolicyCode {
            get {
                return this.policyCodeField;
            }
            set {
                this.policyCodeField = value;
                this.RaisePropertyChanged("PolicyCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PolicyCodeSpecified {
            get {
                return this.policyCodeFieldSpecified;
            }
            set {
                this.policyCodeFieldSpecified = value;
                this.RaisePropertyChanged("PolicyCodeSpecified");
            }
        }
        
        /// <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");
            }
        }
        
        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/vehicle_v53_0")]
    public partial class VehicleRate : object, System.ComponentModel.INotifyPropertyChanged {
        
        private SupplierRate supplierRateField;
        
        private typeRateVariance rateVarianceField;
        
        private typeVehicleRates approximateRateField;
        
        private typeVehicleCharge[] vehicleChargeField;
        
        private typeVehicleRateDescription[] vehicleRateDescriptionField;
        
        private typeRateHostIndicator rateHostIndicatorField;
        
        private typeRateInfo hourlyLateChargeField;
        
        private typeRateInfo dailyLateChargeField;
        
        private PricedEquip[] pricedEquipField;
        
        private IncludedItem[] rateInclusionsField;
        
        private typeRateInfo weeklyLateChargeField;
        
        private string printTextField;
        
        private typeRateTimePeriod ratePeriodField;
        
        private bool ratePeriodFieldSpecified;
        
        private int numberOfPeriodsField;
        
        private bool numberOfPeriodsFieldSpecified;
        
        private bool unlimitedMileageField;
        
        private bool unlimitedMileageFieldSpecified;
        
        private int mileageAllowanceField;
        
        private bool mileageAllowanceFieldSpecified;
        
        private typeDistance unitsField;
        
        private bool unitsFieldSpecified;
        
        private string rateSourceField;
        
        private typeRateAvailability rateAvailabilityField;
        
        private bool rateAvailabilityFieldSpecified;
        
        private string requiredChargesField;
        
        private string rateCodeField;
        
        private typeTrinary requestedRateCodeAppliedField;
        
        private bool requestedRateCodeAppliedFieldSpecified;
        
        private typeRateCategory rateCategoryField;
        
        private bool rateCategoryFieldSpecified;
        
        private string discountNumberField;
        
        private typeTrinary discountNumberAppliedField;
        
        private bool discountNumberAppliedFieldSpecified;
        
        private string vendorCodeField;
        
        private bool rateGuaranteedField;
        
        private string rateCodePeriodField;
        
        private string promotionalCodeField;
        
        private typeTrinary promotionalCodeAppliedField;
        
        private bool promotionalCodeAppliedFieldSpecified;
        
        private string tourCodeField;
        
        private typeTrinary tourCodeAppliedField;
        
        private bool tourCodeAppliedFieldSpecified;
        
        private typeRateGuarantee rateGuaranteeTypeField;
        
        private bool rateGuaranteeTypeFieldSpecified;
        
        private VehicleRateRequiredPayment requiredPaymentField;
        
        private bool requiredPaymentFieldSpecified;
        
        private bool dropOffChargesIncludedField;
        
        private bool dropOffChargesIncludedFieldSpecified;
        
        private bool corporateRateField;
        
        private bool corporateRateFieldSpecified;
        
        private string advancedBookingField;
        
        private bool rentalRestrictionField;
        
        private bool rentalRestrictionFieldSpecified;
        
        private bool flightRestrictionField;
        
        private bool flightRestrictionFieldSpecified;
        
        private string cardNumberField;
        
        private typeTrinary cardNumberAppliedField;
        
        private bool cardNumberAppliedFieldSpecified;
        
        private string rateQualifierIndField;
        
        public VehicleRate() {
            this.rateGuaranteedField = false;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public SupplierRate SupplierRate {
            get {
                return this.supplierRateField;
            }
            set {
                this.supplierRateField = value;
                this.RaisePropertyChanged("SupplierRate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public typeRateVariance RateVariance {
            get {
                return this.rateVarianceField;
            }
            set {
                this.rateVarianceField = value;
                this.RaisePropertyChanged("RateVariance");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public typeVehicleRates ApproximateRate {
            get {
                return this.approximateRateField;
            }
            set {
                this.approximateRateField = value;
                this.RaisePropertyChanged("ApproximateRate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("VehicleCharge", Order=3)]
        public typeVehicleCharge[] VehicleCharge {
            get {
                return this.vehicleChargeField;
            }
            set {
                this.vehicleChargeField = value;
                this.RaisePropertyChanged("VehicleCharge");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("VehicleRateDescription", Order=4)]
        public typeVehicleRateDescription[] VehicleRateDescription {
            get {
                return this.vehicleRateDescriptionField;
            }
            set {
                this.vehicleRateDescriptionField = value;
                this.RaisePropertyChanged("VehicleRateDescription");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=5)]
        public typeRateHostIndicator RateHostIndicator {
            get {
                return this.rateHostIndicatorField;
            }
            set {
                this.rateHostIndicatorField = value;
                this.RaisePropertyChanged("RateHostIndicator");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=6)]
        public typeRateInfo HourlyLateCharge {
            get {
                return this.hourlyLateChargeField;
            }
            set {
                this.hourlyLateChargeField = value;
                this.RaisePropertyChanged("HourlyLateCharge");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=7)]
        public typeRateInfo DailyLateCharge {
            get {
                return this.dailyLateChargeField;
            }
            set {
                this.dailyLateChargeField = value;
                this.RaisePropertyChanged("DailyLateCharge");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PricedEquip", Order=8)]
        public PricedEquip[] PricedEquip {
            get {
                return this.pricedEquipField;
            }
            set {
                this.pricedEquipField = value;
                this.RaisePropertyChanged("PricedEquip");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=9)]
        [System.Xml.Serialization.XmlArrayItemAttribute("IncludedItem", IsNullable=false)]
        public IncludedItem[] RateInclusions {
            get {
                return this.rateInclusionsField;
            }
            set {
                this.rateInclusionsField = value;
                this.RaisePropertyChanged("RateInclusions");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=10)]
        public typeRateInfo WeeklyLateCharge {
            get {
                return this.weeklyLateChargeField;
            }
            set {
                this.weeklyLateChargeField = value;
                this.RaisePropertyChanged("WeeklyLateCharge");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=11)]
        public string PrintText {
            get {
                return this.printTextField;
            }
            set {
                this.printTextField = value;
                this.RaisePropertyChanged("PrintText");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeRateTimePeriod RatePeriod {
            get {
                return this.ratePeriodField;
            }
            set {
                this.ratePeriodField = value;
                this.RaisePropertyChanged("RatePeriod");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RatePeriodSpecified {
            get {
                return this.ratePeriodFieldSpecified;
            }
            set {
                this.ratePeriodFieldSpecified = value;
                this.RaisePropertyChanged("RatePeriodSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public int NumberOfPeriods {
            get {
                return this.numberOfPeriodsField;
            }
            set {
                this.numberOfPeriodsField = value;
                this.RaisePropertyChanged("NumberOfPeriods");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool NumberOfPeriodsSpecified {
            get {
                return this.numberOfPeriodsFieldSpecified;
            }
            set {
                this.numberOfPeriodsFieldSpecified = value;
                this.RaisePropertyChanged("NumberOfPeriodsSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool UnlimitedMileage {
            get {
                return this.unlimitedMileageField;
            }
            set {
                this.unlimitedMileageField = value;
                this.RaisePropertyChanged("UnlimitedMileage");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool UnlimitedMileageSpecified {
            get {
                return this.unlimitedMileageFieldSpecified;
            }
            set {
                this.unlimitedMileageFieldSpecified = value;
                this.RaisePropertyChanged("UnlimitedMileageSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public int MileageAllowance {
            get {
                return this.mileageAllowanceField;
            }
            set {
                this.mileageAllowanceField = value;
                this.RaisePropertyChanged("MileageAllowance");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool MileageAllowanceSpecified {
            get {
                return this.mileageAllowanceFieldSpecified;
            }
            set {
                this.mileageAllowanceFieldSpecified = value;
                this.RaisePropertyChanged("MileageAllowanceSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeDistance Units {
            get {
                return this.unitsField;
            }
            set {
                this.unitsField = value;
                this.RaisePropertyChanged("Units");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool UnitsSpecified {
            get {
                return this.unitsFieldSpecified;
            }
            set {
                this.unitsFieldSpecified = value;
                this.RaisePropertyChanged("UnitsSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string RateSource {
            get {
                return this.rateSourceField;
            }
            set {
                this.rateSourceField = value;
                this.RaisePropertyChanged("RateSource");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeRateAvailability RateAvailability {
            get {
                return this.rateAvailabilityField;
            }
            set {
                this.rateAvailabilityField = value;
                this.RaisePropertyChanged("RateAvailability");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RateAvailabilitySpecified {
            get {
                return this.rateAvailabilityFieldSpecified;
            }
            set {
                this.rateAvailabilityFieldSpecified = value;
                this.RaisePropertyChanged("RateAvailabilitySpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string RequiredCharges {
            get {
                return this.requiredChargesField;
            }
            set {
                this.requiredChargesField = value;
                this.RaisePropertyChanged("RequiredCharges");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string RateCode {
            get {
                return this.rateCodeField;
            }
            set {
                this.rateCodeField = value;
                this.RaisePropertyChanged("RateCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeTrinary RequestedRateCodeApplied {
            get {
                return this.requestedRateCodeAppliedField;
            }
            set {
                this.requestedRateCodeAppliedField = value;
                this.RaisePropertyChanged("RequestedRateCodeApplied");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RequestedRateCodeAppliedSpecified {
            get {
                return this.requestedRateCodeAppliedFieldSpecified;
            }
            set {
                this.requestedRateCodeAppliedFieldSpecified = value;
                this.RaisePropertyChanged("RequestedRateCodeAppliedSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeRateCategory RateCategory {
            get {
                return this.rateCategoryField;
            }
            set {
                this.rateCategoryField = value;
                this.RaisePropertyChanged("RateCategory");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RateCategorySpecified {
            get {
                return this.rateCategoryFieldSpecified;
            }
            set {
                this.rateCategoryFieldSpecified = value;
                this.RaisePropertyChanged("RateCategorySpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string DiscountNumber {
            get {
                return this.discountNumberField;
            }
            set {
                this.discountNumberField = value;
                this.RaisePropertyChanged("DiscountNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeTrinary DiscountNumberApplied {
            get {
                return this.discountNumberAppliedField;
            }
            set {
                this.discountNumberAppliedField = value;
                this.RaisePropertyChanged("DiscountNumberApplied");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DiscountNumberAppliedSpecified {
            get {
                return this.discountNumberAppliedFieldSpecified;
            }
            set {
                this.discountNumberAppliedFieldSpecified = value;
                this.RaisePropertyChanged("DiscountNumberAppliedSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string VendorCode {
            get {
                return this.vendorCodeField;
            }
            set {
                this.vendorCodeField = value;
                this.RaisePropertyChanged("VendorCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool RateGuaranteed {
            get {
                return this.rateGuaranteedField;
            }
            set {
                this.rateGuaranteedField = value;
                this.RaisePropertyChanged("RateGuaranteed");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string RateCodePeriod {
            get {
                return this.rateCodePeriodField;
            }
            set {
                this.rateCodePeriodField = value;
                this.RaisePropertyChanged("RateCodePeriod");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PromotionalCode {
            get {
                return this.promotionalCodeField;
            }
            set {
                this.promotionalCodeField = value;
                this.RaisePropertyChanged("PromotionalCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeTrinary PromotionalCodeApplied {
            get {
                return this.promotionalCodeAppliedField;
            }
            set {
                this.promotionalCodeAppliedField = value;
                this.RaisePropertyChanged("PromotionalCodeApplied");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PromotionalCodeAppliedSpecified {
            get {
                return this.promotionalCodeAppliedFieldSpecified;
            }
            set {
                this.promotionalCodeAppliedFieldSpecified = value;
                this.RaisePropertyChanged("PromotionalCodeAppliedSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TourCode {
            get {
                return this.tourCodeField;
            }
            set {
                this.tourCodeField = value;
                this.RaisePropertyChanged("TourCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeTrinary TourCodeApplied {
            get {
                return this.tourCodeAppliedField;
            }
            set {
                this.tourCodeAppliedField = value;
                this.RaisePropertyChanged("TourCodeApplied");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool TourCodeAppliedSpecified {
            get {
                return this.tourCodeAppliedFieldSpecified;
            }
            set {
                this.tourCodeAppliedFieldSpecified = value;
                this.RaisePropertyChanged("TourCodeAppliedSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeRateGuarantee RateGuaranteeType {
            get {
                return this.rateGuaranteeTypeField;
            }
            set {
                this.rateGuaranteeTypeField = value;
                this.RaisePropertyChanged("RateGuaranteeType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RateGuaranteeTypeSpecified {
            get {
                return this.rateGuaranteeTypeFieldSpecified;
            }
            set {
                this.rateGuaranteeTypeFieldSpecified = value;
                this.RaisePropertyChanged("RateGuaranteeTypeSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public VehicleRateRequiredPayment RequiredPayment {
            get {
                return this.requiredPaymentField;
            }
            set {
                this.requiredPaymentField = value;
                this.RaisePropertyChanged("RequiredPayment");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RequiredPaymentSpecified {
            get {
                return this.requiredPaymentFieldSpecified;
            }
            set {
                this.requiredPaymentFieldSpecified = value;
                this.RaisePropertyChanged("RequiredPaymentSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool DropOffChargesIncluded {
            get {
                return this.dropOffChargesIncludedField;
            }
            set {
                this.dropOffChargesIncludedField = value;
                this.RaisePropertyChanged("DropOffChargesIncluded");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DropOffChargesIncludedSpecified {
            get {
                return this.dropOffChargesIncludedFieldSpecified;
            }
            set {
                this.dropOffChargesIncludedFieldSpecified = value;
                this.RaisePropertyChanged("DropOffChargesIncludedSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool CorporateRate {
            get {
                return this.corporateRateField;
            }
            set {
                this.corporateRateField = value;
                this.RaisePropertyChanged("CorporateRate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool CorporateRateSpecified {
            get {
                return this.corporateRateFieldSpecified;
            }
            set {
                this.corporateRateFieldSpecified = value;
                this.RaisePropertyChanged("CorporateRateSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string AdvancedBooking {
            get {
                return this.advancedBookingField;
            }
            set {
                this.advancedBookingField = value;
                this.RaisePropertyChanged("AdvancedBooking");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool RentalRestriction {
            get {
                return this.rentalRestrictionField;
            }
            set {
                this.rentalRestrictionField = value;
                this.RaisePropertyChanged("RentalRestriction");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RentalRestrictionSpecified {
            get {
                return this.rentalRestrictionFieldSpecified;
            }
            set {
                this.rentalRestrictionFieldSpecified = value;
                this.RaisePropertyChanged("RentalRestrictionSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool FlightRestriction {
            get {
                return this.flightRestrictionField;
            }
            set {
                this.flightRestrictionField = value;
                this.RaisePropertyChanged("FlightRestriction");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FlightRestrictionSpecified {
            get {
                return this.flightRestrictionFieldSpecified;
            }
            set {
                this.flightRestrictionFieldSpecified = value;
                this.RaisePropertyChanged("FlightRestrictionSpecified");
            }
        }
        
        /// <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 typeTrinary CardNumberApplied {
            get {
                return this.cardNumberAppliedField;
            }
            set {
                this.cardNumberAppliedField = value;
                this.RaisePropertyChanged("CardNumberApplied");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool CardNumberAppliedSpecified {
            get {
                return this.cardNumberAppliedFieldSpecified;
            }
            set {
                this.cardNumberAppliedFieldSpecified = value;
                this.RaisePropertyChanged("CardNumberAppliedSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="positiveInteger")]
        public string RateQualifierInd {
            get {
                return this.rateQualifierIndField;
            }
            set {
                this.rateQualifierIndField = value;
                this.RaisePropertyChanged("RateQualifierInd");
            }
        }
        
        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/vehicle_v53_0")]
    public partial class SupplierRate : typeVehicleRates {
        
        private string discountAmountField;
        
        private string mandatoryChargeTotalField;
        
        private string approximateTotalField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string DiscountAmount {
            get {
                return this.discountAmountField;
            }
            set {
                this.discountAmountField = value;
                this.RaisePropertyChanged("DiscountAmount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string MandatoryChargeTotal {
            get {
                return this.mandatoryChargeTotalField;
            }
            set {
                this.mandatoryChargeTotalField = value;
                this.RaisePropertyChanged("MandatoryChargeTotal");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApproximateTotal {
            get {
                return this.approximateTotalField;
            }
            set {
                this.approximateTotalField = value;
                this.RaisePropertyChanged("ApproximateTotal");
            }
        }
    }
    
    /// <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/vehicle_v53_0")]
    public partial class PricedEquip : object, System.ComponentModel.INotifyPropertyChanged {
        
        private Equipment equipmentField;
        
        private Charge chargeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public Equipment Equipment {
            get {
                return this.equipmentField;
            }
            set {
                this.equipmentField = value;
                this.RaisePropertyChanged("Equipment");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public Charge Charge {
            get {
                return this.chargeField;
            }
            set {
                this.chargeField = value;
                this.RaisePropertyChanged("Charge");
            }
        }
        
        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/vehicle_v53_0")]
    public partial class Equipment : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string typeField;
        
        private string descriptionField;
        
        private string quantityField;
        
        private string statusField;
        
        /// <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.XmlAttributeAttribute(DataType="integer")]
        public string Quantity {
            get {
                return this.quantityField;
            }
            set {
                this.quantityField = value;
                this.RaisePropertyChanged("Quantity");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Status {
            get {
                return this.statusField;
            }
            set {
                this.statusField = value;
                this.RaisePropertyChanged("Status");
            }
        }
        
        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/vehicle_v53_0")]
    public partial class Charge : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string amountField;
        
        private string ratePeriodField;
        
        private bool includedInEstTotalIndField;
        
        /// <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 RatePeriod {
            get {
                return this.ratePeriodField;
            }
            set {
                this.ratePeriodField = value;
                this.RaisePropertyChanged("RatePeriod");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool IncludedInEstTotalInd {
            get {
                return this.includedInEstTotalIndField;
            }
            set {
                this.includedInEstTotalIndField = value;
                this.RaisePropertyChanged("IncludedInEstTotalInd");
            }
        }
        
        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/vehicle_v53_0")]
    public partial class IncludedItem : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string codeField;
        
        private string descriptionField;
        
        /// <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");
            }
        }
        
        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 typeRateTimePeriod {
        
        /// <remarks/>
        Hourly,
        
        /// <remarks/>
        Daily,
        
        /// <remarks/>
        Weekly,
        
        /// <remarks/>
        Monthly,
        
        /// <remarks/>
        WeekendDay,
        
        /// <remarks/>
        Other,
        
        /// <remarks/>
        Package,
        
        /// <remarks/>
        Bundle,
        
        /// <remarks/>
        Total,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3752.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/vehicle_v53_0")]
    public enum typeRateAvailability {
        
        /// <remarks/>
        Available,
        
        /// <remarks/>
        Call,
        
        /// <remarks/>
        Closed,
    }
    
    /// <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 typeRateCategory {
        
        /// <remarks/>
        Association,
        
        /// <remarks/>
        Business,
        
        /// <remarks/>
        Corporate,
        
        /// <remarks/>
        Government,
        
        /// <remarks/>
        Industry,
        
        /// <remarks/>
        Package,
        
        /// <remarks/>
        Inclusive,
        
        /// <remarks/>
        Promotional,
        
        /// <remarks/>
        Credential,
        
        /// <remarks/>
        Standard,
        
        /// <remarks/>
        Consortium,
        
        /// <remarks/>
        Convention,
        
        /// <remarks/>
        Negotiated,
        
        /// <remarks/>
        Prepay,
    }
    
    /// <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 typeRateGuarantee {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("Rate Guaranteed")]
        RateGuaranteed,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("Rate Quoted")]
        RateQuoted,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("Agent Entered")]
        AgentEntered,
    }
    
    /// <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/vehicle_v53_0")]
    public enum VehicleRateRequiredPayment {
        
        /// <remarks/>
        Guarantee,
        
        /// <remarks/>
        Deposit,
        
        /// <remarks/>
        PrePayment,
    }
    
    /// <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 typeVehicleTransmission {
        
        /// <remarks/>
        Automatic,
        
        /// <remarks/>
        Automatic4WD,
        
        /// <remarks/>
        AutomaticAWD,
        
        /// <remarks/>
        Manual,
        
        /// <remarks/>
        Manual4WD,
        
        /// <remarks/>
        ManualAWD,
    }
    
    /// <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 typeVehicleClass {
        
        /// <remarks/>
        Mini,
        
        /// <remarks/>
        Economy,
        
        /// <remarks/>
        Compact,
        
        /// <remarks/>
        Intermediate,
        
        /// <remarks/>
        Standard,
        
        /// <remarks/>
        Fullsize,
        
        /// <remarks/>
        Luxury,
        
        /// <remarks/>
        Premium,
        
        /// <remarks/>
        Special,
        
        /// <remarks/>
        MiniElite,
        
        /// <remarks/>
        EconomyElite,
        
        /// <remarks/>
        CompactElite,
        
        /// <remarks/>
        IntermediateElite,
        
        /// <remarks/>
        StandardElite,
        
        /// <remarks/>
        FullsizeElite,
        
        /// <remarks/>
        PremiumElite,
        
        /// <remarks/>
        LuxuryElite,
        
        /// <remarks/>
        Oversize,
        
        /// <remarks/>
        Subcompact,
        
        /// <remarks/>
        Minivan,
        
        /// <remarks/>
        TwelvePassengerVan,
        
        /// <remarks/>
        MovingVan,
        
        /// <remarks/>
        FifteenPassengerVan,
        
        /// <remarks/>
        CargoVan,
        
        /// <remarks/>
        TwelveFootTruck,
        
        /// <remarks/>
        TwentyFootTruck,
        
        /// <remarks/>
        TwentyfourFootTruck,
        
        /// <remarks/>
        TwentysixFootTruck,
        
        /// <remarks/>
        Moped,
        
        /// <remarks/>
        Stretch,
        
        /// <remarks/>
        Regular,
        
        /// <remarks/>
        Unique,
        
        /// <remarks/>
        Exotic,
        
        /// <remarks/>
        SmallOrMediumTruck,
        
        /// <remarks/>
        LargeTruck,
        
        /// <remarks/>
        SmallSUV,
        
        /// <remarks/>
        MediumSUV,
        
        /// <remarks/>
        LargeSUV,
        
        /// <remarks/>
        ExoticSUV,
        
        /// <remarks/>
        FourWheelDrive,
    }
    
    /// <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 typeVehicleCategory {
        
        /// <remarks/>
        Car,
        
        /// <remarks/>
        Van,
        
        /// <remarks/>
        SUV,
        
        /// <remarks/>
        Convertible,
        
        /// <remarks/>
        Truck,
        
        /// <remarks/>
        StationWagon,
        
        /// <remarks/>
        Pickup,
        
        /// <remarks/>
        AllTerrain,
        
        /// <remarks/>
        Recreational,
        
        /// <remarks/>
        Sport,
        
        /// <remarks/>
        Special,
        
        /// <remarks/>
        ExtendedCabPickup,
        
        /// <remarks/>
        RegularCabPickup,
        
        /// <remarks/>
        SpecialOffer,
        
        /// <remarks/>
        Coupe,
        
        /// <remarks/>
        Monospace,
        
        /// <remarks/>
        Roadster,
        
        /// <remarks/>
        Crossover,
        
        /// <remarks/>
        Motorcycle,
        
        /// <remarks/>
        Limo,
        
        /// <remarks/>
        Motorhome,
        
        /// <remarks/>
        TwoWheelVehicle,
        
        /// <remarks/>
        CommercialVanOrTruck,
    }
    
    /// <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 typeDoorCount {
        
        /// <remarks/>
        TwoToThreeDoors,
        
        /// <remarks/>
        TwoToFourDoors,
        
        /// <remarks/>
        FourToFiveDoors,
    }
    
    /// <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 typeFuel {
        
        /// <remarks/>
        Petrol,
        
        /// <remarks/>
        Diesel,
        
        /// <remarks/>
        Hybrid,
        
        /// <remarks/>
        Electric,
        
        /// <remarks/>
        LPGCNG,
        
        /// <remarks/>
        Hydrogen,
        
        /// <remarks/>
        MultiFuel,
        
        /// <remarks/>
        Ethanol,
    }
    
    /// <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 SpecialEquipment : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string keyField;
        
        private string typeField;
        
        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 Type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
                this.RaisePropertyChanged("Type");
            }
        }
        
        /// <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/vehicle_v53_0")]
    public partial class VehicleSpecialRequest : 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/vehicle_v53_0")]
    public partial class PaymentInformation : typePaymentInformation {
        
        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/vehicle_v53_0")]
    public partial class DeliveryAddress : typeStructuredAddress {
        
        private PhoneNumber phoneNumberField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=0)]
        public PhoneNumber PhoneNumber {
            get {
                return this.phoneNumberField;
            }
            set {
                this.phoneNumberField = value;
                this.RaisePropertyChanged("PhoneNumber");
            }
        }
    }
    
    /// <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/vehicle_v53_0")]
    public partial class CollectionAddress : typeStructuredAddress {
        
        private PhoneNumber phoneNumberField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=0)]
        public PhoneNumber PhoneNumber {
            get {
                return this.phoneNumberField;
            }
            set {
                this.phoneNumberField = value;
                this.RaisePropertyChanged("PhoneNumber");
            }
        }
    }
    
    /// <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/vehicle_v53_0")]
    public partial class FlightArrivalInformation : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string carrierField;
        
        private string flightNumberField;
        
        private string keyField;
        
        /// <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 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/vehicle_v53_0")]
    public partial class AssociatedRemark2 : typeAssociatedRemark {
    }
    
    /// <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/passive_v53_0")]
    public partial class PassiveReservation : BaseReservation {
        
        private SupplierLocator[] supplierLocatorField;
        
        private ThirdPartyInformation[] thirdPartyInformationField;
        
        private BookingTravelerRef[] bookingTravelerRefField;
        
        private PassiveSegment[] passiveSegmentField;
        
        private PassiveRemark[] passiveRemarkField;
        
        private AssociatedRemark3[] associatedRemarkField;
        
        private string providerReservationInfoRefField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SupplierLocator", Namespace="http://www.travelport.com/schema/common_v53_0", Order=0)]
        public SupplierLocator[] SupplierLocator {
            get {
                return this.supplierLocatorField;
            }
            set {
                this.supplierLocatorField = value;
                this.RaisePropertyChanged("SupplierLocator");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ThirdPartyInformation", Namespace="http://www.travelport.com/schema/common_v53_0", Order=1)]
        public ThirdPartyInformation[] ThirdPartyInformation {
            get {
                return this.thirdPartyInformationField;
            }
            set {
                this.thirdPartyInformationField = value;
                this.RaisePropertyChanged("ThirdPartyInformation");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("BookingTravelerRef", Namespace="http://www.travelport.com/schema/common_v53_0", Order=2)]
        public BookingTravelerRef[] BookingTravelerRef {
            get {
                return this.bookingTravelerRefField;
            }
            set {
                this.bookingTravelerRefField = value;
                this.RaisePropertyChanged("BookingTravelerRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PassiveSegment", Order=3)]
        public PassiveSegment[] PassiveSegment {
            get {
                return this.passiveSegmentField;
            }
            set {
                this.passiveSegmentField = value;
                this.RaisePropertyChanged("PassiveSegment");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PassiveRemark", Order=4)]
        public PassiveRemark[] PassiveRemark {
            get {
                return this.passiveRemarkField;
            }
            set {
                this.passiveRemarkField = value;
                this.RaisePropertyChanged("PassiveRemark");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AssociatedRemark", Order=5)]
        public AssociatedRemark3[] AssociatedRemark {
            get {
                return this.associatedRemarkField;
            }
            set {
                this.associatedRemarkField = value;
                this.RaisePropertyChanged("AssociatedRemark");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProviderReservationInfoRef {
            get {
                return this.providerReservationInfoRefField;
            }
            set {
                this.providerReservationInfoRefField = value;
                this.RaisePropertyChanged("ProviderReservationInfoRef");
            }
        }
    }
    
    /// <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/passive_v53_0")]
    public partial class PassiveSegment : object, System.ComponentModel.INotifyPropertyChanged {
        
        private PassiveSegmentAmount amountField;
        
        private string supplierCodeField;
        
        private string statusField;
        
        private string startDateField;
        
        private string endDateField;
        
        private string originField;
        
        private string destinationField;
        
        private string availabilitySourceField;
        
        private string polledAvailabilityOptionField;
        
        private string availabilityDisplayTypeField;
        
        private string flightNumberField;
        
        private string classOfServiceField;
        
        private string numberOfItemsField;
        
        private string segmentTypeField;
        
        private string keyField;
        
        private string vehicleTypeField;
        
        private string passiveProviderReservationInfoRefField;
        
        private string groupField;
        
        private string travelOrderField;
        
        private string providerSegmentOrderField;
        
        private typeElementStatus elStatField;
        
        private bool elStatFieldSpecified;
        
        private bool keyOverrideField;
        
        private bool keyOverrideFieldSpecified;
        
        private string passiveGroupField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public PassiveSegmentAmount Amount {
            get {
                return this.amountField;
            }
            set {
                this.amountField = value;
                this.RaisePropertyChanged("Amount");
            }
        }
        
        /// <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 Status {
            get {
                return this.statusField;
            }
            set {
                this.statusField = value;
                this.RaisePropertyChanged("Status");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string StartDate {
            get {
                return this.startDateField;
            }
            set {
                this.startDateField = value;
                this.RaisePropertyChanged("StartDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string EndDate {
            get {
                return this.endDateField;
            }
            set {
                this.endDateField = value;
                this.RaisePropertyChanged("EndDate");
            }
        }
        
        /// <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 AvailabilitySource {
            get {
                return this.availabilitySourceField;
            }
            set {
                this.availabilitySourceField = value;
                this.RaisePropertyChanged("AvailabilitySource");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PolledAvailabilityOption {
            get {
                return this.polledAvailabilityOptionField;
            }
            set {
                this.polledAvailabilityOptionField = value;
                this.RaisePropertyChanged("PolledAvailabilityOption");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string AvailabilityDisplayType {
            get {
                return this.availabilityDisplayTypeField;
            }
            set {
                this.availabilityDisplayTypeField = value;
                this.RaisePropertyChanged("AvailabilityDisplayType");
            }
        }
        
        /// <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(DataType="integer")]
        public string NumberOfItems {
            get {
                return this.numberOfItemsField;
            }
            set {
                this.numberOfItemsField = value;
                this.RaisePropertyChanged("NumberOfItems");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string SegmentType {
            get {
                return this.segmentTypeField;
            }
            set {
                this.segmentTypeField = value;
                this.RaisePropertyChanged("SegmentType");
            }
        }
        
        /// <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 VehicleType {
            get {
                return this.vehicleTypeField;
            }
            set {
                this.vehicleTypeField = value;
                this.RaisePropertyChanged("VehicleType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PassiveProviderReservationInfoRef {
            get {
                return this.passiveProviderReservationInfoRefField;
            }
            set {
                this.passiveProviderReservationInfoRefField = value;
                this.RaisePropertyChanged("PassiveProviderReservationInfoRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string Group {
            get {
                return this.groupField;
            }
            set {
                this.groupField = value;
                this.RaisePropertyChanged("Group");
            }
        }
        
        /// <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");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PassiveGroup {
            get {
                return this.passiveGroupField;
            }
            set {
                this.passiveGroupField = value;
                this.RaisePropertyChanged("PassiveGroup");
            }
        }
        
        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/passive_v53_0")]
    public partial class PassiveSegmentAmount : object, System.ComponentModel.INotifyPropertyChanged {
        
        private PassiveSegmentAmountType typeField;
        
        private bool typeFieldSpecified;
        
        private string amountDuePaidField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public PassiveSegmentAmountType 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 AmountDuePaid {
            get {
                return this.amountDuePaidField;
            }
            set {
                this.amountDuePaidField = value;
                this.RaisePropertyChanged("AmountDuePaid");
            }
        }
        
        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/passive_v53_0")]
    public enum PassiveSegmentAmountType {
        
        /// <remarks/>
        Due,
        
        /// <remarks/>
        Paid,
        
        /// <remarks/>
        Text,
    }
    
    /// <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/passive_v53_0")]
    public partial class PassiveRemark : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string textField;
        
        private string typeField;
        
        private string passiveSegmentRefField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string Text {
            get {
                return this.textField;
            }
            set {
                this.textField = value;
                this.RaisePropertyChanged("Text");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public string Type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
                this.RaisePropertyChanged("Type");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PassiveSegmentRef {
            get {
                return this.passiveSegmentRefField;
            }
            set {
                this.passiveSegmentRefField = value;
                this.RaisePropertyChanged("PassiveSegmentRef");
            }
        }
        
        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/passive_v53_0")]
    public partial class AssociatedRemark3 : typeAssociatedRemarkWithSegmentRef {
    }
    
    /// <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/rail_v53_0")]
    public partial class RailReservation : BaseReservation {
        
        private BookingTravelerRef[] bookingTravelerRefField;
        
        private RailJourney[] railJourneyField;
        
        private RailPricingInfo[] railPricingInfoField;
        
        private Payment[] paymentField;
        
        private RailTicketInfo[] railTicketInfoField;
        
        private RailFareNote[] railFareNoteListField;
        
        private SupplierLocator[] supplierLocatorField;
        
        private string bookingStatusField;
        
        /// <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("RailJourney", Order=1)]
        public RailJourney[] RailJourney {
            get {
                return this.railJourneyField;
            }
            set {
                this.railJourneyField = value;
                this.RaisePropertyChanged("RailJourney");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RailPricingInfo", Order=2)]
        public RailPricingInfo[] RailPricingInfo {
            get {
                return this.railPricingInfoField;
            }
            set {
                this.railPricingInfoField = value;
                this.RaisePropertyChanged("RailPricingInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Payment", Namespace="http://www.travelport.com/schema/common_v53_0", Order=3)]
        public Payment[] Payment {
            get {
                return this.paymentField;
            }
            set {
                this.paymentField = value;
                this.RaisePropertyChanged("Payment");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RailTicketInfo", Order=4)]
        public RailTicketInfo[] RailTicketInfo {
            get {
                return this.railTicketInfoField;
            }
            set {
                this.railTicketInfoField = value;
                this.RaisePropertyChanged("RailTicketInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=5)]
        [System.Xml.Serialization.XmlArrayItemAttribute("RailFareNote", IsNullable=false)]
        public RailFareNote[] RailFareNoteList {
            get {
                return this.railFareNoteListField;
            }
            set {
                this.railFareNoteListField = value;
                this.RaisePropertyChanged("RailFareNoteList");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SupplierLocator", Namespace="http://www.travelport.com/schema/common_v53_0", Order=6)]
        public SupplierLocator[] SupplierLocator {
            get {
                return this.supplierLocatorField;
            }
            set {
                this.supplierLocatorField = value;
                this.RaisePropertyChanged("SupplierLocator");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string BookingStatus {
            get {
                return this.bookingStatusField;
            }
            set {
                this.bookingStatusField = value;
                this.RaisePropertyChanged("BookingStatus");
            }
        }
    }
    
    /// <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/rail_v53_0")]
    public partial class RailTicketInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private RailJourneyRef[] railJourneyRefField;
        
        private TicketAdvisory[] ticketAdvisoryField;
        
        private string numberField;
        
        private string issueLocationField;
        
        private string ticketStatusField;
        
        private string ticketFormTypeField;
        
        private string trafficTypeField;
        
        private System.DateTime issuedDateField;
        
        private bool issuedDateFieldSpecified;
        
        private string ticketTypeField;
        
        private string bookingTravelerRefField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RailJourneyRef", Order=0)]
        public RailJourneyRef[] RailJourneyRef {
            get {
                return this.railJourneyRefField;
            }
            set {
                this.railJourneyRefField = value;
                this.RaisePropertyChanged("RailJourneyRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("TicketAdvisory", Order=1)]
        public TicketAdvisory[] TicketAdvisory {
            get {
                return this.ticketAdvisoryField;
            }
            set {
                this.ticketAdvisoryField = value;
                this.RaisePropertyChanged("TicketAdvisory");
            }
        }
        
        /// <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 IssueLocation {
            get {
                return this.issueLocationField;
            }
            set {
                this.issueLocationField = value;
                this.RaisePropertyChanged("IssueLocation");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TicketStatus {
            get {
                return this.ticketStatusField;
            }
            set {
                this.ticketStatusField = value;
                this.RaisePropertyChanged("TicketStatus");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TicketFormType {
            get {
                return this.ticketFormTypeField;
            }
            set {
                this.ticketFormTypeField = value;
                this.RaisePropertyChanged("TicketFormType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TrafficType {
            get {
                return this.trafficTypeField;
            }
            set {
                this.trafficTypeField = value;
                this.RaisePropertyChanged("TrafficType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public System.DateTime IssuedDate {
            get {
                return this.issuedDateField;
            }
            set {
                this.issuedDateField = value;
                this.RaisePropertyChanged("IssuedDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool IssuedDateSpecified {
            get {
                return this.issuedDateFieldSpecified;
            }
            set {
                this.issuedDateFieldSpecified = value;
                this.RaisePropertyChanged("IssuedDateSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TicketType {
            get {
                return this.ticketTypeField;
            }
            set {
                this.ticketTypeField = value;
                this.RaisePropertyChanged("TicketType");
            }
        }
        
        /// <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/rail_v53_0")]
    public partial class TicketAdvisory : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string keyField;
        
        private string languageCodeField;
        
        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(DataType="language")]
        public string LanguageCode {
            get {
                return this.languageCodeField;
            }
            set {
                this.languageCodeField = value;
                this.RaisePropertyChanged("LanguageCode");
            }
        }
        
        /// <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/rail_v53_0")]
    public partial class RailFareNote : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string keyField;
        
        private string noteNameField;
        
        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 NoteName {
            get {
                return this.noteNameField;
            }
            set {
                this.noteNameField = value;
                this.RaisePropertyChanged("NoteName");
            }
        }
        
        /// <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/cruise_v53_0")]
    public partial class CruiseReservation : BaseReservation {
        
        private CruiseSegment cruiseSegmentField;
        
        private CruiseItinerary[] cruiseItineraryField;
        
        private CruisePricingInfo cruisePricingInfoField;
        
        private OptionalService1[] optionalServiceField;
        
        private BookingTravelerRef[] bookingTravelerRefField;
        
        private ProviderReservationInfoRef providerReservationInfoRefField;
        
        private Payment[] paymentField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public CruiseSegment CruiseSegment {
            get {
                return this.cruiseSegmentField;
            }
            set {
                this.cruiseSegmentField = value;
                this.RaisePropertyChanged("CruiseSegment");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CruiseItinerary", Order=1)]
        public CruiseItinerary[] CruiseItinerary {
            get {
                return this.cruiseItineraryField;
            }
            set {
                this.cruiseItineraryField = value;
                this.RaisePropertyChanged("CruiseItinerary");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public CruisePricingInfo CruisePricingInfo {
            get {
                return this.cruisePricingInfoField;
            }
            set {
                this.cruisePricingInfoField = value;
                this.RaisePropertyChanged("CruisePricingInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("OptionalService", Order=3)]
        public OptionalService1[] OptionalService {
            get {
                return this.optionalServiceField;
            }
            set {
                this.optionalServiceField = value;
                this.RaisePropertyChanged("OptionalService");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("BookingTravelerRef", Namespace="http://www.travelport.com/schema/common_v53_0", Order=4)]
        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=5)]
        public ProviderReservationInfoRef ProviderReservationInfoRef {
            get {
                return this.providerReservationInfoRefField;
            }
            set {
                this.providerReservationInfoRefField = value;
                this.RaisePropertyChanged("ProviderReservationInfoRef");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Payment", Namespace="http://www.travelport.com/schema/common_v53_0", Order=6)]
        public Payment[] Payment {
            get {
                return this.paymentField;
            }
            set {
                this.paymentField = value;
                this.RaisePropertyChanged("Payment");
            }
        }
    }
    
    /// <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/cruise_v53_0")]
    public partial class CruiseSegment : Segment {
        
        private CruiseStay cruiseStayField;
        
        private string vendorField;
        
        private string vendorNameField;
        
        private string originField;
        
        private string destinationField;
        
        private string departureTimeField;
        
        private string arrivalTimeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public CruiseStay CruiseStay {
            get {
                return this.cruiseStayField;
            }
            set {
                this.cruiseStayField = value;
                this.RaisePropertyChanged("CruiseStay");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Vendor {
            get {
                return this.vendorField;
            }
            set {
                this.vendorField = value;
                this.RaisePropertyChanged("Vendor");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string VendorName {
            get {
                return this.vendorNameField;
            }
            set {
                this.vendorNameField = value;
                this.RaisePropertyChanged("VendorName");
            }
        }
        
        /// <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 ArrivalTime {
            get {
                return this.arrivalTimeField;
            }
            set {
                this.arrivalTimeField = value;
                this.RaisePropertyChanged("ArrivalTime");
            }
        }
    }
    
    /// <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/cruise_v53_0")]
    public partial class CruiseStay : object, System.ComponentModel.INotifyPropertyChanged {
        
        private CruiseStayPackage packageField;
        
        private CabinInfo cabinInfoField;
        
        private CruiseStayDiningInfo diningInfoField;
        
        private string shipNameField;
        
        private string durationOfStayField;
        
        private string unitOfStayField;
        
        private System.DateTime bookingDateField;
        
        private bool bookingDateFieldSpecified;
        
        private string bookingAgentField;
        
        private string bookingCreditField;
        
        private string otherPartyConfNbrField;
        
        private string passengerOriginField;
        
        private string confirmationNumberField;
        
        private string linkedConfNumberField;
        
        private string cancellationNumberField;
        
        private System.DateTime cancellationDateField;
        
        private bool cancellationDateFieldSpecified;
        
        private System.DateTime cancellationTimeField;
        
        private bool cancellationTimeFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public CruiseStayPackage Package {
            get {
                return this.packageField;
            }
            set {
                this.packageField = value;
                this.RaisePropertyChanged("Package");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public CabinInfo CabinInfo {
            get {
                return this.cabinInfoField;
            }
            set {
                this.cabinInfoField = value;
                this.RaisePropertyChanged("CabinInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public CruiseStayDiningInfo DiningInfo {
            get {
                return this.diningInfoField;
            }
            set {
                this.diningInfoField = value;
                this.RaisePropertyChanged("DiningInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ShipName {
            get {
                return this.shipNameField;
            }
            set {
                this.shipNameField = value;
                this.RaisePropertyChanged("ShipName");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string DurationOfStay {
            get {
                return this.durationOfStayField;
            }
            set {
                this.durationOfStayField = value;
                this.RaisePropertyChanged("DurationOfStay");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string UnitOfStay {
            get {
                return this.unitOfStayField;
            }
            set {
                this.unitOfStayField = value;
                this.RaisePropertyChanged("UnitOfStay");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="date")]
        public System.DateTime BookingDate {
            get {
                return this.bookingDateField;
            }
            set {
                this.bookingDateField = value;
                this.RaisePropertyChanged("BookingDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool BookingDateSpecified {
            get {
                return this.bookingDateFieldSpecified;
            }
            set {
                this.bookingDateFieldSpecified = value;
                this.RaisePropertyChanged("BookingDateSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string BookingAgent {
            get {
                return this.bookingAgentField;
            }
            set {
                this.bookingAgentField = value;
                this.RaisePropertyChanged("BookingAgent");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string BookingCredit {
            get {
                return this.bookingCreditField;
            }
            set {
                this.bookingCreditField = value;
                this.RaisePropertyChanged("BookingCredit");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string OtherPartyConfNbr {
            get {
                return this.otherPartyConfNbrField;
            }
            set {
                this.otherPartyConfNbrField = value;
                this.RaisePropertyChanged("OtherPartyConfNbr");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PassengerOrigin {
            get {
                return this.passengerOriginField;
            }
            set {
                this.passengerOriginField = value;
                this.RaisePropertyChanged("PassengerOrigin");
            }
        }
        
        /// <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 LinkedConfNumber {
            get {
                return this.linkedConfNumberField;
            }
            set {
                this.linkedConfNumberField = value;
                this.RaisePropertyChanged("LinkedConfNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CancellationNumber {
            get {
                return this.cancellationNumberField;
            }
            set {
                this.cancellationNumberField = value;
                this.RaisePropertyChanged("CancellationNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="date")]
        public System.DateTime CancellationDate {
            get {
                return this.cancellationDateField;
            }
            set {
                this.cancellationDateField = value;
                this.RaisePropertyChanged("CancellationDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool CancellationDateSpecified {
            get {
                return this.cancellationDateFieldSpecified;
            }
            set {
                this.cancellationDateFieldSpecified = value;
                this.RaisePropertyChanged("CancellationDateSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="time")]
        public System.DateTime CancellationTime {
            get {
                return this.cancellationTimeField;
            }
            set {
                this.cancellationTimeField = value;
                this.RaisePropertyChanged("CancellationTime");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool CancellationTimeSpecified {
            get {
                return this.cancellationTimeFieldSpecified;
            }
            set {
                this.cancellationTimeFieldSpecified = value;
                this.RaisePropertyChanged("CancellationTimeSpecified");
            }
        }
        
        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/cruise_v53_0")]
    public partial class CruiseStayPackage : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string nameField;
        
        private string identifierField;
        
        private string passengerCountField;
        
        private string packageIdentifierField;
        
        /// <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 Identifier {
            get {
                return this.identifierField;
            }
            set {
                this.identifierField = value;
                this.RaisePropertyChanged("Identifier");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string PassengerCount {
            get {
                return this.passengerCountField;
            }
            set {
                this.passengerCountField = value;
                this.RaisePropertyChanged("PassengerCount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PackageIdentifier {
            get {
                return this.packageIdentifierField;
            }
            set {
                this.packageIdentifierField = value;
                this.RaisePropertyChanged("PackageIdentifier");
            }
        }
        
        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/cruise_v53_0")]
    public partial class CabinInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string categoryField;
        
        private string numberField;
        
        private string locationField;
        
        private string relativeLocationField;
        
        private string deckNameField;
        
        private string bedConfigurationField;
        
        private bool smokingIndicatorField;
        
        private bool smokingIndicatorFieldSpecified;
        
        /// <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 Number {
            get {
                return this.numberField;
            }
            set {
                this.numberField = value;
                this.RaisePropertyChanged("Number");
            }
        }
        
        /// <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 RelativeLocation {
            get {
                return this.relativeLocationField;
            }
            set {
                this.relativeLocationField = value;
                this.RaisePropertyChanged("RelativeLocation");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string DeckName {
            get {
                return this.deckNameField;
            }
            set {
                this.deckNameField = value;
                this.RaisePropertyChanged("DeckName");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string BedConfiguration {
            get {
                return this.bedConfigurationField;
            }
            set {
                this.bedConfigurationField = value;
                this.RaisePropertyChanged("BedConfiguration");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool SmokingIndicator {
            get {
                return this.smokingIndicatorField;
            }
            set {
                this.smokingIndicatorField = value;
                this.RaisePropertyChanged("SmokingIndicator");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool SmokingIndicatorSpecified {
            get {
                return this.smokingIndicatorFieldSpecified;
            }
            set {
                this.smokingIndicatorFieldSpecified = value;
                this.RaisePropertyChanged("SmokingIndicatorSpecified");
            }
        }
        
        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/cruise_v53_0")]
    public partial class CruiseStayDiningInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string seatingField;
        
        private string statusField;
        
        private string tableSizeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Seating {
            get {
                return this.seatingField;
            }
            set {
                this.seatingField = value;
                this.RaisePropertyChanged("Seating");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Status {
            get {
                return this.statusField;
            }
            set {
                this.statusField = value;
                this.RaisePropertyChanged("Status");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string TableSize {
            get {
                return this.tableSizeField;
            }
            set {
                this.tableSizeField = value;
                this.RaisePropertyChanged("TableSize");
            }
        }
        
        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/cruise_v53_0")]
    public partial class CruiseItinerary : object, System.ComponentModel.INotifyPropertyChanged {
        
        private System.DateTime departureDateField;
        
        private bool departureDateFieldSpecified;
        
        private System.DateTime departureTimeField;
        
        private bool departureTimeFieldSpecified;
        
        private System.DateTime arrivalDateField;
        
        private bool arrivalDateFieldSpecified;
        
        private System.DateTime arrivalTimeField;
        
        private bool arrivalTimeFieldSpecified;
        
        private System.DateTime boardingDateField;
        
        private bool boardingDateFieldSpecified;
        
        private System.DateTime boardingTimeField;
        
        private bool boardingTimeFieldSpecified;
        
        private string statusField;
        
        private string portNameField;
        
        private string portIndicatorField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="date")]
        public System.DateTime DepartureDate {
            get {
                return this.departureDateField;
            }
            set {
                this.departureDateField = value;
                this.RaisePropertyChanged("DepartureDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DepartureDateSpecified {
            get {
                return this.departureDateFieldSpecified;
            }
            set {
                this.departureDateFieldSpecified = value;
                this.RaisePropertyChanged("DepartureDateSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="time")]
        public System.DateTime DepartureTime {
            get {
                return this.departureTimeField;
            }
            set {
                this.departureTimeField = value;
                this.RaisePropertyChanged("DepartureTime");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DepartureTimeSpecified {
            get {
                return this.departureTimeFieldSpecified;
            }
            set {
                this.departureTimeFieldSpecified = value;
                this.RaisePropertyChanged("DepartureTimeSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="date")]
        public System.DateTime ArrivalDate {
            get {
                return this.arrivalDateField;
            }
            set {
                this.arrivalDateField = value;
                this.RaisePropertyChanged("ArrivalDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ArrivalDateSpecified {
            get {
                return this.arrivalDateFieldSpecified;
            }
            set {
                this.arrivalDateFieldSpecified = value;
                this.RaisePropertyChanged("ArrivalDateSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="time")]
        public System.DateTime ArrivalTime {
            get {
                return this.arrivalTimeField;
            }
            set {
                this.arrivalTimeField = value;
                this.RaisePropertyChanged("ArrivalTime");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ArrivalTimeSpecified {
            get {
                return this.arrivalTimeFieldSpecified;
            }
            set {
                this.arrivalTimeFieldSpecified = value;
                this.RaisePropertyChanged("ArrivalTimeSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="date")]
        public System.DateTime BoardingDate {
            get {
                return this.boardingDateField;
            }
            set {
                this.boardingDateField = value;
                this.RaisePropertyChanged("BoardingDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool BoardingDateSpecified {
            get {
                return this.boardingDateFieldSpecified;
            }
            set {
                this.boardingDateFieldSpecified = value;
                this.RaisePropertyChanged("BoardingDateSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="time")]
        public System.DateTime BoardingTime {
            get {
                return this.boardingTimeField;
            }
            set {
                this.boardingTimeField = value;
                this.RaisePropertyChanged("BoardingTime");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool BoardingTimeSpecified {
            get {
                return this.boardingTimeFieldSpecified;
            }
            set {
                this.boardingTimeFieldSpecified = value;
                this.RaisePropertyChanged("BoardingTimeSpecified");
            }
        }
        
        /// <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 PortName {
            get {
                return this.portNameField;
            }
            set {
                this.portNameField = value;
                this.RaisePropertyChanged("PortName");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PortIndicator {
            get {
                return this.portIndicatorField;
            }
            set {
                this.portIndicatorField = value;
                this.RaisePropertyChanged("PortIndicator");
            }
        }
        
        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/cruise_v53_0")]
    public partial class CruisePricingInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private Fare fareField;
        
        private Charges chargesField;
        
        private Discount[] discountField;
        
        private Deposit[] depositField;
        
        private Balance balanceField;
        
        private Commission2 commissionField;
        
        private CruiseFees cruiseFeesField;
        
        private CruiseBookingTravelerRef[] cruiseBookingTravelerRefField;
        
        private string totalPriceField;
        
        private string basePriceField;
        
        private string approximateTotalPriceField;
        
        private string approximateBasePriceField;
        
        private string equivalentBasePriceField;
        
        private string taxesField;
        
        private string feesField;
        
        private string servicesField;
        
        private string approximateTaxesField;
        
        private string approximateFeesField;
        
        private string providerCodeField;
        
        private string supplierCodeField;
        
        private string netFareField;
        
        private string receivedAmountField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public Fare Fare {
            get {
                return this.fareField;
            }
            set {
                this.fareField = value;
                this.RaisePropertyChanged("Fare");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public Charges Charges {
            get {
                return this.chargesField;
            }
            set {
                this.chargesField = value;
                this.RaisePropertyChanged("Charges");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Discount", Order=2)]
        public Discount[] Discount {
            get {
                return this.discountField;
            }
            set {
                this.discountField = value;
                this.RaisePropertyChanged("Discount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Deposit", Order=3)]
        public Deposit[] Deposit {
            get {
                return this.depositField;
            }
            set {
                this.depositField = value;
                this.RaisePropertyChanged("Deposit");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=4)]
        public Balance Balance {
            get {
                return this.balanceField;
            }
            set {
                this.balanceField = value;
                this.RaisePropertyChanged("Balance");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=5)]
        public Commission2 Commission {
            get {
                return this.commissionField;
            }
            set {
                this.commissionField = value;
                this.RaisePropertyChanged("Commission");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=6)]
        public CruiseFees CruiseFees {
            get {
                return this.cruiseFeesField;
            }
            set {
                this.cruiseFeesField = value;
                this.RaisePropertyChanged("CruiseFees");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CruiseBookingTravelerRef", Order=7)]
        public CruiseBookingTravelerRef[] CruiseBookingTravelerRef {
            get {
                return this.cruiseBookingTravelerRefField;
            }
            set {
                this.cruiseBookingTravelerRefField = value;
                this.RaisePropertyChanged("CruiseBookingTravelerRef");
            }
        }
        
        /// <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 BasePrice {
            get {
                return this.basePriceField;
            }
            set {
                this.basePriceField = value;
                this.RaisePropertyChanged("BasePrice");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApproximateTotalPrice {
            get {
                return this.approximateTotalPriceField;
            }
            set {
                this.approximateTotalPriceField = value;
                this.RaisePropertyChanged("ApproximateTotalPrice");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApproximateBasePrice {
            get {
                return this.approximateBasePriceField;
            }
            set {
                this.approximateBasePriceField = value;
                this.RaisePropertyChanged("ApproximateBasePrice");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string EquivalentBasePrice {
            get {
                return this.equivalentBasePriceField;
            }
            set {
                this.equivalentBasePriceField = value;
                this.RaisePropertyChanged("EquivalentBasePrice");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Taxes {
            get {
                return this.taxesField;
            }
            set {
                this.taxesField = value;
                this.RaisePropertyChanged("Taxes");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Fees {
            get {
                return this.feesField;
            }
            set {
                this.feesField = value;
                this.RaisePropertyChanged("Fees");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Services {
            get {
                return this.servicesField;
            }
            set {
                this.servicesField = value;
                this.RaisePropertyChanged("Services");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApproximateTaxes {
            get {
                return this.approximateTaxesField;
            }
            set {
                this.approximateTaxesField = value;
                this.RaisePropertyChanged("ApproximateTaxes");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApproximateFees {
            get {
                return this.approximateFeesField;
            }
            set {
                this.approximateFeesField = value;
                this.RaisePropertyChanged("ApproximateFees");
            }
        }
        
        /// <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 NetFare {
            get {
                return this.netFareField;
            }
            set {
                this.netFareField = value;
                this.RaisePropertyChanged("NetFare");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ReceivedAmount {
            get {
                return this.receivedAmountField;
            }
            set {
                this.receivedAmountField = value;
                this.RaisePropertyChanged("ReceivedAmount");
            }
        }
        
        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/cruise_v53_0")]
    public partial class Fare : object, System.ComponentModel.INotifyPropertyChanged {
        
        private bool fareSpecificField;
        
        private bool fareSpecificFieldSpecified;
        
        private bool multipleFareIndicatorField;
        
        private bool multipleFareIndicatorFieldSpecified;
        
        private string rateCodeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool FareSpecific {
            get {
                return this.fareSpecificField;
            }
            set {
                this.fareSpecificField = value;
                this.RaisePropertyChanged("FareSpecific");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FareSpecificSpecified {
            get {
                return this.fareSpecificFieldSpecified;
            }
            set {
                this.fareSpecificFieldSpecified = value;
                this.RaisePropertyChanged("FareSpecificSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool MultipleFareIndicator {
            get {
                return this.multipleFareIndicatorField;
            }
            set {
                this.multipleFareIndicatorField = value;
                this.RaisePropertyChanged("MultipleFareIndicator");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool MultipleFareIndicatorSpecified {
            get {
                return this.multipleFareIndicatorFieldSpecified;
            }
            set {
                this.multipleFareIndicatorFieldSpecified = value;
                this.RaisePropertyChanged("MultipleFareIndicatorSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string RateCode {
            get {
                return this.rateCodeField;
            }
            set {
                this.rateCodeField = value;
                this.RaisePropertyChanged("RateCode");
            }
        }
        
        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/cruise_v53_0")]
    public partial class Charges : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string airChargeField;
        
        private string optionalChargeField;
        
        private string waiverChargeField;
        
        private string waiverChargeTypeField;
        
        private string portChargeField;
        
        private string portChargeDescriptionField;
        
        private string penaltyChargeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string AirCharge {
            get {
                return this.airChargeField;
            }
            set {
                this.airChargeField = value;
                this.RaisePropertyChanged("AirCharge");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string OptionalCharge {
            get {
                return this.optionalChargeField;
            }
            set {
                this.optionalChargeField = value;
                this.RaisePropertyChanged("OptionalCharge");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string WaiverCharge {
            get {
                return this.waiverChargeField;
            }
            set {
                this.waiverChargeField = value;
                this.RaisePropertyChanged("WaiverCharge");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string WaiverChargeType {
            get {
                return this.waiverChargeTypeField;
            }
            set {
                this.waiverChargeTypeField = value;
                this.RaisePropertyChanged("WaiverChargeType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PortCharge {
            get {
                return this.portChargeField;
            }
            set {
                this.portChargeField = value;
                this.RaisePropertyChanged("PortCharge");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PortChargeDescription {
            get {
                return this.portChargeDescriptionField;
            }
            set {
                this.portChargeDescriptionField = value;
                this.RaisePropertyChanged("PortChargeDescription");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PenaltyCharge {
            get {
                return this.penaltyChargeField;
            }
            set {
                this.penaltyChargeField = value;
                this.RaisePropertyChanged("PenaltyCharge");
            }
        }
        
        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/cruise_v53_0")]
    public partial class Discount : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string amountField;
        
        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 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(AnonymousType=true, Namespace="http://www.travelport.com/schema/cruise_v53_0")]
    public partial class Deposit : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string amountField;
        
        private System.DateTime dueDateField;
        
        private bool dueDateFieldSpecified;
        
        private System.DateTime receivedDateField;
        
        private bool receivedDateFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Amount {
            get {
                return this.amountField;
            }
            set {
                this.amountField = value;
                this.RaisePropertyChanged("Amount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="date")]
        public System.DateTime DueDate {
            get {
                return this.dueDateField;
            }
            set {
                this.dueDateField = value;
                this.RaisePropertyChanged("DueDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DueDateSpecified {
            get {
                return this.dueDateFieldSpecified;
            }
            set {
                this.dueDateFieldSpecified = value;
                this.RaisePropertyChanged("DueDateSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="date")]
        public System.DateTime ReceivedDate {
            get {
                return this.receivedDateField;
            }
            set {
                this.receivedDateField = value;
                this.RaisePropertyChanged("ReceivedDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ReceivedDateSpecified {
            get {
                return this.receivedDateFieldSpecified;
            }
            set {
                this.receivedDateFieldSpecified = value;
                this.RaisePropertyChanged("ReceivedDateSpecified");
            }
        }
        
        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/cruise_v53_0")]
    public partial class Balance : object, System.ComponentModel.INotifyPropertyChanged {
        
        private System.DateTime dueDateField;
        
        private bool dueDateFieldSpecified;
        
        private System.DateTime receivedDateField;
        
        private bool receivedDateFieldSpecified;
        
        private string creditCardDueAmountField;
        
        private string checkDueAmountField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="date")]
        public System.DateTime DueDate {
            get {
                return this.dueDateField;
            }
            set {
                this.dueDateField = value;
                this.RaisePropertyChanged("DueDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DueDateSpecified {
            get {
                return this.dueDateFieldSpecified;
            }
            set {
                this.dueDateFieldSpecified = value;
                this.RaisePropertyChanged("DueDateSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="date")]
        public System.DateTime ReceivedDate {
            get {
                return this.receivedDateField;
            }
            set {
                this.receivedDateField = value;
                this.RaisePropertyChanged("ReceivedDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ReceivedDateSpecified {
            get {
                return this.receivedDateFieldSpecified;
            }
            set {
                this.receivedDateFieldSpecified = value;
                this.RaisePropertyChanged("ReceivedDateSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CreditCardDueAmount {
            get {
                return this.creditCardDueAmountField;
            }
            set {
                this.creditCardDueAmountField = value;
                this.RaisePropertyChanged("CreditCardDueAmount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CheckDueAmount {
            get {
                return this.checkDueAmountField;
            }
            set {
                this.checkDueAmountField = value;
                this.RaisePropertyChanged("CheckDueAmount");
            }
        }
        
        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/cruise_v53_0")]
    public partial class Commission2 : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string amountField;
        
        private string miscellaneousAmountField;
        
        private string miscellaneousDescriptionField;
        
        /// <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 MiscellaneousAmount {
            get {
                return this.miscellaneousAmountField;
            }
            set {
                this.miscellaneousAmountField = value;
                this.RaisePropertyChanged("MiscellaneousAmount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string MiscellaneousDescription {
            get {
                return this.miscellaneousDescriptionField;
            }
            set {
                this.miscellaneousDescriptionField = value;
                this.RaisePropertyChanged("MiscellaneousDescription");
            }
        }
        
        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/cruise_v53_0")]
    public partial class CruiseFees : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string amountField;
        
        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 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(AnonymousType=true, Namespace="http://www.travelport.com/schema/cruise_v53_0")]
    public partial class CruiseBookingTravelerRef : object, System.ComponentModel.INotifyPropertyChanged {
        
        private LoyaltyCardRef[] loyaltyCardRefField;
        
        private string keyField;
        
        private bool waiverIndicatorField;
        
        private bool waiverIndicatorFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("LoyaltyCardRef", Namespace="http://www.travelport.com/schema/common_v53_0", Order=0)]
        public LoyaltyCardRef[] LoyaltyCardRef {
            get {
                return this.loyaltyCardRefField;
            }
            set {
                this.loyaltyCardRefField = value;
                this.RaisePropertyChanged("LoyaltyCardRef");
            }
        }
        
        /// <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 WaiverIndicator {
            get {
                return this.waiverIndicatorField;
            }
            set {
                this.waiverIndicatorField = value;
                this.RaisePropertyChanged("WaiverIndicator");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool WaiverIndicatorSpecified {
            get {
                return this.waiverIndicatorFieldSpecified;
            }
            set {
                this.waiverIndicatorFieldSpecified = value;
                this.RaisePropertyChanged("WaiverIndicatorSpecified");
            }
        }
        
        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/cruise_v53_0")]
    public partial class OptionalService1 : object, System.ComponentModel.INotifyPropertyChanged {
        
        private OptionJourneyDetails optionJourneyDetailsField;
        
        private BookingTravelerRef[] bookingTravelerRefField;
        
        private string featureTypeField;
        
        private string statusField;
        
        private string quantityField;
        
        private string providerDefinedTypeField;
        
        private string descriptionField;
        
        private System.DateTime startDateField;
        
        private bool startDateFieldSpecified;
        
        private System.DateTime endDateField;
        
        private bool endDateFieldSpecified;
        
        private System.DateTime bookingDateField;
        
        private bool bookingDateFieldSpecified;
        
        private string setIdentifierField;
        
        private string setNameField;
        
        private string totalPriceField;
        
        private bool transportIndicatorField;
        
        private bool transportIndicatorFieldSpecified;
        
        private bool airCityIndicatorField;
        
        private bool airCityIndicatorFieldSpecified;
        
        private bool purchaseIndicatorField;
        
        private bool purchaseIndicatorFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public OptionJourneyDetails OptionJourneyDetails {
            get {
                return this.optionJourneyDetailsField;
            }
            set {
                this.optionJourneyDetailsField = value;
                this.RaisePropertyChanged("OptionJourneyDetails");
            }
        }
        
        /// <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.XmlAttributeAttribute()]
        public string FeatureType {
            get {
                return this.featureTypeField;
            }
            set {
                this.featureTypeField = value;
                this.RaisePropertyChanged("FeatureType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Status {
            get {
                return this.statusField;
            }
            set {
                this.statusField = value;
                this.RaisePropertyChanged("Status");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="positiveInteger")]
        public string Quantity {
            get {
                return this.quantityField;
            }
            set {
                this.quantityField = value;
                this.RaisePropertyChanged("Quantity");
            }
        }
        
        /// <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 Description {
            get {
                return this.descriptionField;
            }
            set {
                this.descriptionField = value;
                this.RaisePropertyChanged("Description");
            }
        }
        
        /// <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.XmlIgnoreAttribute()]
        public bool StartDateSpecified {
            get {
                return this.startDateFieldSpecified;
            }
            set {
                this.startDateFieldSpecified = value;
                this.RaisePropertyChanged("StartDateSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="date")]
        public System.DateTime EndDate {
            get {
                return this.endDateField;
            }
            set {
                this.endDateField = value;
                this.RaisePropertyChanged("EndDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool EndDateSpecified {
            get {
                return this.endDateFieldSpecified;
            }
            set {
                this.endDateFieldSpecified = value;
                this.RaisePropertyChanged("EndDateSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="date")]
        public System.DateTime BookingDate {
            get {
                return this.bookingDateField;
            }
            set {
                this.bookingDateField = value;
                this.RaisePropertyChanged("BookingDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool BookingDateSpecified {
            get {
                return this.bookingDateFieldSpecified;
            }
            set {
                this.bookingDateFieldSpecified = value;
                this.RaisePropertyChanged("BookingDateSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string SetIdentifier {
            get {
                return this.setIdentifierField;
            }
            set {
                this.setIdentifierField = value;
                this.RaisePropertyChanged("SetIdentifier");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string SetName {
            get {
                return this.setNameField;
            }
            set {
                this.setNameField = value;
                this.RaisePropertyChanged("SetName");
            }
        }
        
        /// <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 bool TransportIndicator {
            get {
                return this.transportIndicatorField;
            }
            set {
                this.transportIndicatorField = value;
                this.RaisePropertyChanged("TransportIndicator");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool TransportIndicatorSpecified {
            get {
                return this.transportIndicatorFieldSpecified;
            }
            set {
                this.transportIndicatorFieldSpecified = value;
                this.RaisePropertyChanged("TransportIndicatorSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool AirCityIndicator {
            get {
                return this.airCityIndicatorField;
            }
            set {
                this.airCityIndicatorField = value;
                this.RaisePropertyChanged("AirCityIndicator");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AirCityIndicatorSpecified {
            get {
                return this.airCityIndicatorFieldSpecified;
            }
            set {
                this.airCityIndicatorFieldSpecified = value;
                this.RaisePropertyChanged("AirCityIndicatorSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool PurchaseIndicator {
            get {
                return this.purchaseIndicatorField;
            }
            set {
                this.purchaseIndicatorField = value;
                this.RaisePropertyChanged("PurchaseIndicator");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PurchaseIndicatorSpecified {
            get {
                return this.purchaseIndicatorFieldSpecified;
            }
            set {
                this.purchaseIndicatorFieldSpecified = value;
                this.RaisePropertyChanged("PurchaseIndicatorSpecified");
            }
        }
        
        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/cruise_v53_0")]
    public partial class OptionJourneyDetails : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string pickUpLocationField;
        
        private System.DateTime pickUpTimeField;
        
        private bool pickUpTimeFieldSpecified;
        
        private string pickUpDescriptionField;
        
        private string pickUpCarrierField;
        
        private string pickUpFlightNumberField;
        
        private string returnLocationField;
        
        private System.DateTime returnTimeField;
        
        private bool returnTimeFieldSpecified;
        
        private string returnDescriptionField;
        
        private string returnCarrierField;
        
        private string returnFlightNumberField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PickUpLocation {
            get {
                return this.pickUpLocationField;
            }
            set {
                this.pickUpLocationField = value;
                this.RaisePropertyChanged("PickUpLocation");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="time")]
        public System.DateTime PickUpTime {
            get {
                return this.pickUpTimeField;
            }
            set {
                this.pickUpTimeField = value;
                this.RaisePropertyChanged("PickUpTime");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PickUpTimeSpecified {
            get {
                return this.pickUpTimeFieldSpecified;
            }
            set {
                this.pickUpTimeFieldSpecified = value;
                this.RaisePropertyChanged("PickUpTimeSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PickUpDescription {
            get {
                return this.pickUpDescriptionField;
            }
            set {
                this.pickUpDescriptionField = value;
                this.RaisePropertyChanged("PickUpDescription");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PickUpCarrier {
            get {
                return this.pickUpCarrierField;
            }
            set {
                this.pickUpCarrierField = value;
                this.RaisePropertyChanged("PickUpCarrier");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PickUpFlightNumber {
            get {
                return this.pickUpFlightNumberField;
            }
            set {
                this.pickUpFlightNumberField = value;
                this.RaisePropertyChanged("PickUpFlightNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ReturnLocation {
            get {
                return this.returnLocationField;
            }
            set {
                this.returnLocationField = value;
                this.RaisePropertyChanged("ReturnLocation");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="time")]
        public System.DateTime ReturnTime {
            get {
                return this.returnTimeField;
            }
            set {
                this.returnTimeField = value;
                this.RaisePropertyChanged("ReturnTime");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ReturnTimeSpecified {
            get {
                return this.returnTimeFieldSpecified;
            }
            set {
                this.returnTimeFieldSpecified = value;
                this.RaisePropertyChanged("ReturnTimeSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ReturnDescription {
            get {
                return this.returnDescriptionField;
            }
            set {
                this.returnDescriptionField = value;
                this.RaisePropertyChanged("ReturnDescription");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ReturnCarrier {
            get {
                return this.returnCarrierField;
            }
            set {
                this.returnCarrierField = value;
                this.RaisePropertyChanged("ReturnCarrier");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ReturnFlightNumber {
            get {
                return this.returnFlightNumberField;
            }
            set {
                this.returnFlightNumberField = value;
                this.RaisePropertyChanged("ReturnFlightNumber");
            }
        }
        
        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/air_v53_0")]
    public partial class EMDSummaryInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private EMDSummary[] eMDSummaryField;
        
        private EMDTravelerInfo eMDTravelerInfoField;
        
        private Payment paymentField;
        
        private string providerReservationInfoRefField;
        
        private string keyField;
        
        private typeElementStatus elStatField;
        
        private bool elStatFieldSpecified;
        
        private bool keyOverrideField;
        
        private bool keyOverrideFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("EMDSummary", Order=0)]
        public EMDSummary[] EMDSummary {
            get {
                return this.eMDSummaryField;
            }
            set {
                this.eMDSummaryField = value;
                this.RaisePropertyChanged("EMDSummary");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public EMDTravelerInfo EMDTravelerInfo {
            get {
                return this.eMDTravelerInfoField;
            }
            set {
                this.eMDTravelerInfoField = value;
                this.RaisePropertyChanged("EMDTravelerInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=2)]
        public Payment Payment {
            get {
                return this.paymentField;
            }
            set {
                this.paymentField = value;
                this.RaisePropertyChanged("Payment");
            }
        }
        
        /// <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/air_v53_0")]
    public partial class EMDSummary : object, System.ComponentModel.INotifyPropertyChanged {
        
        private EMDCoupon[] eMDCouponField;
        
        private string numberField;
        
        private bool primaryDocumentIndicatorField;
        
        private bool primaryDocumentIndicatorFieldSpecified;
        
        private string inConjunctionWithField;
        
        private string associatedTicketNumberField;
        
        private string platingCarrierField;
        
        private System.DateTime issueDateField;
        
        private bool issueDateFieldSpecified;
        
        private string keyField;
        
        private typeElementStatus elStatField;
        
        private bool elStatFieldSpecified;
        
        private bool keyOverrideField;
        
        private bool keyOverrideFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("EMDCoupon", Order=0)]
        public EMDCoupon[] EMDCoupon {
            get {
                return this.eMDCouponField;
            }
            set {
                this.eMDCouponField = value;
                this.RaisePropertyChanged("EMDCoupon");
            }
        }
        
        /// <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 bool PrimaryDocumentIndicator {
            get {
                return this.primaryDocumentIndicatorField;
            }
            set {
                this.primaryDocumentIndicatorField = value;
                this.RaisePropertyChanged("PrimaryDocumentIndicator");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PrimaryDocumentIndicatorSpecified {
            get {
                return this.primaryDocumentIndicatorFieldSpecified;
            }
            set {
                this.primaryDocumentIndicatorFieldSpecified = value;
                this.RaisePropertyChanged("PrimaryDocumentIndicatorSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string InConjunctionWith {
            get {
                return this.inConjunctionWithField;
            }
            set {
                this.inConjunctionWithField = value;
                this.RaisePropertyChanged("InConjunctionWith");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string AssociatedTicketNumber {
            get {
                return this.associatedTicketNumberField;
            }
            set {
                this.associatedTicketNumberField = value;
                this.RaisePropertyChanged("AssociatedTicketNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PlatingCarrier {
            get {
                return this.platingCarrierField;
            }
            set {
                this.platingCarrierField = value;
                this.RaisePropertyChanged("PlatingCarrier");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public System.DateTime IssueDate {
            get {
                return this.issueDateField;
            }
            set {
                this.issueDateField = value;
                this.RaisePropertyChanged("IssueDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool IssueDateSpecified {
            get {
                return this.issueDateFieldSpecified;
            }
            set {
                this.issueDateFieldSpecified = value;
                this.RaisePropertyChanged("IssueDateSpecified");
            }
        }
        
        /// <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/air_v53_0")]
    public partial class EMDCoupon : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string numberField;
        
        private string statusField;
        
        private string svcDescriptionField;
        
        private bool consumedAtIssuanceIndField;
        
        private bool consumedAtIssuanceIndFieldSpecified;
        
        private string rFICField;
        
        private string rFISCField;
        
        private string rFIDescriptionField;
        
        private string originField;
        
        private string destinationField;
        
        private string flightNumberField;
        
        private string presentToField;
        
        private string presentAtField;
        
        private bool nonRefundableIndField;
        
        private bool nonRefundableIndFieldSpecified;
        
        private string marketingCarrierField;
        
        private string keyField;
        
        private typeElementStatus elStatField;
        
        private bool elStatFieldSpecified;
        
        private bool keyOverrideField;
        
        private bool keyOverrideFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string Number {
            get {
                return this.numberField;
            }
            set {
                this.numberField = value;
                this.RaisePropertyChanged("Number");
            }
        }
        
        /// <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 SvcDescription {
            get {
                return this.svcDescriptionField;
            }
            set {
                this.svcDescriptionField = value;
                this.RaisePropertyChanged("SvcDescription");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool ConsumedAtIssuanceInd {
            get {
                return this.consumedAtIssuanceIndField;
            }
            set {
                this.consumedAtIssuanceIndField = value;
                this.RaisePropertyChanged("ConsumedAtIssuanceInd");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ConsumedAtIssuanceIndSpecified {
            get {
                return this.consumedAtIssuanceIndFieldSpecified;
            }
            set {
                this.consumedAtIssuanceIndFieldSpecified = value;
                this.RaisePropertyChanged("ConsumedAtIssuanceIndSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string RFIC {
            get {
                return this.rFICField;
            }
            set {
                this.rFICField = value;
                this.RaisePropertyChanged("RFIC");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string RFISC {
            get {
                return this.rFISCField;
            }
            set {
                this.rFISCField = value;
                this.RaisePropertyChanged("RFISC");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string RFIDescription {
            get {
                return this.rFIDescriptionField;
            }
            set {
                this.rFIDescriptionField = value;
                this.RaisePropertyChanged("RFIDescription");
            }
        }
        
        /// <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 FlightNumber {
            get {
                return this.flightNumberField;
            }
            set {
                this.flightNumberField = value;
                this.RaisePropertyChanged("FlightNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PresentTo {
            get {
                return this.presentToField;
            }
            set {
                this.presentToField = value;
                this.RaisePropertyChanged("PresentTo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PresentAt {
            get {
                return this.presentAtField;
            }
            set {
                this.presentAtField = value;
                this.RaisePropertyChanged("PresentAt");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool NonRefundableInd {
            get {
                return this.nonRefundableIndField;
            }
            set {
                this.nonRefundableIndField = value;
                this.RaisePropertyChanged("NonRefundableInd");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool NonRefundableIndSpecified {
            get {
                return this.nonRefundableIndFieldSpecified;
            }
            set {
                this.nonRefundableIndFieldSpecified = value;
                this.RaisePropertyChanged("NonRefundableIndSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string MarketingCarrier {
            get {
                return this.marketingCarrierField;
            }
            set {
                this.marketingCarrierField = value;
                this.RaisePropertyChanged("MarketingCarrier");
            }
        }
        
        /// <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/air_v53_0")]
    public partial class EMDTravelerInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private EMDTravelerInfoNameInfo nameInfoField;
        
        private string travelerTypeField;
        
        private string ageField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public EMDTravelerInfoNameInfo NameInfo {
            get {
                return this.nameInfoField;
            }
            set {
                this.nameInfoField = value;
                this.RaisePropertyChanged("NameInfo");
            }
        }
        
        /// <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");
            }
        }
        
        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/air_v53_0")]
    public partial class EMDTravelerInfoNameInfo : 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 ProviderARNKSegment : object, System.ComponentModel.INotifyPropertyChanged {
        
        private ProviderARNKSegmentPreviousSegment previousSegmentField;
        
        private ProviderARNKSegmentNextSegment nextSegmentField;
        
        private string keyField;
        
        private string providerReservationInfoRefField;
        
        private string providerSegmentOrderField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public ProviderARNKSegmentPreviousSegment PreviousSegment {
            get {
                return this.previousSegmentField;
            }
            set {
                this.previousSegmentField = value;
                this.RaisePropertyChanged("PreviousSegment");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public ProviderARNKSegmentNextSegment NextSegment {
            get {
                return this.nextSegmentField;
            }
            set {
                this.nextSegmentField = value;
                this.RaisePropertyChanged("NextSegment");
            }
        }
        
        /// <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(DataType="integer")]
        public string ProviderSegmentOrder {
            get {
                return this.providerSegmentOrderField;
            }
            set {
                this.providerSegmentOrderField = value;
                this.RaisePropertyChanged("ProviderSegmentOrder");
            }
        }
        
        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 ProviderARNKSegmentPreviousSegment : object, System.ComponentModel.INotifyPropertyChanged {
        
        private object itemField;
        
        private ItemChoiceType4 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 ItemChoiceType4 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.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.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", IncludeInSchema=false)]
    public enum ItemChoiceType4 {
        
        /// <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 ProviderARNKSegmentNextSegment : object, System.ComponentModel.INotifyPropertyChanged {
        
        private object itemField;
        
        private ItemChoiceType5 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 ItemChoiceType5 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 ItemChoiceType5 {
        
        /// <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/universal_v53_0")]
    public partial class SegmentContinuityInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private ArvlUnknSegment[] arvlUnknSegmentField;
        
        private ContinuityOverrideRemark[] continuityOverrideRemarkField;
        
        private string arrivalUnknownSegmentCountField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ArvlUnknSegment", Order=0)]
        public ArvlUnknSegment[] ArvlUnknSegment {
            get {
                return this.arvlUnknSegmentField;
            }
            set {
                this.arvlUnknSegmentField = value;
                this.RaisePropertyChanged("ArvlUnknSegment");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ContinuityOverrideRemark", Order=1)]
        public ContinuityOverrideRemark[] ContinuityOverrideRemark {
            get {
                return this.continuityOverrideRemarkField;
            }
            set {
                this.continuityOverrideRemarkField = value;
                this.RaisePropertyChanged("ContinuityOverrideRemark");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string ArrivalUnknownSegmentCount {
            get {
                return this.arrivalUnknownSegmentCountField;
            }
            set {
                this.arrivalUnknownSegmentCountField = value;
                this.RaisePropertyChanged("ArrivalUnknownSegmentCount");
            }
        }
        
        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/universal_v53_0")]
    public partial class ArvlUnknSegment : object, System.ComponentModel.INotifyPropertyChanged {
        
        private ArvlUnknSegmentBookingTravelerRef[] bookingTravelerRefField;
        
        private string keyField;
        
        private string originField;
        
        private string destinationField;
        
        private string travelOrderField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("BookingTravelerRef", Order=0)]
        public ArvlUnknSegmentBookingTravelerRef[] 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 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(DataType="integer")]
        public string TravelOrder {
            get {
                return this.travelOrderField;
            }
            set {
                this.travelOrderField = value;
                this.RaisePropertyChanged("TravelOrder");
            }
        }
        
        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/universal_v53_0")]
    public partial class ArvlUnknSegmentBookingTravelerRef : 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/universal_v53_0")]
    public partial class ContinuityOverrideRemark : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string categoryField;
        
        private string valueField;
        
        public ContinuityOverrideRemark() {
            this.categoryField = "MCT";
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute("MCT")]
        public string Category {
            get {
                return this.categoryField;
            }
            set {
                this.categoryField = value;
                this.RaisePropertyChanged("Category");
            }
        }
        
        /// <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 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(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.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 AgentAction : object, System.ComponentModel.INotifyPropertyChanged {
        
        private AgentActionActionType actionTypeField;
        
        private string agentCodeField;
        
        private string branchCodeField;
        
        private string agencyCodeField;
        
        private string agentSineField;
        
        private System.DateTime eventTimeField;
        
        private string agentOverrideField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public AgentActionActionType ActionType {
            get {
                return this.actionTypeField;
            }
            set {
                this.actionTypeField = value;
                this.RaisePropertyChanged("ActionType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string AgentCode {
            get {
                return this.agentCodeField;
            }
            set {
                this.agentCodeField = value;
                this.RaisePropertyChanged("AgentCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string BranchCode {
            get {
                return this.branchCodeField;
            }
            set {
                this.branchCodeField = value;
                this.RaisePropertyChanged("BranchCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string AgencyCode {
            get {
                return this.agencyCodeField;
            }
            set {
                this.agencyCodeField = value;
                this.RaisePropertyChanged("AgencyCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string AgentSine {
            get {
                return this.agentSineField;
            }
            set {
                this.agentSineField = value;
                this.RaisePropertyChanged("AgentSine");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public System.DateTime EventTime {
            get {
                return this.eventTimeField;
            }
            set {
                this.eventTimeField = value;
                this.RaisePropertyChanged("EventTime");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string AgentOverride {
            get {
                return this.agentOverrideField;
            }
            set {
                this.agentOverrideField = value;
                this.RaisePropertyChanged("AgentOverride");
            }
        }
        
        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 AgentActionActionType {
        
        /// <remarks/>
        Created,
        
        /// <remarks/>
        Modified,
        
        /// <remarks/>
        Ticketed,
    }
    
    /// <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 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 ReviewBooking : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string keyField;
        
        private string queueField;
        
        private string queueCategoryField;
        
        private System.DateTime dateTimeField;
        
        private string pseudoCityCodeField;
        
        private string providerCodeField;
        
        private string providerReservationInfoRefField;
        
        private string remarksField;
        
        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(DataType="integer")]
        public string Queue {
            get {
                return this.queueField;
            }
            set {
                this.queueField = value;
                this.RaisePropertyChanged("Queue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string QueueCategory {
            get {
                return this.queueCategoryField;
            }
            set {
                this.queueCategoryField = value;
                this.RaisePropertyChanged("QueueCategory");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public System.DateTime DateTime {
            get {
                return this.dateTimeField;
            }
            set {
                this.dateTimeField = value;
                this.RaisePropertyChanged("DateTime");
            }
        }
        
        /// <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 ProviderCode {
            get {
                return this.providerCodeField;
            }
            set {
                this.providerCodeField = value;
                this.RaisePropertyChanged("ProviderCode");
            }
        }
        
        /// <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 Remarks {
            get {
                return this.remarksField;
            }
            set {
                this.remarksField = value;
                this.RaisePropertyChanged("Remarks");
            }
        }
        
        /// <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 InvoiceData : object, System.ComponentModel.INotifyPropertyChanged {
        
        private BookingTravelerInformation[] bookingTravelerInformationField;
        
        private string keyField;
        
        private string invoiceNumberField;
        
        private System.DateTime issueDateField;
        
        private bool issueDateFieldSpecified;
        
        private string providerReservationInfoRefField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("BookingTravelerInformation", Order=0)]
        public BookingTravelerInformation[] BookingTravelerInformation {
            get {
                return this.bookingTravelerInformationField;
            }
            set {
                this.bookingTravelerInformationField = value;
                this.RaisePropertyChanged("BookingTravelerInformation");
            }
        }
        
        /// <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 InvoiceNumber {
            get {
                return this.invoiceNumberField;
            }
            set {
                this.invoiceNumberField = value;
                this.RaisePropertyChanged("InvoiceNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public System.DateTime IssueDate {
            get {
                return this.issueDateField;
            }
            set {
                this.issueDateField = value;
                this.RaisePropertyChanged("IssueDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool IssueDateSpecified {
            get {
                return this.issueDateFieldSpecified;
            }
            set {
                this.issueDateFieldSpecified = value;
                this.RaisePropertyChanged("IssueDateSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ProviderReservationInfoRef {
            get {
                return this.providerReservationInfoRefField;
            }
            set {
                this.providerReservationInfoRefField = value;
                this.RaisePropertyChanged("ProviderReservationInfoRef");
            }
        }
        
        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 BookingTravelerInformation : object, System.ComponentModel.INotifyPropertyChanged {
        
        private Name nameField;
        
        private string bookingTravelerRefField;
        
        /// <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");
            }
        }
        
        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 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 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.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.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 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.Xml.Serialization.XmlIncludeAttribute(typeof(BaseCoreSearchReq))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(BaseReq))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(BaseCreateReservationReq))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(BaseCreateWithFormOfPaymentReq))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(BaseSearchReq))]
    [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(BaseCreateReservationReq))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(BaseCreateWithFormOfPaymentReq))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(BaseSearchReq))]
    [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.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 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 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.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 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(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(AnonymousType=true, Namespace="http://www.travelport.com/schema/rail_v53_0")]
    public partial class RailSupplier : 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));
            }
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ServiceModel.ServiceContractAttribute(Namespace="http://www.travelport.com/service/rail_v53_0", ConfigurationName="Rails_53.RailAvailabilitySearchPortType")]
    public interface RailAvailabilitySearchPortType {
        
        // CODEGEN: Generating message contract since the operation service is neither RPC nor document wrapped.
        [System.ServiceModel.OperationContractAttribute(Action="http://localhost:8080/kestrel/RailService", ReplyAction="*")]
        [System.ServiceModel.FaultContractAttribute(typeof(TravelPort.DemoSite.Service.Rails_53.ErrorInfo), Action="http://localhost:8080/kestrel/RailService", Name="ErrorInfo", Namespace="http://www.travelport.com/schema/common_v53_0")]
        [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeErrorInfo))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeRailPricingSolution))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typePaymentInformation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeVendorLocation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BaseReservation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BaseRsp))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(Segment))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(Location))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typePaymentCard))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeRemark))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeRemarkWithTravelerRef))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(SeatAssignment))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BaseCoreReq))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RailSupplier[]))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(FareRuleCategory[]))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(AccountCode[]))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(ContractCode[]))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(PromoCode[]))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BookingCode[]))]
        TravelPort.DemoSite.Service.Rails_53.serviceResponse service(TravelPort.DemoSite.Service.Rails_53.serviceRequest request);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://localhost:8080/kestrel/RailService", ReplyAction="*")]
        System.Threading.Tasks.Task<TravelPort.DemoSite.Service.Rails_53.serviceResponse> serviceAsync(TravelPort.DemoSite.Service.Rails_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/rail_v53_0")]
    public partial class RailAvailabilitySearchReq : BaseReq {
        
        private SearchRailLeg[] searchRailLegField;
        
        private SearchPassenger[] searchPassengerField;
        
        private RailSearchModifiers railSearchModifiersField;
        
        private RailPricingModifiers railPricingModifiersField;
        
        private HostToken[] hostTokenListField;
        
        private typeResponseType responseTypeField;
        
        private bool responseTypeFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SearchRailLeg", Order=0)]
        public SearchRailLeg[] SearchRailLeg {
            get {
                return this.searchRailLegField;
            }
            set {
                this.searchRailLegField = value;
                this.RaisePropertyChanged("SearchRailLeg");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SearchPassenger", Namespace="http://www.travelport.com/schema/common_v53_0", Order=1)]
        public SearchPassenger[] SearchPassenger {
            get {
                return this.searchPassengerField;
            }
            set {
                this.searchPassengerField = value;
                this.RaisePropertyChanged("SearchPassenger");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public RailSearchModifiers RailSearchModifiers {
            get {
                return this.railSearchModifiersField;
            }
            set {
                this.railSearchModifiersField = value;
                this.RaisePropertyChanged("RailSearchModifiers");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=3)]
        public RailPricingModifiers RailPricingModifiers {
            get {
                return this.railPricingModifiersField;
            }
            set {
                this.railPricingModifiersField = value;
                this.RaisePropertyChanged("RailPricingModifiers");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=4)]
        [System.Xml.Serialization.XmlArrayItemAttribute("HostToken", IsNullable=false)]
        public HostToken[] HostTokenList {
            get {
                return this.hostTokenListField;
            }
            set {
                this.hostTokenListField = value;
                this.RaisePropertyChanged("HostTokenList");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeResponseType ResponseType {
            get {
                return this.responseTypeField;
            }
            set {
                this.responseTypeField = value;
                this.RaisePropertyChanged("ResponseType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ResponseTypeSpecified {
            get {
                return this.responseTypeFieldSpecified;
            }
            set {
                this.responseTypeFieldSpecified = value;
                this.RaisePropertyChanged("ResponseTypeSpecified");
            }
        }
    }
    
    /// <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/rail_v53_0")]
    public partial class SearchRailLeg : object, System.ComponentModel.INotifyPropertyChanged {
        
        private typeSearchLocation[] searchOriginField;
        
        private typeSearchLocation[] searchDestinationField;
        
        private RailSegment[] railSegmentListField;
        
        private typeTimeSpec[] itemsField;
        
        private RailLegModifiers railLegModifiersField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SearchOrigin", Order=0)]
        public typeSearchLocation[] SearchOrigin {
            get {
                return this.searchOriginField;
            }
            set {
                this.searchOriginField = value;
                this.RaisePropertyChanged("SearchOrigin");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SearchDestination", Order=1)]
        public typeSearchLocation[] SearchDestination {
            get {
                return this.searchDestinationField;
            }
            set {
                this.searchDestinationField = value;
                this.RaisePropertyChanged("SearchDestination");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=2)]
        [System.Xml.Serialization.XmlArrayItemAttribute("RailSegment", IsNullable=false)]
        public RailSegment[] RailSegmentList {
            get {
                return this.railSegmentListField;
            }
            set {
                this.railSegmentListField = value;
                this.RaisePropertyChanged("RailSegmentList");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SearchArvTime", typeof(typeTimeSpec), Order=3)]
        [System.Xml.Serialization.XmlElementAttribute("SearchDepTime", typeof(typeFlexibleTimeSpec), Order=3)]
        public typeTimeSpec[] Items {
            get {
                return this.itemsField;
            }
            set {
                this.itemsField = value;
                this.RaisePropertyChanged("Items");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=4)]
        public RailLegModifiers RailLegModifiers {
            get {
                return this.railLegModifiersField;
            }
            set {
                this.railLegModifiersField = value;
                this.RaisePropertyChanged("RailLegModifiers");
            }
        }
        
        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/rail_v53_0")]
    public partial class RailLegModifiers : object, System.ComponentModel.INotifyPropertyChanged {
        
        private typeLocation[] permittedConnectionPointsField;
        
        private typeLocation[] prohibitedConnectionPointsField;
        
        private string classField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=0)]
        [System.Xml.Serialization.XmlArrayItemAttribute("ConnectionPoint", Namespace="http://www.travelport.com/schema/common_v53_0", IsNullable=false)]
        public typeLocation[] PermittedConnectionPoints {
            get {
                return this.permittedConnectionPointsField;
            }
            set {
                this.permittedConnectionPointsField = value;
                this.RaisePropertyChanged("PermittedConnectionPoints");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=1)]
        [System.Xml.Serialization.XmlArrayItemAttribute("ConnectionPoint", Namespace="http://www.travelport.com/schema/common_v53_0", IsNullable=false)]
        public typeLocation[] ProhibitedConnectionPoints {
            get {
                return this.prohibitedConnectionPointsField;
            }
            set {
                this.prohibitedConnectionPointsField = value;
                this.RaisePropertyChanged("ProhibitedConnectionPoints");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Class {
            get {
                return this.classField;
            }
            set {
                this.classField = value;
                this.RaisePropertyChanged("Class");
            }
        }
        
        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 SearchPassenger : typePassengerType {
        
        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/rail_v53_0")]
    public partial class RailSearchModifiers : object, System.ComponentModel.INotifyPropertyChanged {
        
        private RailSupplier[] preferredSuppliersField;
        
        private string maxChangesField;
        
        private typeRailDirection directionField;
        
        private bool directionFieldSpecified;
        
        private string classField;
        
        private string maxSolutionsField;
        
        public RailSearchModifiers() {
            this.maxChangesField = "2";
            this.maxSolutionsField = "300";
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=0)]
        [System.Xml.Serialization.XmlArrayItemAttribute("RailSupplier", IsNullable=false)]
        public RailSupplier[] PreferredSuppliers {
            get {
                return this.preferredSuppliersField;
            }
            set {
                this.preferredSuppliersField = value;
                this.RaisePropertyChanged("PreferredSuppliers");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        [System.ComponentModel.DefaultValueAttribute("2")]
        public string MaxChanges {
            get {
                return this.maxChangesField;
            }
            set {
                this.maxChangesField = value;
                this.RaisePropertyChanged("MaxChanges");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeRailDirection 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 string Class {
            get {
                return this.classField;
            }
            set {
                this.classField = value;
                this.RaisePropertyChanged("Class");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        [System.ComponentModel.DefaultValueAttribute("300")]
        public string MaxSolutions {
            get {
                return this.maxSolutionsField;
            }
            set {
                this.maxSolutionsField = value;
                this.RaisePropertyChanged("MaxSolutions");
            }
        }
        
        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/rail_v53_0")]
    public enum typeRailDirection {
        
        /// <remarks/>
        Inbound,
        
        /// <remarks/>
        Outbound,
        
        /// <remarks/>
        Both,
    }
    
    /// <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/rail_v53_0")]
    public partial class RailPricingModifiers : object, System.ComponentModel.INotifyPropertyChanged {
        
        private DiscountCard[] discountCardField;
        
        private bool prohibitNonRefundableFaresField;
        
        private bool prohibitNonExchangeableFaresField;
        
        private string currencyTypeField;
        
        private string railSearchTypeField;
        
        public RailPricingModifiers() {
            this.prohibitNonRefundableFaresField = false;
            this.prohibitNonExchangeableFaresField = false;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("DiscountCard", Namespace="http://www.travelport.com/schema/common_v53_0", Order=0)]
        public DiscountCard[] DiscountCard {
            get {
                return this.discountCardField;
            }
            set {
                this.discountCardField = value;
                this.RaisePropertyChanged("DiscountCard");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool ProhibitNonRefundableFares {
            get {
                return this.prohibitNonRefundableFaresField;
            }
            set {
                this.prohibitNonRefundableFaresField = value;
                this.RaisePropertyChanged("ProhibitNonRefundableFares");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool ProhibitNonExchangeableFares {
            get {
                return this.prohibitNonExchangeableFaresField;
            }
            set {
                this.prohibitNonExchangeableFaresField = value;
                this.RaisePropertyChanged("ProhibitNonExchangeableFares");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CurrencyType {
            get {
                return this.currencyTypeField;
            }
            set {
                this.currencyTypeField = value;
                this.RaisePropertyChanged("CurrencyType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string RailSearchType {
            get {
                return this.railSearchTypeField;
            }
            set {
                this.railSearchTypeField = value;
                this.RaisePropertyChanged("RailSearchType");
            }
        }
        
        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/rail_v53_0")]
    public enum typeResponseType {
        
        /// <remarks/>
        Availability,
        
        /// <remarks/>
        Schedules,
        
        /// <remarks/>
        Fares,
    }
    
    /// <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/rail_v53_0")]
    public partial class RailAvailabilitySearchRsp : BaseRsp {
        
        private RailSegment[] railSegmentListField;
        
        private RailJourney[] railJourneyListField;
        
        private RailPricingSolution[] railPricingSolutionField;
        
        private RailFareNote[] railFareNoteListField;
        
        private RailFareID[] railFareIDListField;
        
        private RailFare[] railFareListField;
        
        private HostToken[] hostTokenListField;
        
        private typeResponseType responseTypeField;
        
        private bool responseTypeFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=0)]
        [System.Xml.Serialization.XmlArrayItemAttribute("RailSegment", IsNullable=false)]
        public RailSegment[] RailSegmentList {
            get {
                return this.railSegmentListField;
            }
            set {
                this.railSegmentListField = value;
                this.RaisePropertyChanged("RailSegmentList");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=1)]
        [System.Xml.Serialization.XmlArrayItemAttribute("RailJourney", IsNullable=false)]
        public RailJourney[] RailJourneyList {
            get {
                return this.railJourneyListField;
            }
            set {
                this.railJourneyListField = value;
                this.RaisePropertyChanged("RailJourneyList");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RailPricingSolution", Order=2)]
        public RailPricingSolution[] RailPricingSolution {
            get {
                return this.railPricingSolutionField;
            }
            set {
                this.railPricingSolutionField = value;
                this.RaisePropertyChanged("RailPricingSolution");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=3)]
        [System.Xml.Serialization.XmlArrayItemAttribute("RailFareNote", IsNullable=false)]
        public RailFareNote[] RailFareNoteList {
            get {
                return this.railFareNoteListField;
            }
            set {
                this.railFareNoteListField = value;
                this.RaisePropertyChanged("RailFareNoteList");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=4)]
        [System.Xml.Serialization.XmlArrayItemAttribute("RailFareID", IsNullable=false)]
        public RailFareID[] RailFareIDList {
            get {
                return this.railFareIDListField;
            }
            set {
                this.railFareIDListField = value;
                this.RaisePropertyChanged("RailFareIDList");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=5)]
        [System.Xml.Serialization.XmlArrayItemAttribute("RailFare", IsNullable=false)]
        public RailFare[] RailFareList {
            get {
                return this.railFareListField;
            }
            set {
                this.railFareListField = value;
                this.RaisePropertyChanged("RailFareList");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=6)]
        [System.Xml.Serialization.XmlArrayItemAttribute("HostToken", IsNullable=false)]
        public HostToken[] HostTokenList {
            get {
                return this.hostTokenListField;
            }
            set {
                this.hostTokenListField = value;
                this.RaisePropertyChanged("HostTokenList");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeResponseType ResponseType {
            get {
                return this.responseTypeField;
            }
            set {
                this.responseTypeField = value;
                this.RaisePropertyChanged("ResponseType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ResponseTypeSpecified {
            get {
                return this.responseTypeFieldSpecified;
            }
            set {
                this.responseTypeFieldSpecified = value;
                this.RaisePropertyChanged("ResponseTypeSpecified");
            }
        }
    }
    
    /// <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/rail_v53_0")]
    public partial class RailPricingSolution : typeRailPricingSolution {
    }
    
    [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/rail_v53_0", Order=0)]
        public TravelPort.DemoSite.Service.Rails_53.RailAvailabilitySearchReq RailAvailabilitySearchReq;
        
        public serviceRequest() {
        }
        
        public serviceRequest(TravelPort.DemoSite.Service.Rails_53.RailAvailabilitySearchReq RailAvailabilitySearchReq) {
            this.RailAvailabilitySearchReq = RailAvailabilitySearchReq;
        }
    }
    
    [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/rail_v53_0", Order=0)]
        public TravelPort.DemoSite.Service.Rails_53.RailAvailabilitySearchRsp RailAvailabilitySearchRsp;
        
        public serviceResponse() {
        }
        
        public serviceResponse(TravelPort.DemoSite.Service.Rails_53.RailAvailabilitySearchRsp RailAvailabilitySearchRsp) {
            this.RailAvailabilitySearchRsp = RailAvailabilitySearchRsp;
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public interface RailAvailabilitySearchPortTypeChannel : TravelPort.DemoSite.Service.Rails_53.RailAvailabilitySearchPortType, System.ServiceModel.IClientChannel {
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public partial class RailAvailabilitySearchPortTypeClient : System.ServiceModel.ClientBase<TravelPort.DemoSite.Service.Rails_53.RailAvailabilitySearchPortType>, TravelPort.DemoSite.Service.Rails_53.RailAvailabilitySearchPortType {
        
        public RailAvailabilitySearchPortTypeClient() {
        }
        
        public RailAvailabilitySearchPortTypeClient(string endpointConfigurationName) : 
                base(endpointConfigurationName) {
        }
        
        public RailAvailabilitySearchPortTypeClient(string endpointConfigurationName, string remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public RailAvailabilitySearchPortTypeClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public RailAvailabilitySearchPortTypeClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(binding, remoteAddress) {
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        TravelPort.DemoSite.Service.Rails_53.serviceResponse TravelPort.DemoSite.Service.Rails_53.RailAvailabilitySearchPortType.service(TravelPort.DemoSite.Service.Rails_53.serviceRequest request) {
            return base.Channel.service(request);
        }
        
        public TravelPort.DemoSite.Service.Rails_53.RailAvailabilitySearchRsp service(TravelPort.DemoSite.Service.Rails_53.RailAvailabilitySearchReq RailAvailabilitySearchReq) {
            TravelPort.DemoSite.Service.Rails_53.serviceRequest inValue = new TravelPort.DemoSite.Service.Rails_53.serviceRequest();
            inValue.RailAvailabilitySearchReq = RailAvailabilitySearchReq;
            TravelPort.DemoSite.Service.Rails_53.serviceResponse retVal = ((TravelPort.DemoSite.Service.Rails_53.RailAvailabilitySearchPortType)(this)).service(inValue);
            return retVal.RailAvailabilitySearchRsp;
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        System.Threading.Tasks.Task<TravelPort.DemoSite.Service.Rails_53.serviceResponse> TravelPort.DemoSite.Service.Rails_53.RailAvailabilitySearchPortType.serviceAsync(TravelPort.DemoSite.Service.Rails_53.serviceRequest request) {
            return base.Channel.serviceAsync(request);
        }
        
        public System.Threading.Tasks.Task<TravelPort.DemoSite.Service.Rails_53.serviceResponse> serviceAsync(TravelPort.DemoSite.Service.Rails_53.RailAvailabilitySearchReq RailAvailabilitySearchReq) {
            TravelPort.DemoSite.Service.Rails_53.serviceRequest inValue = new TravelPort.DemoSite.Service.Rails_53.serviceRequest();
            inValue.RailAvailabilitySearchReq = RailAvailabilitySearchReq;
            return ((TravelPort.DemoSite.Service.Rails_53.RailAvailabilitySearchPortType)(this)).serviceAsync(inValue);
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ServiceModel.ServiceContractAttribute(Namespace="http://www.travelport.com/service/rail_v53_0", ConfigurationName="Rails_53.RailRefundQuotePortType")]
    public interface RailRefundQuotePortType {
        
        // CODEGEN: Generating message contract since the operation service is neither RPC nor document wrapped.
        [System.ServiceModel.OperationContractAttribute(Action="http://localhost:8080/kestrel/RailService", ReplyAction="*")]
        [System.ServiceModel.FaultContractAttribute(typeof(TravelPort.DemoSite.Service.Rails_53.ErrorInfo), Action="http://localhost:8080/kestrel/RailService", Name="ErrorInfo", Namespace="http://www.travelport.com/schema/common_v53_0")]
        [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeErrorInfo))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeRailPricingSolution))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typePaymentInformation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeVendorLocation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BaseReservation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BaseRsp))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(Segment))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(Location))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typePaymentCard))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeRemark))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeRemarkWithTravelerRef))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(SeatAssignment))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BaseCoreReq))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RailSupplier[]))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(FareRuleCategory[]))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(AccountCode[]))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(ContractCode[]))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(PromoCode[]))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BookingCode[]))]
        TravelPort.DemoSite.Service.Rails_53.serviceResponse1 service(TravelPort.DemoSite.Service.Rails_53.serviceRequest1 request);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://localhost:8080/kestrel/RailService", ReplyAction="*")]
        System.Threading.Tasks.Task<TravelPort.DemoSite.Service.Rails_53.serviceResponse1> serviceAsync(TravelPort.DemoSite.Service.Rails_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/rail_v53_0")]
    public partial class RailRefundQuoteReq : BaseReq {
        
        private string locatorCodeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string LocatorCode {
            get {
                return this.locatorCodeField;
            }
            set {
                this.locatorCodeField = value;
                this.RaisePropertyChanged("LocatorCode");
            }
        }
    }
    
    /// <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/rail_v53_0")]
    public partial class RailRefundQuoteRsp : BaseRsp {
        
        private RailRefundInfo[] railRefundInfoField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RailRefundInfo", Order=0)]
        public RailRefundInfo[] RailRefundInfo {
            get {
                return this.railRefundInfoField;
            }
            set {
                this.railRefundInfoField = value;
                this.RaisePropertyChanged("RailRefundInfo");
            }
        }
    }
    
    /// <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/rail_v53_0")]
    public partial class RailRefundInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string refundAmountField;
        
        private string cancellationFeeField;
        
        private bool refundField;
        
        private bool refundFieldSpecified;
        
        private bool retainField;
        
        private bool retainFieldSpecified;
        
        private string retainAmountField;
        
        private string netAmountField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string RefundAmount {
            get {
                return this.refundAmountField;
            }
            set {
                this.refundAmountField = value;
                this.RaisePropertyChanged("RefundAmount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CancellationFee {
            get {
                return this.cancellationFeeField;
            }
            set {
                this.cancellationFeeField = value;
                this.RaisePropertyChanged("CancellationFee");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Refund {
            get {
                return this.refundField;
            }
            set {
                this.refundField = value;
                this.RaisePropertyChanged("Refund");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RefundSpecified {
            get {
                return this.refundFieldSpecified;
            }
            set {
                this.refundFieldSpecified = value;
                this.RaisePropertyChanged("RefundSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Retain {
            get {
                return this.retainField;
            }
            set {
                this.retainField = value;
                this.RaisePropertyChanged("Retain");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RetainSpecified {
            get {
                return this.retainFieldSpecified;
            }
            set {
                this.retainFieldSpecified = value;
                this.RaisePropertyChanged("RetainSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string RetainAmount {
            get {
                return this.retainAmountField;
            }
            set {
                this.retainAmountField = value;
                this.RaisePropertyChanged("RetainAmount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string NetAmount {
            get {
                return this.netAmountField;
            }
            set {
                this.netAmountField = value;
                this.RaisePropertyChanged("NetAmount");
            }
        }
        
        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/rail_v53_0", Order=0)]
        public TravelPort.DemoSite.Service.Rails_53.RailRefundQuoteReq RailRefundQuoteReq;
        
        public serviceRequest1() {
        }
        
        public serviceRequest1(TravelPort.DemoSite.Service.Rails_53.RailRefundQuoteReq RailRefundQuoteReq) {
            this.RailRefundQuoteReq = RailRefundQuoteReq;
        }
    }
    
    [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/rail_v53_0", Order=0)]
        public TravelPort.DemoSite.Service.Rails_53.RailRefundQuoteRsp RailRefundQuoteRsp;
        
        public serviceResponse1() {
        }
        
        public serviceResponse1(TravelPort.DemoSite.Service.Rails_53.RailRefundQuoteRsp RailRefundQuoteRsp) {
            this.RailRefundQuoteRsp = RailRefundQuoteRsp;
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public interface RailRefundQuotePortTypeChannel : TravelPort.DemoSite.Service.Rails_53.RailRefundQuotePortType, System.ServiceModel.IClientChannel {
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public partial class RailRefundQuotePortTypeClient : System.ServiceModel.ClientBase<TravelPort.DemoSite.Service.Rails_53.RailRefundQuotePortType>, TravelPort.DemoSite.Service.Rails_53.RailRefundQuotePortType {
        
        public RailRefundQuotePortTypeClient() {
        }
        
        public RailRefundQuotePortTypeClient(string endpointConfigurationName) : 
                base(endpointConfigurationName) {
        }
        
        public RailRefundQuotePortTypeClient(string endpointConfigurationName, string remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public RailRefundQuotePortTypeClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public RailRefundQuotePortTypeClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(binding, remoteAddress) {
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        TravelPort.DemoSite.Service.Rails_53.serviceResponse1 TravelPort.DemoSite.Service.Rails_53.RailRefundQuotePortType.service(TravelPort.DemoSite.Service.Rails_53.serviceRequest1 request) {
            return base.Channel.service(request);
        }
        
        public TravelPort.DemoSite.Service.Rails_53.RailRefundQuoteRsp service(TravelPort.DemoSite.Service.Rails_53.RailRefundQuoteReq RailRefundQuoteReq) {
            TravelPort.DemoSite.Service.Rails_53.serviceRequest1 inValue = new TravelPort.DemoSite.Service.Rails_53.serviceRequest1();
            inValue.RailRefundQuoteReq = RailRefundQuoteReq;
            TravelPort.DemoSite.Service.Rails_53.serviceResponse1 retVal = ((TravelPort.DemoSite.Service.Rails_53.RailRefundQuotePortType)(this)).service(inValue);
            return retVal.RailRefundQuoteRsp;
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        System.Threading.Tasks.Task<TravelPort.DemoSite.Service.Rails_53.serviceResponse1> TravelPort.DemoSite.Service.Rails_53.RailRefundQuotePortType.serviceAsync(TravelPort.DemoSite.Service.Rails_53.serviceRequest1 request) {
            return base.Channel.serviceAsync(request);
        }
        
        public System.Threading.Tasks.Task<TravelPort.DemoSite.Service.Rails_53.serviceResponse1> serviceAsync(TravelPort.DemoSite.Service.Rails_53.RailRefundQuoteReq RailRefundQuoteReq) {
            TravelPort.DemoSite.Service.Rails_53.serviceRequest1 inValue = new TravelPort.DemoSite.Service.Rails_53.serviceRequest1();
            inValue.RailRefundQuoteReq = RailRefundQuoteReq;
            return ((TravelPort.DemoSite.Service.Rails_53.RailRefundQuotePortType)(this)).serviceAsync(inValue);
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ServiceModel.ServiceContractAttribute(Namespace="http://www.travelport.com/service/rail_v53_0", ConfigurationName="Rails_53.RailRefundPortType")]
    public interface RailRefundPortType {
        
        // CODEGEN: Generating message contract since the operation service is neither RPC nor document wrapped.
        [System.ServiceModel.OperationContractAttribute(Action="http://localhost:8080/kestrel/RailService", ReplyAction="*")]
        [System.ServiceModel.FaultContractAttribute(typeof(TravelPort.DemoSite.Service.Rails_53.ErrorInfo), Action="http://localhost:8080/kestrel/RailService", Name="ErrorInfo", Namespace="http://www.travelport.com/schema/common_v53_0")]
        [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeErrorInfo))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeRailPricingSolution))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typePaymentInformation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeVendorLocation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BaseReservation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BaseRsp))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(Segment))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(Location))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typePaymentCard))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeRemark))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeRemarkWithTravelerRef))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(SeatAssignment))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BaseCoreReq))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RailSupplier[]))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(FareRuleCategory[]))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(AccountCode[]))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(ContractCode[]))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(PromoCode[]))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BookingCode[]))]
        TravelPort.DemoSite.Service.Rails_53.serviceResponse2 service(TravelPort.DemoSite.Service.Rails_53.serviceRequest2 request);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://localhost:8080/kestrel/RailService", ReplyAction="*")]
        System.Threading.Tasks.Task<TravelPort.DemoSite.Service.Rails_53.serviceResponse2> serviceAsync(TravelPort.DemoSite.Service.Rails_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/rail_v53_0")]
    public partial class RailRefundReq : BaseReq {
        
        private ContinuityCheckOverride continuityCheckOverrideField;
        
        private FormOfPayment formOfPaymentField;
        
        private string locatorCodeField;
        
        private RailRefundReqRefundOption refundOptionField;
        
        private bool refundOptionFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=0)]
        public ContinuityCheckOverride ContinuityCheckOverride {
            get {
                return this.continuityCheckOverrideField;
            }
            set {
                this.continuityCheckOverrideField = value;
                this.RaisePropertyChanged("ContinuityCheckOverride");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=1)]
        public FormOfPayment FormOfPayment {
            get {
                return this.formOfPaymentField;
            }
            set {
                this.formOfPaymentField = value;
                this.RaisePropertyChanged("FormOfPayment");
            }
        }
        
        /// <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 RailRefundReqRefundOption RefundOption {
            get {
                return this.refundOptionField;
            }
            set {
                this.refundOptionField = value;
                this.RaisePropertyChanged("RefundOption");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RefundOptionSpecified {
            get {
                return this.refundOptionFieldSpecified;
            }
            set {
                this.refundOptionFieldSpecified = value;
                this.RaisePropertyChanged("RefundOptionSpecified");
            }
        }
    }
    
    /// <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/rail_v53_0")]
    public enum RailRefundReqRefundOption {
        
        /// <remarks/>
        Retain,
        
        /// <remarks/>
        Refund,
    }
    
    /// <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/rail_v53_0")]
    public partial class RailRefundRsp : BaseRsp {
        
        private Payment paymentField;
        
        private MCO mCOField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=0)]
        public Payment Payment {
            get {
                return this.paymentField;
            }
            set {
                this.paymentField = value;
                this.RaisePropertyChanged("Payment");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=1)]
        public MCO MCO {
            get {
                return this.mCOField;
            }
            set {
                this.mCOField = value;
                this.RaisePropertyChanged("MCO");
            }
        }
    }
    
    /// <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 MCO : MCOInformation {
        
        private FormOfPayment[] formOfPaymentField;
        
        private Endorsement endorsementField;
        
        private MCOExchangeInfo mCOExchangeInfoField;
        
        private MCOFeeInfo mCOFeeInfoField;
        
        private MCORemark[] mCORemarkField;
        
        private MCOPriceData mCOPriceDataField;
        
        private StockControl[] stockControlField;
        
        private MCOText[] mCOTextField;
        
        private string ticketTypeField;
        
        private string ticketNumberField;
        
        private bool mCOIssuedField;
        
        private System.DateTime mCOIssueDateField;
        
        private bool mCOIssueDateFieldSpecified;
        
        private string mCODocNumField;
        
        private string issueReasonCodeField;
        
        private string platingCarrierField;
        
        private string tourOperatorField;
        
        private string locationField;
        
        private string tourCodeField;
        
        private string providerCodeField;
        
        private string providerLocatorCodeField;
        
        private string pseudoCityCodeField;
        
        private System.DateTime expiryDateField;
        
        private bool expiryDateFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("FormOfPayment", Order=0)]
        public FormOfPayment[] FormOfPayment {
            get {
                return this.formOfPaymentField;
            }
            set {
                this.formOfPaymentField = value;
                this.RaisePropertyChanged("FormOfPayment");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public Endorsement Endorsement {
            get {
                return this.endorsementField;
            }
            set {
                this.endorsementField = value;
                this.RaisePropertyChanged("Endorsement");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public MCOExchangeInfo MCOExchangeInfo {
            get {
                return this.mCOExchangeInfoField;
            }
            set {
                this.mCOExchangeInfoField = value;
                this.RaisePropertyChanged("MCOExchangeInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=3)]
        public MCOFeeInfo MCOFeeInfo {
            get {
                return this.mCOFeeInfoField;
            }
            set {
                this.mCOFeeInfoField = value;
                this.RaisePropertyChanged("MCOFeeInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("MCORemark", Order=4)]
        public MCORemark[] MCORemark {
            get {
                return this.mCORemarkField;
            }
            set {
                this.mCORemarkField = value;
                this.RaisePropertyChanged("MCORemark");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=5)]
        public MCOPriceData MCOPriceData {
            get {
                return this.mCOPriceDataField;
            }
            set {
                this.mCOPriceDataField = value;
                this.RaisePropertyChanged("MCOPriceData");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("StockControl", Order=6)]
        public StockControl[] StockControl {
            get {
                return this.stockControlField;
            }
            set {
                this.stockControlField = value;
                this.RaisePropertyChanged("StockControl");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("MCOText", Order=7)]
        public MCOText[] MCOText {
            get {
                return this.mCOTextField;
            }
            set {
                this.mCOTextField = value;
                this.RaisePropertyChanged("MCOText");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TicketType {
            get {
                return this.ticketTypeField;
            }
            set {
                this.ticketTypeField = value;
                this.RaisePropertyChanged("TicketType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TicketNumber {
            get {
                return this.ticketNumberField;
            }
            set {
                this.ticketNumberField = value;
                this.RaisePropertyChanged("TicketNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool MCOIssued {
            get {
                return this.mCOIssuedField;
            }
            set {
                this.mCOIssuedField = value;
                this.RaisePropertyChanged("MCOIssued");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public System.DateTime MCOIssueDate {
            get {
                return this.mCOIssueDateField;
            }
            set {
                this.mCOIssueDateField = value;
                this.RaisePropertyChanged("MCOIssueDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool MCOIssueDateSpecified {
            get {
                return this.mCOIssueDateFieldSpecified;
            }
            set {
                this.mCOIssueDateFieldSpecified = value;
                this.RaisePropertyChanged("MCOIssueDateSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string MCODocNum {
            get {
                return this.mCODocNumField;
            }
            set {
                this.mCODocNumField = value;
                this.RaisePropertyChanged("MCODocNum");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string IssueReasonCode {
            get {
                return this.issueReasonCodeField;
            }
            set {
                this.issueReasonCodeField = value;
                this.RaisePropertyChanged("IssueReasonCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PlatingCarrier {
            get {
                return this.platingCarrierField;
            }
            set {
                this.platingCarrierField = value;
                this.RaisePropertyChanged("PlatingCarrier");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TourOperator {
            get {
                return this.tourOperatorField;
            }
            set {
                this.tourOperatorField = value;
                this.RaisePropertyChanged("TourOperator");
            }
        }
        
        /// <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 TourCode {
            get {
                return this.tourCodeField;
            }
            set {
                this.tourCodeField = value;
                this.RaisePropertyChanged("TourCode");
            }
        }
        
        /// <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 PseudoCityCode {
            get {
                return this.pseudoCityCodeField;
            }
            set {
                this.pseudoCityCodeField = value;
                this.RaisePropertyChanged("PseudoCityCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="date")]
        public System.DateTime ExpiryDate {
            get {
                return this.expiryDateField;
            }
            set {
                this.expiryDateField = value;
                this.RaisePropertyChanged("ExpiryDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ExpiryDateSpecified {
            get {
                return this.expiryDateFieldSpecified;
            }
            set {
                this.expiryDateFieldSpecified = value;
                this.RaisePropertyChanged("ExpiryDateSpecified");
            }
        }
    }
    
    /// <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 MCOExchangeInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private FormOfPayment formOfPaymentField;
        
        private ExchangedCoupon[] exchangedCouponField;
        
        private string originalTicketNumberField;
        
        private string originalCityCodeField;
        
        private System.DateTime originalTicketDateField;
        
        private bool originalTicketDateFieldSpecified;
        
        private string iATACodeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public FormOfPayment FormOfPayment {
            get {
                return this.formOfPaymentField;
            }
            set {
                this.formOfPaymentField = value;
                this.RaisePropertyChanged("FormOfPayment");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ExchangedCoupon", Order=1)]
        public ExchangedCoupon[] ExchangedCoupon {
            get {
                return this.exchangedCouponField;
            }
            set {
                this.exchangedCouponField = value;
                this.RaisePropertyChanged("ExchangedCoupon");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string OriginalTicketNumber {
            get {
                return this.originalTicketNumberField;
            }
            set {
                this.originalTicketNumberField = value;
                this.RaisePropertyChanged("OriginalTicketNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string OriginalCityCode {
            get {
                return this.originalCityCodeField;
            }
            set {
                this.originalCityCodeField = value;
                this.RaisePropertyChanged("OriginalCityCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="date")]
        public System.DateTime OriginalTicketDate {
            get {
                return this.originalTicketDateField;
            }
            set {
                this.originalTicketDateField = value;
                this.RaisePropertyChanged("OriginalTicketDate");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool OriginalTicketDateSpecified {
            get {
                return this.originalTicketDateFieldSpecified;
            }
            set {
                this.originalTicketDateFieldSpecified = value;
                this.RaisePropertyChanged("OriginalTicketDateSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string IATACode {
            get {
                return this.iATACodeField;
            }
            set {
                this.iATACodeField = value;
                this.RaisePropertyChanged("IATACode");
            }
        }
        
        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 ExchangedCoupon : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string ticketNumberField;
        
        private string couponNumberField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TicketNumber {
            get {
                return this.ticketNumberField;
            }
            set {
                this.ticketNumberField = value;
                this.RaisePropertyChanged("TicketNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CouponNumber {
            get {
                return this.couponNumberField;
            }
            set {
                this.couponNumberField = value;
                this.RaisePropertyChanged("CouponNumber");
            }
        }
        
        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 MCOFeeInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string amountField;
        
        private string percentageField;
        
        private MCOFeeInfoFeeAppliesToInd feeAppliesToIndField;
        
        private bool feeAppliesToIndFieldSpecified;
        
        /// <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 MCOFeeInfoFeeAppliesToInd FeeAppliesToInd {
            get {
                return this.feeAppliesToIndField;
            }
            set {
                this.feeAppliesToIndField = value;
                this.RaisePropertyChanged("FeeAppliesToInd");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FeeAppliesToIndSpecified {
            get {
                return this.feeAppliesToIndFieldSpecified;
            }
            set {
                this.feeAppliesToIndFieldSpecified = value;
                this.RaisePropertyChanged("FeeAppliesToIndSpecified");
            }
        }
        
        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 MCOFeeInfoFeeAppliesToInd {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("Per-Person")]
        PerPerson,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("Per-MCO")]
        PerMCO,
    }
    
    /// <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 MCORemark : object, System.ComponentModel.INotifyPropertyChanged {
        
        private bool additionalRmkField;
        
        private bool additionalRmkFieldSpecified;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool AdditionalRmk {
            get {
                return this.additionalRmkField;
            }
            set {
                this.additionalRmkField = value;
                this.RaisePropertyChanged("AdditionalRmk");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AdditionalRmkSpecified {
            get {
                return this.additionalRmkFieldSpecified;
            }
            set {
                this.additionalRmkFieldSpecified = value;
                this.RaisePropertyChanged("AdditionalRmkSpecified");
            }
        }
        
        /// <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 MCOPriceData : object, System.ComponentModel.INotifyPropertyChanged {
        
        private typeTaxInfo[] taxInfoField;
        
        private MCOPriceDataCommission commissionField;
        
        private string mCOAmountField;
        
        private string mCOEquivalentFareField;
        
        private string mCOTotalAmountField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("TaxInfo", Order=0)]
        public typeTaxInfo[] TaxInfo {
            get {
                return this.taxInfoField;
            }
            set {
                this.taxInfoField = value;
                this.RaisePropertyChanged("TaxInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public MCOPriceDataCommission Commission {
            get {
                return this.commissionField;
            }
            set {
                this.commissionField = value;
                this.RaisePropertyChanged("Commission");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string MCOAmount {
            get {
                return this.mCOAmountField;
            }
            set {
                this.mCOAmountField = value;
                this.RaisePropertyChanged("MCOAmount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string MCOEquivalentFare {
            get {
                return this.mCOEquivalentFareField;
            }
            set {
                this.mCOEquivalentFareField = value;
                this.RaisePropertyChanged("MCOEquivalentFare");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string MCOTotalAmount {
            get {
                return this.mCOTotalAmountField;
            }
            set {
                this.mCOTotalAmountField = value;
                this.RaisePropertyChanged("MCOTotalAmount");
            }
        }
        
        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 MCOPriceDataCommission : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string amountField;
        
        private string percentageField;
        
        /// <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");
            }
        }
        
        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 StockControl : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string typeField;
        
        private string numberField;
        
        /// <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");
            }
        }
        
        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 MCOText : typeFreeFormText {
        
        private string typeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
                this.RaisePropertyChanged("Type");
            }
        }
    }
    
    /// <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 typeFreeFormText : 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));
            }
        }
    }
    
    [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/rail_v53_0", Order=0)]
        public TravelPort.DemoSite.Service.Rails_53.RailRefundReq RailRefundReq;
        
        public serviceRequest2() {
        }
        
        public serviceRequest2(TravelPort.DemoSite.Service.Rails_53.RailRefundReq RailRefundReq) {
            this.RailRefundReq = RailRefundReq;
        }
    }
    
    [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/rail_v53_0", Order=0)]
        public TravelPort.DemoSite.Service.Rails_53.RailRefundRsp RailRefundRsp;
        
        public serviceResponse2() {
        }
        
        public serviceResponse2(TravelPort.DemoSite.Service.Rails_53.RailRefundRsp RailRefundRsp) {
            this.RailRefundRsp = RailRefundRsp;
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public interface RailRefundPortTypeChannel : TravelPort.DemoSite.Service.Rails_53.RailRefundPortType, System.ServiceModel.IClientChannel {
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public partial class RailRefundPortTypeClient : System.ServiceModel.ClientBase<TravelPort.DemoSite.Service.Rails_53.RailRefundPortType>, TravelPort.DemoSite.Service.Rails_53.RailRefundPortType {
        
        public RailRefundPortTypeClient() {
        }
        
        public RailRefundPortTypeClient(string endpointConfigurationName) : 
                base(endpointConfigurationName) {
        }
        
        public RailRefundPortTypeClient(string endpointConfigurationName, string remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public RailRefundPortTypeClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public RailRefundPortTypeClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(binding, remoteAddress) {
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        TravelPort.DemoSite.Service.Rails_53.serviceResponse2 TravelPort.DemoSite.Service.Rails_53.RailRefundPortType.service(TravelPort.DemoSite.Service.Rails_53.serviceRequest2 request) {
            return base.Channel.service(request);
        }
        
        public TravelPort.DemoSite.Service.Rails_53.RailRefundRsp service(TravelPort.DemoSite.Service.Rails_53.RailRefundReq RailRefundReq) {
            TravelPort.DemoSite.Service.Rails_53.serviceRequest2 inValue = new TravelPort.DemoSite.Service.Rails_53.serviceRequest2();
            inValue.RailRefundReq = RailRefundReq;
            TravelPort.DemoSite.Service.Rails_53.serviceResponse2 retVal = ((TravelPort.DemoSite.Service.Rails_53.RailRefundPortType)(this)).service(inValue);
            return retVal.RailRefundRsp;
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        System.Threading.Tasks.Task<TravelPort.DemoSite.Service.Rails_53.serviceResponse2> TravelPort.DemoSite.Service.Rails_53.RailRefundPortType.serviceAsync(TravelPort.DemoSite.Service.Rails_53.serviceRequest2 request) {
            return base.Channel.serviceAsync(request);
        }
        
        public System.Threading.Tasks.Task<TravelPort.DemoSite.Service.Rails_53.serviceResponse2> serviceAsync(TravelPort.DemoSite.Service.Rails_53.RailRefundReq RailRefundReq) {
            TravelPort.DemoSite.Service.Rails_53.serviceRequest2 inValue = new TravelPort.DemoSite.Service.Rails_53.serviceRequest2();
            inValue.RailRefundReq = RailRefundReq;
            return ((TravelPort.DemoSite.Service.Rails_53.RailRefundPortType)(this)).serviceAsync(inValue);
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ServiceModel.ServiceContractAttribute(Namespace="http://www.travelport.com/service/rail_v53_0", ConfigurationName="Rails_53.RailExchangeQuotePortType")]
    public interface RailExchangeQuotePortType {
        
        // CODEGEN: Generating message contract since the operation service is neither RPC nor document wrapped.
        [System.ServiceModel.OperationContractAttribute(Action="http://localhost:8080/kestrel/RailService", ReplyAction="*")]
        [System.ServiceModel.FaultContractAttribute(typeof(TravelPort.DemoSite.Service.Rails_53.ErrorInfo), Action="http://localhost:8080/kestrel/RailService", Name="ErrorInfo", Namespace="http://www.travelport.com/schema/common_v53_0")]
        [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeErrorInfo))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeRailPricingSolution))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typePaymentInformation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeVendorLocation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BaseReservation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BaseRsp))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(Segment))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(Location))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typePaymentCard))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeRemark))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeRemarkWithTravelerRef))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(SeatAssignment))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BaseCoreReq))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RailSupplier[]))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(FareRuleCategory[]))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(AccountCode[]))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(ContractCode[]))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(PromoCode[]))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BookingCode[]))]
        TravelPort.DemoSite.Service.Rails_53.serviceResponse3 service(TravelPort.DemoSite.Service.Rails_53.serviceRequest3 request);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://localhost:8080/kestrel/RailService", ReplyAction="*")]
        System.Threading.Tasks.Task<TravelPort.DemoSite.Service.Rails_53.serviceResponse3> serviceAsync(TravelPort.DemoSite.Service.Rails_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/rail_v53_0")]
    public partial class RailExchangeQuoteReq : BaseReq {
        
        private SearchRailLeg[] searchRailLegField;
        
        private RailSearchModifiers railSearchModifiersField;
        
        private SearchPassenger[] searchPassengerField;
        
        private HostToken[] hostTokenListField;
        
        private RailPricingSolution railPricingSolutionField;
        
        private RailFareNote[] railFareNoteListField;
        
        private string locatorCodeField;
        
        private typeResponseType responseTypeField;
        
        private bool responseTypeFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SearchRailLeg", Order=0)]
        public SearchRailLeg[] SearchRailLeg {
            get {
                return this.searchRailLegField;
            }
            set {
                this.searchRailLegField = value;
                this.RaisePropertyChanged("SearchRailLeg");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public RailSearchModifiers RailSearchModifiers {
            get {
                return this.railSearchModifiersField;
            }
            set {
                this.railSearchModifiersField = value;
                this.RaisePropertyChanged("RailSearchModifiers");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SearchPassenger", Namespace="http://www.travelport.com/schema/common_v53_0", Order=2)]
        public SearchPassenger[] SearchPassenger {
            get {
                return this.searchPassengerField;
            }
            set {
                this.searchPassengerField = value;
                this.RaisePropertyChanged("SearchPassenger");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=3)]
        [System.Xml.Serialization.XmlArrayItemAttribute("HostToken", IsNullable=false)]
        public HostToken[] HostTokenList {
            get {
                return this.hostTokenListField;
            }
            set {
                this.hostTokenListField = value;
                this.RaisePropertyChanged("HostTokenList");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=4)]
        public RailPricingSolution RailPricingSolution {
            get {
                return this.railPricingSolutionField;
            }
            set {
                this.railPricingSolutionField = value;
                this.RaisePropertyChanged("RailPricingSolution");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=5)]
        [System.Xml.Serialization.XmlArrayItemAttribute("RailFareNote", IsNullable=false)]
        public RailFareNote[] RailFareNoteList {
            get {
                return this.railFareNoteListField;
            }
            set {
                this.railFareNoteListField = value;
                this.RaisePropertyChanged("RailFareNoteList");
            }
        }
        
        /// <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 typeResponseType ResponseType {
            get {
                return this.responseTypeField;
            }
            set {
                this.responseTypeField = value;
                this.RaisePropertyChanged("ResponseType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ResponseTypeSpecified {
            get {
                return this.responseTypeFieldSpecified;
            }
            set {
                this.responseTypeFieldSpecified = value;
                this.RaisePropertyChanged("ResponseTypeSpecified");
            }
        }
    }
    
    /// <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/rail_v53_0")]
    public partial class RailExchangeQuoteRsp : BaseRsp {
        
        private RailSegment[] railSegmentListField;
        
        private RailJourney[] railJourneyListField;
        
        private RailExchangeSolution[] railExchangeSolutionField;
        
        private RailFareNote[] railFareNoteListField;
        
        private RailFareID[] railFareIDListField;
        
        private RailFare[] railFareListField;
        
        private HostToken[] hostTokenListField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=0)]
        [System.Xml.Serialization.XmlArrayItemAttribute("RailSegment", IsNullable=false)]
        public RailSegment[] RailSegmentList {
            get {
                return this.railSegmentListField;
            }
            set {
                this.railSegmentListField = value;
                this.RaisePropertyChanged("RailSegmentList");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=1)]
        [System.Xml.Serialization.XmlArrayItemAttribute("RailJourney", IsNullable=false)]
        public RailJourney[] RailJourneyList {
            get {
                return this.railJourneyListField;
            }
            set {
                this.railJourneyListField = value;
                this.RaisePropertyChanged("RailJourneyList");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RailExchangeSolution", Order=2)]
        public RailExchangeSolution[] RailExchangeSolution {
            get {
                return this.railExchangeSolutionField;
            }
            set {
                this.railExchangeSolutionField = value;
                this.RaisePropertyChanged("RailExchangeSolution");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=3)]
        [System.Xml.Serialization.XmlArrayItemAttribute("RailFareNote", IsNullable=false)]
        public RailFareNote[] RailFareNoteList {
            get {
                return this.railFareNoteListField;
            }
            set {
                this.railFareNoteListField = value;
                this.RaisePropertyChanged("RailFareNoteList");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=4)]
        [System.Xml.Serialization.XmlArrayItemAttribute("RailFareID", IsNullable=false)]
        public RailFareID[] RailFareIDList {
            get {
                return this.railFareIDListField;
            }
            set {
                this.railFareIDListField = value;
                this.RaisePropertyChanged("RailFareIDList");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=5)]
        [System.Xml.Serialization.XmlArrayItemAttribute("RailFare", IsNullable=false)]
        public RailFare[] RailFareList {
            get {
                return this.railFareListField;
            }
            set {
                this.railFareListField = value;
                this.RaisePropertyChanged("RailFareList");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=6)]
        [System.Xml.Serialization.XmlArrayItemAttribute("HostToken", IsNullable=false)]
        public HostToken[] HostTokenList {
            get {
                return this.hostTokenListField;
            }
            set {
                this.hostTokenListField = value;
                this.RaisePropertyChanged("HostTokenList");
            }
        }
    }
    
    /// <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/rail_v53_0")]
    public partial class RailExchangeSolution : typeRailPricingSolution {
        
        private RailExchangeInfo railExchangeInfoField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public RailExchangeInfo RailExchangeInfo {
            get {
                return this.railExchangeInfoField;
            }
            set {
                this.railExchangeInfoField = value;
                this.RaisePropertyChanged("RailExchangeInfo");
            }
        }
    }
    
    /// <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/rail_v53_0")]
    public partial class RailExchangeInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string refundAmountField;
        
        private string cancellationFeeField;
        
        private string exchangeAmountField;
        
        private string approximateRefundAmountField;
        
        private string approximateCancellationFeeField;
        
        private string approximateExchangeAmountField;
        
        private string retainAmountField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string RefundAmount {
            get {
                return this.refundAmountField;
            }
            set {
                this.refundAmountField = value;
                this.RaisePropertyChanged("RefundAmount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CancellationFee {
            get {
                return this.cancellationFeeField;
            }
            set {
                this.cancellationFeeField = value;
                this.RaisePropertyChanged("CancellationFee");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ExchangeAmount {
            get {
                return this.exchangeAmountField;
            }
            set {
                this.exchangeAmountField = value;
                this.RaisePropertyChanged("ExchangeAmount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApproximateRefundAmount {
            get {
                return this.approximateRefundAmountField;
            }
            set {
                this.approximateRefundAmountField = value;
                this.RaisePropertyChanged("ApproximateRefundAmount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApproximateCancellationFee {
            get {
                return this.approximateCancellationFeeField;
            }
            set {
                this.approximateCancellationFeeField = value;
                this.RaisePropertyChanged("ApproximateCancellationFee");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ApproximateExchangeAmount {
            get {
                return this.approximateExchangeAmountField;
            }
            set {
                this.approximateExchangeAmountField = value;
                this.RaisePropertyChanged("ApproximateExchangeAmount");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string RetainAmount {
            get {
                return this.retainAmountField;
            }
            set {
                this.retainAmountField = value;
                this.RaisePropertyChanged("RetainAmount");
            }
        }
        
        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/rail_v53_0", Order=0)]
        public TravelPort.DemoSite.Service.Rails_53.RailExchangeQuoteReq RailExchangeQuoteReq;
        
        public serviceRequest3() {
        }
        
        public serviceRequest3(TravelPort.DemoSite.Service.Rails_53.RailExchangeQuoteReq RailExchangeQuoteReq) {
            this.RailExchangeQuoteReq = RailExchangeQuoteReq;
        }
    }
    
    [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/rail_v53_0", Order=0)]
        public TravelPort.DemoSite.Service.Rails_53.RailExchangeQuoteRsp RailExchangeQuoteRsp;
        
        public serviceResponse3() {
        }
        
        public serviceResponse3(TravelPort.DemoSite.Service.Rails_53.RailExchangeQuoteRsp RailExchangeQuoteRsp) {
            this.RailExchangeQuoteRsp = RailExchangeQuoteRsp;
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public interface RailExchangeQuotePortTypeChannel : TravelPort.DemoSite.Service.Rails_53.RailExchangeQuotePortType, System.ServiceModel.IClientChannel {
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public partial class RailExchangeQuotePortTypeClient : System.ServiceModel.ClientBase<TravelPort.DemoSite.Service.Rails_53.RailExchangeQuotePortType>, TravelPort.DemoSite.Service.Rails_53.RailExchangeQuotePortType {
        
        public RailExchangeQuotePortTypeClient() {
        }
        
        public RailExchangeQuotePortTypeClient(string endpointConfigurationName) : 
                base(endpointConfigurationName) {
        }
        
        public RailExchangeQuotePortTypeClient(string endpointConfigurationName, string remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public RailExchangeQuotePortTypeClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public RailExchangeQuotePortTypeClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(binding, remoteAddress) {
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        TravelPort.DemoSite.Service.Rails_53.serviceResponse3 TravelPort.DemoSite.Service.Rails_53.RailExchangeQuotePortType.service(TravelPort.DemoSite.Service.Rails_53.serviceRequest3 request) {
            return base.Channel.service(request);
        }
        
        public TravelPort.DemoSite.Service.Rails_53.RailExchangeQuoteRsp service(TravelPort.DemoSite.Service.Rails_53.RailExchangeQuoteReq RailExchangeQuoteReq) {
            TravelPort.DemoSite.Service.Rails_53.serviceRequest3 inValue = new TravelPort.DemoSite.Service.Rails_53.serviceRequest3();
            inValue.RailExchangeQuoteReq = RailExchangeQuoteReq;
            TravelPort.DemoSite.Service.Rails_53.serviceResponse3 retVal = ((TravelPort.DemoSite.Service.Rails_53.RailExchangeQuotePortType)(this)).service(inValue);
            return retVal.RailExchangeQuoteRsp;
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        System.Threading.Tasks.Task<TravelPort.DemoSite.Service.Rails_53.serviceResponse3> TravelPort.DemoSite.Service.Rails_53.RailExchangeQuotePortType.serviceAsync(TravelPort.DemoSite.Service.Rails_53.serviceRequest3 request) {
            return base.Channel.serviceAsync(request);
        }
        
        public System.Threading.Tasks.Task<TravelPort.DemoSite.Service.Rails_53.serviceResponse3> serviceAsync(TravelPort.DemoSite.Service.Rails_53.RailExchangeQuoteReq RailExchangeQuoteReq) {
            TravelPort.DemoSite.Service.Rails_53.serviceRequest3 inValue = new TravelPort.DemoSite.Service.Rails_53.serviceRequest3();
            inValue.RailExchangeQuoteReq = RailExchangeQuoteReq;
            return ((TravelPort.DemoSite.Service.Rails_53.RailExchangeQuotePortType)(this)).serviceAsync(inValue);
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ServiceModel.ServiceContractAttribute(Namespace="http://www.travelport.com/service/rail_v53_0", ConfigurationName="Rails_53.RailExchangeCreateReservationPortType")]
    public interface RailExchangeCreateReservationPortType {
        
        // CODEGEN: Generating message contract since the operation service is neither RPC nor document wrapped.
        [System.ServiceModel.OperationContractAttribute(Action="http://localhost:8080/kestrel/RailService", ReplyAction="*")]
        [System.ServiceModel.FaultContractAttribute(typeof(TravelPort.DemoSite.Service.Rails_53.ErrorInfo), Action="http://localhost:8080/kestrel/RailService", Name="ErrorInfo", Namespace="http://www.travelport.com/schema/common_v53_0")]
        [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeErrorInfo))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeRailPricingSolution))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typePaymentInformation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeVendorLocation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BaseReservation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BaseRsp))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(Segment))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(Location))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typePaymentCard))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeRemark))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeRemarkWithTravelerRef))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(SeatAssignment))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BaseCoreReq))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RailSupplier[]))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(FareRuleCategory[]))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(AccountCode[]))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(ContractCode[]))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(PromoCode[]))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BookingCode[]))]
        TravelPort.DemoSite.Service.Rails_53.serviceResponse4 service(TravelPort.DemoSite.Service.Rails_53.serviceRequest4 request);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://localhost:8080/kestrel/RailService", ReplyAction="*")]
        System.Threading.Tasks.Task<TravelPort.DemoSite.Service.Rails_53.serviceResponse4> serviceAsync(TravelPort.DemoSite.Service.Rails_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/rail_v53_0")]
    public partial class RailExchangeReq : BaseCreateWithFormOfPaymentReq {
        
        private RailExchangeSolution railExchangeSolutionField;
        
        private Payment paymentField;
        
        private RailFareNote[] railFareNoteListField;
        
        private HostToken[] hostTokenListField;
        
        private RailAutoSeatAssignment[] railAutoSeatAssignmentField;
        
        private string locatorCodeField;
        
        private string bookingActionTypeField;
        
        private string refundOptionField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public RailExchangeSolution RailExchangeSolution {
            get {
                return this.railExchangeSolutionField;
            }
            set {
                this.railExchangeSolutionField = value;
                this.RaisePropertyChanged("RailExchangeSolution");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=1)]
        public Payment Payment {
            get {
                return this.paymentField;
            }
            set {
                this.paymentField = value;
                this.RaisePropertyChanged("Payment");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=2)]
        [System.Xml.Serialization.XmlArrayItemAttribute("RailFareNote", IsNullable=false)]
        public RailFareNote[] RailFareNoteList {
            get {
                return this.railFareNoteListField;
            }
            set {
                this.railFareNoteListField = value;
                this.RaisePropertyChanged("RailFareNoteList");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Namespace="http://www.travelport.com/schema/common_v53_0", Order=3)]
        [System.Xml.Serialization.XmlArrayItemAttribute("HostToken", IsNullable=false)]
        public HostToken[] HostTokenList {
            get {
                return this.hostTokenListField;
            }
            set {
                this.hostTokenListField = value;
                this.RaisePropertyChanged("HostTokenList");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RailAutoSeatAssignment", Order=4)]
        public RailAutoSeatAssignment[] RailAutoSeatAssignment {
            get {
                return this.railAutoSeatAssignmentField;
            }
            set {
                this.railAutoSeatAssignmentField = value;
                this.RaisePropertyChanged("RailAutoSeatAssignment");
            }
        }
        
        /// <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 BookingActionType {
            get {
                return this.bookingActionTypeField;
            }
            set {
                this.bookingActionTypeField = value;
                this.RaisePropertyChanged("BookingActionType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string RefundOption {
            get {
                return this.refundOptionField;
            }
            set {
                this.refundOptionField = value;
                this.RaisePropertyChanged("RefundOption");
            }
        }
    }
    
    /// <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/rail_v53_0")]
    public partial class RailAutoSeatAssignment : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string seatTypeField;
        
        private string seatValueField;
        
        private string railSegmentRefField;
        
        private string bookingTravelerRefField;
        
        /// <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 SeatValue {
            get {
                return this.seatValueField;
            }
            set {
                this.seatValueField = value;
                this.RaisePropertyChanged("SeatValue");
            }
        }
        
        /// <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 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/rail_v53_0")]
    public partial class RailExchangeRsp : typeRailReservationRsp {
    }
    
    [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/rail_v53_0", Order=0)]
        public TravelPort.DemoSite.Service.Rails_53.RailExchangeReq RailExchangeReq;
        
        public serviceRequest4() {
        }
        
        public serviceRequest4(TravelPort.DemoSite.Service.Rails_53.RailExchangeReq RailExchangeReq) {
            this.RailExchangeReq = RailExchangeReq;
        }
    }
    
    [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/rail_v53_0", Order=0)]
        public TravelPort.DemoSite.Service.Rails_53.RailExchangeRsp RailExchangeRsp;
        
        public serviceResponse4() {
        }
        
        public serviceResponse4(TravelPort.DemoSite.Service.Rails_53.RailExchangeRsp RailExchangeRsp) {
            this.RailExchangeRsp = RailExchangeRsp;
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public interface RailExchangeCreateReservationPortTypeChannel : TravelPort.DemoSite.Service.Rails_53.RailExchangeCreateReservationPortType, System.ServiceModel.IClientChannel {
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public partial class RailExchangeCreateReservationPortTypeClient : System.ServiceModel.ClientBase<TravelPort.DemoSite.Service.Rails_53.RailExchangeCreateReservationPortType>, TravelPort.DemoSite.Service.Rails_53.RailExchangeCreateReservationPortType {
        
        public RailExchangeCreateReservationPortTypeClient() {
        }
        
        public RailExchangeCreateReservationPortTypeClient(string endpointConfigurationName) : 
                base(endpointConfigurationName) {
        }
        
        public RailExchangeCreateReservationPortTypeClient(string endpointConfigurationName, string remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public RailExchangeCreateReservationPortTypeClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public RailExchangeCreateReservationPortTypeClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(binding, remoteAddress) {
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        TravelPort.DemoSite.Service.Rails_53.serviceResponse4 TravelPort.DemoSite.Service.Rails_53.RailExchangeCreateReservationPortType.service(TravelPort.DemoSite.Service.Rails_53.serviceRequest4 request) {
            return base.Channel.service(request);
        }
        
        public TravelPort.DemoSite.Service.Rails_53.RailExchangeRsp service(TravelPort.DemoSite.Service.Rails_53.RailExchangeReq RailExchangeReq) {
            TravelPort.DemoSite.Service.Rails_53.serviceRequest4 inValue = new TravelPort.DemoSite.Service.Rails_53.serviceRequest4();
            inValue.RailExchangeReq = RailExchangeReq;
            TravelPort.DemoSite.Service.Rails_53.serviceResponse4 retVal = ((TravelPort.DemoSite.Service.Rails_53.RailExchangeCreateReservationPortType)(this)).service(inValue);
            return retVal.RailExchangeRsp;
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        System.Threading.Tasks.Task<TravelPort.DemoSite.Service.Rails_53.serviceResponse4> TravelPort.DemoSite.Service.Rails_53.RailExchangeCreateReservationPortType.serviceAsync(TravelPort.DemoSite.Service.Rails_53.serviceRequest4 request) {
            return base.Channel.serviceAsync(request);
        }
        
        public System.Threading.Tasks.Task<TravelPort.DemoSite.Service.Rails_53.serviceResponse4> serviceAsync(TravelPort.DemoSite.Service.Rails_53.RailExchangeReq RailExchangeReq) {
            TravelPort.DemoSite.Service.Rails_53.serviceRequest4 inValue = new TravelPort.DemoSite.Service.Rails_53.serviceRequest4();
            inValue.RailExchangeReq = RailExchangeReq;
            return ((TravelPort.DemoSite.Service.Rails_53.RailExchangeCreateReservationPortType)(this)).serviceAsync(inValue);
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ServiceModel.ServiceContractAttribute(Namespace="http://www.travelport.com/service/rail_v53_0", ConfigurationName="Rails_53.RailSeatMapPortType")]
    public interface RailSeatMapPortType {
        
        // CODEGEN: Generating message contract since the operation service is neither RPC nor document wrapped.
        [System.ServiceModel.OperationContractAttribute(Action="http://localhost:8080/kestrel/RailService", ReplyAction="*")]
        [System.ServiceModel.FaultContractAttribute(typeof(TravelPort.DemoSite.Service.Rails_53.ErrorInfo), Action="http://localhost:8080/kestrel/RailService", Name="ErrorInfo", Namespace="http://www.travelport.com/schema/common_v53_0")]
        [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeErrorInfo))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeRailPricingSolution))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typePaymentInformation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeVendorLocation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BaseReservation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BaseRsp))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(Segment))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(Location))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typePaymentCard))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeRemark))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(typeRemarkWithTravelerRef))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(SeatAssignment))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BaseCoreReq))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RailSupplier[]))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(FareRuleCategory[]))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(AccountCode[]))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(ContractCode[]))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(PromoCode[]))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BookingCode[]))]
        TravelPort.DemoSite.Service.Rails_53.serviceResponse5 service(TravelPort.DemoSite.Service.Rails_53.serviceRequest5 request);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://localhost:8080/kestrel/RailService", ReplyAction="*")]
        System.Threading.Tasks.Task<TravelPort.DemoSite.Service.Rails_53.serviceResponse5> serviceAsync(TravelPort.DemoSite.Service.Rails_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/rail_v53_0")]
    public partial class RailSeatMapReq : BaseReq {
        
        private RailInfo railInfoField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public RailInfo RailInfo {
            get {
                return this.railInfoField;
            }
            set {
                this.railInfoField = value;
                this.RaisePropertyChanged("RailInfo");
            }
        }
    }
    
    /// <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/rail_v53_0")]
    public partial class RailInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string originField;
        
        private string railLocOriginField;
        
        private string destinationField;
        
        private string railLocDestinationField;
        
        private string departureTimeField;
        
        private string arrivalTimeField;
        
        private string trainNumberField;
        
        private string providerCodeField;
        
        private string supplierCodeField;
        
        /// <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 RailLocOrigin {
            get {
                return this.railLocOriginField;
            }
            set {
                this.railLocOriginField = value;
                this.RaisePropertyChanged("RailLocOrigin");
            }
        }
        
        /// <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 RailLocDestination {
            get {
                return this.railLocDestinationField;
            }
            set {
                this.railLocDestinationField = value;
                this.RaisePropertyChanged("RailLocDestination");
            }
        }
        
        /// <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 ArrivalTime {
            get {
                return this.arrivalTimeField;
            }
            set {
                this.arrivalTimeField = value;
                this.RaisePropertyChanged("ArrivalTime");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TrainNumber {
            get {
                return this.trainNumberField;
            }
            set {
                this.trainNumberField = value;
                this.RaisePropertyChanged("TrainNumber");
            }
        }
        
        /// <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");
            }
        }
        
        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/rail_v53_0")]
    public partial class RailSeatMapRsp : BaseRsp {
        
        private Coach[] coachField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Coach", Order=0)]
        public Coach[] Coach {
            get {
                return this.coachField;
            }
            set {
                this.coachField = value;
                this.RaisePropertyChanged("Coach");
            }
        }
    }
    
    /// <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/rail_v53_0")]
    public partial class Coach : object, System.ComponentModel.INotifyPropertyChanged {
        
        private Characteristic1 characteristicField;
        
        private Remark[] remarkField;
        
        private string coachNumberField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public Characteristic1 Characteristic {
            get {
                return this.characteristicField;
            }
            set {
                this.characteristicField = value;
                this.RaisePropertyChanged("Characteristic");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Remark", Namespace="http://www.travelport.com/schema/common_v53_0", Order=1)]
        public Remark[] Remark {
            get {
                return this.remarkField;
            }
            set {
                this.remarkField = value;
                this.RaisePropertyChanged("Remark");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CoachNumber {
            get {
                return this.coachNumberField;
            }
            set {
                this.coachNumberField = value;
                this.RaisePropertyChanged("CoachNumber");
            }
        }
        
        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/rail_v53_0")]
    public partial class Characteristic1 : object, System.ComponentModel.INotifyPropertyChanged {
        
        private bool smokingField;
        
        private typeCoachClassType classField;
        
        private bool classFieldSpecified;
        
        public Characteristic1() {
            this.smokingField = false;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool Smoking {
            get {
                return this.smokingField;
            }
            set {
                this.smokingField = value;
                this.RaisePropertyChanged("Smoking");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public typeCoachClassType Class {
            get {
                return this.classField;
            }
            set {
                this.classField = value;
                this.RaisePropertyChanged("Class");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ClassSpecified {
            get {
                return this.classFieldSpecified;
            }
            set {
                this.classFieldSpecified = value;
                this.RaisePropertyChanged("ClassSpecified");
            }
        }
        
        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/rail_v53_0")]
    public enum typeCoachClassType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("First Class")]
        FirstClass,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("Standard Class")]
        StandardClass,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("First and Standard Class")]
        FirstandStandardClass,
        
        /// <remarks/>
        Other,
    }
    
    [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/rail_v53_0", Order=0)]
        public TravelPort.DemoSite.Service.Rails_53.RailSeatMapReq RailSeatMapReq;
        
        public serviceRequest5() {
        }
        
        public serviceRequest5(TravelPort.DemoSite.Service.Rails_53.RailSeatMapReq RailSeatMapReq) {
            this.RailSeatMapReq = RailSeatMapReq;
        }
    }
    
    [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/rail_v53_0", Order=0)]
        public TravelPort.DemoSite.Service.Rails_53.RailSeatMapRsp RailSeatMapRsp;
        
        public serviceResponse5() {
        }
        
        public serviceResponse5(TravelPort.DemoSite.Service.Rails_53.RailSeatMapRsp RailSeatMapRsp) {
            this.RailSeatMapRsp = RailSeatMapRsp;
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public interface RailSeatMapPortTypeChannel : TravelPort.DemoSite.Service.Rails_53.RailSeatMapPortType, System.ServiceModel.IClientChannel {
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public partial class RailSeatMapPortTypeClient : System.ServiceModel.ClientBase<TravelPort.DemoSite.Service.Rails_53.RailSeatMapPortType>, TravelPort.DemoSite.Service.Rails_53.RailSeatMapPortType {
        
        public RailSeatMapPortTypeClient() {
        }
        
        public RailSeatMapPortTypeClient(string endpointConfigurationName) : 
                base(endpointConfigurationName) {
        }
        
        public RailSeatMapPortTypeClient(string endpointConfigurationName, string remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public RailSeatMapPortTypeClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public RailSeatMapPortTypeClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(binding, remoteAddress) {
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        TravelPort.DemoSite.Service.Rails_53.serviceResponse5 TravelPort.DemoSite.Service.Rails_53.RailSeatMapPortType.service(TravelPort.DemoSite.Service.Rails_53.serviceRequest5 request) {
            return base.Channel.service(request);
        }
        
        public TravelPort.DemoSite.Service.Rails_53.RailSeatMapRsp service(TravelPort.DemoSite.Service.Rails_53.RailSeatMapReq RailSeatMapReq) {
            TravelPort.DemoSite.Service.Rails_53.serviceRequest5 inValue = new TravelPort.DemoSite.Service.Rails_53.serviceRequest5();
            inValue.RailSeatMapReq = RailSeatMapReq;
            TravelPort.DemoSite.Service.Rails_53.serviceResponse5 retVal = ((TravelPort.DemoSite.Service.Rails_53.RailSeatMapPortType)(this)).service(inValue);
            return retVal.RailSeatMapRsp;
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        System.Threading.Tasks.Task<TravelPort.DemoSite.Service.Rails_53.serviceResponse5> TravelPort.DemoSite.Service.Rails_53.RailSeatMapPortType.serviceAsync(TravelPort.DemoSite.Service.Rails_53.serviceRequest5 request) {
            return base.Channel.serviceAsync(request);
        }
        
        public System.Threading.Tasks.Task<TravelPort.DemoSite.Service.Rails_53.serviceResponse5> serviceAsync(TravelPort.DemoSite.Service.Rails_53.RailSeatMapReq RailSeatMapReq) {
            TravelPort.DemoSite.Service.Rails_53.serviceRequest5 inValue = new TravelPort.DemoSite.Service.Rails_53.serviceRequest5();
            inValue.RailSeatMapReq = RailSeatMapReq;
            return ((TravelPort.DemoSite.Service.Rails_53.RailSeatMapPortType)(this)).serviceAsync(inValue);
        }
    }
}
