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

// 
// This source code was auto-generated by Microsoft.VSDesigner, Version 4.0.30319.235.
// 
#pragma warning disable 1591

namespace Nop.Plugin.Shipping.Fedex.RateServiceWebReference {
    using System;
    using System.Web.Services;
    using System.Diagnostics;
    using System.Web.Services.Protocols;
    using System.ComponentModel;
    using System.Xml.Serialization;
    
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Web.Services.WebServiceBindingAttribute(Name="RateServiceSoapBinding", Namespace="http://fedex.com/ws/rate/v7")]
    public partial class RateService : System.Web.Services.Protocols.SoapHttpClientProtocol {
        
        private System.Threading.SendOrPostCallback getRatesOperationCompleted;
        
        private bool useDefaultCredentialsSetExplicitly;
        
        /// <remarks/>
        public RateService() {
            this.Url = global::Nop.Plugin.Shipping.Fedex.Properties.Settings.Default.Nop_Plugin_Shipping_Fedex_RateServiceWebReference_RateService;
            if ((this.IsLocalFileSystemWebService(this.Url) == true)) {
                this.UseDefaultCredentials = true;
                this.useDefaultCredentialsSetExplicitly = false;
            }
            else {
                this.useDefaultCredentialsSetExplicitly = true;
            }
        }
        
        public new string Url {
            get {
                return base.Url;
            }
            set {
                if ((((this.IsLocalFileSystemWebService(base.Url) == true) 
                            && (this.useDefaultCredentialsSetExplicitly == false)) 
                            && (this.IsLocalFileSystemWebService(value) == false))) {
                    base.UseDefaultCredentials = false;
                }
                base.Url = value;
            }
        }
        
        public new bool UseDefaultCredentials {
            get {
                return base.UseDefaultCredentials;
            }
            set {
                base.UseDefaultCredentials = value;
                this.useDefaultCredentialsSetExplicitly = true;
            }
        }
        
        /// <remarks/>
        public event getRatesCompletedEventHandler getRatesCompleted;
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("getRates", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Bare)]
        [return: System.Xml.Serialization.XmlElementAttribute("RateReply", Namespace="http://fedex.com/ws/rate/v7")]
        public RateReply getRates([System.Xml.Serialization.XmlElementAttribute(Namespace="http://fedex.com/ws/rate/v7")] RateRequest RateRequest) {
            object[] results = this.Invoke("getRates", new object[] {
                        RateRequest});
            return ((RateReply)(results[0]));
        }
        
        /// <remarks/>
        public void getRatesAsync(RateRequest RateRequest) {
            this.getRatesAsync(RateRequest, null);
        }
        
        /// <remarks/>
        public void getRatesAsync(RateRequest RateRequest, object userState) {
            if ((this.getRatesOperationCompleted == null)) {
                this.getRatesOperationCompleted = new System.Threading.SendOrPostCallback(this.OngetRatesOperationCompleted);
            }
            this.InvokeAsync("getRates", new object[] {
                        RateRequest}, this.getRatesOperationCompleted, userState);
        }
        
        private void OngetRatesOperationCompleted(object arg) {
            if ((this.getRatesCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.getRatesCompleted(this, new getRatesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        public new void CancelAsync(object userState) {
            base.CancelAsync(userState);
        }
        
        private bool IsLocalFileSystemWebService(string url) {
            if (((url == null) 
                        || (url == string.Empty))) {
                return false;
            }
            System.Uri wsUri = new System.Uri(url);
            if (((wsUri.Port >= 1024) 
                        && (string.Compare(wsUri.Host, "localHost", System.StringComparison.OrdinalIgnoreCase) == 0))) {
                return true;
            }
            return false;
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class RateRequest {
        
        private WebAuthenticationDetail webAuthenticationDetailField;
        
        private ClientDetail clientDetailField;
        
        private TransactionDetail transactionDetailField;
        
        private VersionId versionField;
        
        private bool returnTransitAndCommitField;
        
        private bool returnTransitAndCommitFieldSpecified;
        
        private CarrierCodeType[] carrierCodesField;
        
        private ServiceOptionType[] variableOptionsField;
        
        private RequestedShipment requestedShipmentField;
        
        /// <remarks/>
        public WebAuthenticationDetail WebAuthenticationDetail {
            get {
                return this.webAuthenticationDetailField;
            }
            set {
                this.webAuthenticationDetailField = value;
            }
        }
        
        /// <remarks/>
        public ClientDetail ClientDetail {
            get {
                return this.clientDetailField;
            }
            set {
                this.clientDetailField = value;
            }
        }
        
        /// <remarks/>
        public TransactionDetail TransactionDetail {
            get {
                return this.transactionDetailField;
            }
            set {
                this.transactionDetailField = value;
            }
        }
        
        /// <remarks/>
        public VersionId Version {
            get {
                return this.versionField;
            }
            set {
                this.versionField = value;
            }
        }
        
        /// <remarks/>
        public bool ReturnTransitAndCommit {
            get {
                return this.returnTransitAndCommitField;
            }
            set {
                this.returnTransitAndCommitField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ReturnTransitAndCommitSpecified {
            get {
                return this.returnTransitAndCommitFieldSpecified;
            }
            set {
                this.returnTransitAndCommitFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CarrierCodes")]
        public CarrierCodeType[] CarrierCodes {
            get {
                return this.carrierCodesField;
            }
            set {
                this.carrierCodesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("VariableOptions")]
        public ServiceOptionType[] VariableOptions {
            get {
                return this.variableOptionsField;
            }
            set {
                this.variableOptionsField = value;
            }
        }
        
        /// <remarks/>
        public RequestedShipment RequestedShipment {
            get {
                return this.requestedShipmentField;
            }
            set {
                this.requestedShipmentField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class WebAuthenticationDetail {
        
        private WebAuthenticationCredential userCredentialField;
        
        /// <remarks/>
        public WebAuthenticationCredential UserCredential {
            get {
                return this.userCredentialField;
            }
            set {
                this.userCredentialField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class WebAuthenticationCredential {
        
        private string keyField;
        
        private string passwordField;
        
        /// <remarks/>
        public string Key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
            }
        }
        
        /// <remarks/>
        public string Password {
            get {
                return this.passwordField;
            }
            set {
                this.passwordField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class PackageRateDetail {
        
        private ReturnedRateType rateTypeField;
        
        private bool rateTypeFieldSpecified;
        
        private RatedWeightMethod ratedWeightMethodField;
        
        private bool ratedWeightMethodFieldSpecified;
        
        private MinimumChargeType minimumChargeTypeField;
        
        private bool minimumChargeTypeFieldSpecified;
        
        private Weight billingWeightField;
        
        private Weight dimWeightField;
        
        private Weight oversizeWeightField;
        
        private Money baseChargeField;
        
        private Money totalFreightDiscountsField;
        
        private Money netFreightField;
        
        private Money totalSurchargesField;
        
        private Money netFedExChargeField;
        
        private Money totalTaxesField;
        
        private Money netChargeField;
        
        private Money totalRebatesField;
        
        private RateDiscount[] freightDiscountsField;
        
        private Rebate[] rebatesField;
        
        private Surcharge[] surchargesField;
        
        private Tax[] taxesField;
        
        private VariableHandlingCharges variableHandlingChargesField;
        
        /// <remarks/>
        public ReturnedRateType RateType {
            get {
                return this.rateTypeField;
            }
            set {
                this.rateTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RateTypeSpecified {
            get {
                return this.rateTypeFieldSpecified;
            }
            set {
                this.rateTypeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public RatedWeightMethod RatedWeightMethod {
            get {
                return this.ratedWeightMethodField;
            }
            set {
                this.ratedWeightMethodField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RatedWeightMethodSpecified {
            get {
                return this.ratedWeightMethodFieldSpecified;
            }
            set {
                this.ratedWeightMethodFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public MinimumChargeType MinimumChargeType {
            get {
                return this.minimumChargeTypeField;
            }
            set {
                this.minimumChargeTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool MinimumChargeTypeSpecified {
            get {
                return this.minimumChargeTypeFieldSpecified;
            }
            set {
                this.minimumChargeTypeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public Weight BillingWeight {
            get {
                return this.billingWeightField;
            }
            set {
                this.billingWeightField = value;
            }
        }
        
        /// <remarks/>
        public Weight DimWeight {
            get {
                return this.dimWeightField;
            }
            set {
                this.dimWeightField = value;
            }
        }
        
        /// <remarks/>
        public Weight OversizeWeight {
            get {
                return this.oversizeWeightField;
            }
            set {
                this.oversizeWeightField = value;
            }
        }
        
        /// <remarks/>
        public Money BaseCharge {
            get {
                return this.baseChargeField;
            }
            set {
                this.baseChargeField = value;
            }
        }
        
        /// <remarks/>
        public Money TotalFreightDiscounts {
            get {
                return this.totalFreightDiscountsField;
            }
            set {
                this.totalFreightDiscountsField = value;
            }
        }
        
        /// <remarks/>
        public Money NetFreight {
            get {
                return this.netFreightField;
            }
            set {
                this.netFreightField = value;
            }
        }
        
        /// <remarks/>
        public Money TotalSurcharges {
            get {
                return this.totalSurchargesField;
            }
            set {
                this.totalSurchargesField = value;
            }
        }
        
        /// <remarks/>
        public Money NetFedExCharge {
            get {
                return this.netFedExChargeField;
            }
            set {
                this.netFedExChargeField = value;
            }
        }
        
        /// <remarks/>
        public Money TotalTaxes {
            get {
                return this.totalTaxesField;
            }
            set {
                this.totalTaxesField = value;
            }
        }
        
        /// <remarks/>
        public Money NetCharge {
            get {
                return this.netChargeField;
            }
            set {
                this.netChargeField = value;
            }
        }
        
        /// <remarks/>
        public Money TotalRebates {
            get {
                return this.totalRebatesField;
            }
            set {
                this.totalRebatesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("FreightDiscounts")]
        public RateDiscount[] FreightDiscounts {
            get {
                return this.freightDiscountsField;
            }
            set {
                this.freightDiscountsField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Rebates")]
        public Rebate[] Rebates {
            get {
                return this.rebatesField;
            }
            set {
                this.rebatesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Surcharges")]
        public Surcharge[] Surcharges {
            get {
                return this.surchargesField;
            }
            set {
                this.surchargesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Taxes")]
        public Tax[] Taxes {
            get {
                return this.taxesField;
            }
            set {
                this.taxesField = value;
            }
        }
        
        /// <remarks/>
        public VariableHandlingCharges VariableHandlingCharges {
            get {
                return this.variableHandlingChargesField;
            }
            set {
                this.variableHandlingChargesField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum ReturnedRateType {
        
        /// <remarks/>
        PAYOR_ACCOUNT,
        
        /// <remarks/>
        PAYOR_LIST,
        
        /// <remarks/>
        PAYOR_MULTIWEIGHT,
        
        /// <remarks/>
        RATED_ACCOUNT,
        
        /// <remarks/>
        RATED_LIST,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum RatedWeightMethod {
        
        /// <remarks/>
        ACTUAL,
        
        /// <remarks/>
        DIM,
        
        /// <remarks/>
        FREIGHT_MINIMUM,
        
        /// <remarks/>
        OVERSIZE_1,
        
        /// <remarks/>
        OVERSIZE_2,
        
        /// <remarks/>
        OVERSIZE_3,
        
        /// <remarks/>
        BALLOON,
        
        /// <remarks/>
        MIXED,
        
        /// <remarks/>
        OVERSIZE,
        
        /// <remarks/>
        WEIGHT_BREAK,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum MinimumChargeType {
        
        /// <remarks/>
        CUSTOMER,
        
        /// <remarks/>
        CUSTOMER_FREIGHT_WEIGHT,
        
        /// <remarks/>
        EARNED_DISCOUNT,
        
        /// <remarks/>
        RATE_SCALE,
        
        /// <remarks/>
        MIXED,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class Weight {
        
        private WeightUnits unitsField;
        
        private decimal valueField;
        
        /// <remarks/>
        public WeightUnits Units {
            get {
                return this.unitsField;
            }
            set {
                this.unitsField = value;
            }
        }
        
        /// <remarks/>
        public decimal Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum WeightUnits {
        
        /// <remarks/>
        KG,
        
        /// <remarks/>
        LB,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class Money {
        
        private string currencyField;
        
        private decimal amountField;
        
        /// <remarks/>
        public string Currency {
            get {
                return this.currencyField;
            }
            set {
                this.currencyField = value;
            }
        }
        
        /// <remarks/>
        public decimal Amount {
            get {
                return this.amountField;
            }
            set {
                this.amountField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class RateDiscount {
        
        private RateDiscountType rateDiscountTypeField;
        
        private bool rateDiscountTypeFieldSpecified;
        
        private string descriptionField;
        
        private Money amountField;
        
        private decimal percentField;
        
        private bool percentFieldSpecified;
        
        /// <remarks/>
        public RateDiscountType RateDiscountType {
            get {
                return this.rateDiscountTypeField;
            }
            set {
                this.rateDiscountTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RateDiscountTypeSpecified {
            get {
                return this.rateDiscountTypeFieldSpecified;
            }
            set {
                this.rateDiscountTypeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public string Description {
            get {
                return this.descriptionField;
            }
            set {
                this.descriptionField = value;
            }
        }
        
        /// <remarks/>
        public Money Amount {
            get {
                return this.amountField;
            }
            set {
                this.amountField = value;
            }
        }
        
        /// <remarks/>
        public decimal Percent {
            get {
                return this.percentField;
            }
            set {
                this.percentField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PercentSpecified {
            get {
                return this.percentFieldSpecified;
            }
            set {
                this.percentFieldSpecified = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum RateDiscountType {
        
        /// <remarks/>
        BONUS,
        
        /// <remarks/>
        EARNED,
        
        /// <remarks/>
        OTHER,
        
        /// <remarks/>
        VOLUME,
        
        /// <remarks/>
        COUPON,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class Rebate {
        
        private RebateType rebateTypeField;
        
        private bool rebateTypeFieldSpecified;
        
        private string descriptionField;
        
        private Money amountField;
        
        private decimal percentField;
        
        private bool percentFieldSpecified;
        
        /// <remarks/>
        public RebateType RebateType {
            get {
                return this.rebateTypeField;
            }
            set {
                this.rebateTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RebateTypeSpecified {
            get {
                return this.rebateTypeFieldSpecified;
            }
            set {
                this.rebateTypeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public string Description {
            get {
                return this.descriptionField;
            }
            set {
                this.descriptionField = value;
            }
        }
        
        /// <remarks/>
        public Money Amount {
            get {
                return this.amountField;
            }
            set {
                this.amountField = value;
            }
        }
        
        /// <remarks/>
        public decimal Percent {
            get {
                return this.percentField;
            }
            set {
                this.percentField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PercentSpecified {
            get {
                return this.percentFieldSpecified;
            }
            set {
                this.percentFieldSpecified = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum RebateType {
        
        /// <remarks/>
        EARNED,
        
        /// <remarks/>
        OTHER,
        
        /// <remarks/>
        BONUS,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class Surcharge {
        
        private SurchargeType surchargeTypeField;
        
        private bool surchargeTypeFieldSpecified;
        
        private SurchargeLevelType levelField;
        
        private bool levelFieldSpecified;
        
        private string descriptionField;
        
        private Money amountField;
        
        /// <remarks/>
        public SurchargeType SurchargeType {
            get {
                return this.surchargeTypeField;
            }
            set {
                this.surchargeTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool SurchargeTypeSpecified {
            get {
                return this.surchargeTypeFieldSpecified;
            }
            set {
                this.surchargeTypeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public SurchargeLevelType Level {
            get {
                return this.levelField;
            }
            set {
                this.levelField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool LevelSpecified {
            get {
                return this.levelFieldSpecified;
            }
            set {
                this.levelFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public string Description {
            get {
                return this.descriptionField;
            }
            set {
                this.descriptionField = value;
            }
        }
        
        /// <remarks/>
        public Money Amount {
            get {
                return this.amountField;
            }
            set {
                this.amountField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum SurchargeType {
        
        /// <remarks/>
        ADDITIONAL_HANDLING,
        
        /// <remarks/>
        APPOINTMENT_DELIVERY,
        
        /// <remarks/>
        BROKER_SELECT_OPTION,
        
        /// <remarks/>
        CANADIAN_DESTINATION,
        
        /// <remarks/>
        CLEARANCE_ENTRY_FEE,
        
        /// <remarks/>
        COD,
        
        /// <remarks/>
        CUT_FLOWERS,
        
        /// <remarks/>
        DANGEROUS_GOODS,
        
        /// <remarks/>
        DELIVERY_AREA,
        
        /// <remarks/>
        DELIVERY_CONFIRMATION,
        
        /// <remarks/>
        DRY_ICE,
        
        /// <remarks/>
        EMAIL_LABEL,
        
        /// <remarks/>
        EUROPE_FIRST,
        
        /// <remarks/>
        EXHIBITION,
        
        /// <remarks/>
        EXPORT,
        
        /// <remarks/>
        EXTREME_LENGTH,
        
        /// <remarks/>
        FEDEX_TAG,
        
        /// <remarks/>
        FICE,
        
        /// <remarks/>
        FLATBED,
        
        /// <remarks/>
        FREIGHT_GUARANTEE,
        
        /// <remarks/>
        FUEL,
        
        /// <remarks/>
        HOME_DELIVERY_APPOINTMENT,
        
        /// <remarks/>
        HOME_DELIVERY_DATE_CERTAIN,
        
        /// <remarks/>
        HOME_DELIVERY_EVENING,
        
        /// <remarks/>
        INSIDE_DELIVERY,
        
        /// <remarks/>
        INSIDE_PICKUP,
        
        /// <remarks/>
        INSURED_VALUE,
        
        /// <remarks/>
        INTERHAWAII,
        
        /// <remarks/>
        ISLAND_DELIVERY,
        
        /// <remarks/>
        ISLAND_PICKUP,
        
        /// <remarks/>
        LIFTGATE_DELIVERY,
        
        /// <remarks/>
        LIFTGATE_PICKUP,
        
        /// <remarks/>
        LIMITED_ACCESS_DELIVERY,
        
        /// <remarks/>
        LIMITED_ACCESS_PICKUP,
        
        /// <remarks/>
        METRO_DELIVERY,
        
        /// <remarks/>
        METRO_PICKUP,
        
        /// <remarks/>
        NON_MACHINABLE,
        
        /// <remarks/>
        OFFSHORE,
        
        /// <remarks/>
        ON_CALL_PICKUP,
        
        /// <remarks/>
        OTHER,
        
        /// <remarks/>
        OUT_OF_DELIVERY_AREA,
        
        /// <remarks/>
        OUT_OF_PICKUP_AREA,
        
        /// <remarks/>
        OVERSIZE,
        
        /// <remarks/>
        OVER_DIMENSION,
        
        /// <remarks/>
        PIECE_COUNT_VERIFICATION,
        
        /// <remarks/>
        PRE_DELIVERY_NOTIFICATION,
        
        /// <remarks/>
        PRIORITY_ALERT,
        
        /// <remarks/>
        PROTECTION_FROM_FREEZING,
        
        /// <remarks/>
        REGIONAL_MALL_DELIVERY,
        
        /// <remarks/>
        REGIONAL_MALL_PICKUP,
        
        /// <remarks/>
        RESIDENTIAL_DELIVERY,
        
        /// <remarks/>
        RESIDENTIAL_PICKUP,
        
        /// <remarks/>
        RETURN_LABEL,
        
        /// <remarks/>
        SATURDAY_DELIVERY,
        
        /// <remarks/>
        SATURDAY_PICKUP,
        
        /// <remarks/>
        SIGNATURE_OPTION,
        
        /// <remarks/>
        TARP,
        
        /// <remarks/>
        TRANSMART_SERVICE_FEE,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum SurchargeLevelType {
        
        /// <remarks/>
        PACKAGE,
        
        /// <remarks/>
        SHIPMENT,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class Tax {
        
        private TaxType taxTypeField;
        
        private bool taxTypeFieldSpecified;
        
        private string descriptionField;
        
        private Money amountField;
        
        /// <remarks/>
        public TaxType TaxType {
            get {
                return this.taxTypeField;
            }
            set {
                this.taxTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool TaxTypeSpecified {
            get {
                return this.taxTypeFieldSpecified;
            }
            set {
                this.taxTypeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public string Description {
            get {
                return this.descriptionField;
            }
            set {
                this.descriptionField = value;
            }
        }
        
        /// <remarks/>
        public Money Amount {
            get {
                return this.amountField;
            }
            set {
                this.amountField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum TaxType {
        
        /// <remarks/>
        EXPORT,
        
        /// <remarks/>
        GST,
        
        /// <remarks/>
        HST,
        
        /// <remarks/>
        OTHER,
        
        /// <remarks/>
        PST,
        
        /// <remarks/>
        VAT,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class VariableHandlingCharges {
        
        private Money variableHandlingChargeField;
        
        private Money totalCustomerChargeField;
        
        /// <remarks/>
        public Money VariableHandlingCharge {
            get {
                return this.variableHandlingChargeField;
            }
            set {
                this.variableHandlingChargeField = value;
            }
        }
        
        /// <remarks/>
        public Money TotalCustomerCharge {
            get {
                return this.totalCustomerChargeField;
            }
            set {
                this.totalCustomerChargeField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class TrackingId {
        
        private TrackingIdType trackingIdTypeField;
        
        private bool trackingIdTypeFieldSpecified;
        
        private string formIdField;
        
        private string trackingNumberField;
        
        /// <remarks/>
        public TrackingIdType TrackingIdType {
            get {
                return this.trackingIdTypeField;
            }
            set {
                this.trackingIdTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool TrackingIdTypeSpecified {
            get {
                return this.trackingIdTypeFieldSpecified;
            }
            set {
                this.trackingIdTypeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public string FormId {
            get {
                return this.formIdField;
            }
            set {
                this.formIdField = value;
            }
        }
        
        /// <remarks/>
        public string TrackingNumber {
            get {
                return this.trackingNumberField;
            }
            set {
                this.trackingNumberField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum TrackingIdType {
        
        /// <remarks/>
        EXPRESS,
        
        /// <remarks/>
        GROUND,
        
        /// <remarks/>
        USPS,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class RatedPackageDetail {
        
        private TrackingId[] trackingIdsField;
        
        private string groupNumberField;
        
        private Money effectiveNetDiscountField;
        
        private Money adjustedCodCollectionAmountField;
        
        private OversizeClassType oversizeClassField;
        
        private bool oversizeClassFieldSpecified;
        
        private PackageRateDetail packageRateDetailField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("TrackingIds")]
        public TrackingId[] TrackingIds {
            get {
                return this.trackingIdsField;
            }
            set {
                this.trackingIdsField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="nonNegativeInteger")]
        public string GroupNumber {
            get {
                return this.groupNumberField;
            }
            set {
                this.groupNumberField = value;
            }
        }
        
        /// <remarks/>
        public Money EffectiveNetDiscount {
            get {
                return this.effectiveNetDiscountField;
            }
            set {
                this.effectiveNetDiscountField = value;
            }
        }
        
        /// <remarks/>
        public Money AdjustedCodCollectionAmount {
            get {
                return this.adjustedCodCollectionAmountField;
            }
            set {
                this.adjustedCodCollectionAmountField = value;
            }
        }
        
        /// <remarks/>
        public OversizeClassType OversizeClass {
            get {
                return this.oversizeClassField;
            }
            set {
                this.oversizeClassField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool OversizeClassSpecified {
            get {
                return this.oversizeClassFieldSpecified;
            }
            set {
                this.oversizeClassFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public PackageRateDetail PackageRateDetail {
            get {
                return this.packageRateDetailField;
            }
            set {
                this.packageRateDetailField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum OversizeClassType {
        
        /// <remarks/>
        OVERSIZE_1,
        
        /// <remarks/>
        OVERSIZE_2,
        
        /// <remarks/>
        OVERSIZE_3,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class EdtTaxDetail {
        
        private EdtTaxType taxTypeField;
        
        private bool taxTypeFieldSpecified;
        
        private System.DateTime effectiveDateField;
        
        private bool effectiveDateFieldSpecified;
        
        private string nameField;
        
        private Money taxableValueField;
        
        private string descriptionField;
        
        private string formulaField;
        
        private Money amountField;
        
        /// <remarks/>
        public EdtTaxType TaxType {
            get {
                return this.taxTypeField;
            }
            set {
                this.taxTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool TaxTypeSpecified {
            get {
                return this.taxTypeFieldSpecified;
            }
            set {
                this.taxTypeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="date")]
        public System.DateTime EffectiveDate {
            get {
                return this.effectiveDateField;
            }
            set {
                this.effectiveDateField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool EffectiveDateSpecified {
            get {
                return this.effectiveDateFieldSpecified;
            }
            set {
                this.effectiveDateFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public string Name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
            }
        }
        
        /// <remarks/>
        public Money TaxableValue {
            get {
                return this.taxableValueField;
            }
            set {
                this.taxableValueField = value;
            }
        }
        
        /// <remarks/>
        public string Description {
            get {
                return this.descriptionField;
            }
            set {
                this.descriptionField = value;
            }
        }
        
        /// <remarks/>
        public string Formula {
            get {
                return this.formulaField;
            }
            set {
                this.formulaField = value;
            }
        }
        
        /// <remarks/>
        public Money Amount {
            get {
                return this.amountField;
            }
            set {
                this.amountField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum EdtTaxType {
        
        /// <remarks/>
        ADDITIONAL_TAXES,
        
        /// <remarks/>
        CONSULAR_INVOICE_FEE,
        
        /// <remarks/>
        CUSTOMS_SURCHARGES,
        
        /// <remarks/>
        DUTY,
        
        /// <remarks/>
        EXCISE_TAX,
        
        /// <remarks/>
        FOREIGN_EXCHANGE_TAX,
        
        /// <remarks/>
        GENERAL_SALES_TAX,
        
        /// <remarks/>
        IMPORT_LICENSE_FEE,
        
        /// <remarks/>
        INTERNAL_ADDITIONAL_TAXES,
        
        /// <remarks/>
        INTERNAL_SENSITIVE_PRODUCTS_TAX,
        
        /// <remarks/>
        OTHER,
        
        /// <remarks/>
        SENSITIVE_PRODUCTS_TAX,
        
        /// <remarks/>
        STAMP_TAX,
        
        /// <remarks/>
        STATISTICAL_TAX,
        
        /// <remarks/>
        TRANSPORT_FACILITIES_TAX,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class EdtCommodityTax {
        
        private string harmonizedCodeField;
        
        private EdtTaxDetail[] taxesField;
        
        /// <remarks/>
        public string HarmonizedCode {
            get {
                return this.harmonizedCodeField;
            }
            set {
                this.harmonizedCodeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Taxes")]
        public EdtTaxDetail[] Taxes {
            get {
                return this.taxesField;
            }
            set {
                this.taxesField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class FreightRateNotation {
        
        private string codeField;
        
        private string descriptionField;
        
        /// <remarks/>
        public string Code {
            get {
                return this.codeField;
            }
            set {
                this.codeField = value;
            }
        }
        
        /// <remarks/>
        public string Description {
            get {
                return this.descriptionField;
            }
            set {
                this.descriptionField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class FreightBaseCharge {
        
        private FreightClassType freightClassField;
        
        private bool freightClassFieldSpecified;
        
        private FreightClassType ratedAsClassField;
        
        private bool ratedAsClassFieldSpecified;
        
        private string nmfcCodeField;
        
        private string descriptionField;
        
        private Weight weightField;
        
        private Money chargeRateField;
        
        private FreightChargeBasisType chargeBasisField;
        
        private bool chargeBasisFieldSpecified;
        
        private Money extendedAmountField;
        
        /// <remarks/>
        public FreightClassType FreightClass {
            get {
                return this.freightClassField;
            }
            set {
                this.freightClassField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FreightClassSpecified {
            get {
                return this.freightClassFieldSpecified;
            }
            set {
                this.freightClassFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public FreightClassType RatedAsClass {
            get {
                return this.ratedAsClassField;
            }
            set {
                this.ratedAsClassField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RatedAsClassSpecified {
            get {
                return this.ratedAsClassFieldSpecified;
            }
            set {
                this.ratedAsClassFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public string NmfcCode {
            get {
                return this.nmfcCodeField;
            }
            set {
                this.nmfcCodeField = value;
            }
        }
        
        /// <remarks/>
        public string Description {
            get {
                return this.descriptionField;
            }
            set {
                this.descriptionField = value;
            }
        }
        
        /// <remarks/>
        public Weight Weight {
            get {
                return this.weightField;
            }
            set {
                this.weightField = value;
            }
        }
        
        /// <remarks/>
        public Money ChargeRate {
            get {
                return this.chargeRateField;
            }
            set {
                this.chargeRateField = value;
            }
        }
        
        /// <remarks/>
        public FreightChargeBasisType ChargeBasis {
            get {
                return this.chargeBasisField;
            }
            set {
                this.chargeBasisField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ChargeBasisSpecified {
            get {
                return this.chargeBasisFieldSpecified;
            }
            set {
                this.chargeBasisFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public Money ExtendedAmount {
            get {
                return this.extendedAmountField;
            }
            set {
                this.extendedAmountField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum FreightClassType {
        
        /// <remarks/>
        CLASS_050,
        
        /// <remarks/>
        CLASS_055,
        
        /// <remarks/>
        CLASS_060,
        
        /// <remarks/>
        CLASS_065,
        
        /// <remarks/>
        CLASS_070,
        
        /// <remarks/>
        CLASS_077_5,
        
        /// <remarks/>
        CLASS_085,
        
        /// <remarks/>
        CLASS_092_5,
        
        /// <remarks/>
        CLASS_100,
        
        /// <remarks/>
        CLASS_110,
        
        /// <remarks/>
        CLASS_125,
        
        /// <remarks/>
        CLASS_150,
        
        /// <remarks/>
        CLASS_175,
        
        /// <remarks/>
        CLASS_200,
        
        /// <remarks/>
        CLASS_250,
        
        /// <remarks/>
        CLASS_300,
        
        /// <remarks/>
        CLASS_400,
        
        /// <remarks/>
        CLASS_500,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum FreightChargeBasisType {
        
        /// <remarks/>
        CWT,
        
        /// <remarks/>
        FLAT,
        
        /// <remarks/>
        MINIMUM,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class FreightRateDetail {
        
        private string quoteNumberField;
        
        private FreightBaseCharge[] baseChargesField;
        
        private FreightRateNotation[] notationsField;
        
        /// <remarks/>
        public string QuoteNumber {
            get {
                return this.quoteNumberField;
            }
            set {
                this.quoteNumberField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("BaseCharges")]
        public FreightBaseCharge[] BaseCharges {
            get {
                return this.baseChargesField;
            }
            set {
                this.baseChargesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Notations")]
        public FreightRateNotation[] Notations {
            get {
                return this.notationsField;
            }
            set {
                this.notationsField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class CurrencyExchangeRate {
        
        private string fromCurrencyField;
        
        private string intoCurrencyField;
        
        private decimal rateField;
        
        private bool rateFieldSpecified;
        
        /// <remarks/>
        public string FromCurrency {
            get {
                return this.fromCurrencyField;
            }
            set {
                this.fromCurrencyField = value;
            }
        }
        
        /// <remarks/>
        public string IntoCurrency {
            get {
                return this.intoCurrencyField;
            }
            set {
                this.intoCurrencyField = value;
            }
        }
        
        /// <remarks/>
        public decimal Rate {
            get {
                return this.rateField;
            }
            set {
                this.rateField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RateSpecified {
            get {
                return this.rateFieldSpecified;
            }
            set {
                this.rateFieldSpecified = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class ShipmentRateDetail {
        
        private ReturnedRateType rateTypeField;
        
        private bool rateTypeFieldSpecified;
        
        private string rateScaleField;
        
        private string rateZoneField;
        
        private PricingCodeType pricingCodeField;
        
        private bool pricingCodeFieldSpecified;
        
        private RatedWeightMethod ratedWeightMethodField;
        
        private bool ratedWeightMethodFieldSpecified;
        
        private MinimumChargeType minimumChargeTypeField;
        
        private bool minimumChargeTypeFieldSpecified;
        
        private CurrencyExchangeRate currencyExchangeRateField;
        
        private SpecialRatingAppliedType[] specialRatingAppliedField;
        
        private string dimDivisorField;
        
        private decimal fuelSurchargePercentField;
        
        private bool fuelSurchargePercentFieldSpecified;
        
        private Weight totalBillingWeightField;
        
        private Weight totalDimWeightField;
        
        private Money totalBaseChargeField;
        
        private Money totalFreightDiscountsField;
        
        private Money totalNetFreightField;
        
        private Money totalSurchargesField;
        
        private Money totalNetFedExChargeField;
        
        private Money totalTaxesField;
        
        private Money totalNetChargeField;
        
        private Money totalRebatesField;
        
        private Money totalDutiesAndTaxesField;
        
        private Money totalNetChargeWithDutiesAndTaxesField;
        
        private FreightRateDetail freightRateDetailField;
        
        private RateDiscount[] freightDiscountsField;
        
        private Rebate[] rebatesField;
        
        private Surcharge[] surchargesField;
        
        private Tax[] taxesField;
        
        private EdtCommodityTax[] dutiesAndTaxesField;
        
        private VariableHandlingCharges variableHandlingChargesField;
        
        private VariableHandlingCharges totalVariableHandlingChargesField;
        
        /// <remarks/>
        public ReturnedRateType RateType {
            get {
                return this.rateTypeField;
            }
            set {
                this.rateTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RateTypeSpecified {
            get {
                return this.rateTypeFieldSpecified;
            }
            set {
                this.rateTypeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public string RateScale {
            get {
                return this.rateScaleField;
            }
            set {
                this.rateScaleField = value;
            }
        }
        
        /// <remarks/>
        public string RateZone {
            get {
                return this.rateZoneField;
            }
            set {
                this.rateZoneField = value;
            }
        }
        
        /// <remarks/>
        public PricingCodeType PricingCode {
            get {
                return this.pricingCodeField;
            }
            set {
                this.pricingCodeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PricingCodeSpecified {
            get {
                return this.pricingCodeFieldSpecified;
            }
            set {
                this.pricingCodeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public RatedWeightMethod RatedWeightMethod {
            get {
                return this.ratedWeightMethodField;
            }
            set {
                this.ratedWeightMethodField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RatedWeightMethodSpecified {
            get {
                return this.ratedWeightMethodFieldSpecified;
            }
            set {
                this.ratedWeightMethodFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public MinimumChargeType MinimumChargeType {
            get {
                return this.minimumChargeTypeField;
            }
            set {
                this.minimumChargeTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool MinimumChargeTypeSpecified {
            get {
                return this.minimumChargeTypeFieldSpecified;
            }
            set {
                this.minimumChargeTypeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public CurrencyExchangeRate CurrencyExchangeRate {
            get {
                return this.currencyExchangeRateField;
            }
            set {
                this.currencyExchangeRateField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SpecialRatingApplied")]
        public SpecialRatingAppliedType[] SpecialRatingApplied {
            get {
                return this.specialRatingAppliedField;
            }
            set {
                this.specialRatingAppliedField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="nonNegativeInteger")]
        public string DimDivisor {
            get {
                return this.dimDivisorField;
            }
            set {
                this.dimDivisorField = value;
            }
        }
        
        /// <remarks/>
        public decimal FuelSurchargePercent {
            get {
                return this.fuelSurchargePercentField;
            }
            set {
                this.fuelSurchargePercentField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FuelSurchargePercentSpecified {
            get {
                return this.fuelSurchargePercentFieldSpecified;
            }
            set {
                this.fuelSurchargePercentFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public Weight TotalBillingWeight {
            get {
                return this.totalBillingWeightField;
            }
            set {
                this.totalBillingWeightField = value;
            }
        }
        
        /// <remarks/>
        public Weight TotalDimWeight {
            get {
                return this.totalDimWeightField;
            }
            set {
                this.totalDimWeightField = value;
            }
        }
        
        /// <remarks/>
        public Money TotalBaseCharge {
            get {
                return this.totalBaseChargeField;
            }
            set {
                this.totalBaseChargeField = value;
            }
        }
        
        /// <remarks/>
        public Money TotalFreightDiscounts {
            get {
                return this.totalFreightDiscountsField;
            }
            set {
                this.totalFreightDiscountsField = value;
            }
        }
        
        /// <remarks/>
        public Money TotalNetFreight {
            get {
                return this.totalNetFreightField;
            }
            set {
                this.totalNetFreightField = value;
            }
        }
        
        /// <remarks/>
        public Money TotalSurcharges {
            get {
                return this.totalSurchargesField;
            }
            set {
                this.totalSurchargesField = value;
            }
        }
        
        /// <remarks/>
        public Money TotalNetFedExCharge {
            get {
                return this.totalNetFedExChargeField;
            }
            set {
                this.totalNetFedExChargeField = value;
            }
        }
        
        /// <remarks/>
        public Money TotalTaxes {
            get {
                return this.totalTaxesField;
            }
            set {
                this.totalTaxesField = value;
            }
        }
        
        /// <remarks/>
        public Money TotalNetCharge {
            get {
                return this.totalNetChargeField;
            }
            set {
                this.totalNetChargeField = value;
            }
        }
        
        /// <remarks/>
        public Money TotalRebates {
            get {
                return this.totalRebatesField;
            }
            set {
                this.totalRebatesField = value;
            }
        }
        
        /// <remarks/>
        public Money TotalDutiesAndTaxes {
            get {
                return this.totalDutiesAndTaxesField;
            }
            set {
                this.totalDutiesAndTaxesField = value;
            }
        }
        
        /// <remarks/>
        public Money TotalNetChargeWithDutiesAndTaxes {
            get {
                return this.totalNetChargeWithDutiesAndTaxesField;
            }
            set {
                this.totalNetChargeWithDutiesAndTaxesField = value;
            }
        }
        
        /// <remarks/>
        public FreightRateDetail FreightRateDetail {
            get {
                return this.freightRateDetailField;
            }
            set {
                this.freightRateDetailField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("FreightDiscounts")]
        public RateDiscount[] FreightDiscounts {
            get {
                return this.freightDiscountsField;
            }
            set {
                this.freightDiscountsField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Rebates")]
        public Rebate[] Rebates {
            get {
                return this.rebatesField;
            }
            set {
                this.rebatesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Surcharges")]
        public Surcharge[] Surcharges {
            get {
                return this.surchargesField;
            }
            set {
                this.surchargesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Taxes")]
        public Tax[] Taxes {
            get {
                return this.taxesField;
            }
            set {
                this.taxesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("DutiesAndTaxes")]
        public EdtCommodityTax[] DutiesAndTaxes {
            get {
                return this.dutiesAndTaxesField;
            }
            set {
                this.dutiesAndTaxesField = value;
            }
        }
        
        /// <remarks/>
        public VariableHandlingCharges VariableHandlingCharges {
            get {
                return this.variableHandlingChargesField;
            }
            set {
                this.variableHandlingChargesField = value;
            }
        }
        
        /// <remarks/>
        public VariableHandlingCharges TotalVariableHandlingCharges {
            get {
                return this.totalVariableHandlingChargesField;
            }
            set {
                this.totalVariableHandlingChargesField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum PricingCodeType {
        
        /// <remarks/>
        ACTUAL,
        
        /// <remarks/>
        ALTERNATE,
        
        /// <remarks/>
        BASE,
        
        /// <remarks/>
        HUNDREDWEIGHT,
        
        /// <remarks/>
        HUNDREDWEIGHT_ALTERNATE,
        
        /// <remarks/>
        INTERNATIONAL_DISTRIBUTION,
        
        /// <remarks/>
        INTERNATIONAL_ECONOMY_SERVICE,
        
        /// <remarks/>
        LTL_FREIGHT,
        
        /// <remarks/>
        PACKAGE,
        
        /// <remarks/>
        SHIPMENT,
        
        /// <remarks/>
        SHIPMENT_FIVE_POUND_OPTIONAL,
        
        /// <remarks/>
        SHIPMENT_OPTIONAL,
        
        /// <remarks/>
        SPECIAL,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum SpecialRatingAppliedType {
        
        /// <remarks/>
        FIXED_FUEL_SURCHARGE,
        
        /// <remarks/>
        IMPORT_PRICING,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class RatedShipmentDetail {
        
        private Money effectiveNetDiscountField;
        
        private Money adjustedCodCollectionAmountField;
        
        private ShipmentRateDetail shipmentRateDetailField;
        
        private RatedPackageDetail[] ratedPackagesField;
        
        /// <remarks/>
        public Money EffectiveNetDiscount {
            get {
                return this.effectiveNetDiscountField;
            }
            set {
                this.effectiveNetDiscountField = value;
            }
        }
        
        /// <remarks/>
        public Money AdjustedCodCollectionAmount {
            get {
                return this.adjustedCodCollectionAmountField;
            }
            set {
                this.adjustedCodCollectionAmountField = value;
            }
        }
        
        /// <remarks/>
        public ShipmentRateDetail ShipmentRateDetail {
            get {
                return this.shipmentRateDetailField;
            }
            set {
                this.shipmentRateDetailField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RatedPackages")]
        public RatedPackageDetail[] RatedPackages {
            get {
                return this.ratedPackagesField;
            }
            set {
                this.ratedPackagesField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class Distance {
        
        private decimal valueField;
        
        private bool valueFieldSpecified;
        
        private DistanceUnits unitsField;
        
        private bool unitsFieldSpecified;
        
        /// <remarks/>
        public decimal Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ValueSpecified {
            get {
                return this.valueFieldSpecified;
            }
            set {
                this.valueFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public DistanceUnits Units {
            get {
                return this.unitsField;
            }
            set {
                this.unitsField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool UnitsSpecified {
            get {
                return this.unitsFieldSpecified;
            }
            set {
                this.unitsFieldSpecified = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum DistanceUnits {
        
        /// <remarks/>
        KM,
        
        /// <remarks/>
        MI,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class FreightServiceCenterDetail {
        
        private string interlineCarrierCodeField;
        
        private string interlineCarrierNameField;
        
        private int additionalDaysField;
        
        private bool additionalDaysFieldSpecified;
        
        private ServiceType localServiceField;
        
        private bool localServiceFieldSpecified;
        
        private Distance localDistanceField;
        
        private string localDurationField;
        
        private FreightServiceSchedulingType localServiceSchedulingField;
        
        private bool localServiceSchedulingFieldSpecified;
        
        private DayOfWeekType[] limitedServiceDaysField;
        
        private string gatewayLocationIdField;
        
        /// <remarks/>
        public string InterlineCarrierCode {
            get {
                return this.interlineCarrierCodeField;
            }
            set {
                this.interlineCarrierCodeField = value;
            }
        }
        
        /// <remarks/>
        public string InterlineCarrierName {
            get {
                return this.interlineCarrierNameField;
            }
            set {
                this.interlineCarrierNameField = value;
            }
        }
        
        /// <remarks/>
        public int AdditionalDays {
            get {
                return this.additionalDaysField;
            }
            set {
                this.additionalDaysField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AdditionalDaysSpecified {
            get {
                return this.additionalDaysFieldSpecified;
            }
            set {
                this.additionalDaysFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public ServiceType LocalService {
            get {
                return this.localServiceField;
            }
            set {
                this.localServiceField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool LocalServiceSpecified {
            get {
                return this.localServiceFieldSpecified;
            }
            set {
                this.localServiceFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public Distance LocalDistance {
            get {
                return this.localDistanceField;
            }
            set {
                this.localDistanceField = value;
            }
        }
        
        /// <remarks/>
        public string LocalDuration {
            get {
                return this.localDurationField;
            }
            set {
                this.localDurationField = value;
            }
        }
        
        /// <remarks/>
        public FreightServiceSchedulingType LocalServiceScheduling {
            get {
                return this.localServiceSchedulingField;
            }
            set {
                this.localServiceSchedulingField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool LocalServiceSchedulingSpecified {
            get {
                return this.localServiceSchedulingFieldSpecified;
            }
            set {
                this.localServiceSchedulingFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("LimitedServiceDays")]
        public DayOfWeekType[] LimitedServiceDays {
            get {
                return this.limitedServiceDaysField;
            }
            set {
                this.limitedServiceDaysField = value;
            }
        }
        
        /// <remarks/>
        public string GatewayLocationId {
            get {
                return this.gatewayLocationIdField;
            }
            set {
                this.gatewayLocationIdField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum ServiceType {
        
        /// <remarks/>
        EUROPE_FIRST_INTERNATIONAL_PRIORITY,
        
        /// <remarks/>
        FEDEX_1_DAY_FREIGHT,
        
        /// <remarks/>
        FEDEX_2_DAY,
        
        /// <remarks/>
        FEDEX_2_DAY_FREIGHT,
        
        /// <remarks/>
        FEDEX_3_DAY_FREIGHT,
        
        /// <remarks/>
        FEDEX_EXPRESS_SAVER,
        
        /// <remarks/>
        FEDEX_GROUND,
        
        /// <remarks/>
        FIRST_OVERNIGHT,
        
        /// <remarks/>
        GROUND_HOME_DELIVERY,
        
        /// <remarks/>
        INTERNATIONAL_ECONOMY,
        
        /// <remarks/>
        INTERNATIONAL_ECONOMY_FREIGHT,
        
        /// <remarks/>
        INTERNATIONAL_FIRST,
        
        /// <remarks/>
        INTERNATIONAL_PRIORITY,
        
        /// <remarks/>
        INTERNATIONAL_PRIORITY_FREIGHT,
        
        /// <remarks/>
        PRIORITY_OVERNIGHT,
        
        /// <remarks/>
        SMART_POST,
        
        /// <remarks/>
        STANDARD_OVERNIGHT,
        
        /// <remarks/>
        FEDEX_FREIGHT,
        
        /// <remarks/>
        FEDEX_NATIONAL_FREIGHT,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum FreightServiceSchedulingType {
        
        /// <remarks/>
        LIMITED,
        
        /// <remarks/>
        STANDARD,
        
        /// <remarks/>
        WILL_CALL,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum DayOfWeekType {
        
        /// <remarks/>
        FRI,
        
        /// <remarks/>
        MON,
        
        /// <remarks/>
        SAT,
        
        /// <remarks/>
        SUN,
        
        /// <remarks/>
        THU,
        
        /// <remarks/>
        TUE,
        
        /// <remarks/>
        WED,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class FreightCommitDetail {
        
        private FreightServiceCenterDetail originDetailField;
        
        private FreightServiceCenterDetail destinationDetailField;
        
        private Distance totalDistanceField;
        
        /// <remarks/>
        public FreightServiceCenterDetail OriginDetail {
            get {
                return this.originDetailField;
            }
            set {
                this.originDetailField = value;
            }
        }
        
        /// <remarks/>
        public FreightServiceCenterDetail DestinationDetail {
            get {
                return this.destinationDetailField;
            }
            set {
                this.destinationDetailField = value;
            }
        }
        
        /// <remarks/>
        public Distance TotalDistance {
            get {
                return this.totalDistanceField;
            }
            set {
                this.totalDistanceField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class DelayDetail {
        
        private System.DateTime dateField;
        
        private bool dateFieldSpecified;
        
        private DayOfWeekType dayOfWeekField;
        
        private bool dayOfWeekFieldSpecified;
        
        private DelayLevelType levelField;
        
        private bool levelFieldSpecified;
        
        private DelayPointType pointField;
        
        private bool pointFieldSpecified;
        
        private CommitmentDelayType typeField;
        
        private bool typeFieldSpecified;
        
        private string descriptionField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="date")]
        public System.DateTime Date {
            get {
                return this.dateField;
            }
            set {
                this.dateField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DateSpecified {
            get {
                return this.dateFieldSpecified;
            }
            set {
                this.dateFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public DayOfWeekType DayOfWeek {
            get {
                return this.dayOfWeekField;
            }
            set {
                this.dayOfWeekField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DayOfWeekSpecified {
            get {
                return this.dayOfWeekFieldSpecified;
            }
            set {
                this.dayOfWeekFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public DelayLevelType Level {
            get {
                return this.levelField;
            }
            set {
                this.levelField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool LevelSpecified {
            get {
                return this.levelFieldSpecified;
            }
            set {
                this.levelFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public DelayPointType Point {
            get {
                return this.pointField;
            }
            set {
                this.pointField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PointSpecified {
            get {
                return this.pointFieldSpecified;
            }
            set {
                this.pointFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public CommitmentDelayType Type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool TypeSpecified {
            get {
                return this.typeFieldSpecified;
            }
            set {
                this.typeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public string Description {
            get {
                return this.descriptionField;
            }
            set {
                this.descriptionField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum DelayLevelType {
        
        /// <remarks/>
        CITY,
        
        /// <remarks/>
        COUNTRY,
        
        /// <remarks/>
        LOCATION,
        
        /// <remarks/>
        POSTAL_CODE,
        
        /// <remarks/>
        SERVICE_AREA,
        
        /// <remarks/>
        SERVICE_AREA_SPECIAL_SERVICE,
        
        /// <remarks/>
        SPECIAL_SERVICE,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum DelayPointType {
        
        /// <remarks/>
        BROKER,
        
        /// <remarks/>
        DESTINATION,
        
        /// <remarks/>
        ORIGIN,
        
        /// <remarks/>
        ORIGIN_DESTINATION_PAIR,
        
        /// <remarks/>
        PROOF_OF_DELIVERY_POINT,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum CommitmentDelayType {
        
        /// <remarks/>
        HOLIDAY,
        
        /// <remarks/>
        NON_WORKDAY,
        
        /// <remarks/>
        NO_CITY_DELIVERY,
        
        /// <remarks/>
        NO_HOLD_AT_LOCATION,
        
        /// <remarks/>
        NO_LOCATION_DELIVERY,
        
        /// <remarks/>
        NO_SERVICE_AREA_DELIVERY,
        
        /// <remarks/>
        NO_SERVICE_AREA_SPECIAL_SERVICE_DELIVERY,
        
        /// <remarks/>
        NO_SPECIAL_SERVICE_DELIVERY,
        
        /// <remarks/>
        NO_ZIP_DELIVERY,
        
        /// <remarks/>
        WEEKEND,
        
        /// <remarks/>
        WEEKEND_SPECIAL,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class CommitDetail {
        
        private string commodityNameField;
        
        private ServiceType serviceTypeField;
        
        private bool serviceTypeFieldSpecified;
        
        private ServiceOptionType[] appliedOptionsField;
        
        private System.DateTime commitTimestampField;
        
        private bool commitTimestampFieldSpecified;
        
        private DayOfWeekType dayOfWeekField;
        
        private bool dayOfWeekFieldSpecified;
        
        private TransitTimeType transitTimeField;
        
        private bool transitTimeFieldSpecified;
        
        private string destinationServiceAreaField;
        
        private Address brokerAddressField;
        
        private string brokerLocationIdField;
        
        private System.DateTime brokerCommitTimestampField;
        
        private bool brokerCommitTimestampFieldSpecified;
        
        private DayOfWeekType brokerCommitDayOfWeekField;
        
        private bool brokerCommitDayOfWeekFieldSpecified;
        
        private string brokerToDestinationDaysField;
        
        private System.DateTime proofOfDeliveryDateField;
        
        private bool proofOfDeliveryDateFieldSpecified;
        
        private DayOfWeekType proofOfDeliveryDayOfWeekField;
        
        private bool proofOfDeliveryDayOfWeekFieldSpecified;
        
        private Notification[] commitMessagesField;
        
        private string[] deliveryMessagesField;
        
        private DelayDetail[] delayDetailsField;
        
        private RequiredShippingDocumentType[] requiredDocumentsField;
        
        private FreightCommitDetail freightCommitDetailField;
        
        /// <remarks/>
        public string CommodityName {
            get {
                return this.commodityNameField;
            }
            set {
                this.commodityNameField = value;
            }
        }
        
        /// <remarks/>
        public ServiceType ServiceType {
            get {
                return this.serviceTypeField;
            }
            set {
                this.serviceTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ServiceTypeSpecified {
            get {
                return this.serviceTypeFieldSpecified;
            }
            set {
                this.serviceTypeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AppliedOptions")]
        public ServiceOptionType[] AppliedOptions {
            get {
                return this.appliedOptionsField;
            }
            set {
                this.appliedOptionsField = value;
            }
        }
        
        /// <remarks/>
        public System.DateTime CommitTimestamp {
            get {
                return this.commitTimestampField;
            }
            set {
                this.commitTimestampField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool CommitTimestampSpecified {
            get {
                return this.commitTimestampFieldSpecified;
            }
            set {
                this.commitTimestampFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public DayOfWeekType DayOfWeek {
            get {
                return this.dayOfWeekField;
            }
            set {
                this.dayOfWeekField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DayOfWeekSpecified {
            get {
                return this.dayOfWeekFieldSpecified;
            }
            set {
                this.dayOfWeekFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public TransitTimeType TransitTime {
            get {
                return this.transitTimeField;
            }
            set {
                this.transitTimeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool TransitTimeSpecified {
            get {
                return this.transitTimeFieldSpecified;
            }
            set {
                this.transitTimeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public string DestinationServiceArea {
            get {
                return this.destinationServiceAreaField;
            }
            set {
                this.destinationServiceAreaField = value;
            }
        }
        
        /// <remarks/>
        public Address BrokerAddress {
            get {
                return this.brokerAddressField;
            }
            set {
                this.brokerAddressField = value;
            }
        }
        
        /// <remarks/>
        public string BrokerLocationId {
            get {
                return this.brokerLocationIdField;
            }
            set {
                this.brokerLocationIdField = value;
            }
        }
        
        /// <remarks/>
        public System.DateTime BrokerCommitTimestamp {
            get {
                return this.brokerCommitTimestampField;
            }
            set {
                this.brokerCommitTimestampField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool BrokerCommitTimestampSpecified {
            get {
                return this.brokerCommitTimestampFieldSpecified;
            }
            set {
                this.brokerCommitTimestampFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public DayOfWeekType BrokerCommitDayOfWeek {
            get {
                return this.brokerCommitDayOfWeekField;
            }
            set {
                this.brokerCommitDayOfWeekField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool BrokerCommitDayOfWeekSpecified {
            get {
                return this.brokerCommitDayOfWeekFieldSpecified;
            }
            set {
                this.brokerCommitDayOfWeekFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="nonNegativeInteger")]
        public string BrokerToDestinationDays {
            get {
                return this.brokerToDestinationDaysField;
            }
            set {
                this.brokerToDestinationDaysField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="date")]
        public System.DateTime ProofOfDeliveryDate {
            get {
                return this.proofOfDeliveryDateField;
            }
            set {
                this.proofOfDeliveryDateField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ProofOfDeliveryDateSpecified {
            get {
                return this.proofOfDeliveryDateFieldSpecified;
            }
            set {
                this.proofOfDeliveryDateFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public DayOfWeekType ProofOfDeliveryDayOfWeek {
            get {
                return this.proofOfDeliveryDayOfWeekField;
            }
            set {
                this.proofOfDeliveryDayOfWeekField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ProofOfDeliveryDayOfWeekSpecified {
            get {
                return this.proofOfDeliveryDayOfWeekFieldSpecified;
            }
            set {
                this.proofOfDeliveryDayOfWeekFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CommitMessages")]
        public Notification[] CommitMessages {
            get {
                return this.commitMessagesField;
            }
            set {
                this.commitMessagesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("DeliveryMessages")]
        public string[] DeliveryMessages {
            get {
                return this.deliveryMessagesField;
            }
            set {
                this.deliveryMessagesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("DelayDetails")]
        public DelayDetail[] DelayDetails {
            get {
                return this.delayDetailsField;
            }
            set {
                this.delayDetailsField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RequiredDocuments")]
        public RequiredShippingDocumentType[] RequiredDocuments {
            get {
                return this.requiredDocumentsField;
            }
            set {
                this.requiredDocumentsField = value;
            }
        }
        
        /// <remarks/>
        public FreightCommitDetail FreightCommitDetail {
            get {
                return this.freightCommitDetailField;
            }
            set {
                this.freightCommitDetailField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum ServiceOptionType {
        
        /// <remarks/>
        SATURDAY_DELIVERY,
        
        /// <remarks/>
        FREIGHT_GUARANTEE,
        
        /// <remarks/>
        SMARTPOST_HUB_ID,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum TransitTimeType {
        
        /// <remarks/>
        ONE_DAY,
        
        /// <remarks/>
        TWO_DAYS,
        
        /// <remarks/>
        THREE_DAYS,
        
        /// <remarks/>
        FOUR_DAYS,
        
        /// <remarks/>
        FIVE_DAYS,
        
        /// <remarks/>
        SIX_DAYS,
        
        /// <remarks/>
        SEVEN_DAYS,
        
        /// <remarks/>
        EIGHT_DAYS,
        
        /// <remarks/>
        NINE_DAYS,
        
        /// <remarks/>
        TEN_DAYS,
        
        /// <remarks/>
        ELEVEN_DAYS,
        
        /// <remarks/>
        TWELVE_DAYS,
        
        /// <remarks/>
        THIRTEEN_DAYS,
        
        /// <remarks/>
        FOURTEEN_DAYS,
        
        /// <remarks/>
        FIFTEEN_DAYS,
        
        /// <remarks/>
        SIXTEEN_DAYS,
        
        /// <remarks/>
        SEVENTEEN_DAYS,
        
        /// <remarks/>
        EIGHTEEN_DAYS,
        
        /// <remarks/>
        NINETEEN_DAYS,
        
        /// <remarks/>
        TWENTY_DAYS,
        
        /// <remarks/>
        UNKNOWN,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class Address {
        
        private string[] streetLinesField;
        
        private string cityField;
        
        private string stateOrProvinceCodeField;
        
        private string postalCodeField;
        
        private string urbanizationCodeField;
        
        private string countryCodeField;
        
        private bool residentialField;
        
        private bool residentialFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("StreetLines")]
        public string[] StreetLines {
            get {
                return this.streetLinesField;
            }
            set {
                this.streetLinesField = value;
            }
        }
        
        /// <remarks/>
        public string City {
            get {
                return this.cityField;
            }
            set {
                this.cityField = value;
            }
        }
        
        /// <remarks/>
        public string StateOrProvinceCode {
            get {
                return this.stateOrProvinceCodeField;
            }
            set {
                this.stateOrProvinceCodeField = value;
            }
        }
        
        /// <remarks/>
        public string PostalCode {
            get {
                return this.postalCodeField;
            }
            set {
                this.postalCodeField = value;
            }
        }
        
        /// <remarks/>
        public string UrbanizationCode {
            get {
                return this.urbanizationCodeField;
            }
            set {
                this.urbanizationCodeField = value;
            }
        }
        
        /// <remarks/>
        public string CountryCode {
            get {
                return this.countryCodeField;
            }
            set {
                this.countryCodeField = value;
            }
        }
        
        /// <remarks/>
        public bool Residential {
            get {
                return this.residentialField;
            }
            set {
                this.residentialField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ResidentialSpecified {
            get {
                return this.residentialFieldSpecified;
            }
            set {
                this.residentialFieldSpecified = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class Notification {
        
        private NotificationSeverityType severityField;
        
        private string sourceField;
        
        private string codeField;
        
        private string messageField;
        
        private string localizedMessageField;
        
        private NotificationParameter[] messageParametersField;
        
        /// <remarks/>
        public NotificationSeverityType Severity {
            get {
                return this.severityField;
            }
            set {
                this.severityField = value;
            }
        }
        
        /// <remarks/>
        public string Source {
            get {
                return this.sourceField;
            }
            set {
                this.sourceField = value;
            }
        }
        
        /// <remarks/>
        public string Code {
            get {
                return this.codeField;
            }
            set {
                this.codeField = value;
            }
        }
        
        /// <remarks/>
        public string Message {
            get {
                return this.messageField;
            }
            set {
                this.messageField = value;
            }
        }
        
        /// <remarks/>
        public string LocalizedMessage {
            get {
                return this.localizedMessageField;
            }
            set {
                this.localizedMessageField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("MessageParameters")]
        public NotificationParameter[] MessageParameters {
            get {
                return this.messageParametersField;
            }
            set {
                this.messageParametersField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum NotificationSeverityType {
        
        /// <remarks/>
        SUCCESS,
        
        /// <remarks/>
        NOTE,
        
        /// <remarks/>
        WARNING,
        
        /// <remarks/>
        ERROR,
        
        /// <remarks/>
        FAILURE,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class NotificationParameter {
        
        private string idField;
        
        private string valueField;
        
        /// <remarks/>
        public string Id {
            get {
                return this.idField;
            }
            set {
                this.idField = value;
            }
        }
        
        /// <remarks/>
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum RequiredShippingDocumentType {
        
        /// <remarks/>
        CANADIAN_B13A,
        
        /// <remarks/>
        CERTIFICATE_OF_ORIGIN,
        
        /// <remarks/>
        COMMERCIAL_INVOICE,
        
        /// <remarks/>
        INTERNATIONAL_AIRWAY_BILL,
        
        /// <remarks/>
        MAIL_SERVICE_AIRWAY_BILL,
        
        /// <remarks/>
        SHIPPERS_EXPORT_DECLARATION,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class ServiceSubOptionDetail {
        
        private FreightGuaranteeType freightGuaranteeField;
        
        private bool freightGuaranteeFieldSpecified;
        
        private string smartPostHubIdField;
        
        /// <remarks/>
        public FreightGuaranteeType FreightGuarantee {
            get {
                return this.freightGuaranteeField;
            }
            set {
                this.freightGuaranteeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FreightGuaranteeSpecified {
            get {
                return this.freightGuaranteeFieldSpecified;
            }
            set {
                this.freightGuaranteeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public string SmartPostHubId {
            get {
                return this.smartPostHubIdField;
            }
            set {
                this.smartPostHubIdField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum FreightGuaranteeType {
        
        /// <remarks/>
        GUARANTEED_DATE,
        
        /// <remarks/>
        GUARANTEED_MORNING,
        
        /// <remarks/>
        GUARANTEED_TIME,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class RateReplyDetail {
        
        private ServiceType serviceTypeField;
        
        private bool serviceTypeFieldSpecified;
        
        private PackagingType packagingTypeField;
        
        private bool packagingTypeFieldSpecified;
        
        private ServiceOptionType[] appliedOptionsField;
        
        private ServiceSubOptionDetail appliedSubOptionsField;
        
        private string deliveryStationField;
        
        private DayOfWeekType deliveryDayOfWeekField;
        
        private bool deliveryDayOfWeekFieldSpecified;
        
        private System.DateTime deliveryTimestampField;
        
        private bool deliveryTimestampFieldSpecified;
        
        private CommitDetail[] commitDetailsField;
        
        private string destinationAirportIdField;
        
        private bool ineligibleForMoneyBackGuaranteeField;
        
        private bool ineligibleForMoneyBackGuaranteeFieldSpecified;
        
        private string originServiceAreaField;
        
        private string destinationServiceAreaField;
        
        private TransitTimeType transitTimeField;
        
        private bool transitTimeFieldSpecified;
        
        private SignatureOptionType signatureOptionField;
        
        private bool signatureOptionFieldSpecified;
        
        private ReturnedRateType actualRateTypeField;
        
        private bool actualRateTypeFieldSpecified;
        
        private RatedShipmentDetail[] ratedShipmentDetailsField;
        
        /// <remarks/>
        public ServiceType ServiceType {
            get {
                return this.serviceTypeField;
            }
            set {
                this.serviceTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ServiceTypeSpecified {
            get {
                return this.serviceTypeFieldSpecified;
            }
            set {
                this.serviceTypeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public PackagingType PackagingType {
            get {
                return this.packagingTypeField;
            }
            set {
                this.packagingTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PackagingTypeSpecified {
            get {
                return this.packagingTypeFieldSpecified;
            }
            set {
                this.packagingTypeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AppliedOptions")]
        public ServiceOptionType[] AppliedOptions {
            get {
                return this.appliedOptionsField;
            }
            set {
                this.appliedOptionsField = value;
            }
        }
        
        /// <remarks/>
        public ServiceSubOptionDetail AppliedSubOptions {
            get {
                return this.appliedSubOptionsField;
            }
            set {
                this.appliedSubOptionsField = value;
            }
        }
        
        /// <remarks/>
        public string DeliveryStation {
            get {
                return this.deliveryStationField;
            }
            set {
                this.deliveryStationField = value;
            }
        }
        
        /// <remarks/>
        public DayOfWeekType DeliveryDayOfWeek {
            get {
                return this.deliveryDayOfWeekField;
            }
            set {
                this.deliveryDayOfWeekField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DeliveryDayOfWeekSpecified {
            get {
                return this.deliveryDayOfWeekFieldSpecified;
            }
            set {
                this.deliveryDayOfWeekFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public System.DateTime DeliveryTimestamp {
            get {
                return this.deliveryTimestampField;
            }
            set {
                this.deliveryTimestampField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DeliveryTimestampSpecified {
            get {
                return this.deliveryTimestampFieldSpecified;
            }
            set {
                this.deliveryTimestampFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CommitDetails")]
        public CommitDetail[] CommitDetails {
            get {
                return this.commitDetailsField;
            }
            set {
                this.commitDetailsField = value;
            }
        }
        
        /// <remarks/>
        public string DestinationAirportId {
            get {
                return this.destinationAirportIdField;
            }
            set {
                this.destinationAirportIdField = value;
            }
        }
        
        /// <remarks/>
        public bool IneligibleForMoneyBackGuarantee {
            get {
                return this.ineligibleForMoneyBackGuaranteeField;
            }
            set {
                this.ineligibleForMoneyBackGuaranteeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool IneligibleForMoneyBackGuaranteeSpecified {
            get {
                return this.ineligibleForMoneyBackGuaranteeFieldSpecified;
            }
            set {
                this.ineligibleForMoneyBackGuaranteeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public string OriginServiceArea {
            get {
                return this.originServiceAreaField;
            }
            set {
                this.originServiceAreaField = value;
            }
        }
        
        /// <remarks/>
        public string DestinationServiceArea {
            get {
                return this.destinationServiceAreaField;
            }
            set {
                this.destinationServiceAreaField = value;
            }
        }
        
        /// <remarks/>
        public TransitTimeType TransitTime {
            get {
                return this.transitTimeField;
            }
            set {
                this.transitTimeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool TransitTimeSpecified {
            get {
                return this.transitTimeFieldSpecified;
            }
            set {
                this.transitTimeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public SignatureOptionType SignatureOption {
            get {
                return this.signatureOptionField;
            }
            set {
                this.signatureOptionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool SignatureOptionSpecified {
            get {
                return this.signatureOptionFieldSpecified;
            }
            set {
                this.signatureOptionFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public ReturnedRateType ActualRateType {
            get {
                return this.actualRateTypeField;
            }
            set {
                this.actualRateTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ActualRateTypeSpecified {
            get {
                return this.actualRateTypeFieldSpecified;
            }
            set {
                this.actualRateTypeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RatedShipmentDetails")]
        public RatedShipmentDetail[] RatedShipmentDetails {
            get {
                return this.ratedShipmentDetailsField;
            }
            set {
                this.ratedShipmentDetailsField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum PackagingType {
        
        /// <remarks/>
        FEDEX_10KG_BOX,
        
        /// <remarks/>
        FEDEX_25KG_BOX,
        
        /// <remarks/>
        FEDEX_BOX,
        
        /// <remarks/>
        FEDEX_ENVELOPE,
        
        /// <remarks/>
        FEDEX_PAK,
        
        /// <remarks/>
        FEDEX_TUBE,
        
        /// <remarks/>
        YOUR_PACKAGING,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum SignatureOptionType {
        
        /// <remarks/>
        ADULT,
        
        /// <remarks/>
        DIRECT,
        
        /// <remarks/>
        INDIRECT,
        
        /// <remarks/>
        NO_SIGNATURE_REQUIRED,
        
        /// <remarks/>
        SERVICE_DEFAULT,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class RateReply {
        
        private NotificationSeverityType highestSeverityField;
        
        private Notification[] notificationsField;
        
        private TransactionDetail transactionDetailField;
        
        private VersionId versionField;
        
        private RateReplyDetail[] rateReplyDetailsField;
        
        /// <remarks/>
        public NotificationSeverityType HighestSeverity {
            get {
                return this.highestSeverityField;
            }
            set {
                this.highestSeverityField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Notifications")]
        public Notification[] Notifications {
            get {
                return this.notificationsField;
            }
            set {
                this.notificationsField = value;
            }
        }
        
        /// <remarks/>
        public TransactionDetail TransactionDetail {
            get {
                return this.transactionDetailField;
            }
            set {
                this.transactionDetailField = value;
            }
        }
        
        /// <remarks/>
        public VersionId Version {
            get {
                return this.versionField;
            }
            set {
                this.versionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RateReplyDetails")]
        public RateReplyDetail[] RateReplyDetails {
            get {
                return this.rateReplyDetailsField;
            }
            set {
                this.rateReplyDetailsField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class TransactionDetail {
        
        private string customerTransactionIdField;
        
        private Localization localizationField;
        
        /// <remarks/>
        public string CustomerTransactionId {
            get {
                return this.customerTransactionIdField;
            }
            set {
                this.customerTransactionIdField = value;
            }
        }
        
        /// <remarks/>
        public Localization Localization {
            get {
                return this.localizationField;
            }
            set {
                this.localizationField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class Localization {
        
        private string languageCodeField;
        
        private string localeCodeField;
        
        /// <remarks/>
        public string LanguageCode {
            get {
                return this.languageCodeField;
            }
            set {
                this.languageCodeField = value;
            }
        }
        
        /// <remarks/>
        public string LocaleCode {
            get {
                return this.localeCodeField;
            }
            set {
                this.localeCodeField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class VersionId {
        
        private string serviceIdField;
        
        private int majorField;
        
        private int intermediateField;
        
        private int minorField;
        
        public VersionId() {
            this.serviceIdField = "crs";
            this.majorField = 7;
            this.intermediateField = 0;
            this.minorField = 0;
        }
        
        /// <remarks/>
        public string ServiceId {
            get {
                return this.serviceIdField;
            }
            set {
                this.serviceIdField = value;
            }
        }
        
        /// <remarks/>
        public int Major {
            get {
                return this.majorField;
            }
            set {
                this.majorField = value;
            }
        }
        
        /// <remarks/>
        public int Intermediate {
            get {
                return this.intermediateField;
            }
            set {
                this.intermediateField = value;
            }
        }
        
        /// <remarks/>
        public int Minor {
            get {
                return this.minorField;
            }
            set {
                this.minorField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class ContentRecord {
        
        private string partNumberField;
        
        private string itemNumberField;
        
        private string receivedQuantityField;
        
        private string descriptionField;
        
        /// <remarks/>
        public string PartNumber {
            get {
                return this.partNumberField;
            }
            set {
                this.partNumberField = value;
            }
        }
        
        /// <remarks/>
        public string ItemNumber {
            get {
                return this.itemNumberField;
            }
            set {
                this.itemNumberField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="nonNegativeInteger")]
        public string ReceivedQuantity {
            get {
                return this.receivedQuantityField;
            }
            set {
                this.receivedQuantityField = value;
            }
        }
        
        /// <remarks/>
        public string Description {
            get {
                return this.descriptionField;
            }
            set {
                this.descriptionField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class SignatureOptionDetail {
        
        private SignatureOptionType optionTypeField;
        
        private string signatureReleaseNumberField;
        
        /// <remarks/>
        public SignatureOptionType OptionType {
            get {
                return this.optionTypeField;
            }
            set {
                this.optionTypeField = value;
            }
        }
        
        /// <remarks/>
        public string SignatureReleaseNumber {
            get {
                return this.signatureReleaseNumberField;
            }
            set {
                this.signatureReleaseNumberField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class HazMatCertificateData {
        
        private string[] dotProperShippingNameField;
        
        private string dotHazardClassOrDivisionField;
        
        private string dotIdNumberField;
        
        private string dotLabelTypeField;
        
        private string packingGroupField;
        
        private decimal quantityField;
        
        private bool quantityFieldSpecified;
        
        private string unitsField;
        
        private string twentyFourHourEmergencyResponseContactNumberField;
        
        private string twentyFourHourEmergencyResponseContactNameField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("DotProperShippingName")]
        public string[] DotProperShippingName {
            get {
                return this.dotProperShippingNameField;
            }
            set {
                this.dotProperShippingNameField = value;
            }
        }
        
        /// <remarks/>
        public string DotHazardClassOrDivision {
            get {
                return this.dotHazardClassOrDivisionField;
            }
            set {
                this.dotHazardClassOrDivisionField = value;
            }
        }
        
        /// <remarks/>
        public string DotIdNumber {
            get {
                return this.dotIdNumberField;
            }
            set {
                this.dotIdNumberField = value;
            }
        }
        
        /// <remarks/>
        public string DotLabelType {
            get {
                return this.dotLabelTypeField;
            }
            set {
                this.dotLabelTypeField = value;
            }
        }
        
        /// <remarks/>
        public string PackingGroup {
            get {
                return this.packingGroupField;
            }
            set {
                this.packingGroupField = value;
            }
        }
        
        /// <remarks/>
        public decimal Quantity {
            get {
                return this.quantityField;
            }
            set {
                this.quantityField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool QuantitySpecified {
            get {
                return this.quantityFieldSpecified;
            }
            set {
                this.quantityFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public string Units {
            get {
                return this.unitsField;
            }
            set {
                this.unitsField = value;
            }
        }
        
        /// <remarks/>
        public string TwentyFourHourEmergencyResponseContactNumber {
            get {
                return this.twentyFourHourEmergencyResponseContactNumberField;
            }
            set {
                this.twentyFourHourEmergencyResponseContactNumberField = value;
            }
        }
        
        /// <remarks/>
        public string TwentyFourHourEmergencyResponseContactName {
            get {
                return this.twentyFourHourEmergencyResponseContactNameField;
            }
            set {
                this.twentyFourHourEmergencyResponseContactNameField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class DangerousGoodsDetail {
        
        private DangerousGoodsAccessibilityType accessibilityField;
        
        private bool accessibilityFieldSpecified;
        
        private bool cargoAircraftOnlyField;
        
        private bool cargoAircraftOnlyFieldSpecified;
        
        private HazMatCertificateData hazMatCertificateDataField;
        
        /// <remarks/>
        public DangerousGoodsAccessibilityType Accessibility {
            get {
                return this.accessibilityField;
            }
            set {
                this.accessibilityField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AccessibilitySpecified {
            get {
                return this.accessibilityFieldSpecified;
            }
            set {
                this.accessibilityFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public bool CargoAircraftOnly {
            get {
                return this.cargoAircraftOnlyField;
            }
            set {
                this.cargoAircraftOnlyField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool CargoAircraftOnlySpecified {
            get {
                return this.cargoAircraftOnlyFieldSpecified;
            }
            set {
                this.cargoAircraftOnlyFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public HazMatCertificateData HazMatCertificateData {
            get {
                return this.hazMatCertificateDataField;
            }
            set {
                this.hazMatCertificateDataField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum DangerousGoodsAccessibilityType {
        
        /// <remarks/>
        ACCESSIBLE,
        
        /// <remarks/>
        INACCESSIBLE,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class PackageSpecialServicesRequested {
        
        private PackageSpecialServiceType[] specialServiceTypesField;
        
        private Money codCollectionAmountField;
        
        private DangerousGoodsDetail dangerousGoodsDetailField;
        
        private Weight dryIceWeightField;
        
        private SignatureOptionDetail signatureOptionDetailField;
        
        private string[] priorityAlertDetailField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SpecialServiceTypes")]
        public PackageSpecialServiceType[] SpecialServiceTypes {
            get {
                return this.specialServiceTypesField;
            }
            set {
                this.specialServiceTypesField = value;
            }
        }
        
        /// <remarks/>
        public Money CodCollectionAmount {
            get {
                return this.codCollectionAmountField;
            }
            set {
                this.codCollectionAmountField = value;
            }
        }
        
        /// <remarks/>
        public DangerousGoodsDetail DangerousGoodsDetail {
            get {
                return this.dangerousGoodsDetailField;
            }
            set {
                this.dangerousGoodsDetailField = value;
            }
        }
        
        /// <remarks/>
        public Weight DryIceWeight {
            get {
                return this.dryIceWeightField;
            }
            set {
                this.dryIceWeightField = value;
            }
        }
        
        /// <remarks/>
        public SignatureOptionDetail SignatureOptionDetail {
            get {
                return this.signatureOptionDetailField;
            }
            set {
                this.signatureOptionDetailField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute("Content", IsNullable=false)]
        public string[] PriorityAlertDetail {
            get {
                return this.priorityAlertDetailField;
            }
            set {
                this.priorityAlertDetailField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum PackageSpecialServiceType {
        
        /// <remarks/>
        APPOINTMENT_DELIVERY,
        
        /// <remarks/>
        DANGEROUS_GOODS,
        
        /// <remarks/>
        DRY_ICE,
        
        /// <remarks/>
        NON_STANDARD_CONTAINER,
        
        /// <remarks/>
        PRIORITY_ALERT,
        
        /// <remarks/>
        SIGNATURE_OPTION,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class CustomerReference {
        
        private CustomerReferenceType customerReferenceTypeField;
        
        private string valueField;
        
        /// <remarks/>
        public CustomerReferenceType CustomerReferenceType {
            get {
                return this.customerReferenceTypeField;
            }
            set {
                this.customerReferenceTypeField = value;
            }
        }
        
        /// <remarks/>
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum CustomerReferenceType {
        
        /// <remarks/>
        BILL_OF_LADING,
        
        /// <remarks/>
        CUSTOMER_REFERENCE,
        
        /// <remarks/>
        DEPARTMENT_NUMBER,
        
        /// <remarks/>
        ELECTRONIC_PRODUCT_CODE,
        
        /// <remarks/>
        INVOICE_NUMBER,
        
        /// <remarks/>
        P_O_NUMBER,
        
        /// <remarks/>
        SHIPMENT_INTEGRITY,
        
        /// <remarks/>
        STORE_NUMBER,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class RequestedPackageLineItem {
        
        private string sequenceNumberField;
        
        private string groupNumberField;
        
        private string groupPackageCountField;
        
        private VariableHandlingChargeDetail variableHandlingChargeDetailField;
        
        private Money insuredValueField;
        
        private Weight weightField;
        
        private Dimensions dimensionsField;
        
        private PhysicalPackagingType physicalPackagingField;
        
        private bool physicalPackagingFieldSpecified;
        
        private string itemDescriptionField;
        
        private CustomerReference[] customerReferencesField;
        
        private PackageSpecialServicesRequested specialServicesRequestedField;
        
        private ContentRecord[] contentRecordsField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="positiveInteger")]
        public string SequenceNumber {
            get {
                return this.sequenceNumberField;
            }
            set {
                this.sequenceNumberField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="nonNegativeInteger")]
        public string GroupNumber {
            get {
                return this.groupNumberField;
            }
            set {
                this.groupNumberField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="positiveInteger")]
        public string GroupPackageCount {
            get {
                return this.groupPackageCountField;
            }
            set {
                this.groupPackageCountField = value;
            }
        }
        
        /// <remarks/>
        public VariableHandlingChargeDetail VariableHandlingChargeDetail {
            get {
                return this.variableHandlingChargeDetailField;
            }
            set {
                this.variableHandlingChargeDetailField = value;
            }
        }
        
        /// <remarks/>
        public Money InsuredValue {
            get {
                return this.insuredValueField;
            }
            set {
                this.insuredValueField = value;
            }
        }
        
        /// <remarks/>
        public Weight Weight {
            get {
                return this.weightField;
            }
            set {
                this.weightField = value;
            }
        }
        
        /// <remarks/>
        public Dimensions Dimensions {
            get {
                return this.dimensionsField;
            }
            set {
                this.dimensionsField = value;
            }
        }
        
        /// <remarks/>
        public PhysicalPackagingType PhysicalPackaging {
            get {
                return this.physicalPackagingField;
            }
            set {
                this.physicalPackagingField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PhysicalPackagingSpecified {
            get {
                return this.physicalPackagingFieldSpecified;
            }
            set {
                this.physicalPackagingFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public string ItemDescription {
            get {
                return this.itemDescriptionField;
            }
            set {
                this.itemDescriptionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CustomerReferences")]
        public CustomerReference[] CustomerReferences {
            get {
                return this.customerReferencesField;
            }
            set {
                this.customerReferencesField = value;
            }
        }
        
        /// <remarks/>
        public PackageSpecialServicesRequested SpecialServicesRequested {
            get {
                return this.specialServicesRequestedField;
            }
            set {
                this.specialServicesRequestedField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ContentRecords")]
        public ContentRecord[] ContentRecords {
            get {
                return this.contentRecordsField;
            }
            set {
                this.contentRecordsField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class VariableHandlingChargeDetail {
        
        private VariableHandlingChargeType variableHandlingChargeTypeField;
        
        private Money fixedValueField;
        
        private decimal percentValueField;
        
        private bool percentValueFieldSpecified;
        
        /// <remarks/>
        public VariableHandlingChargeType VariableHandlingChargeType {
            get {
                return this.variableHandlingChargeTypeField;
            }
            set {
                this.variableHandlingChargeTypeField = value;
            }
        }
        
        /// <remarks/>
        public Money FixedValue {
            get {
                return this.fixedValueField;
            }
            set {
                this.fixedValueField = value;
            }
        }
        
        /// <remarks/>
        public decimal PercentValue {
            get {
                return this.percentValueField;
            }
            set {
                this.percentValueField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PercentValueSpecified {
            get {
                return this.percentValueFieldSpecified;
            }
            set {
                this.percentValueFieldSpecified = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum VariableHandlingChargeType {
        
        /// <remarks/>
        FIXED_AMOUNT,
        
        /// <remarks/>
        PERCENTAGE_OF_NET_CHARGE,
        
        /// <remarks/>
        PERCENTAGE_OF_NET_CHARGE_EXCLUDING_TAXES,
        
        /// <remarks/>
        PERCENTAGE_OF_NET_FREIGHT,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class Dimensions {
        
        private string lengthField;
        
        private string widthField;
        
        private string heightField;
        
        private LinearUnits unitsField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="nonNegativeInteger")]
        public string Length {
            get {
                return this.lengthField;
            }
            set {
                this.lengthField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="nonNegativeInteger")]
        public string Width {
            get {
                return this.widthField;
            }
            set {
                this.widthField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="nonNegativeInteger")]
        public string Height {
            get {
                return this.heightField;
            }
            set {
                this.heightField = value;
            }
        }
        
        /// <remarks/>
        public LinearUnits Units {
            get {
                return this.unitsField;
            }
            set {
                this.unitsField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum LinearUnits {
        
        /// <remarks/>
        CM,
        
        /// <remarks/>
        IN,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum PhysicalPackagingType {
        
        /// <remarks/>
        BAG,
        
        /// <remarks/>
        BARREL,
        
        /// <remarks/>
        BASKET,
        
        /// <remarks/>
        BOX,
        
        /// <remarks/>
        BUCKET,
        
        /// <remarks/>
        BUNDLE,
        
        /// <remarks/>
        CARTON,
        
        /// <remarks/>
        CASE,
        
        /// <remarks/>
        CONTAINER,
        
        /// <remarks/>
        CRATE,
        
        /// <remarks/>
        CYLINDER,
        
        /// <remarks/>
        DRUM,
        
        /// <remarks/>
        ENVELOPE,
        
        /// <remarks/>
        HAMPER,
        
        /// <remarks/>
        OTHER,
        
        /// <remarks/>
        PAIL,
        
        /// <remarks/>
        PALLET,
        
        /// <remarks/>
        PIECE,
        
        /// <remarks/>
        REEL,
        
        /// <remarks/>
        ROLL,
        
        /// <remarks/>
        SKID,
        
        /// <remarks/>
        TANK,
        
        /// <remarks/>
        TUBE,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class CertificateOfOriginDetail {
        
        private ShippingDocumentFormat documentFormatField;
        
        private CustomerImageUsage customerImageUsagesField;
        
        /// <remarks/>
        public ShippingDocumentFormat DocumentFormat {
            get {
                return this.documentFormatField;
            }
            set {
                this.documentFormatField = value;
            }
        }
        
        /// <remarks/>
        public CustomerImageUsage CustomerImageUsages {
            get {
                return this.customerImageUsagesField;
            }
            set {
                this.customerImageUsagesField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class ShippingDocumentFormat {
        
        private ShippingDocumentImageType imageTypeField;
        
        private bool imageTypeFieldSpecified;
        
        private ShippingDocumentStockType stockTypeField;
        
        private bool stockTypeFieldSpecified;
        
        private bool provideInstructionsField;
        
        private bool provideInstructionsFieldSpecified;
        
        private Localization localizationField;
        
        /// <remarks/>
        public ShippingDocumentImageType ImageType {
            get {
                return this.imageTypeField;
            }
            set {
                this.imageTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ImageTypeSpecified {
            get {
                return this.imageTypeFieldSpecified;
            }
            set {
                this.imageTypeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public ShippingDocumentStockType StockType {
            get {
                return this.stockTypeField;
            }
            set {
                this.stockTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool StockTypeSpecified {
            get {
                return this.stockTypeFieldSpecified;
            }
            set {
                this.stockTypeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public bool ProvideInstructions {
            get {
                return this.provideInstructionsField;
            }
            set {
                this.provideInstructionsField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ProvideInstructionsSpecified {
            get {
                return this.provideInstructionsFieldSpecified;
            }
            set {
                this.provideInstructionsFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public Localization Localization {
            get {
                return this.localizationField;
            }
            set {
                this.localizationField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum ShippingDocumentImageType {
        
        /// <remarks/>
        DPL,
        
        /// <remarks/>
        EPL2,
        
        /// <remarks/>
        PDF,
        
        /// <remarks/>
        PNG,
        
        /// <remarks/>
        ZPLII,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum ShippingDocumentStockType {
        
        /// <remarks/>
        PAPER_4X6,
        
        /// <remarks/>
        PAPER_LETTER,
        
        /// <remarks/>
        STOCK_4X6,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("STOCK_4X6.75_LEADING_DOC_TAB")]
        STOCK_4X675_LEADING_DOC_TAB,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("STOCK_4X6.75_TRAILING_DOC_TAB")]
        STOCK_4X675_TRAILING_DOC_TAB,
        
        /// <remarks/>
        STOCK_4X8,
        
        /// <remarks/>
        STOCK_4X9_LEADING_DOC_TAB,
        
        /// <remarks/>
        STOCK_4X9_TRAILING_DOC_TAB,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class CustomerImageUsage {
        
        private CustomerImageUsageType typeField;
        
        private bool typeFieldSpecified;
        
        private string idField;
        
        /// <remarks/>
        public CustomerImageUsageType Type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool TypeSpecified {
            get {
                return this.typeFieldSpecified;
            }
            set {
                this.typeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public string Id {
            get {
                return this.idField;
            }
            set {
                this.idField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum CustomerImageUsageType {
        
        /// <remarks/>
        LETTER_HEAD,
        
        /// <remarks/>
        SIGNATURE,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class GeneralAgencyAgreementDetail {
        
        private ShippingDocumentFormat formatField;
        
        /// <remarks/>
        public ShippingDocumentFormat Format {
            get {
                return this.formatField;
            }
            set {
                this.formatField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class CommercialInvoiceDetail {
        
        private ShippingDocumentFormat formatField;
        
        private CustomerImageUsage[] customerImageUsagesField;
        
        /// <remarks/>
        public ShippingDocumentFormat Format {
            get {
                return this.formatField;
            }
            set {
                this.formatField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CustomerImageUsages")]
        public CustomerImageUsage[] CustomerImageUsages {
            get {
                return this.customerImageUsagesField;
            }
            set {
                this.customerImageUsagesField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class NaftaProducer {
        
        private string idField;
        
        private Party producerField;
        
        /// <remarks/>
        public string Id {
            get {
                return this.idField;
            }
            set {
                this.idField = value;
            }
        }
        
        /// <remarks/>
        public Party Producer {
            get {
                return this.producerField;
            }
            set {
                this.producerField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class Party {
        
        private string accountNumberField;
        
        private TaxpayerIdentification tinField;
        
        private Contact contactField;
        
        private Address addressField;
        
        /// <remarks/>
        public string AccountNumber {
            get {
                return this.accountNumberField;
            }
            set {
                this.accountNumberField = value;
            }
        }
        
        /// <remarks/>
        public TaxpayerIdentification Tin {
            get {
                return this.tinField;
            }
            set {
                this.tinField = value;
            }
        }
        
        /// <remarks/>
        public Contact Contact {
            get {
                return this.contactField;
            }
            set {
                this.contactField = value;
            }
        }
        
        /// <remarks/>
        public Address Address {
            get {
                return this.addressField;
            }
            set {
                this.addressField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class TaxpayerIdentification {
        
        private TinType tinTypeField;
        
        private string numberField;
        
        /// <remarks/>
        public TinType TinType {
            get {
                return this.tinTypeField;
            }
            set {
                this.tinTypeField = value;
            }
        }
        
        /// <remarks/>
        public string Number {
            get {
                return this.numberField;
            }
            set {
                this.numberField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum TinType {
        
        /// <remarks/>
        EIN,
        
        /// <remarks/>
        SSN,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class Contact {
        
        private string personNameField;
        
        private string titleField;
        
        private string companyNameField;
        
        private string phoneNumberField;
        
        private string phoneExtensionField;
        
        private string pagerNumberField;
        
        private string faxNumberField;
        
        private string eMailAddressField;
        
        /// <remarks/>
        public string PersonName {
            get {
                return this.personNameField;
            }
            set {
                this.personNameField = value;
            }
        }
        
        /// <remarks/>
        public string Title {
            get {
                return this.titleField;
            }
            set {
                this.titleField = value;
            }
        }
        
        /// <remarks/>
        public string CompanyName {
            get {
                return this.companyNameField;
            }
            set {
                this.companyNameField = value;
            }
        }
        
        /// <remarks/>
        public string PhoneNumber {
            get {
                return this.phoneNumberField;
            }
            set {
                this.phoneNumberField = value;
            }
        }
        
        /// <remarks/>
        public string PhoneExtension {
            get {
                return this.phoneExtensionField;
            }
            set {
                this.phoneExtensionField = value;
            }
        }
        
        /// <remarks/>
        public string PagerNumber {
            get {
                return this.pagerNumberField;
            }
            set {
                this.pagerNumberField = value;
            }
        }
        
        /// <remarks/>
        public string FaxNumber {
            get {
                return this.faxNumberField;
            }
            set {
                this.faxNumberField = value;
            }
        }
        
        /// <remarks/>
        public string EMailAddress {
            get {
                return this.eMailAddressField;
            }
            set {
                this.eMailAddressField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class NaftaCertificateOfOriginDetail {
        
        private ShippingDocumentFormat formatField;
        
        private DateRange blanketPeriodField;
        
        private NaftaImporterSpecificationType importerSpecificationField;
        
        private bool importerSpecificationFieldSpecified;
        
        private Contact signatureContactField;
        
        private NaftaProducerSpecificationType producerSpecificationField;
        
        private bool producerSpecificationFieldSpecified;
        
        private NaftaProducer[] producersField;
        
        private CustomerImageUsage[] customerImageUsagesField;
        
        /// <remarks/>
        public ShippingDocumentFormat Format {
            get {
                return this.formatField;
            }
            set {
                this.formatField = value;
            }
        }
        
        /// <remarks/>
        public DateRange BlanketPeriod {
            get {
                return this.blanketPeriodField;
            }
            set {
                this.blanketPeriodField = value;
            }
        }
        
        /// <remarks/>
        public NaftaImporterSpecificationType ImporterSpecification {
            get {
                return this.importerSpecificationField;
            }
            set {
                this.importerSpecificationField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ImporterSpecificationSpecified {
            get {
                return this.importerSpecificationFieldSpecified;
            }
            set {
                this.importerSpecificationFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public Contact SignatureContact {
            get {
                return this.signatureContactField;
            }
            set {
                this.signatureContactField = value;
            }
        }
        
        /// <remarks/>
        public NaftaProducerSpecificationType ProducerSpecification {
            get {
                return this.producerSpecificationField;
            }
            set {
                this.producerSpecificationField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ProducerSpecificationSpecified {
            get {
                return this.producerSpecificationFieldSpecified;
            }
            set {
                this.producerSpecificationFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Producers")]
        public NaftaProducer[] Producers {
            get {
                return this.producersField;
            }
            set {
                this.producersField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CustomerImageUsages")]
        public CustomerImageUsage[] CustomerImageUsages {
            get {
                return this.customerImageUsagesField;
            }
            set {
                this.customerImageUsagesField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class DateRange {
        
        private System.DateTime beginsField;
        
        private System.DateTime endsField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="date")]
        public System.DateTime Begins {
            get {
                return this.beginsField;
            }
            set {
                this.beginsField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="date")]
        public System.DateTime Ends {
            get {
                return this.endsField;
            }
            set {
                this.endsField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum NaftaImporterSpecificationType {
        
        /// <remarks/>
        IMPORTER_OF_RECORD,
        
        /// <remarks/>
        RECIPIENT,
        
        /// <remarks/>
        UNKNOWN,
        
        /// <remarks/>
        VARIOUS,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum NaftaProducerSpecificationType {
        
        /// <remarks/>
        AVAILABLE_UPON_REQUEST,
        
        /// <remarks/>
        MULTIPLE_SPECIFIED,
        
        /// <remarks/>
        SAME,
        
        /// <remarks/>
        SINGLE_SPECIFIED,
        
        /// <remarks/>
        UNKNOWN,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class CustomerProvidedImage {
        
        private byte[] imageField;
        
        private string imageIdField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary")]
        public byte[] Image {
            get {
                return this.imageField;
            }
            set {
                this.imageField = value;
            }
        }
        
        /// <remarks/>
        public string ImageId {
            get {
                return this.imageIdField;
            }
            set {
                this.imageIdField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class ShippingDocumentSpecification {
        
        private RequestedShippingDocumentType[] shippingDocumentTypesField;
        
        private CustomerProvidedImage[] customerProvidedImagesField;
        
        private NaftaCertificateOfOriginDetail naftaCertificateOfOriginDetailField;
        
        private CommercialInvoiceDetail commercialInvoiceDetailField;
        
        private GeneralAgencyAgreementDetail generalAgencyAgreementDetailField;
        
        private CertificateOfOriginDetail certificateOfOriginField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ShippingDocumentTypes")]
        public RequestedShippingDocumentType[] ShippingDocumentTypes {
            get {
                return this.shippingDocumentTypesField;
            }
            set {
                this.shippingDocumentTypesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CustomerProvidedImages")]
        public CustomerProvidedImage[] CustomerProvidedImages {
            get {
                return this.customerProvidedImagesField;
            }
            set {
                this.customerProvidedImagesField = value;
            }
        }
        
        /// <remarks/>
        public NaftaCertificateOfOriginDetail NaftaCertificateOfOriginDetail {
            get {
                return this.naftaCertificateOfOriginDetailField;
            }
            set {
                this.naftaCertificateOfOriginDetailField = value;
            }
        }
        
        /// <remarks/>
        public CommercialInvoiceDetail CommercialInvoiceDetail {
            get {
                return this.commercialInvoiceDetailField;
            }
            set {
                this.commercialInvoiceDetailField = value;
            }
        }
        
        /// <remarks/>
        public GeneralAgencyAgreementDetail GeneralAgencyAgreementDetail {
            get {
                return this.generalAgencyAgreementDetailField;
            }
            set {
                this.generalAgencyAgreementDetailField = value;
            }
        }
        
        /// <remarks/>
        public CertificateOfOriginDetail CertificateOfOrigin {
            get {
                return this.certificateOfOriginField;
            }
            set {
                this.certificateOfOriginField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum RequestedShippingDocumentType {
        
        /// <remarks/>
        COMMERCIAL_INVOICE,
        
        /// <remarks/>
        CUSTOMER_SPECIFIED_LABELS,
        
        /// <remarks/>
        GENERAL_AGENCY_AGREEMENT,
        
        /// <remarks/>
        LABEL,
        
        /// <remarks/>
        NAFTA_CERTIFICATE_OF_ORIGIN,
        
        /// <remarks/>
        RETURN_INSTRUCTIONS,
        
        /// <remarks/>
        CERTIFICATE_OF_ORIGIN,
        
        /// <remarks/>
        PRO_FORMA_INVOICE,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class AdditionalLabelsDetail {
        
        private AdditionalLabelsType typeField;
        
        private bool typeFieldSpecified;
        
        private string countField;
        
        /// <remarks/>
        public AdditionalLabelsType Type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool TypeSpecified {
            get {
                return this.typeFieldSpecified;
            }
            set {
                this.typeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="nonNegativeInteger")]
        public string Count {
            get {
                return this.countField;
            }
            set {
                this.countField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum AdditionalLabelsType {
        
        /// <remarks/>
        BROKER,
        
        /// <remarks/>
        CONSIGNEE,
        
        /// <remarks/>
        CUSTOMS,
        
        /// <remarks/>
        DESTINATION,
        
        /// <remarks/>
        MANIFEST,
        
        /// <remarks/>
        ORIGIN,
        
        /// <remarks/>
        RECIPIENT,
        
        /// <remarks/>
        SHIPPER,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class ConfigurableLabelReferenceEntry {
        
        private string zoneNumberField;
        
        private string headerField;
        
        private string dataFieldField;
        
        private string literalValueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="positiveInteger")]
        public string ZoneNumber {
            get {
                return this.zoneNumberField;
            }
            set {
                this.zoneNumberField = value;
            }
        }
        
        /// <remarks/>
        public string Header {
            get {
                return this.headerField;
            }
            set {
                this.headerField = value;
            }
        }
        
        /// <remarks/>
        public string DataField {
            get {
                return this.dataFieldField;
            }
            set {
                this.dataFieldField = value;
            }
        }
        
        /// <remarks/>
        public string LiteralValue {
            get {
                return this.literalValueField;
            }
            set {
                this.literalValueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class CustomLabelBarcodeEntry {
        
        private CustomLabelPosition positionField;
        
        private string formatField;
        
        private string[] dataFieldsField;
        
        private int barHeightField;
        
        private bool barHeightFieldSpecified;
        
        private int thinBarWidthField;
        
        private bool thinBarWidthFieldSpecified;
        
        private BarcodeSymbologyType barcodeSymbologyField;
        
        private bool barcodeSymbologyFieldSpecified;
        
        /// <remarks/>
        public CustomLabelPosition Position {
            get {
                return this.positionField;
            }
            set {
                this.positionField = value;
            }
        }
        
        /// <remarks/>
        public string Format {
            get {
                return this.formatField;
            }
            set {
                this.formatField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("DataFields")]
        public string[] DataFields {
            get {
                return this.dataFieldsField;
            }
            set {
                this.dataFieldsField = value;
            }
        }
        
        /// <remarks/>
        public int BarHeight {
            get {
                return this.barHeightField;
            }
            set {
                this.barHeightField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool BarHeightSpecified {
            get {
                return this.barHeightFieldSpecified;
            }
            set {
                this.barHeightFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public int ThinBarWidth {
            get {
                return this.thinBarWidthField;
            }
            set {
                this.thinBarWidthField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ThinBarWidthSpecified {
            get {
                return this.thinBarWidthFieldSpecified;
            }
            set {
                this.thinBarWidthFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public BarcodeSymbologyType BarcodeSymbology {
            get {
                return this.barcodeSymbologyField;
            }
            set {
                this.barcodeSymbologyField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool BarcodeSymbologySpecified {
            get {
                return this.barcodeSymbologyFieldSpecified;
            }
            set {
                this.barcodeSymbologyFieldSpecified = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class CustomLabelPosition {
        
        private string xField;
        
        private string yField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="nonNegativeInteger")]
        public string X {
            get {
                return this.xField;
            }
            set {
                this.xField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="nonNegativeInteger")]
        public string Y {
            get {
                return this.yField;
            }
            set {
                this.yField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum BarcodeSymbologyType {
        
        /// <remarks/>
        CODABAR,
        
        /// <remarks/>
        CODE128,
        
        /// <remarks/>
        CODE128B,
        
        /// <remarks/>
        CODE128C,
        
        /// <remarks/>
        CODE39,
        
        /// <remarks/>
        CODE93,
        
        /// <remarks/>
        I2OF5,
        
        /// <remarks/>
        MANUAL,
        
        /// <remarks/>
        PDF417,
        
        /// <remarks/>
        POSTNET,
        
        /// <remarks/>
        UCC128,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class CustomLabelBoxEntry {
        
        private CustomLabelPosition topLeftCornerField;
        
        private CustomLabelPosition bottomRightCornerField;
        
        /// <remarks/>
        public CustomLabelPosition TopLeftCorner {
            get {
                return this.topLeftCornerField;
            }
            set {
                this.topLeftCornerField = value;
            }
        }
        
        /// <remarks/>
        public CustomLabelPosition BottomRightCorner {
            get {
                return this.bottomRightCornerField;
            }
            set {
                this.bottomRightCornerField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class CustomLabelGraphicEntry {
        
        private CustomLabelPosition positionField;
        
        private string printerGraphicIdField;
        
        private string fileGraphicFullNameField;
        
        /// <remarks/>
        public CustomLabelPosition Position {
            get {
                return this.positionField;
            }
            set {
                this.positionField = value;
            }
        }
        
        /// <remarks/>
        public string PrinterGraphicId {
            get {
                return this.printerGraphicIdField;
            }
            set {
                this.printerGraphicIdField = value;
            }
        }
        
        /// <remarks/>
        public string FileGraphicFullName {
            get {
                return this.fileGraphicFullNameField;
            }
            set {
                this.fileGraphicFullNameField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class CustomLabelTextEntry {
        
        private CustomLabelPosition positionField;
        
        private string formatField;
        
        private string[] dataFieldsField;
        
        private string thermalFontIdField;
        
        private string fontNameField;
        
        private string fontSizeField;
        
        /// <remarks/>
        public CustomLabelPosition Position {
            get {
                return this.positionField;
            }
            set {
                this.positionField = value;
            }
        }
        
        /// <remarks/>
        public string Format {
            get {
                return this.formatField;
            }
            set {
                this.formatField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("DataFields")]
        public string[] DataFields {
            get {
                return this.dataFieldsField;
            }
            set {
                this.dataFieldsField = value;
            }
        }
        
        /// <remarks/>
        public string ThermalFontId {
            get {
                return this.thermalFontIdField;
            }
            set {
                this.thermalFontIdField = value;
            }
        }
        
        /// <remarks/>
        public string FontName {
            get {
                return this.fontNameField;
            }
            set {
                this.fontNameField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="positiveInteger")]
        public string FontSize {
            get {
                return this.fontSizeField;
            }
            set {
                this.fontSizeField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class CustomLabelDetail {
        
        private CustomLabelCoordinateUnits coordinateUnitsField;
        
        private bool coordinateUnitsFieldSpecified;
        
        private CustomLabelTextEntry[] textEntriesField;
        
        private CustomLabelGraphicEntry[] graphicEntriesField;
        
        private CustomLabelBoxEntry[] boxEntriesField;
        
        private CustomLabelBarcodeEntry[] barcodeEntriesField;
        
        /// <remarks/>
        public CustomLabelCoordinateUnits CoordinateUnits {
            get {
                return this.coordinateUnitsField;
            }
            set {
                this.coordinateUnitsField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool CoordinateUnitsSpecified {
            get {
                return this.coordinateUnitsFieldSpecified;
            }
            set {
                this.coordinateUnitsFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("TextEntries")]
        public CustomLabelTextEntry[] TextEntries {
            get {
                return this.textEntriesField;
            }
            set {
                this.textEntriesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("GraphicEntries")]
        public CustomLabelGraphicEntry[] GraphicEntries {
            get {
                return this.graphicEntriesField;
            }
            set {
                this.graphicEntriesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("BoxEntries")]
        public CustomLabelBoxEntry[] BoxEntries {
            get {
                return this.boxEntriesField;
            }
            set {
                this.boxEntriesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("BarcodeEntries")]
        public CustomLabelBarcodeEntry[] BarcodeEntries {
            get {
                return this.barcodeEntriesField;
            }
            set {
                this.barcodeEntriesField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum CustomLabelCoordinateUnits {
        
        /// <remarks/>
        MILS,
        
        /// <remarks/>
        PIXELS,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class DocTabContentBarcoded {
        
        private BarcodeSymbologyType symbologyField;
        
        private bool symbologyFieldSpecified;
        
        private DocTabZoneSpecification specificationField;
        
        /// <remarks/>
        public BarcodeSymbologyType Symbology {
            get {
                return this.symbologyField;
            }
            set {
                this.symbologyField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool SymbologySpecified {
            get {
                return this.symbologyFieldSpecified;
            }
            set {
                this.symbologyFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public DocTabZoneSpecification Specification {
            get {
                return this.specificationField;
            }
            set {
                this.specificationField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class DocTabZoneSpecification {
        
        private string zoneNumberField;
        
        private string headerField;
        
        private string dataFieldField;
        
        private string literalValueField;
        
        private DocTabZoneJustificationType justificationField;
        
        private bool justificationFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="positiveInteger")]
        public string ZoneNumber {
            get {
                return this.zoneNumberField;
            }
            set {
                this.zoneNumberField = value;
            }
        }
        
        /// <remarks/>
        public string Header {
            get {
                return this.headerField;
            }
            set {
                this.headerField = value;
            }
        }
        
        /// <remarks/>
        public string DataField {
            get {
                return this.dataFieldField;
            }
            set {
                this.dataFieldField = value;
            }
        }
        
        /// <remarks/>
        public string LiteralValue {
            get {
                return this.literalValueField;
            }
            set {
                this.literalValueField = value;
            }
        }
        
        /// <remarks/>
        public DocTabZoneJustificationType Justification {
            get {
                return this.justificationField;
            }
            set {
                this.justificationField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool JustificationSpecified {
            get {
                return this.justificationFieldSpecified;
            }
            set {
                this.justificationFieldSpecified = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum DocTabZoneJustificationType {
        
        /// <remarks/>
        LEFT,
        
        /// <remarks/>
        RIGHT,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class DocTabContent {
        
        private DocTabContentType docTabContentTypeField;
        
        private bool docTabContentTypeFieldSpecified;
        
        private DocTabZoneSpecification[] zone001Field;
        
        private DocTabContentBarcoded barcodedField;
        
        /// <remarks/>
        public DocTabContentType DocTabContentType {
            get {
                return this.docTabContentTypeField;
            }
            set {
                this.docTabContentTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DocTabContentTypeSpecified {
            get {
                return this.docTabContentTypeFieldSpecified;
            }
            set {
                this.docTabContentTypeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute("DocTabZoneSpecifications", IsNullable=false)]
        public DocTabZoneSpecification[] Zone001 {
            get {
                return this.zone001Field;
            }
            set {
                this.zone001Field = value;
            }
        }
        
        /// <remarks/>
        public DocTabContentBarcoded Barcoded {
            get {
                return this.barcodedField;
            }
            set {
                this.barcodedField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum DocTabContentType {
        
        /// <remarks/>
        BARCODED,
        
        /// <remarks/>
        MINIMUM,
        
        /// <remarks/>
        STANDARD,
        
        /// <remarks/>
        ZONE001,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class CustomerSpecifiedLabelDetail {
        
        private DocTabContent docTabContentField;
        
        private CustomLabelDetail customContentField;
        
        private ConfigurableLabelReferenceEntry[] configurableReferenceEntriesField;
        
        private LabelMaskableDataType[] maskedDataField;
        
        private Localization termsAndConditionsLocalizationField;
        
        private AdditionalLabelsDetail[] additionalLabelsField;
        
        private string airWaybillSuppressionCountField;
        
        /// <remarks/>
        public DocTabContent DocTabContent {
            get {
                return this.docTabContentField;
            }
            set {
                this.docTabContentField = value;
            }
        }
        
        /// <remarks/>
        public CustomLabelDetail CustomContent {
            get {
                return this.customContentField;
            }
            set {
                this.customContentField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ConfigurableReferenceEntries")]
        public ConfigurableLabelReferenceEntry[] ConfigurableReferenceEntries {
            get {
                return this.configurableReferenceEntriesField;
            }
            set {
                this.configurableReferenceEntriesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("MaskedData")]
        public LabelMaskableDataType[] MaskedData {
            get {
                return this.maskedDataField;
            }
            set {
                this.maskedDataField = value;
            }
        }
        
        /// <remarks/>
        public Localization TermsAndConditionsLocalization {
            get {
                return this.termsAndConditionsLocalizationField;
            }
            set {
                this.termsAndConditionsLocalizationField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AdditionalLabels")]
        public AdditionalLabelsDetail[] AdditionalLabels {
            get {
                return this.additionalLabelsField;
            }
            set {
                this.additionalLabelsField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="nonNegativeInteger")]
        public string AirWaybillSuppressionCount {
            get {
                return this.airWaybillSuppressionCountField;
            }
            set {
                this.airWaybillSuppressionCountField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum LabelMaskableDataType {
        
        /// <remarks/>
        CUSTOMS_VALUE,
        
        /// <remarks/>
        DIMENSIONS,
        
        /// <remarks/>
        DUTIES_AND_TAXES_PAYOR_ACCOUNT_NUMBER,
        
        /// <remarks/>
        FREIGHT_PAYOR_ACCOUNT_NUMBER,
        
        /// <remarks/>
        PACKAGE_SEQUENCE_AND_COUNT,
        
        /// <remarks/>
        SHIPPER_ACCOUNT_NUMBER,
        
        /// <remarks/>
        SUPPLEMENTAL_LABEL_DOC_TAB,
        
        /// <remarks/>
        TERMS_AND_CONDITIONS,
        
        /// <remarks/>
        TOTAL_WEIGHT,
        
        /// <remarks/>
        TRANSPORTATION_CHARGES_PAYOR_ACCOUNT_NUMBER,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class LabelSpecification {
        
        private LabelFormatType labelFormatTypeField;
        
        private bool labelFormatTypeFieldSpecified;
        
        private ShippingDocumentImageType imageTypeField;
        
        private bool imageTypeFieldSpecified;
        
        private LabelStockType labelStockTypeField;
        
        private bool labelStockTypeFieldSpecified;
        
        private LabelPrintingOrientationType labelPrintingOrientationField;
        
        private bool labelPrintingOrientationFieldSpecified;
        
        private LabelRotationType labelRotationField;
        
        private bool labelRotationFieldSpecified;
        
        private ContactAndAddress printedLabelOriginField;
        
        private CustomerSpecifiedLabelDetail customerSpecifiedDetailField;
        
        /// <remarks/>
        public LabelFormatType LabelFormatType {
            get {
                return this.labelFormatTypeField;
            }
            set {
                this.labelFormatTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool LabelFormatTypeSpecified {
            get {
                return this.labelFormatTypeFieldSpecified;
            }
            set {
                this.labelFormatTypeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public ShippingDocumentImageType ImageType {
            get {
                return this.imageTypeField;
            }
            set {
                this.imageTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ImageTypeSpecified {
            get {
                return this.imageTypeFieldSpecified;
            }
            set {
                this.imageTypeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public LabelStockType LabelStockType {
            get {
                return this.labelStockTypeField;
            }
            set {
                this.labelStockTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool LabelStockTypeSpecified {
            get {
                return this.labelStockTypeFieldSpecified;
            }
            set {
                this.labelStockTypeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public LabelPrintingOrientationType LabelPrintingOrientation {
            get {
                return this.labelPrintingOrientationField;
            }
            set {
                this.labelPrintingOrientationField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool LabelPrintingOrientationSpecified {
            get {
                return this.labelPrintingOrientationFieldSpecified;
            }
            set {
                this.labelPrintingOrientationFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public LabelRotationType LabelRotation {
            get {
                return this.labelRotationField;
            }
            set {
                this.labelRotationField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool LabelRotationSpecified {
            get {
                return this.labelRotationFieldSpecified;
            }
            set {
                this.labelRotationFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public ContactAndAddress PrintedLabelOrigin {
            get {
                return this.printedLabelOriginField;
            }
            set {
                this.printedLabelOriginField = value;
            }
        }
        
        /// <remarks/>
        public CustomerSpecifiedLabelDetail CustomerSpecifiedDetail {
            get {
                return this.customerSpecifiedDetailField;
            }
            set {
                this.customerSpecifiedDetailField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum LabelFormatType {
        
        /// <remarks/>
        COMMON2D,
        
        /// <remarks/>
        LABEL_DATA_ONLY,
        
        /// <remarks/>
        MAILROOM,
        
        /// <remarks/>
        NO_LABEL,
        
        /// <remarks/>
        PRE_COMMON2D,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum LabelStockType {
        
        /// <remarks/>
        PAPER_4X6,
        
        /// <remarks/>
        PAPER_4X8,
        
        /// <remarks/>
        PAPER_4X9,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("PAPER_7X4.75")]
        PAPER_7X475,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("PAPER_8.5X11_BOTTOM_HALF_LABEL")]
        PAPER_85X11_BOTTOM_HALF_LABEL,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("PAPER_8.5X11_TOP_HALF_LABEL")]
        PAPER_85X11_TOP_HALF_LABEL,
        
        /// <remarks/>
        STOCK_4X6,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("STOCK_4X6.75_LEADING_DOC_TAB")]
        STOCK_4X675_LEADING_DOC_TAB,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("STOCK_4X6.75_TRAILING_DOC_TAB")]
        STOCK_4X675_TRAILING_DOC_TAB,
        
        /// <remarks/>
        STOCK_4X8,
        
        /// <remarks/>
        STOCK_4X9_LEADING_DOC_TAB,
        
        /// <remarks/>
        STOCK_4X9_TRAILING_DOC_TAB,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum LabelPrintingOrientationType {
        
        /// <remarks/>
        BOTTOM_EDGE_OF_TEXT_FIRST,
        
        /// <remarks/>
        TOP_EDGE_OF_TEXT_FIRST,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum LabelRotationType {
        
        /// <remarks/>
        NONE,
        
        /// <remarks/>
        RIGHT,
        
        /// <remarks/>
        UPSIDE_DOWN,
        
        /// <remarks/>
        LEFT,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class ContactAndAddress {
        
        private Contact contactField;
        
        private Address addressField;
        
        /// <remarks/>
        public Contact Contact {
            get {
                return this.contactField;
            }
            set {
                this.contactField = value;
            }
        }
        
        /// <remarks/>
        public Address Address {
            get {
                return this.addressField;
            }
            set {
                this.addressField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class SmartPostShipmentDetail {
        
        private SmartPostIndiciaType indiciaField;
        
        private bool indiciaFieldSpecified;
        
        private SmartPostAncillaryEndorsementType ancillaryEndorsementField;
        
        private bool ancillaryEndorsementFieldSpecified;
        
        private SmartPostShipmentSpecialServiceType[] specialServicesField;
        
        private string hubIdField;
        
        private string customerManifestIdField;
        
        /// <remarks/>
        public SmartPostIndiciaType Indicia {
            get {
                return this.indiciaField;
            }
            set {
                this.indiciaField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool IndiciaSpecified {
            get {
                return this.indiciaFieldSpecified;
            }
            set {
                this.indiciaFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public SmartPostAncillaryEndorsementType AncillaryEndorsement {
            get {
                return this.ancillaryEndorsementField;
            }
            set {
                this.ancillaryEndorsementField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AncillaryEndorsementSpecified {
            get {
                return this.ancillaryEndorsementFieldSpecified;
            }
            set {
                this.ancillaryEndorsementFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SpecialServices")]
        public SmartPostShipmentSpecialServiceType[] SpecialServices {
            get {
                return this.specialServicesField;
            }
            set {
                this.specialServicesField = value;
            }
        }
        
        /// <remarks/>
        public string HubId {
            get {
                return this.hubIdField;
            }
            set {
                this.hubIdField = value;
            }
        }
        
        /// <remarks/>
        public string CustomerManifestId {
            get {
                return this.customerManifestIdField;
            }
            set {
                this.customerManifestIdField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum SmartPostIndiciaType {
        
        /// <remarks/>
        MEDIA_MAIL,
        
        /// <remarks/>
        PARCEL_SELECT,
        
        /// <remarks/>
        PRESORTED_BOUND_PRINTED_MATTER,
        
        /// <remarks/>
        PRESORTED_STANDARD,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum SmartPostAncillaryEndorsementType {
        
        /// <remarks/>
        ADDRESS_CORRECTION,
        
        /// <remarks/>
        CARRIER_LEAVE_IF_NO_RESPONSE,
        
        /// <remarks/>
        CHANGE_SERVICE,
        
        /// <remarks/>
        FORWARDING_SERVICE,
        
        /// <remarks/>
        RETURN_SERVICE,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum SmartPostShipmentSpecialServiceType {
        
        /// <remarks/>
        USPS_DELIVERY_CONFIRMATION,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class PickupDetail {
        
        private System.DateTime readyDateTimeField;
        
        private bool readyDateTimeFieldSpecified;
        
        private System.DateTime latestPickupDateTimeField;
        
        private bool latestPickupDateTimeFieldSpecified;
        
        private string courierInstructionsField;
        
        private PickupRequestType requestTypeField;
        
        private bool requestTypeFieldSpecified;
        
        private PickupRequestSourceType requestSourceField;
        
        private bool requestSourceFieldSpecified;
        
        /// <remarks/>
        public System.DateTime ReadyDateTime {
            get {
                return this.readyDateTimeField;
            }
            set {
                this.readyDateTimeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ReadyDateTimeSpecified {
            get {
                return this.readyDateTimeFieldSpecified;
            }
            set {
                this.readyDateTimeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public System.DateTime LatestPickupDateTime {
            get {
                return this.latestPickupDateTimeField;
            }
            set {
                this.latestPickupDateTimeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool LatestPickupDateTimeSpecified {
            get {
                return this.latestPickupDateTimeFieldSpecified;
            }
            set {
                this.latestPickupDateTimeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public string CourierInstructions {
            get {
                return this.courierInstructionsField;
            }
            set {
                this.courierInstructionsField = value;
            }
        }
        
        /// <remarks/>
        public PickupRequestType RequestType {
            get {
                return this.requestTypeField;
            }
            set {
                this.requestTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RequestTypeSpecified {
            get {
                return this.requestTypeFieldSpecified;
            }
            set {
                this.requestTypeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public PickupRequestSourceType RequestSource {
            get {
                return this.requestSourceField;
            }
            set {
                this.requestSourceField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RequestSourceSpecified {
            get {
                return this.requestSourceFieldSpecified;
            }
            set {
                this.requestSourceFieldSpecified = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum PickupRequestType {
        
        /// <remarks/>
        SAME_DAY,
        
        /// <remarks/>
        FUTURE_DAY,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum PickupRequestSourceType {
        
        /// <remarks/>
        AUTOMATION,
        
        /// <remarks/>
        CUSTOMER_SERVICE,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class DestinationControlDetail {
        
        private DestinationControlStatementType[] statementTypesField;
        
        private string destinationCountriesField;
        
        private string endUserField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("StatementTypes")]
        public DestinationControlStatementType[] StatementTypes {
            get {
                return this.statementTypesField;
            }
            set {
                this.statementTypesField = value;
            }
        }
        
        /// <remarks/>
        public string DestinationCountries {
            get {
                return this.destinationCountriesField;
            }
            set {
                this.destinationCountriesField = value;
            }
        }
        
        /// <remarks/>
        public string EndUser {
            get {
                return this.endUserField;
            }
            set {
                this.endUserField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum DestinationControlStatementType {
        
        /// <remarks/>
        DEPARTMENT_OF_COMMERCE,
        
        /// <remarks/>
        DEPARTMENT_OF_STATE,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class ExportDetail {
        
        private B13AFilingOptionType b13AFilingOptionField;
        
        private bool b13AFilingOptionFieldSpecified;
        
        private string exportComplianceStatementField;
        
        private string permitNumberField;
        
        private DestinationControlDetail destinationControlDetailField;
        
        /// <remarks/>
        public B13AFilingOptionType B13AFilingOption {
            get {
                return this.b13AFilingOptionField;
            }
            set {
                this.b13AFilingOptionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool B13AFilingOptionSpecified {
            get {
                return this.b13AFilingOptionFieldSpecified;
            }
            set {
                this.b13AFilingOptionFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public string ExportComplianceStatement {
            get {
                return this.exportComplianceStatementField;
            }
            set {
                this.exportComplianceStatementField = value;
            }
        }
        
        /// <remarks/>
        public string PermitNumber {
            get {
                return this.permitNumberField;
            }
            set {
                this.permitNumberField = value;
            }
        }
        
        /// <remarks/>
        public DestinationControlDetail DestinationControlDetail {
            get {
                return this.destinationControlDetailField;
            }
            set {
                this.destinationControlDetailField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum B13AFilingOptionType {
        
        /// <remarks/>
        FILED_ELECTRONICALLY,
        
        /// <remarks/>
        MANUALLY_ATTACHED,
        
        /// <remarks/>
        NOT_REQUIRED,
        
        /// <remarks/>
        SUMMARY_REPORTING,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class NaftaCommodityDetail {
        
        private NaftaPreferenceCriterionCode preferenceCriterionField;
        
        private bool preferenceCriterionFieldSpecified;
        
        private NaftaProducerDeterminationCode producerDeterminationField;
        
        private bool producerDeterminationFieldSpecified;
        
        private string producerIdField;
        
        private NaftaNetCostMethodCode netCostMethodField;
        
        private bool netCostMethodFieldSpecified;
        
        private DateRange netCostDateRangeField;
        
        /// <remarks/>
        public NaftaPreferenceCriterionCode PreferenceCriterion {
            get {
                return this.preferenceCriterionField;
            }
            set {
                this.preferenceCriterionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PreferenceCriterionSpecified {
            get {
                return this.preferenceCriterionFieldSpecified;
            }
            set {
                this.preferenceCriterionFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public NaftaProducerDeterminationCode ProducerDetermination {
            get {
                return this.producerDeterminationField;
            }
            set {
                this.producerDeterminationField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ProducerDeterminationSpecified {
            get {
                return this.producerDeterminationFieldSpecified;
            }
            set {
                this.producerDeterminationFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public string ProducerId {
            get {
                return this.producerIdField;
            }
            set {
                this.producerIdField = value;
            }
        }
        
        /// <remarks/>
        public NaftaNetCostMethodCode NetCostMethod {
            get {
                return this.netCostMethodField;
            }
            set {
                this.netCostMethodField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool NetCostMethodSpecified {
            get {
                return this.netCostMethodFieldSpecified;
            }
            set {
                this.netCostMethodFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public DateRange NetCostDateRange {
            get {
                return this.netCostDateRangeField;
            }
            set {
                this.netCostDateRangeField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum NaftaPreferenceCriterionCode {
        
        /// <remarks/>
        A,
        
        /// <remarks/>
        B,
        
        /// <remarks/>
        C,
        
        /// <remarks/>
        D,
        
        /// <remarks/>
        E,
        
        /// <remarks/>
        F,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum NaftaProducerDeterminationCode {
        
        /// <remarks/>
        NO_1,
        
        /// <remarks/>
        NO_2,
        
        /// <remarks/>
        NO_3,
        
        /// <remarks/>
        YES,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum NaftaNetCostMethodCode {
        
        /// <remarks/>
        NC,
        
        /// <remarks/>
        NO,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class EdtExciseCondition {
        
        private string categoryField;
        
        private string valueField;
        
        /// <remarks/>
        public string Category {
            get {
                return this.categoryField;
            }
            set {
                this.categoryField = value;
            }
        }
        
        /// <remarks/>
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class Measure {
        
        private decimal quantityField;
        
        private bool quantityFieldSpecified;
        
        private string unitsField;
        
        /// <remarks/>
        public decimal Quantity {
            get {
                return this.quantityField;
            }
            set {
                this.quantityField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool QuantitySpecified {
            get {
                return this.quantityFieldSpecified;
            }
            set {
                this.quantityFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public string Units {
            get {
                return this.unitsField;
            }
            set {
                this.unitsField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class Commodity {
        
        private string nameField;
        
        private string numberOfPiecesField;
        
        private string descriptionField;
        
        private string countryOfManufactureField;
        
        private string harmonizedCodeField;
        
        private Weight weightField;
        
        private string quantityField;
        
        private string quantityUnitsField;
        
        private Measure[] additionalMeasuresField;
        
        private Money unitPriceField;
        
        private Money customsValueField;
        
        private EdtExciseCondition[] exciseConditionsField;
        
        private string exportLicenseNumberField;
        
        private System.DateTime exportLicenseExpirationDateField;
        
        private bool exportLicenseExpirationDateFieldSpecified;
        
        private string cIMarksAndNumbersField;
        
        private NaftaCommodityDetail naftaDetailField;
        
        /// <remarks/>
        public string Name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="nonNegativeInteger")]
        public string NumberOfPieces {
            get {
                return this.numberOfPiecesField;
            }
            set {
                this.numberOfPiecesField = value;
            }
        }
        
        /// <remarks/>
        public string Description {
            get {
                return this.descriptionField;
            }
            set {
                this.descriptionField = value;
            }
        }
        
        /// <remarks/>
        public string CountryOfManufacture {
            get {
                return this.countryOfManufactureField;
            }
            set {
                this.countryOfManufactureField = value;
            }
        }
        
        /// <remarks/>
        public string HarmonizedCode {
            get {
                return this.harmonizedCodeField;
            }
            set {
                this.harmonizedCodeField = value;
            }
        }
        
        /// <remarks/>
        public Weight Weight {
            get {
                return this.weightField;
            }
            set {
                this.weightField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="nonNegativeInteger")]
        public string Quantity {
            get {
                return this.quantityField;
            }
            set {
                this.quantityField = value;
            }
        }
        
        /// <remarks/>
        public string QuantityUnits {
            get {
                return this.quantityUnitsField;
            }
            set {
                this.quantityUnitsField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AdditionalMeasures")]
        public Measure[] AdditionalMeasures {
            get {
                return this.additionalMeasuresField;
            }
            set {
                this.additionalMeasuresField = value;
            }
        }
        
        /// <remarks/>
        public Money UnitPrice {
            get {
                return this.unitPriceField;
            }
            set {
                this.unitPriceField = value;
            }
        }
        
        /// <remarks/>
        public Money CustomsValue {
            get {
                return this.customsValueField;
            }
            set {
                this.customsValueField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ExciseConditions")]
        public EdtExciseCondition[] ExciseConditions {
            get {
                return this.exciseConditionsField;
            }
            set {
                this.exciseConditionsField = value;
            }
        }
        
        /// <remarks/>
        public string ExportLicenseNumber {
            get {
                return this.exportLicenseNumberField;
            }
            set {
                this.exportLicenseNumberField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="date")]
        public System.DateTime ExportLicenseExpirationDate {
            get {
                return this.exportLicenseExpirationDateField;
            }
            set {
                this.exportLicenseExpirationDateField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ExportLicenseExpirationDateSpecified {
            get {
                return this.exportLicenseExpirationDateFieldSpecified;
            }
            set {
                this.exportLicenseExpirationDateFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public string CIMarksAndNumbers {
            get {
                return this.cIMarksAndNumbersField;
            }
            set {
                this.cIMarksAndNumbersField = value;
            }
        }
        
        /// <remarks/>
        public NaftaCommodityDetail NaftaDetail {
            get {
                return this.naftaDetailField;
            }
            set {
                this.naftaDetailField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class CommercialInvoice {
        
        private string[] commentsField;
        
        private Money freightChargeField;
        
        private Money taxesOrMiscellaneousChargeField;
        
        private PurposeOfShipmentType purposeField;
        
        private bool purposeFieldSpecified;
        
        private string purposeOfShipmentDescriptionField;
        
        private string customerInvoiceNumberField;
        
        private TermsOfSaleType termsOfSaleField;
        
        private bool termsOfSaleFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Comments")]
        public string[] Comments {
            get {
                return this.commentsField;
            }
            set {
                this.commentsField = value;
            }
        }
        
        /// <remarks/>
        public Money FreightCharge {
            get {
                return this.freightChargeField;
            }
            set {
                this.freightChargeField = value;
            }
        }
        
        /// <remarks/>
        public Money TaxesOrMiscellaneousCharge {
            get {
                return this.taxesOrMiscellaneousChargeField;
            }
            set {
                this.taxesOrMiscellaneousChargeField = value;
            }
        }
        
        /// <remarks/>
        public PurposeOfShipmentType Purpose {
            get {
                return this.purposeField;
            }
            set {
                this.purposeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PurposeSpecified {
            get {
                return this.purposeFieldSpecified;
            }
            set {
                this.purposeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public string PurposeOfShipmentDescription {
            get {
                return this.purposeOfShipmentDescriptionField;
            }
            set {
                this.purposeOfShipmentDescriptionField = value;
            }
        }
        
        /// <remarks/>
        public string CustomerInvoiceNumber {
            get {
                return this.customerInvoiceNumberField;
            }
            set {
                this.customerInvoiceNumberField = value;
            }
        }
        
        /// <remarks/>
        public TermsOfSaleType TermsOfSale {
            get {
                return this.termsOfSaleField;
            }
            set {
                this.termsOfSaleField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool TermsOfSaleSpecified {
            get {
                return this.termsOfSaleFieldSpecified;
            }
            set {
                this.termsOfSaleFieldSpecified = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum PurposeOfShipmentType {
        
        /// <remarks/>
        GIFT,
        
        /// <remarks/>
        NOT_SOLD,
        
        /// <remarks/>
        PERSONAL_EFFECTS,
        
        /// <remarks/>
        REPAIR_AND_RETURN,
        
        /// <remarks/>
        SAMPLE,
        
        /// <remarks/>
        SOLD,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum TermsOfSaleType {
        
        /// <remarks/>
        CFR_OR_CPT,
        
        /// <remarks/>
        CIF_OR_CIP,
        
        /// <remarks/>
        DDP,
        
        /// <remarks/>
        DDU,
        
        /// <remarks/>
        EXW,
        
        /// <remarks/>
        FOB_OR_FCA,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class InternationalDetail {
        
        private Party brokerField;
        
        private ClearanceBrokerageType clearanceBrokerageField;
        
        private bool clearanceBrokerageFieldSpecified;
        
        private Party importerOfRecordField;
        
        private RecipientCustomsIdType recipientCustomsIdTypeField;
        
        private bool recipientCustomsIdTypeFieldSpecified;
        
        private Payment dutiesPaymentField;
        
        private InternationalDocumentContentType documentContentField;
        
        private bool documentContentFieldSpecified;
        
        private Money customsValueField;
        
        private Money insuranceChargesField;
        
        private CommercialInvoice commercialInvoiceField;
        
        private Commodity[] commoditiesField;
        
        private ExportDetail exportDetailField;
        
        private RegulatoryControlType[] regulatoryControlsField;
        
        /// <remarks/>
        public Party Broker {
            get {
                return this.brokerField;
            }
            set {
                this.brokerField = value;
            }
        }
        
        /// <remarks/>
        public ClearanceBrokerageType ClearanceBrokerage {
            get {
                return this.clearanceBrokerageField;
            }
            set {
                this.clearanceBrokerageField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ClearanceBrokerageSpecified {
            get {
                return this.clearanceBrokerageFieldSpecified;
            }
            set {
                this.clearanceBrokerageFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public Party ImporterOfRecord {
            get {
                return this.importerOfRecordField;
            }
            set {
                this.importerOfRecordField = value;
            }
        }
        
        /// <remarks/>
        public RecipientCustomsIdType RecipientCustomsIdType {
            get {
                return this.recipientCustomsIdTypeField;
            }
            set {
                this.recipientCustomsIdTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RecipientCustomsIdTypeSpecified {
            get {
                return this.recipientCustomsIdTypeFieldSpecified;
            }
            set {
                this.recipientCustomsIdTypeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public Payment DutiesPayment {
            get {
                return this.dutiesPaymentField;
            }
            set {
                this.dutiesPaymentField = value;
            }
        }
        
        /// <remarks/>
        public InternationalDocumentContentType DocumentContent {
            get {
                return this.documentContentField;
            }
            set {
                this.documentContentField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DocumentContentSpecified {
            get {
                return this.documentContentFieldSpecified;
            }
            set {
                this.documentContentFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public Money CustomsValue {
            get {
                return this.customsValueField;
            }
            set {
                this.customsValueField = value;
            }
        }
        
        /// <remarks/>
        public Money InsuranceCharges {
            get {
                return this.insuranceChargesField;
            }
            set {
                this.insuranceChargesField = value;
            }
        }
        
        /// <remarks/>
        public CommercialInvoice CommercialInvoice {
            get {
                return this.commercialInvoiceField;
            }
            set {
                this.commercialInvoiceField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Commodities")]
        public Commodity[] Commodities {
            get {
                return this.commoditiesField;
            }
            set {
                this.commoditiesField = value;
            }
        }
        
        /// <remarks/>
        public ExportDetail ExportDetail {
            get {
                return this.exportDetailField;
            }
            set {
                this.exportDetailField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RegulatoryControls")]
        public RegulatoryControlType[] RegulatoryControls {
            get {
                return this.regulatoryControlsField;
            }
            set {
                this.regulatoryControlsField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum ClearanceBrokerageType {
        
        /// <remarks/>
        BROKER_INCLUSIVE,
        
        /// <remarks/>
        BROKER_INCLUSIVE_NON_RESIDENT_IMPORTER,
        
        /// <remarks/>
        BROKER_SELECT,
        
        /// <remarks/>
        BROKER_SELECT_NON_RESIDENT_IMPORTER,
        
        /// <remarks/>
        BROKER_UNASSIGNED,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum RecipientCustomsIdType {
        
        /// <remarks/>
        COMPANY,
        
        /// <remarks/>
        INDIVIDUAL,
        
        /// <remarks/>
        PASSPORT,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class Payment {
        
        private PaymentType paymentTypeField;
        
        private bool paymentTypeFieldSpecified;
        
        private Payor payorField;
        
        /// <remarks/>
        public PaymentType PaymentType {
            get {
                return this.paymentTypeField;
            }
            set {
                this.paymentTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PaymentTypeSpecified {
            get {
                return this.paymentTypeFieldSpecified;
            }
            set {
                this.paymentTypeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public Payor Payor {
            get {
                return this.payorField;
            }
            set {
                this.payorField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum PaymentType {
        
        /// <remarks/>
        SENDER,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class Payor {
        
        private string accountNumberField;
        
        private string countryCodeField;
        
        /// <remarks/>
        public string AccountNumber {
            get {
                return this.accountNumberField;
            }
            set {
                this.accountNumberField = value;
            }
        }
        
        /// <remarks/>
        public string CountryCode {
            get {
                return this.countryCodeField;
            }
            set {
                this.countryCodeField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum InternationalDocumentContentType {
        
        /// <remarks/>
        DOCUMENTS_ONLY,
        
        /// <remarks/>
        NON_DOCUMENTS,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum RegulatoryControlType {
        
        /// <remarks/>
        EU_CIRCULATION,
        
        /// <remarks/>
        FOOD_OR_PERISHABLE,
        
        /// <remarks/>
        NAFTA,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class Volume {
        
        private VolumeUnits unitsField;
        
        private bool unitsFieldSpecified;
        
        private decimal valueField;
        
        private bool valueFieldSpecified;
        
        /// <remarks/>
        public VolumeUnits Units {
            get {
                return this.unitsField;
            }
            set {
                this.unitsField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool UnitsSpecified {
            get {
                return this.unitsFieldSpecified;
            }
            set {
                this.unitsFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public decimal Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ValueSpecified {
            get {
                return this.valueFieldSpecified;
            }
            set {
                this.valueFieldSpecified = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum VolumeUnits {
        
        /// <remarks/>
        CUBIC_FT,
        
        /// <remarks/>
        CUBIC_M,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class FreightShipmentLineItem {
        
        private FreightClassType freightClassField;
        
        private bool freightClassFieldSpecified;
        
        private PhysicalPackagingType packagingField;
        
        private bool packagingFieldSpecified;
        
        private string descriptionField;
        
        private Weight weightField;
        
        private Dimensions dimensionsField;
        
        private Volume volumeField;
        
        /// <remarks/>
        public FreightClassType FreightClass {
            get {
                return this.freightClassField;
            }
            set {
                this.freightClassField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FreightClassSpecified {
            get {
                return this.freightClassFieldSpecified;
            }
            set {
                this.freightClassFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public PhysicalPackagingType Packaging {
            get {
                return this.packagingField;
            }
            set {
                this.packagingField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PackagingSpecified {
            get {
                return this.packagingFieldSpecified;
            }
            set {
                this.packagingFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public string Description {
            get {
                return this.descriptionField;
            }
            set {
                this.descriptionField = value;
            }
        }
        
        /// <remarks/>
        public Weight Weight {
            get {
                return this.weightField;
            }
            set {
                this.weightField = value;
            }
        }
        
        /// <remarks/>
        public Dimensions Dimensions {
            get {
                return this.dimensionsField;
            }
            set {
                this.dimensionsField = value;
            }
        }
        
        /// <remarks/>
        public Volume Volume {
            get {
                return this.volumeField;
            }
            set {
                this.volumeField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class FreightShipmentDetail {
        
        private string fedExFreightAccountNumberField;
        
        private Address fedExFreightBillingAddressField;
        
        private string fedExNationalFreightAccountNumberField;
        
        private Address fedExNationalFreightBillingAddressField;
        
        private FreightShipmentRoleType roleField;
        
        private bool roleFieldSpecified;
        
        private FreightAccountPaymentType paymentTypeField;
        
        private bool paymentTypeFieldSpecified;
        
        private bool newGoodsField;
        
        private bool newGoodsFieldSpecified;
        
        private Money declaredValueField;
        
        private string[] couponsField;
        
        private string handlingUnitsField;
        
        private decimal clientDiscountPercentField;
        
        private bool clientDiscountPercentFieldSpecified;
        
        private Weight palletWeightField;
        
        private Dimensions shipmentDimensionsField;
        
        private string commentField;
        
        private FreightShipmentLineItem[] lineItemsField;
        
        /// <remarks/>
        public string FedExFreightAccountNumber {
            get {
                return this.fedExFreightAccountNumberField;
            }
            set {
                this.fedExFreightAccountNumberField = value;
            }
        }
        
        /// <remarks/>
        public Address FedExFreightBillingAddress {
            get {
                return this.fedExFreightBillingAddressField;
            }
            set {
                this.fedExFreightBillingAddressField = value;
            }
        }
        
        /// <remarks/>
        public string FedExNationalFreightAccountNumber {
            get {
                return this.fedExNationalFreightAccountNumberField;
            }
            set {
                this.fedExNationalFreightAccountNumberField = value;
            }
        }
        
        /// <remarks/>
        public Address FedExNationalFreightBillingAddress {
            get {
                return this.fedExNationalFreightBillingAddressField;
            }
            set {
                this.fedExNationalFreightBillingAddressField = value;
            }
        }
        
        /// <remarks/>
        public FreightShipmentRoleType Role {
            get {
                return this.roleField;
            }
            set {
                this.roleField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RoleSpecified {
            get {
                return this.roleFieldSpecified;
            }
            set {
                this.roleFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public FreightAccountPaymentType PaymentType {
            get {
                return this.paymentTypeField;
            }
            set {
                this.paymentTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PaymentTypeSpecified {
            get {
                return this.paymentTypeFieldSpecified;
            }
            set {
                this.paymentTypeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public bool NewGoods {
            get {
                return this.newGoodsField;
            }
            set {
                this.newGoodsField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool NewGoodsSpecified {
            get {
                return this.newGoodsFieldSpecified;
            }
            set {
                this.newGoodsFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public Money DeclaredValue {
            get {
                return this.declaredValueField;
            }
            set {
                this.declaredValueField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Coupons")]
        public string[] Coupons {
            get {
                return this.couponsField;
            }
            set {
                this.couponsField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="nonNegativeInteger")]
        public string HandlingUnits {
            get {
                return this.handlingUnitsField;
            }
            set {
                this.handlingUnitsField = value;
            }
        }
        
        /// <remarks/>
        public decimal ClientDiscountPercent {
            get {
                return this.clientDiscountPercentField;
            }
            set {
                this.clientDiscountPercentField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ClientDiscountPercentSpecified {
            get {
                return this.clientDiscountPercentFieldSpecified;
            }
            set {
                this.clientDiscountPercentFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public Weight PalletWeight {
            get {
                return this.palletWeightField;
            }
            set {
                this.palletWeightField = value;
            }
        }
        
        /// <remarks/>
        public Dimensions ShipmentDimensions {
            get {
                return this.shipmentDimensionsField;
            }
            set {
                this.shipmentDimensionsField = value;
            }
        }
        
        /// <remarks/>
        public string Comment {
            get {
                return this.commentField;
            }
            set {
                this.commentField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("LineItems")]
        public FreightShipmentLineItem[] LineItems {
            get {
                return this.lineItemsField;
            }
            set {
                this.lineItemsField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum FreightShipmentRoleType {
        
        /// <remarks/>
        CONSIGNEE,
        
        /// <remarks/>
        SHIPPER,
        
        /// <remarks/>
        THIRD_PARTY,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum FreightAccountPaymentType {
        
        /// <remarks/>
        COLLECT,
        
        /// <remarks/>
        PREPAID,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class ExpressFreightDetailContact {
        
        private string nameField;
        
        private string phoneField;
        
        /// <remarks/>
        public string Name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
            }
        }
        
        /// <remarks/>
        public string Phone {
            get {
                return this.phoneField;
            }
            set {
                this.phoneField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class ExpressFreightDetail {
        
        private bool packingListEnclosedField;
        
        private bool packingListEnclosedFieldSpecified;
        
        private string shippersLoadAndCountField;
        
        private string bookingConfirmationNumberField;
        
        private bool referenceLabelRequestedField;
        
        private bool referenceLabelRequestedFieldSpecified;
        
        private ExpressFreightDetailContact beforeDeliveryContactField;
        
        private ExpressFreightDetailContact undeliverableContactField;
        
        /// <remarks/>
        public bool PackingListEnclosed {
            get {
                return this.packingListEnclosedField;
            }
            set {
                this.packingListEnclosedField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PackingListEnclosedSpecified {
            get {
                return this.packingListEnclosedFieldSpecified;
            }
            set {
                this.packingListEnclosedFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="positiveInteger")]
        public string ShippersLoadAndCount {
            get {
                return this.shippersLoadAndCountField;
            }
            set {
                this.shippersLoadAndCountField = value;
            }
        }
        
        /// <remarks/>
        public string BookingConfirmationNumber {
            get {
                return this.bookingConfirmationNumberField;
            }
            set {
                this.bookingConfirmationNumberField = value;
            }
        }
        
        /// <remarks/>
        public bool ReferenceLabelRequested {
            get {
                return this.referenceLabelRequestedField;
            }
            set {
                this.referenceLabelRequestedField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ReferenceLabelRequestedSpecified {
            get {
                return this.referenceLabelRequestedFieldSpecified;
            }
            set {
                this.referenceLabelRequestedFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public ExpressFreightDetailContact BeforeDeliveryContact {
            get {
                return this.beforeDeliveryContactField;
            }
            set {
                this.beforeDeliveryContactField = value;
            }
        }
        
        /// <remarks/>
        public ExpressFreightDetailContact UndeliverableContact {
            get {
                return this.undeliverableContactField;
            }
            set {
                this.undeliverableContactField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class UploadDocumentReferenceDetail {
        
        private string lineNumberField;
        
        private string customerReferenceField;
        
        private UploadDocumentProducerType documentProducerField;
        
        private bool documentProducerFieldSpecified;
        
        private UploadDocumentType documentTypeField;
        
        private bool documentTypeFieldSpecified;
        
        private string documentIdField;
        
        private UploadDocumentIdProducer documentIdProducerField;
        
        private bool documentIdProducerFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="positiveInteger")]
        public string LineNumber {
            get {
                return this.lineNumberField;
            }
            set {
                this.lineNumberField = value;
            }
        }
        
        /// <remarks/>
        public string CustomerReference {
            get {
                return this.customerReferenceField;
            }
            set {
                this.customerReferenceField = value;
            }
        }
        
        /// <remarks/>
        public UploadDocumentProducerType DocumentProducer {
            get {
                return this.documentProducerField;
            }
            set {
                this.documentProducerField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DocumentProducerSpecified {
            get {
                return this.documentProducerFieldSpecified;
            }
            set {
                this.documentProducerFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public UploadDocumentType DocumentType {
            get {
                return this.documentTypeField;
            }
            set {
                this.documentTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DocumentTypeSpecified {
            get {
                return this.documentTypeFieldSpecified;
            }
            set {
                this.documentTypeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public string DocumentId {
            get {
                return this.documentIdField;
            }
            set {
                this.documentIdField = value;
            }
        }
        
        /// <remarks/>
        public UploadDocumentIdProducer DocumentIdProducer {
            get {
                return this.documentIdProducerField;
            }
            set {
                this.documentIdProducerField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DocumentIdProducerSpecified {
            get {
                return this.documentIdProducerFieldSpecified;
            }
            set {
                this.documentIdProducerFieldSpecified = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum UploadDocumentProducerType {
        
        /// <remarks/>
        CUSTOMER,
        
        /// <remarks/>
        FEDEX_CLS,
        
        /// <remarks/>
        FEDEX_GTM,
        
        /// <remarks/>
        OTHER,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum UploadDocumentType {
        
        /// <remarks/>
        CERTIFICATE_OF_ORIGIN,
        
        /// <remarks/>
        COMMERCIAL_INVOICE,
        
        /// <remarks/>
        ETD_LABEL,
        
        /// <remarks/>
        NAFTA_CERTIFICATE_OF_ORIGIN,
        
        /// <remarks/>
        OTHER,
        
        /// <remarks/>
        PRO_FORMA_INVOICE,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum UploadDocumentIdProducer {
        
        /// <remarks/>
        CUSTOMER,
        
        /// <remarks/>
        FEDEX_CSHP,
        
        /// <remarks/>
        FEDEX_GTM,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class UploadDocumentDetail {
        
        private string lineNumberField;
        
        private string customerReferenceField;
        
        private UploadDocumentProducerType documentProducerField;
        
        private bool documentProducerFieldSpecified;
        
        private UploadDocumentType documentTypeField;
        
        private bool documentTypeFieldSpecified;
        
        private string fileNameField;
        
        private byte[] documentContentField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="positiveInteger")]
        public string LineNumber {
            get {
                return this.lineNumberField;
            }
            set {
                this.lineNumberField = value;
            }
        }
        
        /// <remarks/>
        public string CustomerReference {
            get {
                return this.customerReferenceField;
            }
            set {
                this.customerReferenceField = value;
            }
        }
        
        /// <remarks/>
        public UploadDocumentProducerType DocumentProducer {
            get {
                return this.documentProducerField;
            }
            set {
                this.documentProducerField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DocumentProducerSpecified {
            get {
                return this.documentProducerFieldSpecified;
            }
            set {
                this.documentProducerFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public UploadDocumentType DocumentType {
            get {
                return this.documentTypeField;
            }
            set {
                this.documentTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DocumentTypeSpecified {
            get {
                return this.documentTypeFieldSpecified;
            }
            set {
                this.documentTypeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public string FileName {
            get {
                return this.fileNameField;
            }
            set {
                this.fileNameField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary")]
        public byte[] DocumentContent {
            get {
                return this.documentContentField;
            }
            set {
                this.documentContentField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class EtdDetail {
        
        private RequestedShippingDocumentType[] requestedDocumentCopiesField;
        
        private UploadDocumentDetail[] documentsField;
        
        private UploadDocumentReferenceDetail[] documentReferencesField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RequestedDocumentCopies")]
        public RequestedShippingDocumentType[] RequestedDocumentCopies {
            get {
                return this.requestedDocumentCopiesField;
            }
            set {
                this.requestedDocumentCopiesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Documents")]
        public UploadDocumentDetail[] Documents {
            get {
                return this.documentsField;
            }
            set {
                this.documentsField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("DocumentReferences")]
        public UploadDocumentReferenceDetail[] DocumentReferences {
            get {
                return this.documentReferencesField;
            }
            set {
                this.documentReferencesField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class FreightGuaranteeDetail {
        
        private FreightGuaranteeType typeField;
        
        private bool typeFieldSpecified;
        
        private System.DateTime dateField;
        
        private bool dateFieldSpecified;
        
        private System.DateTime timeField;
        
        private bool timeFieldSpecified;
        
        /// <remarks/>
        public FreightGuaranteeType Type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool TypeSpecified {
            get {
                return this.typeFieldSpecified;
            }
            set {
                this.typeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="date")]
        public System.DateTime Date {
            get {
                return this.dateField;
            }
            set {
                this.dateField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DateSpecified {
            get {
                return this.dateFieldSpecified;
            }
            set {
                this.dateFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="time")]
        public System.DateTime Time {
            get {
                return this.timeField;
            }
            set {
                this.timeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool TimeSpecified {
            get {
                return this.timeFieldSpecified;
            }
            set {
                this.timeFieldSpecified = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class HomeDeliveryPremiumDetail {
        
        private HomeDeliveryPremiumType homeDeliveryPremiumTypeField;
        
        private System.DateTime dateField;
        
        private bool dateFieldSpecified;
        
        private string phoneNumberField;
        
        /// <remarks/>
        public HomeDeliveryPremiumType HomeDeliveryPremiumType {
            get {
                return this.homeDeliveryPremiumTypeField;
            }
            set {
                this.homeDeliveryPremiumTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="date")]
        public System.DateTime Date {
            get {
                return this.dateField;
            }
            set {
                this.dateField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DateSpecified {
            get {
                return this.dateFieldSpecified;
            }
            set {
                this.dateFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public string PhoneNumber {
            get {
                return this.phoneNumberField;
            }
            set {
                this.phoneNumberField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum HomeDeliveryPremiumType {
        
        /// <remarks/>
        APPOINTMENT,
        
        /// <remarks/>
        DATE_CERTAIN,
        
        /// <remarks/>
        EVENING,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class ShipmentDryIceDetail {
        
        private string packageCountField;
        
        private Weight totalWeightField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="nonNegativeInteger")]
        public string PackageCount {
            get {
                return this.packageCountField;
            }
            set {
                this.packageCountField = value;
            }
        }
        
        /// <remarks/>
        public Weight TotalWeight {
            get {
                return this.totalWeightField;
            }
            set {
                this.totalWeightField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class EMailLabelDetail {
        
        private string notificationEMailAddressField;
        
        private string notificationMessageField;
        
        /// <remarks/>
        public string NotificationEMailAddress {
            get {
                return this.notificationEMailAddressField;
            }
            set {
                this.notificationEMailAddressField = value;
            }
        }
        
        /// <remarks/>
        public string NotificationMessage {
            get {
                return this.notificationMessageField;
            }
            set {
                this.notificationMessageField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class PendingShipmentDetail {
        
        private PendingShipmentType typeField;
        
        private System.DateTime expirationDateField;
        
        private bool expirationDateFieldSpecified;
        
        private EMailLabelDetail emailLabelDetailField;
        
        /// <remarks/>
        public PendingShipmentType Type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
            }
        }
        
        /// <remarks/>
        public System.DateTime ExpirationDate {
            get {
                return this.expirationDateField;
            }
            set {
                this.expirationDateField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ExpirationDateSpecified {
            get {
                return this.expirationDateFieldSpecified;
            }
            set {
                this.expirationDateFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public EMailLabelDetail EmailLabelDetail {
            get {
                return this.emailLabelDetailField;
            }
            set {
                this.emailLabelDetailField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum PendingShipmentType {
        
        /// <remarks/>
        EMAIL,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class ReturnEMailDetail {
        
        private string merchantPhoneNumberField;
        
        private ReturnEMailAllowedSpecialServiceType allowedSpecialServicesField;
        
        private bool allowedSpecialServicesFieldSpecified;
        
        /// <remarks/>
        public string MerchantPhoneNumber {
            get {
                return this.merchantPhoneNumberField;
            }
            set {
                this.merchantPhoneNumberField = value;
            }
        }
        
        /// <remarks/>
        public ReturnEMailAllowedSpecialServiceType AllowedSpecialServices {
            get {
                return this.allowedSpecialServicesField;
            }
            set {
                this.allowedSpecialServicesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AllowedSpecialServicesSpecified {
            get {
                return this.allowedSpecialServicesFieldSpecified;
            }
            set {
                this.allowedSpecialServicesFieldSpecified = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum ReturnEMailAllowedSpecialServiceType {
        
        /// <remarks/>
        SATURDAY_DELIVERY,
        
        /// <remarks/>
        SATURDAY_PICKUP,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class Rma {
        
        private string numberField;
        
        private string reasonField;
        
        /// <remarks/>
        public string Number {
            get {
                return this.numberField;
            }
            set {
                this.numberField = value;
            }
        }
        
        /// <remarks/>
        public string Reason {
            get {
                return this.reasonField;
            }
            set {
                this.reasonField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class ReturnShipmentDetail {
        
        private ReturnType returnTypeField;
        
        private Rma rmaField;
        
        private ReturnEMailDetail returnEMailDetailField;
        
        /// <remarks/>
        public ReturnType ReturnType {
            get {
                return this.returnTypeField;
            }
            set {
                this.returnTypeField = value;
            }
        }
        
        /// <remarks/>
        public Rma Rma {
            get {
                return this.rmaField;
            }
            set {
                this.rmaField = value;
            }
        }
        
        /// <remarks/>
        public ReturnEMailDetail ReturnEMailDetail {
            get {
                return this.returnEMailDetailField;
            }
            set {
                this.returnEMailDetailField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum ReturnType {
        
        /// <remarks/>
        FEDEX_TAG,
        
        /// <remarks/>
        PENDING,
        
        /// <remarks/>
        PRINT_RETURN_LABEL,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class EMailNotificationRecipient {
        
        private EMailNotificationRecipientType eMailNotificationRecipientTypeField;
        
        private string eMailAddressField;
        
        private bool notifyOnShipmentField;
        
        private bool notifyOnShipmentFieldSpecified;
        
        private bool notifyOnExceptionField;
        
        private bool notifyOnExceptionFieldSpecified;
        
        private bool notifyOnDeliveryField;
        
        private bool notifyOnDeliveryFieldSpecified;
        
        private EMailNotificationFormatType formatField;
        
        private bool formatFieldSpecified;
        
        private Localization localizationField;
        
        /// <remarks/>
        public EMailNotificationRecipientType EMailNotificationRecipientType {
            get {
                return this.eMailNotificationRecipientTypeField;
            }
            set {
                this.eMailNotificationRecipientTypeField = value;
            }
        }
        
        /// <remarks/>
        public string EMailAddress {
            get {
                return this.eMailAddressField;
            }
            set {
                this.eMailAddressField = value;
            }
        }
        
        /// <remarks/>
        public bool NotifyOnShipment {
            get {
                return this.notifyOnShipmentField;
            }
            set {
                this.notifyOnShipmentField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool NotifyOnShipmentSpecified {
            get {
                return this.notifyOnShipmentFieldSpecified;
            }
            set {
                this.notifyOnShipmentFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public bool NotifyOnException {
            get {
                return this.notifyOnExceptionField;
            }
            set {
                this.notifyOnExceptionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool NotifyOnExceptionSpecified {
            get {
                return this.notifyOnExceptionFieldSpecified;
            }
            set {
                this.notifyOnExceptionFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public bool NotifyOnDelivery {
            get {
                return this.notifyOnDeliveryField;
            }
            set {
                this.notifyOnDeliveryField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool NotifyOnDeliverySpecified {
            get {
                return this.notifyOnDeliveryFieldSpecified;
            }
            set {
                this.notifyOnDeliveryFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public EMailNotificationFormatType Format {
            get {
                return this.formatField;
            }
            set {
                this.formatField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FormatSpecified {
            get {
                return this.formatFieldSpecified;
            }
            set {
                this.formatFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public Localization Localization {
            get {
                return this.localizationField;
            }
            set {
                this.localizationField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum EMailNotificationRecipientType {
        
        /// <remarks/>
        BROKER,
        
        /// <remarks/>
        OTHER,
        
        /// <remarks/>
        RECIPIENT,
        
        /// <remarks/>
        SHIPPER,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum EMailNotificationFormatType {
        
        /// <remarks/>
        HTML,
        
        /// <remarks/>
        TEXT,
        
        /// <remarks/>
        WIRELESS,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class EMailNotificationDetail {
        
        private string personalMessageField;
        
        private EMailNotificationRecipient[] recipientsField;
        
        /// <remarks/>
        public string PersonalMessage {
            get {
                return this.personalMessageField;
            }
            set {
                this.personalMessageField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Recipients")]
        public EMailNotificationRecipient[] Recipients {
            get {
                return this.recipientsField;
            }
            set {
                this.recipientsField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class HoldAtLocationDetail {
        
        private string phoneNumberField;
        
        private Address addressField;
        
        /// <remarks/>
        public string PhoneNumber {
            get {
                return this.phoneNumberField;
            }
            set {
                this.phoneNumberField = value;
            }
        }
        
        /// <remarks/>
        public Address Address {
            get {
                return this.addressField;
            }
            set {
                this.addressField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class CodDetail {
        
        private CodAddTransportationChargesType addTransportationChargesField;
        
        private bool addTransportationChargesFieldSpecified;
        
        private CodCollectionType collectionTypeField;
        
        private Party codRecipientField;
        
        private CodReturnReferenceIndicatorType referenceIndicatorField;
        
        private bool referenceIndicatorFieldSpecified;
        
        /// <remarks/>
        public CodAddTransportationChargesType AddTransportationCharges {
            get {
                return this.addTransportationChargesField;
            }
            set {
                this.addTransportationChargesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AddTransportationChargesSpecified {
            get {
                return this.addTransportationChargesFieldSpecified;
            }
            set {
                this.addTransportationChargesFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public CodCollectionType CollectionType {
            get {
                return this.collectionTypeField;
            }
            set {
                this.collectionTypeField = value;
            }
        }
        
        /// <remarks/>
        public Party CodRecipient {
            get {
                return this.codRecipientField;
            }
            set {
                this.codRecipientField = value;
            }
        }
        
        /// <remarks/>
        public CodReturnReferenceIndicatorType ReferenceIndicator {
            get {
                return this.referenceIndicatorField;
            }
            set {
                this.referenceIndicatorField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ReferenceIndicatorSpecified {
            get {
                return this.referenceIndicatorFieldSpecified;
            }
            set {
                this.referenceIndicatorFieldSpecified = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum CodAddTransportationChargesType {
        
        /// <remarks/>
        ADD_ACCOUNT_COD_SURCHARGE,
        
        /// <remarks/>
        ADD_ACCOUNT_NET_CHARGE,
        
        /// <remarks/>
        ADD_ACCOUNT_NET_FREIGHT,
        
        /// <remarks/>
        ADD_ACCOUNT_TOTAL_CUSTOMER_CHARGE,
        
        /// <remarks/>
        ADD_LIST_COD_SURCHARGE,
        
        /// <remarks/>
        ADD_LIST_NET_CHARGE,
        
        /// <remarks/>
        ADD_LIST_NET_FREIGHT,
        
        /// <remarks/>
        ADD_LIST_TOTAL_CUSTOMER_CHARGE,
        
        /// <remarks/>
        ADD_SHIPMENT_MULTIWEIGHT_NET_CHARGE,
        
        /// <remarks/>
        ADD_SHIPMENT_MULTIWEIGHT_NET_FREIGHT,
        
        /// <remarks/>
        ADD_SUM_OF_ACCOUNT_NET_CHARGES,
        
        /// <remarks/>
        ADD_SUM_OF_ACCOUNT_NET_FREIGHT,
        
        /// <remarks/>
        ADD_SUM_OF_LIST_NET_CHARGES,
        
        /// <remarks/>
        ADD_SUM_OF_LIST_NET_FREIGHT,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum CodCollectionType {
        
        /// <remarks/>
        ANY,
        
        /// <remarks/>
        CASH,
        
        /// <remarks/>
        GUARANTEED_FUNDS,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum CodReturnReferenceIndicatorType {
        
        /// <remarks/>
        INVOICE,
        
        /// <remarks/>
        PO,
        
        /// <remarks/>
        REFERENCE,
        
        /// <remarks/>
        TRACKING,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class ShipmentSpecialServicesRequested {
        
        private ShipmentSpecialServiceType[] specialServiceTypesField;
        
        private CodDetail codDetailField;
        
        private Money codCollectionAmountField;
        
        private HoldAtLocationDetail holdAtLocationDetailField;
        
        private EMailNotificationDetail eMailNotificationDetailField;
        
        private ReturnShipmentDetail returnShipmentDetailField;
        
        private PendingShipmentDetail pendingShipmentDetailField;
        
        private ShipmentDryIceDetail shipmentDryIceDetailField;
        
        private HomeDeliveryPremiumDetail homeDeliveryPremiumDetailField;
        
        private FlatbedTrailerOption[] flatbedTrailerDetailField;
        
        private FreightGuaranteeDetail freightGuaranteeDetailField;
        
        private EtdDetail etdDetailField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SpecialServiceTypes")]
        public ShipmentSpecialServiceType[] SpecialServiceTypes {
            get {
                return this.specialServiceTypesField;
            }
            set {
                this.specialServiceTypesField = value;
            }
        }
        
        /// <remarks/>
        public CodDetail CodDetail {
            get {
                return this.codDetailField;
            }
            set {
                this.codDetailField = value;
            }
        }
        
        /// <remarks/>
        public Money CodCollectionAmount {
            get {
                return this.codCollectionAmountField;
            }
            set {
                this.codCollectionAmountField = value;
            }
        }
        
        /// <remarks/>
        public HoldAtLocationDetail HoldAtLocationDetail {
            get {
                return this.holdAtLocationDetailField;
            }
            set {
                this.holdAtLocationDetailField = value;
            }
        }
        
        /// <remarks/>
        public EMailNotificationDetail EMailNotificationDetail {
            get {
                return this.eMailNotificationDetailField;
            }
            set {
                this.eMailNotificationDetailField = value;
            }
        }
        
        /// <remarks/>
        public ReturnShipmentDetail ReturnShipmentDetail {
            get {
                return this.returnShipmentDetailField;
            }
            set {
                this.returnShipmentDetailField = value;
            }
        }
        
        /// <remarks/>
        public PendingShipmentDetail PendingShipmentDetail {
            get {
                return this.pendingShipmentDetailField;
            }
            set {
                this.pendingShipmentDetailField = value;
            }
        }
        
        /// <remarks/>
        public ShipmentDryIceDetail ShipmentDryIceDetail {
            get {
                return this.shipmentDryIceDetailField;
            }
            set {
                this.shipmentDryIceDetailField = value;
            }
        }
        
        /// <remarks/>
        public HomeDeliveryPremiumDetail HomeDeliveryPremiumDetail {
            get {
                return this.homeDeliveryPremiumDetailField;
            }
            set {
                this.homeDeliveryPremiumDetailField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute("Options", IsNullable=false)]
        public FlatbedTrailerOption[] FlatbedTrailerDetail {
            get {
                return this.flatbedTrailerDetailField;
            }
            set {
                this.flatbedTrailerDetailField = value;
            }
        }
        
        /// <remarks/>
        public FreightGuaranteeDetail FreightGuaranteeDetail {
            get {
                return this.freightGuaranteeDetailField;
            }
            set {
                this.freightGuaranteeDetailField = value;
            }
        }
        
        /// <remarks/>
        public EtdDetail EtdDetail {
            get {
                return this.etdDetailField;
            }
            set {
                this.etdDetailField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum ShipmentSpecialServiceType {
        
        /// <remarks/>
        BROKER_SELECT_OPTION,
        
        /// <remarks/>
        COD,
        
        /// <remarks/>
        DRY_ICE,
        
        /// <remarks/>
        EAST_COAST_SPECIAL,
        
        /// <remarks/>
        ELECTRONIC_TRADE_DOCUMENTS,
        
        /// <remarks/>
        EMAIL_NOTIFICATION,
        
        /// <remarks/>
        FUTURE_DAY_SHIPMENT,
        
        /// <remarks/>
        HOLD_AT_LOCATION,
        
        /// <remarks/>
        HOME_DELIVERY_PREMIUM,
        
        /// <remarks/>
        INSIDE_DELIVERY,
        
        /// <remarks/>
        INSIDE_PICKUP,
        
        /// <remarks/>
        PENDING_SHIPMENT,
        
        /// <remarks/>
        RETURN_SHIPMENT,
        
        /// <remarks/>
        SATURDAY_DELIVERY,
        
        /// <remarks/>
        SATURDAY_PICKUP,
        
        /// <remarks/>
        DANGEROUS_GOODS,
        
        /// <remarks/>
        EXTREME_LENGTH,
        
        /// <remarks/>
        FLATBED_TRAILER,
        
        /// <remarks/>
        FREIGHT_GUARANTEE,
        
        /// <remarks/>
        LIFTGATE_DELIVERY,
        
        /// <remarks/>
        LIFTGATE_PICKUP,
        
        /// <remarks/>
        LIMITED_ACCESS_DELIVERY,
        
        /// <remarks/>
        LIMITED_ACCESS_PICKUP,
        
        /// <remarks/>
        PRE_DELIVERY_NOTIFICATION,
        
        /// <remarks/>
        PROTECTION_FROM_FREEZING,
        
        /// <remarks/>
        REGIONAL_MALL_DELIVERY,
        
        /// <remarks/>
        REGIONAL_MALL_PICKUP,
        
        /// <remarks/>
        EXHIBITION_DELIVERY,
        
        /// <remarks/>
        EXHIBITION_PICKUP,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum FlatbedTrailerOption {
        
        /// <remarks/>
        OVER_DIMENSION,
        
        /// <remarks/>
        TARP,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class RequestedShipment {
        
        private System.DateTime shipTimestampField;
        
        private bool shipTimestampFieldSpecified;
        
        private DropoffType dropoffTypeField;
        
        private bool dropoffTypeFieldSpecified;
        
        private ServiceType serviceTypeField;
        
        private bool serviceTypeFieldSpecified;
        
        private PackagingType packagingTypeField;
        
        private bool packagingTypeFieldSpecified;
        
        private Weight totalWeightField;
        
        private Money totalInsuredValueField;
        
        private Party shipperField;
        
        private Party recipientField;
        
        private string recipientLocationNumberField;
        
        private ContactAndAddress originField;
        
        private Payment shippingChargesPaymentField;
        
        private ShipmentSpecialServicesRequested specialServicesRequestedField;
        
        private ExpressFreightDetail expressFreightDetailField;
        
        private FreightShipmentDetail freightShipmentDetailField;
        
        private string deliveryInstructionsField;
        
        private VariableHandlingChargeDetail variableHandlingChargeDetailField;
        
        private InternationalDetail internationalDetailField;
        
        private PickupDetail pickupDetailField;
        
        private SmartPostShipmentDetail smartPostDetailField;
        
        private bool blockInsightVisibilityField;
        
        private bool blockInsightVisibilityFieldSpecified;
        
        private LabelSpecification labelSpecificationField;
        
        private ShippingDocumentSpecification shippingDocumentSpecificationField;
        
        private RateRequestType[] rateRequestTypesField;
        
        private EdtRequestType edtRequestTypeField;
        
        private bool edtRequestTypeFieldSpecified;
        
        private string packageCountField;
        
        private RequestedPackageDetailType packageDetailField;
        
        private bool packageDetailFieldSpecified;
        
        private RequestedPackageLineItem[] requestedPackageLineItemsField;
        
        /// <remarks/>
        public System.DateTime ShipTimestamp {
            get {
                return this.shipTimestampField;
            }
            set {
                this.shipTimestampField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ShipTimestampSpecified {
            get {
                return this.shipTimestampFieldSpecified;
            }
            set {
                this.shipTimestampFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public DropoffType DropoffType {
            get {
                return this.dropoffTypeField;
            }
            set {
                this.dropoffTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DropoffTypeSpecified {
            get {
                return this.dropoffTypeFieldSpecified;
            }
            set {
                this.dropoffTypeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public ServiceType ServiceType {
            get {
                return this.serviceTypeField;
            }
            set {
                this.serviceTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ServiceTypeSpecified {
            get {
                return this.serviceTypeFieldSpecified;
            }
            set {
                this.serviceTypeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public PackagingType PackagingType {
            get {
                return this.packagingTypeField;
            }
            set {
                this.packagingTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PackagingTypeSpecified {
            get {
                return this.packagingTypeFieldSpecified;
            }
            set {
                this.packagingTypeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public Weight TotalWeight {
            get {
                return this.totalWeightField;
            }
            set {
                this.totalWeightField = value;
            }
        }
        
        /// <remarks/>
        public Money TotalInsuredValue {
            get {
                return this.totalInsuredValueField;
            }
            set {
                this.totalInsuredValueField = value;
            }
        }
        
        /// <remarks/>
        public Party Shipper {
            get {
                return this.shipperField;
            }
            set {
                this.shipperField = value;
            }
        }
        
        /// <remarks/>
        public Party Recipient {
            get {
                return this.recipientField;
            }
            set {
                this.recipientField = value;
            }
        }
        
        /// <remarks/>
        public string RecipientLocationNumber {
            get {
                return this.recipientLocationNumberField;
            }
            set {
                this.recipientLocationNumberField = value;
            }
        }
        
        /// <remarks/>
        public ContactAndAddress Origin {
            get {
                return this.originField;
            }
            set {
                this.originField = value;
            }
        }
        
        /// <remarks/>
        public Payment ShippingChargesPayment {
            get {
                return this.shippingChargesPaymentField;
            }
            set {
                this.shippingChargesPaymentField = value;
            }
        }
        
        /// <remarks/>
        public ShipmentSpecialServicesRequested SpecialServicesRequested {
            get {
                return this.specialServicesRequestedField;
            }
            set {
                this.specialServicesRequestedField = value;
            }
        }
        
        /// <remarks/>
        public ExpressFreightDetail ExpressFreightDetail {
            get {
                return this.expressFreightDetailField;
            }
            set {
                this.expressFreightDetailField = value;
            }
        }
        
        /// <remarks/>
        public FreightShipmentDetail FreightShipmentDetail {
            get {
                return this.freightShipmentDetailField;
            }
            set {
                this.freightShipmentDetailField = value;
            }
        }
        
        /// <remarks/>
        public string DeliveryInstructions {
            get {
                return this.deliveryInstructionsField;
            }
            set {
                this.deliveryInstructionsField = value;
            }
        }
        
        /// <remarks/>
        public VariableHandlingChargeDetail VariableHandlingChargeDetail {
            get {
                return this.variableHandlingChargeDetailField;
            }
            set {
                this.variableHandlingChargeDetailField = value;
            }
        }
        
        /// <remarks/>
        public InternationalDetail InternationalDetail {
            get {
                return this.internationalDetailField;
            }
            set {
                this.internationalDetailField = value;
            }
        }
        
        /// <remarks/>
        public PickupDetail PickupDetail {
            get {
                return this.pickupDetailField;
            }
            set {
                this.pickupDetailField = value;
            }
        }
        
        /// <remarks/>
        public SmartPostShipmentDetail SmartPostDetail {
            get {
                return this.smartPostDetailField;
            }
            set {
                this.smartPostDetailField = value;
            }
        }
        
        /// <remarks/>
        public bool BlockInsightVisibility {
            get {
                return this.blockInsightVisibilityField;
            }
            set {
                this.blockInsightVisibilityField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool BlockInsightVisibilitySpecified {
            get {
                return this.blockInsightVisibilityFieldSpecified;
            }
            set {
                this.blockInsightVisibilityFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public LabelSpecification LabelSpecification {
            get {
                return this.labelSpecificationField;
            }
            set {
                this.labelSpecificationField = value;
            }
        }
        
        /// <remarks/>
        public ShippingDocumentSpecification ShippingDocumentSpecification {
            get {
                return this.shippingDocumentSpecificationField;
            }
            set {
                this.shippingDocumentSpecificationField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RateRequestTypes")]
        public RateRequestType[] RateRequestTypes {
            get {
                return this.rateRequestTypesField;
            }
            set {
                this.rateRequestTypesField = value;
            }
        }
        
        /// <remarks/>
        public EdtRequestType EdtRequestType {
            get {
                return this.edtRequestTypeField;
            }
            set {
                this.edtRequestTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool EdtRequestTypeSpecified {
            get {
                return this.edtRequestTypeFieldSpecified;
            }
            set {
                this.edtRequestTypeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="nonNegativeInteger")]
        public string PackageCount {
            get {
                return this.packageCountField;
            }
            set {
                this.packageCountField = value;
            }
        }
        
        /// <remarks/>
        public RequestedPackageDetailType PackageDetail {
            get {
                return this.packageDetailField;
            }
            set {
                this.packageDetailField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PackageDetailSpecified {
            get {
                return this.packageDetailFieldSpecified;
            }
            set {
                this.packageDetailFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RequestedPackageLineItems")]
        public RequestedPackageLineItem[] RequestedPackageLineItems {
            get {
                return this.requestedPackageLineItemsField;
            }
            set {
                this.requestedPackageLineItemsField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum DropoffType {
        
        /// <remarks/>
        BUSINESS_SERVICE_CENTER,
        
        /// <remarks/>
        DROP_BOX,
        
        /// <remarks/>
        REGULAR_PICKUP,
        
        /// <remarks/>
        REQUEST_COURIER,
        
        /// <remarks/>
        STATION,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum RateRequestType {
        
        /// <remarks/>
        ACCOUNT,
        
        /// <remarks/>
        LIST,
        
        /// <remarks/>
        MULTIWEIGHT,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum EdtRequestType {
        
        /// <remarks/>
        ALL,
        
        /// <remarks/>
        NONE,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum RequestedPackageDetailType {
        
        /// <remarks/>
        INDIVIDUAL_PACKAGES,
        
        /// <remarks/>
        PACKAGE_SUMMARY,
        
        /// <remarks/>
        PACKAGE_GROUPS,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public partial class ClientDetail {
        
        private string accountNumberField;
        
        private string meterNumberField;
        
        private string integratorIdField;
        
        private ExpressRegionCode regionField;
        
        private bool regionFieldSpecified;
        
        private Localization localizationField;
        
        /// <remarks/>
        public string AccountNumber {
            get {
                return this.accountNumberField;
            }
            set {
                this.accountNumberField = value;
            }
        }
        
        /// <remarks/>
        public string MeterNumber {
            get {
                return this.meterNumberField;
            }
            set {
                this.meterNumberField = value;
            }
        }
        
        /// <remarks/>
        public string IntegratorId {
            get {
                return this.integratorIdField;
            }
            set {
                this.integratorIdField = value;
            }
        }
        
        /// <remarks/>
        public ExpressRegionCode Region {
            get {
                return this.regionField;
            }
            set {
                this.regionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RegionSpecified {
            get {
                return this.regionFieldSpecified;
            }
            set {
                this.regionFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public Localization Localization {
            get {
                return this.localizationField;
            }
            set {
                this.localizationField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum ExpressRegionCode {
        
        /// <remarks/>
        APAC,
        
        /// <remarks/>
        CA,
        
        /// <remarks/>
        EMEA,
        
        /// <remarks/>
        LAC,
        
        /// <remarks/>
        US,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v7")]
    public enum CarrierCodeType {
        
        /// <remarks/>
        FDXE,
        
        /// <remarks/>
        FDXG,
        
        /// <remarks/>
        FXFR,
        
        /// <remarks/>
        FXSP,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void getRatesCompletedEventHandler(object sender, getRatesCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class getRatesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal getRatesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public RateReply Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((RateReply)(this.results[0]));
            }
        }
    }
}

#pragma warning restore 1591