From 4f4c927787f2a635f0c631903311800219ac776d Mon Sep 17 00:00:00 2001 From: Stanislav Smetanin Date: Tue, 13 May 2025 21:00:49 +1000 Subject: [PATCH 1/3] FedEx provider refactoring 1) Use REST instead of SOAP 2) Refactoring code --- src/CachedRateRequestData.cs | 15 + .../AddressValidationServiceDefinitions.wsdl | 453 - .../ConnectedService.json | 166 - .../Reference.cs | 1812 -- .../ConnectedService.json | 166 - .../RateServiceDefinitions.wsdl | 4945 ---- .../RateServiceWebReference/Reference.cs | 20425 ---------------- ...b.Ecommerce.ShippingProviders.FedEx.csproj | 24 +- src/FedEx-logo.png | Bin 0 -> 1944 bytes src/FedEx.cs | 944 +- src/FedexAddressValidationProvider.cs | 467 +- src/Models/AddressValidation/Address.cs | 23 + .../AddressValidation/AddressToValidate.cs | 13 + .../AddressValidation/ResolvedAddress.cs | 50 + src/Models/AddressValidation/ResolvedValue.cs | 13 + .../ValidateAddressAttributes.cs | 16 + .../ValidateAddressControlParameters.cs | 10 + .../ValidateAddressRequest.cs | 17 + .../ValidateAddressResponse.cs | 16 + .../ValidateAddressResponseOutput.cs | 14 + src/Models/Alert.cs | 16 + src/Models/ErrorData.cs | 17 + src/Models/ErrorDetail.cs | 18 + src/Models/ParameterData.cs | 13 + src/Models/Rates/AccountNumber.cs | 10 + src/Models/Rates/AddressDetails.cs | 26 + src/Models/Rates/CustomerMessage.cs | 13 + src/Models/Rates/LocationData.cs | 10 + src/Models/Rates/Money.cs | 13 + .../Rates/RateAndTransitTimesRequest.cs | 20 + .../Rates/RateAndTransitTimesResponse.cs | 16 + .../RateAndTransitTimesResponseOutput.cs | 20 + src/Models/Rates/RateReplyDetail.cs | 26 + .../Rates/RateRequestControlParameters.cs | 13 + src/Models/Rates/RatedShipmentDetail.cs | 25 + src/Models/Rates/RequestedPackageLineItem.cs | 16 + src/Models/Rates/RequestedShipment.cs | 45 + src/Models/Rates/Weight.cs | 13 + src/Models/TokenData.cs | 19 + src/Service/ApiCommand.cs | 25 + src/Service/CommandConfiguration.cs | 37 + src/Service/FedExRequest.cs | 166 + src/Service/FedExService.cs | 96 + src/Service/RateRequestCreationHelper.cs | 126 + src/ShippingProviderHelper.cs | 153 +- src/ValidateCache.cs | 9 + 46 files changed, 1472 insertions(+), 29078 deletions(-) create mode 100644 src/CachedRateRequestData.cs delete mode 100644 src/Connected Services/FedexAddressValidationService/AddressValidationServiceDefinitions.wsdl delete mode 100644 src/Connected Services/FedexAddressValidationService/ConnectedService.json delete mode 100644 src/Connected Services/FedexAddressValidationService/Reference.cs delete mode 100644 src/Connected Services/RateServiceWebReference/ConnectedService.json delete mode 100644 src/Connected Services/RateServiceWebReference/RateServiceDefinitions.wsdl delete mode 100644 src/Connected Services/RateServiceWebReference/Reference.cs create mode 100644 src/FedEx-logo.png create mode 100644 src/Models/AddressValidation/Address.cs create mode 100644 src/Models/AddressValidation/AddressToValidate.cs create mode 100644 src/Models/AddressValidation/ResolvedAddress.cs create mode 100644 src/Models/AddressValidation/ResolvedValue.cs create mode 100644 src/Models/AddressValidation/ValidateAddressAttributes.cs create mode 100644 src/Models/AddressValidation/ValidateAddressControlParameters.cs create mode 100644 src/Models/AddressValidation/ValidateAddressRequest.cs create mode 100644 src/Models/AddressValidation/ValidateAddressResponse.cs create mode 100644 src/Models/AddressValidation/ValidateAddressResponseOutput.cs create mode 100644 src/Models/Alert.cs create mode 100644 src/Models/ErrorData.cs create mode 100644 src/Models/ErrorDetail.cs create mode 100644 src/Models/ParameterData.cs create mode 100644 src/Models/Rates/AccountNumber.cs create mode 100644 src/Models/Rates/AddressDetails.cs create mode 100644 src/Models/Rates/CustomerMessage.cs create mode 100644 src/Models/Rates/LocationData.cs create mode 100644 src/Models/Rates/Money.cs create mode 100644 src/Models/Rates/RateAndTransitTimesRequest.cs create mode 100644 src/Models/Rates/RateAndTransitTimesResponse.cs create mode 100644 src/Models/Rates/RateAndTransitTimesResponseOutput.cs create mode 100644 src/Models/Rates/RateReplyDetail.cs create mode 100644 src/Models/Rates/RateRequestControlParameters.cs create mode 100644 src/Models/Rates/RatedShipmentDetail.cs create mode 100644 src/Models/Rates/RequestedPackageLineItem.cs create mode 100644 src/Models/Rates/RequestedShipment.cs create mode 100644 src/Models/Rates/Weight.cs create mode 100644 src/Models/TokenData.cs create mode 100644 src/Service/ApiCommand.cs create mode 100644 src/Service/CommandConfiguration.cs create mode 100644 src/Service/FedExRequest.cs create mode 100644 src/Service/FedExService.cs create mode 100644 src/Service/RateRequestCreationHelper.cs create mode 100644 src/ValidateCache.cs diff --git a/src/CachedRateRequestData.cs b/src/CachedRateRequestData.cs new file mode 100644 index 0000000..c797c92 --- /dev/null +++ b/src/CachedRateRequestData.cs @@ -0,0 +1,15 @@ +using System.Collections.Generic; + +namespace Dynamicweb.Ecommerce.ShippingProviders.FedEx; + +/// +/// Structure that is used while calculating shipping fee for the specified order in FedEx shipping provider +/// +internal struct CachedRateRequestData +{ + public string Request; + public double Rate; + public string Currency; + public List Errors; + public List Warning; +} diff --git a/src/Connected Services/FedexAddressValidationService/AddressValidationServiceDefinitions.wsdl b/src/Connected Services/FedexAddressValidationService/AddressValidationServiceDefinitions.wsdl deleted file mode 100644 index 327a9db..0000000 --- a/src/Connected Services/FedexAddressValidationService/AddressValidationServiceDefinitions.wsdl +++ /dev/null @@ -1,453 +0,0 @@ - - - - - - - - - Descriptive data for a physical location. May be used as an actual physical address (place to which one could go), or as a container of "address parts" which should be handled as a unit (such as a city-state-ZIP combination within the US). - - - - - Combination of number, street name, etc. At least one line is required for a valid physical address; empty lines should not be included. - - - - - Name of city, town, etc. - - - - - Identifying abbreviation for US state, Canada province, etc. Format and presence of this field will vary, depending on country. - - - - - Identification of a region (usually small) for mail/package delivery. Format and presence of this field will vary, depending on country. - - - - - Relevant only to addresses in Puerto Rico. - - - - - The two-letter code used to identify a country. - - - - - The fully spelt out name of a country. - - - - - Indicates whether this address residential (as opposed to commercial). - - - - - - - Specifies additional information about the address processed by the SHARE systems as a key-value pair. - - - - - Specifies the key for the address attribute. - - - - - The value for the key for the address attribute. - - - - - - - - - A reference id provided by the client. - - - - - - - - - - - - - - - - - - - - - Descriptive data to be used in authentication of the sender's identity (and right to use FedEx web services). - - - - - - - - - - - - - - The client reference id for the validated address. - - - - - Specifies the degree to SHARE service was able to cannonicalise the address provided, as per USPS standards and match it to an address already in the internal FedEx address repository. - - - - - - - - - Additional attributes about the validated address from FedEx address respository.. - - - - - - - - - - - - - - - Descriptive data for the client submitting a transaction. - - - - - The FedEx account number associated with this transaction. - - - - - This number is assigned by FedEx and identifies the unique device from which the request is originating - - - - - Only used in transactions which require identification of the FedEx Office integrator. - - - - - The language to be used for human-readable Notification.localizedMessages in responses to the request containing this ClientDetail object. Different requests from the same client may contain different Localization data. (Contrast with TransactionDetail.localization, which governs data payload language/translation.) - - - - - - - The descriptive data for a point-of-contact person. - - - - - Client provided identifier corresponding to this contact information. - - - - - Identifies the contact person's name. - - - - - Identifies the contact person's title. - - - - - Identifies the company this contact is associated with. - - - - - Identifies the phone number associated with this contact. - - - - - Identifies the phone extension associated with this contact. - - - - - Identifies a toll free number, if any, associated with this contact. - - - - - Identifies the pager number associated with this contact. - - - - - Identifies the fax number associated with this contact. - - - - - Identifies the email address associated with this contact. - - - - - - - Specifies the address classification (business vs. residential) - - - - - - - - - - - Identifies the representation of human-readable text. - - - - - Two-letter code for language (e.g. EN, FR, etc.) - - - - - Two-letter code for the region (e.g. us, ca, etc..). - - - - - - - The descriptive data regarding the result of the submitted transaction. - - - - - The severity of this notification. This can indicate success or failure or some other information about the request. The values that can be returned are SUCCESS - Your transaction succeeded with no other applicable information. NOTE - Additional information that may be of interest to you about your transaction. WARNING - Additional information that you need to know about your transaction that you may need to take action on. ERROR - Information about an error that occurred while processing your transaction. FAILURE - FedEx was unable to process your transaction at this time due to a system failure. Please try again later - - - - - Indicates the source of this notification. Combined with the Code it uniquely identifies this notification - - - - - A code that represents this notification. Combined with the Source it uniquely identifies this notification. - - - - - Human-readable text that explains this notification. - - - - - The translated message. The language and locale specified in the ClientDetail. Localization are used to determine the representation. Currently only supported in a TrackReply. - - - - - A collection of name/value pairs that provide specific data to help the client determine the nature of an error (or warning, etc.) witout having to parse the message string. - - - - - - - - - Identifies the type of data contained in Value (e.g. SERVICE_TYPE, PACKAGE_SEQUENCE, etc..). - - - - - The value of the parameter (e.g. PRIORITY_OVERNIGHT, 2, etc..). - - - - - - - - - - - - - - - - Specifies how different the address returned is from the address provided. This difference can be because the address is cannonialised to match the address specification standard set by USPS. - - - - - - - - - - - - - The postal code specified in a form that is supported by USPS as base, secondary and tertiary. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Free form text to be echoed back in the reply. Used to match requests and replies. - - - - - Governs data payload language/translations (contrasted with ClientDetail.localization, which governs Notification.localizedMessage language selection). - - - - - - - Used in authentication of the sender's identity. - - - - - Credential used to authenticate a specific software application. This value is provided by FedEx after registration. - - - - - - - Two part authentication string used for the sender's identity - - - - - Identifying part of authentication credential. This value is provided by FedEx after registration - - - - - Secret part of authentication key. This value is provided by FedEx after registration. - - - - - - - Identifies the version/level of a service operation expected by a caller (in each request) and performed by the callee (in each reply). - - - - - Identifies a system or sub-system which performs an operation. - - - - - Identifies the service business level. - - - - - Identifies the service interface level. - - - - - Identifies the service code level. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/Connected Services/FedexAddressValidationService/ConnectedService.json b/src/Connected Services/FedexAddressValidationService/ConnectedService.json deleted file mode 100644 index 389e226..0000000 --- a/src/Connected Services/FedexAddressValidationService/ConnectedService.json +++ /dev/null @@ -1,166 +0,0 @@ -{ - "ProviderId": "Microsoft.VisualStudio.ConnectedService.Wcf", - "Version": "15.0.40203.910", - "ExtendedData": { - "inputs": [ - "AddressValidationServiceDefinitions.wsdl" - ], - "collectionTypes": [ - "System.Array", - "System.Collections.Generic.Dictionary`2" - ], - "internalTypeAccess": true, - "namespaceMappings": [ - "*, FedexAddressValidationService" - ], - "references": [ - "Dynamicweb, {Dynamicweb, 9.10.31}", - "Dynamicweb.Caching, {Dynamicweb.Caching, 3.0.5}", - "Dynamicweb.Configuration, {Dynamicweb.Configuration, 4.1.2}", - "Dynamicweb.Core, {Dynamicweb.Core, 3.1.0}", - "Dynamicweb.Core.UI, {Dynamicweb.Core.UI, 2.0.1}", - "Dynamicweb.Data, {Dynamicweb.Data, 3.0.2}", - "Dynamicweb.DataProcessing, {Dynamicweb.DataProcessing, 2.0.1}", - "Dynamicweb.Diagnostics, {Dynamicweb.Diagnostics, 4.0.1}", - "Dynamicweb.Ecommerce, {Dynamicweb.Ecommerce, 1.10.92}", - "Dynamicweb.Environment, {Dynamicweb.Environment, 4.0.6}", - "Dynamicweb.Extensibility, {Dynamicweb.Extensibility, 4.0.2}", - "Dynamicweb.Hosting, {Dynamicweb.Hosting, 3.0.1}", - "Dynamicweb.Imaging, {Dynamicweb.Imaging, 7.0.1}", - "Dynamicweb.Indexing, {Dynamicweb.Indexing, 6.0.3}", - "Dynamicweb.Logging, {Dynamicweb.Logging, 5.1.2}", - "Dynamicweb.Mailing, {Dynamicweb.Mailing, 5.0.3}", - "Dynamicweb.Scheduling, {Dynamicweb.Scheduling, 4.1.0}", - "Dynamicweb.Security, {Dynamicweb.Security, 11.1.5}", - "Dynamicweb.SmartSearch, {Dynamicweb.SmartSearch, 2.0.2}", - "Dynamicweb.UserManagement, {Dynamicweb.UserManagement, 3.0.2}", - "Dynamicweb.WebP, {Dynamicweb.WebP, 2.0.0}", - "EPPlus, {EPPlus, 4.5.3.1}", - "HtmlAgilityPack, {HtmlAgilityPack, 1.11.28}", - "Microsoft.AspNetCore, {Microsoft.AspNetCore, 2.2.0}", - "Microsoft.AspNetCore.Authentication.Abstractions, {Microsoft.AspNetCore.Authentication.Abstractions, 2.2.0}", - "Microsoft.AspNetCore.Authentication.Core, {Microsoft.AspNetCore.Authentication.Core, 2.2.0}", - "Microsoft.AspNetCore.Connections.Abstractions, {Microsoft.AspNetCore.Connections.Abstractions, 2.2.0}", - "Microsoft.AspNetCore.Diagnostics, {Microsoft.AspNetCore.Diagnostics, 2.2.0}", - "Microsoft.AspNetCore.Diagnostics.Abstractions, {Microsoft.AspNetCore.Diagnostics.Abstractions, 2.2.0}", - "Microsoft.AspNetCore.HostFiltering, {Microsoft.AspNetCore.HostFiltering, 2.2.0}", - "Microsoft.AspNetCore.Hosting, {Microsoft.AspNetCore.Hosting, 2.2.0}", - "Microsoft.AspNetCore.Hosting.Abstractions, {Microsoft.AspNetCore.Hosting.Abstractions, 2.2.0}", - "Microsoft.AspNetCore.Hosting.Server.Abstractions, {Microsoft.AspNetCore.Hosting.Server.Abstractions, 2.2.0}", - "Microsoft.AspNetCore.Http, {Microsoft.AspNetCore.Http, 2.2.0}", - "Microsoft.AspNetCore.Http.Abstractions, {Microsoft.AspNetCore.Http.Abstractions, 2.2.0}", - "Microsoft.AspNetCore.Http.Extensions, {Microsoft.AspNetCore.Http.Extensions, 2.2.0}", - "Microsoft.AspNetCore.Http.Features, {Microsoft.AspNetCore.Http.Features, 2.2.0}", - "Microsoft.AspNetCore.HttpOverrides, {Microsoft.AspNetCore.HttpOverrides, 2.2.0}", - "Microsoft.AspNetCore.Routing, {Microsoft.AspNetCore.Routing, 2.2.0}", - "Microsoft.AspNetCore.Routing.Abstractions, {Microsoft.AspNetCore.Routing.Abstractions, 2.2.0}", - "Microsoft.AspNetCore.Server.IIS, {Microsoft.AspNetCore.Server.IIS, 2.2.0}", - "Microsoft.AspNetCore.Server.IISIntegration, {Microsoft.AspNetCore.Server.IISIntegration, 2.2.0}", - "Microsoft.AspNetCore.Server.Kestrel, {Microsoft.AspNetCore.Server.Kestrel, 2.2.0}", - "Microsoft.AspNetCore.Server.Kestrel.Core, {Microsoft.AspNetCore.Server.Kestrel.Core, 2.2.0}", - "Microsoft.AspNetCore.Server.Kestrel.Https, {Microsoft.AspNetCore.Server.Kestrel.Https, 2.2.0}", - "Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions, {Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions, 2.2.0}", - "Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets, {Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets, 2.2.0}", - "Microsoft.AspNetCore.WebUtilities, {Microsoft.AspNetCore.WebUtilities, 2.2.0}", - "Microsoft.Bcl.AsyncInterfaces, {Microsoft.Bcl.AsyncInterfaces, 5.0.0}", - "Microsoft.Extensions.Configuration, {Microsoft.Extensions.Configuration, 2.2.0}", - "Microsoft.Extensions.Configuration.Abstractions, {Microsoft.Extensions.Configuration.Abstractions, 2.2.0}", - "Microsoft.Extensions.Configuration.Binder, {Microsoft.Extensions.Configuration.Binder, 2.2.0}", - "Microsoft.Extensions.Configuration.CommandLine, {Microsoft.Extensions.Configuration.CommandLine, 2.2.0}", - "Microsoft.Extensions.Configuration.EnvironmentVariables, {Microsoft.Extensions.Configuration.EnvironmentVariables, 2.2.0}", - "Microsoft.Extensions.Configuration.FileExtensions, {Microsoft.Extensions.Configuration.FileExtensions, 2.2.0}", - "Microsoft.Extensions.Configuration.Json, {Microsoft.Extensions.Configuration.Json, 2.2.0}", - "Microsoft.Extensions.Configuration.UserSecrets, {Microsoft.Extensions.Configuration.UserSecrets, 2.2.0}", - "Microsoft.Extensions.DependencyInjection, {Microsoft.Extensions.DependencyInjection, 2.2.0}", - "Microsoft.Extensions.DependencyInjection.Abstractions, {Microsoft.Extensions.DependencyInjection.Abstractions, 2.2.0}", - "Microsoft.Extensions.FileProviders.Abstractions, {Microsoft.Extensions.FileProviders.Abstractions, 2.2.0}", - "Microsoft.Extensions.FileProviders.Physical, {Microsoft.Extensions.FileProviders.Physical, 2.2.0}", - "Microsoft.Extensions.FileSystemGlobbing, {Microsoft.Extensions.FileSystemGlobbing, 2.2.0}", - "Microsoft.Extensions.Hosting.Abstractions, {Microsoft.Extensions.Hosting.Abstractions, 2.2.0}", - "Microsoft.Extensions.Logging, {Microsoft.Extensions.Logging, 2.2.0}", - "Microsoft.Extensions.Logging.Abstractions, {Microsoft.Extensions.Logging.Abstractions, 2.2.0}", - "Microsoft.Extensions.Logging.Configuration, {Microsoft.Extensions.Logging.Configuration, 2.2.0}", - "Microsoft.Extensions.Logging.Console, {Microsoft.Extensions.Logging.Console, 2.2.0}", - "Microsoft.Extensions.Logging.Debug, {Microsoft.Extensions.Logging.Debug, 2.2.0}", - "Microsoft.Extensions.Logging.EventSource, {Microsoft.Extensions.Logging.EventSource, 2.2.0}", - "Microsoft.Extensions.ObjectPool, {Microsoft.Extensions.ObjectPool, 2.2.0}", - "Microsoft.Extensions.Options, {Microsoft.Extensions.Options, 2.2.0}", - "Microsoft.Extensions.Options.ConfigurationExtensions, {Microsoft.Extensions.Options.ConfigurationExtensions, 2.2.0}", - "Microsoft.Extensions.Primitives, {Microsoft.Extensions.Primitives, 2.2.0}", - "Microsoft.Net.Http.Headers, {Microsoft.Net.Http.Headers, 2.2.0}", - "Microsoft.Win32.Registry, {Microsoft.Win32.Registry, 4.7.0}", - "Microsoft.Win32.TaskScheduler, {TaskScheduler, 2.8.18}", - "Newtonsoft.Json, {Newtonsoft.Json, 12.0.3}", - "NLog, {NLog, 4.5.0}", - "System.Buffers, {System.Buffers, 4.5.1}", - "System.CodeDom, {System.CodeDom, 5.0.0}", - "System.Collections.Immutable, {System.Collections.Immutable, 1.5.0}", - "System.Collections.NonGeneric, {System.Collections.NonGeneric, 4.3.0}", - "System.ComponentModel, {System.ComponentModel, 4.3.0}", - "System.ComponentModel.Annotations, {System.ComponentModel.Annotations, 4.5.0}", - "System.ComponentModel.Composition, {System.ComponentModel.Composition, 4.7.0}", - "System.ComponentModel.Primitives, {System.ComponentModel.Primitives, 4.3.0}", - "System.ComponentModel.TypeConverter, {System.ComponentModel.TypeConverter, 4.3.0}", - "System.Configuration.ConfigurationManager, {System.Configuration.ConfigurationManager, 5.0.0}", - "System.Data.Common, {System.Data.Common, 4.3.0}", - "System.Data.OleDb, {System.Data.OleDb, 4.7.1}", - "System.Data.SqlClient, {System.Data.SqlClient, 4.8.2}", - "System.Diagnostics.DiagnosticSource, {System.Diagnostics.DiagnosticSource, 4.7.0}", - "System.DirectoryServices, {System.DirectoryServices, 5.0.0}", - "System.Drawing.Common, {System.Drawing.Common, 5.0.0}", - "System.Globalization, {System.Globalization, 4.3.0}", - "System.IO, {System.IO, 4.3.0}", - "System.IO.FileSystem.AccessControl, {System.IO.FileSystem.AccessControl, 5.0.0}", - "System.IO.Pipelines, {System.IO.Pipelines, 4.5.2}", - "System.Memory, {System.Memory, 4.5.4}", - "System.Net.Http, {System.Net.Http, 4.3.4}", - "System.Net.Http.Json, {System.Net.Http.Json, 5.0.0}", - "System.Net.Primitives, {System.Net.Primitives, 4.3.0}", - "System.Numerics.Vectors, {System.Numerics.Vectors, 4.5.0}", - "System.Reflection, {System.Reflection, 4.3.0}", - "System.Reflection.DispatchProxy, {System.Reflection.DispatchProxy, 4.7.1}", - "System.Reflection.Emit, {System.Reflection.Emit, 4.7.0}", - "System.Reflection.Emit.ILGeneration, {System.Reflection.Emit.ILGeneration, 4.7.0}", - "System.Reflection.Metadata, {System.Reflection.Metadata, 1.6.0}", - "System.Reflection.Primitives, {System.Reflection.Primitives, 4.3.0}", - "System.Runtime, {System.Runtime, 4.3.0}", - "System.Runtime.Caching, {System.Runtime.Caching, 4.7.0}", - "System.Runtime.CompilerServices.Unsafe, {System.Runtime.CompilerServices.Unsafe, 5.0.0}", - "System.Runtime.Handles, {System.Runtime.Handles, 4.3.0}", - "System.Runtime.Serialization.Formatters, {System.Runtime.Serialization.Formatters, 4.3.0}", - "System.Runtime.Serialization.Primitives, {System.Runtime.Serialization.Primitives, 4.3.0}", - "System.Security.AccessControl, {System.Security.AccessControl, 5.0.0}", - "System.Security.Claims, {System.Security.Claims, 4.3.0}", - "System.Security.Cryptography.Algorithms, {System.Security.Cryptography.Algorithms, 4.3.0}", - "System.Security.Cryptography.Cng, {System.Security.Cryptography.Cng, 4.7.0}", - "System.Security.Cryptography.Encoding, {System.Security.Cryptography.Encoding, 4.3.0}", - "System.Security.Cryptography.Pkcs, {System.Security.Cryptography.Pkcs, 4.7.0}", - "System.Security.Cryptography.Primitives, {System.Security.Cryptography.Primitives, 4.3.0}", - "System.Security.Cryptography.X509Certificates, {System.Security.Cryptography.X509Certificates, 4.3.2}", - "System.Security.Cryptography.Xml, {System.Security.Cryptography.Xml, 4.7.0}", - "System.Security.Permissions, {System.Security.Permissions, 5.0.0}", - "System.Security.Principal, {System.Security.Principal, 4.3.0}", - "System.Security.Principal.Windows, {System.Security.Principal.Windows, 5.0.0}", - "System.ServiceModel, {System.ServiceModel.Primitives, 4.8.1}", - "System.ServiceModel.Duplex, {System.ServiceModel.Duplex, 4.8.1}", - "System.ServiceModel.Http, {System.ServiceModel.Http, 4.8.1}", - "System.ServiceModel.NetTcp, {System.ServiceModel.NetTcp, 4.8.1}", - "System.ServiceModel.Primitives, {System.ServiceModel.Primitives, 4.8.1}", - "System.ServiceModel.Security, {System.ServiceModel.Security, 4.8.1}", - "System.Text.Encoding, {System.Text.Encoding, 4.3.0}", - "System.Text.Encoding.CodePages, {System.Text.Encoding.CodePages, 4.7.0}", - "System.Text.Encodings.Web, {System.Text.Encodings.Web, 5.0.0}", - "System.Text.Json, {System.Text.Json, 5.0.0}", - "System.Threading.Tasks, {System.Threading.Tasks, 4.3.0}", - "System.Threading.Tasks.Extensions, {System.Threading.Tasks.Extensions, 4.5.4}", - "System.Xml.ReaderWriter, {System.Xml.ReaderWriter, 4.3.0}", - "System.Xml.XmlDocument, {System.Xml.XmlDocument, 4.3.0}", - "System.Xml.XmlSerializer, {System.Xml.XmlSerializer, 4.3.0}", - "System.Xml.XPath, {System.Xml.XPath, 4.3.0}", - "System.Xml.XPath.XmlDocument, {System.Xml.XPath.XmlDocument, 4.3.0}" - ], - "sync": true, - "targetFramework": "netstandard2.0", - "typeReuseMode": "All" - } -} \ No newline at end of file diff --git a/src/Connected Services/FedexAddressValidationService/Reference.cs b/src/Connected Services/FedexAddressValidationService/Reference.cs deleted file mode 100644 index 352b198..0000000 --- a/src/Connected Services/FedexAddressValidationService/Reference.cs +++ /dev/null @@ -1,1812 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace Dynamicweb.Ecommerce.ShippingProviders.FedEx.FedexAddressValidationService -{ - - - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.ServiceModel.ServiceContractAttribute(Namespace="http://fedex.com/ws/addressvalidation/v3", ConfigurationName="FedexAddressValidationService.AddressValidationPortType")] - internal interface AddressValidationPortType - { - - // CODEGEN: Generating message contract since the operation addressValidation is neither RPC nor document wrapped. - [System.ServiceModel.OperationContractAttribute(Action="http://fedex.com/ws/addressvalidation/v3/addressValidation", ReplyAction="*")] - [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)] - FedexAddressValidationService.addressValidationResponse addressValidation(FedexAddressValidationService.addressValidationRequest1 request); - - [System.ServiceModel.OperationContractAttribute(Action="http://fedex.com/ws/addressvalidation/v3/addressValidation", ReplyAction="*")] - System.Threading.Tasks.Task addressValidationAsync(FedexAddressValidationService.addressValidationRequest1 request); - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/addressvalidation/v3")] - public partial class AddressValidationRequest - { - - private WebAuthenticationDetail webAuthenticationDetailField; - - private ClientDetail clientDetailField; - - private TransactionDetail transactionDetailField; - - private VersionId versionField; - - private System.DateTime inEffectAsOfTimestampField; - - private bool inEffectAsOfTimestampFieldSpecified; - - private AddressToValidate[] addressesToValidateField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public WebAuthenticationDetail WebAuthenticationDetail - { - get - { - return this.webAuthenticationDetailField; - } - set - { - this.webAuthenticationDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public ClientDetail ClientDetail - { - get - { - return this.clientDetailField; - } - set - { - this.clientDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public TransactionDetail TransactionDetail - { - get - { - return this.transactionDetailField; - } - set - { - this.transactionDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public VersionId Version - { - get - { - return this.versionField; - } - set - { - this.versionField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public System.DateTime InEffectAsOfTimestamp - { - get - { - return this.inEffectAsOfTimestampField; - } - set - { - this.inEffectAsOfTimestampField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool InEffectAsOfTimestampSpecified - { - get - { - return this.inEffectAsOfTimestampFieldSpecified; - } - set - { - this.inEffectAsOfTimestampFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("AddressesToValidate", Order=5)] - public AddressToValidate[] AddressesToValidate - { - get - { - return this.addressesToValidateField; - } - set - { - this.addressesToValidateField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/addressvalidation/v3")] - public partial class WebAuthenticationDetail - { - - private WebAuthenticationCredential userCredentialField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public WebAuthenticationCredential UserCredential - { - get - { - return this.userCredentialField; - } - set - { - this.userCredentialField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/addressvalidation/v3")] - public partial class WebAuthenticationCredential - { - - private string keyField; - - private string passwordField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public string Key - { - get - { - return this.keyField; - } - set - { - this.keyField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string Password - { - get - { - return this.passwordField; - } - set - { - this.passwordField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/addressvalidation/v3")] - public partial class AddressAttribute - { - - private string nameField; - - private string valueField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public string Name - { - get - { - return this.nameField; - } - set - { - this.nameField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string Value - { - get - { - return this.valueField; - } - set - { - this.valueField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/addressvalidation/v3")] - public partial class ParsedPostalCodeDetail - { - - private string baseField; - - private string addOnField; - - private string deliveryPointField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public string Base - { - get - { - return this.baseField; - } - set - { - this.baseField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string AddOn - { - get - { - return this.addOnField; - } - set - { - this.addOnField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public string DeliveryPoint - { - get - { - return this.deliveryPointField; - } - set - { - this.deliveryPointField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/addressvalidation/v3")] - public partial class ParsedStreetLineDetail - { - - private string houseNumberField; - - private string preStreetTypeField; - - private string leadingDirectionalField; - - private string streetNameField; - - private string streetSuffixField; - - private string trailingDirectionalField; - - private string unitLabelField; - - private string unitNumberField; - - private string ruralRouteField; - - private string pOBoxField; - - private string buildingField; - - private string organizationField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public string HouseNumber - { - get - { - return this.houseNumberField; - } - set - { - this.houseNumberField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string PreStreetType - { - get - { - return this.preStreetTypeField; - } - set - { - this.preStreetTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public string LeadingDirectional - { - get - { - return this.leadingDirectionalField; - } - set - { - this.leadingDirectionalField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public string StreetName - { - get - { - return this.streetNameField; - } - set - { - this.streetNameField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public string StreetSuffix - { - get - { - return this.streetSuffixField; - } - set - { - this.streetSuffixField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=5)] - public string TrailingDirectional - { - get - { - return this.trailingDirectionalField; - } - set - { - this.trailingDirectionalField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=6)] - public string UnitLabel - { - get - { - return this.unitLabelField; - } - set - { - this.unitLabelField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=7)] - public string UnitNumber - { - get - { - return this.unitNumberField; - } - set - { - this.unitNumberField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=8)] - public string RuralRoute - { - get - { - return this.ruralRouteField; - } - set - { - this.ruralRouteField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=9)] - public string POBox - { - get - { - return this.pOBoxField; - } - set - { - this.pOBoxField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=10)] - public string Building - { - get - { - return this.buildingField; - } - set - { - this.buildingField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=11)] - public string Organization - { - get - { - return this.organizationField; - } - set - { - this.organizationField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/addressvalidation/v3")] - public partial class ParsedAddressPartsDetail - { - - private ParsedStreetLineDetail parsedStreetLineField; - - private ParsedPostalCodeDetail parsedPostalCodeField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public ParsedStreetLineDetail ParsedStreetLine - { - get - { - return this.parsedStreetLineField; - } - set - { - this.parsedStreetLineField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public ParsedPostalCodeDetail ParsedPostalCode - { - get - { - return this.parsedPostalCodeField; - } - set - { - this.parsedPostalCodeField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/addressvalidation/v3")] - public partial class AddressValidationResult - { - - private string clientReferenceIdField; - - private OperationalAddressStateType stateField; - - private bool stateFieldSpecified; - - private FedExAddressClassificationType classificationField; - - private bool classificationFieldSpecified; - - private Contact effectiveContactField; - - private Address effectiveAddressField; - - private ParsedAddressPartsDetail parsedAddressPartsDetailField; - - private AddressAttribute[] attributesField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public string ClientReferenceId - { - get - { - return this.clientReferenceIdField; - } - set - { - this.clientReferenceIdField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public OperationalAddressStateType State - { - get - { - return this.stateField; - } - set - { - this.stateField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool StateSpecified - { - get - { - return this.stateFieldSpecified; - } - set - { - this.stateFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public FedExAddressClassificationType Classification - { - get - { - return this.classificationField; - } - set - { - this.classificationField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool ClassificationSpecified - { - get - { - return this.classificationFieldSpecified; - } - set - { - this.classificationFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public Contact EffectiveContact - { - get - { - return this.effectiveContactField; - } - set - { - this.effectiveContactField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public Address EffectiveAddress - { - get - { - return this.effectiveAddressField; - } - set - { - this.effectiveAddressField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=5)] - public ParsedAddressPartsDetail ParsedAddressPartsDetail - { - get - { - return this.parsedAddressPartsDetailField; - } - set - { - this.parsedAddressPartsDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("Attributes", Order=6)] - public AddressAttribute[] Attributes - { - get - { - return this.attributesField; - } - set - { - this.attributesField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/addressvalidation/v3")] - public enum OperationalAddressStateType - { - - /// - NORMALIZED, - - /// - RAW, - - /// - STANDARDIZED, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/addressvalidation/v3")] - public enum FedExAddressClassificationType - { - - /// - BUSINESS, - - /// - MIXED, - - /// - RESIDENTIAL, - - /// - UNKNOWN, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/addressvalidation/v3")] - public partial class Contact - { - - private string contactIdField; - - private string personNameField; - - private string titleField; - - private string companyNameField; - - private string phoneNumberField; - - private string phoneExtensionField; - - private string tollFreePhoneNumberField; - - private string pagerNumberField; - - private string faxNumberField; - - private string eMailAddressField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public string ContactId - { - get - { - return this.contactIdField; - } - set - { - this.contactIdField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string PersonName - { - get - { - return this.personNameField; - } - set - { - this.personNameField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public string Title - { - get - { - return this.titleField; - } - set - { - this.titleField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public string CompanyName - { - get - { - return this.companyNameField; - } - set - { - this.companyNameField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public string PhoneNumber - { - get - { - return this.phoneNumberField; - } - set - { - this.phoneNumberField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=5)] - public string PhoneExtension - { - get - { - return this.phoneExtensionField; - } - set - { - this.phoneExtensionField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=6)] - public string TollFreePhoneNumber - { - get - { - return this.tollFreePhoneNumberField; - } - set - { - this.tollFreePhoneNumberField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=7)] - public string PagerNumber - { - get - { - return this.pagerNumberField; - } - set - { - this.pagerNumberField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=8)] - public string FaxNumber - { - get - { - return this.faxNumberField; - } - set - { - this.faxNumberField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=9)] - public string EMailAddress - { - get - { - return this.eMailAddressField; - } - set - { - this.eMailAddressField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/addressvalidation/v3")] - public partial class Address - { - - private string[] streetLinesField; - - private string cityField; - - private string stateOrProvinceCodeField; - - private string postalCodeField; - - private string urbanizationCodeField; - - private string countryCodeField; - - private string countryNameField; - - private bool residentialField; - - private bool residentialFieldSpecified; - - /// - [System.Xml.Serialization.XmlElementAttribute("StreetLines", Order=0)] - public string[] StreetLines - { - get - { - return this.streetLinesField; - } - set - { - this.streetLinesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string City - { - get - { - return this.cityField; - } - set - { - this.cityField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public string StateOrProvinceCode - { - get - { - return this.stateOrProvinceCodeField; - } - set - { - this.stateOrProvinceCodeField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public string PostalCode - { - get - { - return this.postalCodeField; - } - set - { - this.postalCodeField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public string UrbanizationCode - { - get - { - return this.urbanizationCodeField; - } - set - { - this.urbanizationCodeField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=5)] - public string CountryCode - { - get - { - return this.countryCodeField; - } - set - { - this.countryCodeField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=6)] - public string CountryName - { - get - { - return this.countryNameField; - } - set - { - this.countryNameField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=7)] - public bool Residential - { - get - { - return this.residentialField; - } - set - { - this.residentialField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool ResidentialSpecified - { - get - { - return this.residentialFieldSpecified; - } - set - { - this.residentialFieldSpecified = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/addressvalidation/v3")] - public partial class NotificationParameter - { - - private string idField; - - private string valueField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public string Id - { - get - { - return this.idField; - } - set - { - this.idField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string Value - { - get - { - return this.valueField; - } - set - { - this.valueField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/addressvalidation/v3")] - public partial class Notification - { - - private NotificationSeverityType severityField; - - private bool severityFieldSpecified; - - private string sourceField; - - private string codeField; - - private string messageField; - - private string localizedMessageField; - - private NotificationParameter[] messageParametersField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public NotificationSeverityType Severity - { - get - { - return this.severityField; - } - set - { - this.severityField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool SeveritySpecified - { - get - { - return this.severityFieldSpecified; - } - set - { - this.severityFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string Source - { - get - { - return this.sourceField; - } - set - { - this.sourceField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public string Code - { - get - { - return this.codeField; - } - set - { - this.codeField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public string Message - { - get - { - return this.messageField; - } - set - { - this.messageField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public string LocalizedMessage - { - get - { - return this.localizedMessageField; - } - set - { - this.localizedMessageField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("MessageParameters", Order=5)] - public NotificationParameter[] MessageParameters - { - get - { - return this.messageParametersField; - } - set - { - this.messageParametersField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/addressvalidation/v3")] - public enum NotificationSeverityType - { - - /// - ERROR, - - /// - FAILURE, - - /// - NOTE, - - /// - SUCCESS, - - /// - WARNING, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/addressvalidation/v3")] - public partial class AddressValidationReply - { - - private NotificationSeverityType highestSeverityField; - - private Notification[] notificationsField; - - private TransactionDetail transactionDetailField; - - private VersionId versionField; - - private System.DateTime replyTimestampField; - - private bool replyTimestampFieldSpecified; - - private AddressValidationResult[] addressResultsField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public NotificationSeverityType HighestSeverity - { - get - { - return this.highestSeverityField; - } - set - { - this.highestSeverityField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("Notifications", Order=1)] - public Notification[] Notifications - { - get - { - return this.notificationsField; - } - set - { - this.notificationsField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public TransactionDetail TransactionDetail - { - get - { - return this.transactionDetailField; - } - set - { - this.transactionDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public VersionId Version - { - get - { - return this.versionField; - } - set - { - this.versionField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public System.DateTime ReplyTimestamp - { - get - { - return this.replyTimestampField; - } - set - { - this.replyTimestampField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool ReplyTimestampSpecified - { - get - { - return this.replyTimestampFieldSpecified; - } - set - { - this.replyTimestampFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("AddressResults", Order=5)] - public AddressValidationResult[] AddressResults - { - get - { - return this.addressResultsField; - } - set - { - this.addressResultsField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/addressvalidation/v3")] - public partial class TransactionDetail - { - - private string customerTransactionIdField; - - private Localization localizationField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public string CustomerTransactionId - { - get - { - return this.customerTransactionIdField; - } - set - { - this.customerTransactionIdField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public Localization Localization - { - get - { - return this.localizationField; - } - set - { - this.localizationField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/addressvalidation/v3")] - public partial class Localization - { - - private string languageCodeField; - - private string localeCodeField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public string LanguageCode - { - get - { - return this.languageCodeField; - } - set - { - this.languageCodeField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string LocaleCode - { - get - { - return this.localeCodeField; - } - set - { - this.localeCodeField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/addressvalidation/v3")] - public partial class VersionId - { - - private string serviceIdField; - - private int majorField; - - private int intermediateField; - - private int minorField; - - public VersionId() - { - this.serviceIdField = "aval"; - this.majorField = 3; - this.intermediateField = 0; - this.minorField = 0; - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public string ServiceId - { - get - { - return this.serviceIdField; - } - set - { - this.serviceIdField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public int Major - { - get - { - return this.majorField; - } - set - { - this.majorField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public int Intermediate - { - get - { - return this.intermediateField; - } - set - { - this.intermediateField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public int Minor - { - get - { - return this.minorField; - } - set - { - this.minorField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/addressvalidation/v3")] - public partial class AddressToValidate - { - - private string clientReferenceIdField; - - private Contact contactField; - - private Address addressField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public string ClientReferenceId - { - get - { - return this.clientReferenceIdField; - } - set - { - this.clientReferenceIdField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public Contact Contact - { - get - { - return this.contactField; - } - set - { - this.contactField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public Address Address - { - get - { - return this.addressField; - } - set - { - this.addressField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/addressvalidation/v3")] - public partial class ClientDetail - { - - private string accountNumberField; - - private string meterNumberField; - - private string integratorIdField; - - private Localization localizationField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public string AccountNumber - { - get - { - return this.accountNumberField; - } - set - { - this.accountNumberField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string MeterNumber - { - get - { - return this.meterNumberField; - } - set - { - this.meterNumberField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public string IntegratorId - { - get - { - return this.integratorIdField; - } - set - { - this.integratorIdField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public Localization Localization - { - get - { - return this.localizationField; - } - set - { - this.localizationField = value; - } - } - } - - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] - [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] - internal partial class addressValidationRequest1 - { - - [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://fedex.com/ws/addressvalidation/v3", Order=0)] - public FedexAddressValidationService.AddressValidationRequest AddressValidationRequest; - - public addressValidationRequest1() - { - } - - public addressValidationRequest1(FedexAddressValidationService.AddressValidationRequest AddressValidationRequest) - { - this.AddressValidationRequest = AddressValidationRequest; - } - } - - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] - [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] - internal partial class addressValidationResponse - { - - [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://fedex.com/ws/addressvalidation/v3", Order=0)] - public FedexAddressValidationService.AddressValidationReply AddressValidationReply; - - public addressValidationResponse() - { - } - - public addressValidationResponse(FedexAddressValidationService.AddressValidationReply AddressValidationReply) - { - this.AddressValidationReply = AddressValidationReply; - } - } - - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - internal interface AddressValidationPortTypeChannel : FedexAddressValidationService.AddressValidationPortType, System.ServiceModel.IClientChannel - { - } - - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - internal partial class AddressValidationPortTypeClient : System.ServiceModel.ClientBase, FedexAddressValidationService.AddressValidationPortType - { - - /// - /// Implement this partial method to configure the service endpoint. - /// - /// The endpoint to configure - /// The client credentials - static partial void ConfigureEndpoint(System.ServiceModel.Description.ServiceEndpoint serviceEndpoint, System.ServiceModel.Description.ClientCredentials clientCredentials); - - public AddressValidationPortTypeClient() : - base(AddressValidationPortTypeClient.GetDefaultBinding(), AddressValidationPortTypeClient.GetDefaultEndpointAddress()) - { - this.Endpoint.Name = EndpointConfiguration.AddressValidationServicePort.ToString(); - ConfigureEndpoint(this.Endpoint, this.ClientCredentials); - } - - public AddressValidationPortTypeClient(EndpointConfiguration endpointConfiguration) : - base(AddressValidationPortTypeClient.GetBindingForEndpoint(endpointConfiguration), AddressValidationPortTypeClient.GetEndpointAddress(endpointConfiguration)) - { - this.Endpoint.Name = endpointConfiguration.ToString(); - ConfigureEndpoint(this.Endpoint, this.ClientCredentials); - } - - public AddressValidationPortTypeClient(EndpointConfiguration endpointConfiguration, string remoteAddress) : - base(AddressValidationPortTypeClient.GetBindingForEndpoint(endpointConfiguration), new System.ServiceModel.EndpointAddress(remoteAddress)) - { - this.Endpoint.Name = endpointConfiguration.ToString(); - ConfigureEndpoint(this.Endpoint, this.ClientCredentials); - } - - public AddressValidationPortTypeClient(EndpointConfiguration endpointConfiguration, System.ServiceModel.EndpointAddress remoteAddress) : - base(AddressValidationPortTypeClient.GetBindingForEndpoint(endpointConfiguration), remoteAddress) - { - this.Endpoint.Name = endpointConfiguration.ToString(); - ConfigureEndpoint(this.Endpoint, this.ClientCredentials); - } - - public AddressValidationPortTypeClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : - base(binding, remoteAddress) - { - } - - [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] - FedexAddressValidationService.addressValidationResponse FedexAddressValidationService.AddressValidationPortType.addressValidation(FedexAddressValidationService.addressValidationRequest1 request) - { - return base.Channel.addressValidation(request); - } - - public FedexAddressValidationService.AddressValidationReply addressValidation(FedexAddressValidationService.AddressValidationRequest AddressValidationRequest) - { - FedexAddressValidationService.addressValidationRequest1 inValue = new FedexAddressValidationService.addressValidationRequest1(); - inValue.AddressValidationRequest = AddressValidationRequest; - FedexAddressValidationService.addressValidationResponse retVal = ((FedexAddressValidationService.AddressValidationPortType)(this)).addressValidation(inValue); - return retVal.AddressValidationReply; - } - - [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] - System.Threading.Tasks.Task FedexAddressValidationService.AddressValidationPortType.addressValidationAsync(FedexAddressValidationService.addressValidationRequest1 request) - { - return base.Channel.addressValidationAsync(request); - } - - public System.Threading.Tasks.Task addressValidationAsync(FedexAddressValidationService.AddressValidationRequest AddressValidationRequest) - { - FedexAddressValidationService.addressValidationRequest1 inValue = new FedexAddressValidationService.addressValidationRequest1(); - inValue.AddressValidationRequest = AddressValidationRequest; - return ((FedexAddressValidationService.AddressValidationPortType)(this)).addressValidationAsync(inValue); - } - - public virtual System.Threading.Tasks.Task OpenAsync() - { - return System.Threading.Tasks.Task.Factory.FromAsync(((System.ServiceModel.ICommunicationObject)(this)).BeginOpen(null, null), new System.Action(((System.ServiceModel.ICommunicationObject)(this)).EndOpen)); - } - - public virtual System.Threading.Tasks.Task CloseAsync() - { - return System.Threading.Tasks.Task.Factory.FromAsync(((System.ServiceModel.ICommunicationObject)(this)).BeginClose(null, null), new System.Action(((System.ServiceModel.ICommunicationObject)(this)).EndClose)); - } - - private static System.ServiceModel.Channels.Binding GetBindingForEndpoint(EndpointConfiguration endpointConfiguration) - { - if ((endpointConfiguration == EndpointConfiguration.AddressValidationServicePort)) - { - System.ServiceModel.BasicHttpBinding result = new System.ServiceModel.BasicHttpBinding(); - result.MaxBufferSize = int.MaxValue; - result.ReaderQuotas = System.Xml.XmlDictionaryReaderQuotas.Max; - result.MaxReceivedMessageSize = int.MaxValue; - result.AllowCookies = true; - result.Security.Mode = System.ServiceModel.BasicHttpSecurityMode.Transport; - return result; - } - throw new System.InvalidOperationException(string.Format("Could not find endpoint with name \'{0}\'.", endpointConfiguration)); - } - - private static System.ServiceModel.EndpointAddress GetEndpointAddress(EndpointConfiguration endpointConfiguration) - { - if ((endpointConfiguration == EndpointConfiguration.AddressValidationServicePort)) - { - return new System.ServiceModel.EndpointAddress("https://wsbeta.fedex.com/web-services/addressvalidation"); - } - throw new System.InvalidOperationException(string.Format("Could not find endpoint with name \'{0}\'.", endpointConfiguration)); - } - - private static System.ServiceModel.Channels.Binding GetDefaultBinding() - { - return AddressValidationPortTypeClient.GetBindingForEndpoint(EndpointConfiguration.AddressValidationServicePort); - } - - private static System.ServiceModel.EndpointAddress GetDefaultEndpointAddress() - { - return AddressValidationPortTypeClient.GetEndpointAddress(EndpointConfiguration.AddressValidationServicePort); - } - - public enum EndpointConfiguration - { - - AddressValidationServicePort, - } - } -} diff --git a/src/Connected Services/RateServiceWebReference/ConnectedService.json b/src/Connected Services/RateServiceWebReference/ConnectedService.json deleted file mode 100644 index 45cbd21..0000000 --- a/src/Connected Services/RateServiceWebReference/ConnectedService.json +++ /dev/null @@ -1,166 +0,0 @@ -{ - "ProviderId": "Microsoft.VisualStudio.ConnectedService.Wcf", - "Version": "15.0.40203.910", - "ExtendedData": { - "inputs": [ - "RateServiceDefinitions.wsdl" - ], - "collectionTypes": [ - "System.Array", - "System.Collections.Generic.Dictionary`2" - ], - "internalTypeAccess": true, - "namespaceMappings": [ - "*, RateServiceWebReference" - ], - "references": [ - "Dynamicweb, {Dynamicweb, 9.10.31}", - "Dynamicweb.Caching, {Dynamicweb.Caching, 3.0.5}", - "Dynamicweb.Configuration, {Dynamicweb.Configuration, 4.1.2}", - "Dynamicweb.Core, {Dynamicweb.Core, 3.1.0}", - "Dynamicweb.Core.UI, {Dynamicweb.Core.UI, 2.0.1}", - "Dynamicweb.Data, {Dynamicweb.Data, 3.0.2}", - "Dynamicweb.DataProcessing, {Dynamicweb.DataProcessing, 2.0.1}", - "Dynamicweb.Diagnostics, {Dynamicweb.Diagnostics, 4.0.1}", - "Dynamicweb.Ecommerce, {Dynamicweb.Ecommerce, 1.10.92}", - "Dynamicweb.Environment, {Dynamicweb.Environment, 4.0.6}", - "Dynamicweb.Extensibility, {Dynamicweb.Extensibility, 4.0.2}", - "Dynamicweb.Hosting, {Dynamicweb.Hosting, 3.0.1}", - "Dynamicweb.Imaging, {Dynamicweb.Imaging, 7.0.1}", - "Dynamicweb.Indexing, {Dynamicweb.Indexing, 6.0.3}", - "Dynamicweb.Logging, {Dynamicweb.Logging, 5.1.2}", - "Dynamicweb.Mailing, {Dynamicweb.Mailing, 5.0.3}", - "Dynamicweb.Scheduling, {Dynamicweb.Scheduling, 4.1.0}", - "Dynamicweb.Security, {Dynamicweb.Security, 11.1.5}", - "Dynamicweb.SmartSearch, {Dynamicweb.SmartSearch, 2.0.2}", - "Dynamicweb.UserManagement, {Dynamicweb.UserManagement, 3.0.2}", - "Dynamicweb.WebP, {Dynamicweb.WebP, 2.0.0}", - "EPPlus, {EPPlus, 4.5.3.1}", - "HtmlAgilityPack, {HtmlAgilityPack, 1.11.28}", - "Microsoft.AspNetCore, {Microsoft.AspNetCore, 2.2.0}", - "Microsoft.AspNetCore.Authentication.Abstractions, {Microsoft.AspNetCore.Authentication.Abstractions, 2.2.0}", - "Microsoft.AspNetCore.Authentication.Core, {Microsoft.AspNetCore.Authentication.Core, 2.2.0}", - "Microsoft.AspNetCore.Connections.Abstractions, {Microsoft.AspNetCore.Connections.Abstractions, 2.2.0}", - "Microsoft.AspNetCore.Diagnostics, {Microsoft.AspNetCore.Diagnostics, 2.2.0}", - "Microsoft.AspNetCore.Diagnostics.Abstractions, {Microsoft.AspNetCore.Diagnostics.Abstractions, 2.2.0}", - "Microsoft.AspNetCore.HostFiltering, {Microsoft.AspNetCore.HostFiltering, 2.2.0}", - "Microsoft.AspNetCore.Hosting, {Microsoft.AspNetCore.Hosting, 2.2.0}", - "Microsoft.AspNetCore.Hosting.Abstractions, {Microsoft.AspNetCore.Hosting.Abstractions, 2.2.0}", - "Microsoft.AspNetCore.Hosting.Server.Abstractions, {Microsoft.AspNetCore.Hosting.Server.Abstractions, 2.2.0}", - "Microsoft.AspNetCore.Http, {Microsoft.AspNetCore.Http, 2.2.0}", - "Microsoft.AspNetCore.Http.Abstractions, {Microsoft.AspNetCore.Http.Abstractions, 2.2.0}", - "Microsoft.AspNetCore.Http.Extensions, {Microsoft.AspNetCore.Http.Extensions, 2.2.0}", - "Microsoft.AspNetCore.Http.Features, {Microsoft.AspNetCore.Http.Features, 2.2.0}", - "Microsoft.AspNetCore.HttpOverrides, {Microsoft.AspNetCore.HttpOverrides, 2.2.0}", - "Microsoft.AspNetCore.Routing, {Microsoft.AspNetCore.Routing, 2.2.0}", - "Microsoft.AspNetCore.Routing.Abstractions, {Microsoft.AspNetCore.Routing.Abstractions, 2.2.0}", - "Microsoft.AspNetCore.Server.IIS, {Microsoft.AspNetCore.Server.IIS, 2.2.0}", - "Microsoft.AspNetCore.Server.IISIntegration, {Microsoft.AspNetCore.Server.IISIntegration, 2.2.0}", - "Microsoft.AspNetCore.Server.Kestrel, {Microsoft.AspNetCore.Server.Kestrel, 2.2.0}", - "Microsoft.AspNetCore.Server.Kestrel.Core, {Microsoft.AspNetCore.Server.Kestrel.Core, 2.2.0}", - "Microsoft.AspNetCore.Server.Kestrel.Https, {Microsoft.AspNetCore.Server.Kestrel.Https, 2.2.0}", - "Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions, {Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions, 2.2.0}", - "Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets, {Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets, 2.2.0}", - "Microsoft.AspNetCore.WebUtilities, {Microsoft.AspNetCore.WebUtilities, 2.2.0}", - "Microsoft.Bcl.AsyncInterfaces, {Microsoft.Bcl.AsyncInterfaces, 5.0.0}", - "Microsoft.Extensions.Configuration, {Microsoft.Extensions.Configuration, 2.2.0}", - "Microsoft.Extensions.Configuration.Abstractions, {Microsoft.Extensions.Configuration.Abstractions, 2.2.0}", - "Microsoft.Extensions.Configuration.Binder, {Microsoft.Extensions.Configuration.Binder, 2.2.0}", - "Microsoft.Extensions.Configuration.CommandLine, {Microsoft.Extensions.Configuration.CommandLine, 2.2.0}", - "Microsoft.Extensions.Configuration.EnvironmentVariables, {Microsoft.Extensions.Configuration.EnvironmentVariables, 2.2.0}", - "Microsoft.Extensions.Configuration.FileExtensions, {Microsoft.Extensions.Configuration.FileExtensions, 2.2.0}", - "Microsoft.Extensions.Configuration.Json, {Microsoft.Extensions.Configuration.Json, 2.2.0}", - "Microsoft.Extensions.Configuration.UserSecrets, {Microsoft.Extensions.Configuration.UserSecrets, 2.2.0}", - "Microsoft.Extensions.DependencyInjection, {Microsoft.Extensions.DependencyInjection, 2.2.0}", - "Microsoft.Extensions.DependencyInjection.Abstractions, {Microsoft.Extensions.DependencyInjection.Abstractions, 2.2.0}", - "Microsoft.Extensions.FileProviders.Abstractions, {Microsoft.Extensions.FileProviders.Abstractions, 2.2.0}", - "Microsoft.Extensions.FileProviders.Physical, {Microsoft.Extensions.FileProviders.Physical, 2.2.0}", - "Microsoft.Extensions.FileSystemGlobbing, {Microsoft.Extensions.FileSystemGlobbing, 2.2.0}", - "Microsoft.Extensions.Hosting.Abstractions, {Microsoft.Extensions.Hosting.Abstractions, 2.2.0}", - "Microsoft.Extensions.Logging, {Microsoft.Extensions.Logging, 2.2.0}", - "Microsoft.Extensions.Logging.Abstractions, {Microsoft.Extensions.Logging.Abstractions, 2.2.0}", - "Microsoft.Extensions.Logging.Configuration, {Microsoft.Extensions.Logging.Configuration, 2.2.0}", - "Microsoft.Extensions.Logging.Console, {Microsoft.Extensions.Logging.Console, 2.2.0}", - "Microsoft.Extensions.Logging.Debug, {Microsoft.Extensions.Logging.Debug, 2.2.0}", - "Microsoft.Extensions.Logging.EventSource, {Microsoft.Extensions.Logging.EventSource, 2.2.0}", - "Microsoft.Extensions.ObjectPool, {Microsoft.Extensions.ObjectPool, 2.2.0}", - "Microsoft.Extensions.Options, {Microsoft.Extensions.Options, 2.2.0}", - "Microsoft.Extensions.Options.ConfigurationExtensions, {Microsoft.Extensions.Options.ConfigurationExtensions, 2.2.0}", - "Microsoft.Extensions.Primitives, {Microsoft.Extensions.Primitives, 2.2.0}", - "Microsoft.Net.Http.Headers, {Microsoft.Net.Http.Headers, 2.2.0}", - "Microsoft.Win32.Registry, {Microsoft.Win32.Registry, 4.7.0}", - "Microsoft.Win32.TaskScheduler, {TaskScheduler, 2.8.18}", - "Newtonsoft.Json, {Newtonsoft.Json, 12.0.3}", - "NLog, {NLog, 4.5.0}", - "System.Buffers, {System.Buffers, 4.5.1}", - "System.CodeDom, {System.CodeDom, 5.0.0}", - "System.Collections.Immutable, {System.Collections.Immutable, 1.5.0}", - "System.Collections.NonGeneric, {System.Collections.NonGeneric, 4.3.0}", - "System.ComponentModel, {System.ComponentModel, 4.3.0}", - "System.ComponentModel.Annotations, {System.ComponentModel.Annotations, 4.5.0}", - "System.ComponentModel.Composition, {System.ComponentModel.Composition, 4.7.0}", - "System.ComponentModel.Primitives, {System.ComponentModel.Primitives, 4.3.0}", - "System.ComponentModel.TypeConverter, {System.ComponentModel.TypeConverter, 4.3.0}", - "System.Configuration.ConfigurationManager, {System.Configuration.ConfigurationManager, 5.0.0}", - "System.Data.Common, {System.Data.Common, 4.3.0}", - "System.Data.OleDb, {System.Data.OleDb, 4.7.1}", - "System.Data.SqlClient, {System.Data.SqlClient, 4.8.2}", - "System.Diagnostics.DiagnosticSource, {System.Diagnostics.DiagnosticSource, 4.7.0}", - "System.DirectoryServices, {System.DirectoryServices, 5.0.0}", - "System.Drawing.Common, {System.Drawing.Common, 5.0.0}", - "System.Globalization, {System.Globalization, 4.3.0}", - "System.IO, {System.IO, 4.3.0}", - "System.IO.FileSystem.AccessControl, {System.IO.FileSystem.AccessControl, 5.0.0}", - "System.IO.Pipelines, {System.IO.Pipelines, 4.5.2}", - "System.Memory, {System.Memory, 4.5.4}", - "System.Net.Http, {System.Net.Http, 4.3.4}", - "System.Net.Http.Json, {System.Net.Http.Json, 5.0.0}", - "System.Net.Primitives, {System.Net.Primitives, 4.3.0}", - "System.Numerics.Vectors, {System.Numerics.Vectors, 4.5.0}", - "System.Reflection, {System.Reflection, 4.3.0}", - "System.Reflection.DispatchProxy, {System.Reflection.DispatchProxy, 4.7.1}", - "System.Reflection.Emit, {System.Reflection.Emit, 4.7.0}", - "System.Reflection.Emit.ILGeneration, {System.Reflection.Emit.ILGeneration, 4.7.0}", - "System.Reflection.Metadata, {System.Reflection.Metadata, 1.6.0}", - "System.Reflection.Primitives, {System.Reflection.Primitives, 4.3.0}", - "System.Runtime, {System.Runtime, 4.3.0}", - "System.Runtime.Caching, {System.Runtime.Caching, 4.7.0}", - "System.Runtime.CompilerServices.Unsafe, {System.Runtime.CompilerServices.Unsafe, 5.0.0}", - "System.Runtime.Handles, {System.Runtime.Handles, 4.3.0}", - "System.Runtime.Serialization.Formatters, {System.Runtime.Serialization.Formatters, 4.3.0}", - "System.Runtime.Serialization.Primitives, {System.Runtime.Serialization.Primitives, 4.3.0}", - "System.Security.AccessControl, {System.Security.AccessControl, 5.0.0}", - "System.Security.Claims, {System.Security.Claims, 4.3.0}", - "System.Security.Cryptography.Algorithms, {System.Security.Cryptography.Algorithms, 4.3.0}", - "System.Security.Cryptography.Cng, {System.Security.Cryptography.Cng, 4.7.0}", - "System.Security.Cryptography.Encoding, {System.Security.Cryptography.Encoding, 4.3.0}", - "System.Security.Cryptography.Pkcs, {System.Security.Cryptography.Pkcs, 4.7.0}", - "System.Security.Cryptography.Primitives, {System.Security.Cryptography.Primitives, 4.3.0}", - "System.Security.Cryptography.X509Certificates, {System.Security.Cryptography.X509Certificates, 4.3.2}", - "System.Security.Cryptography.Xml, {System.Security.Cryptography.Xml, 4.7.0}", - "System.Security.Permissions, {System.Security.Permissions, 5.0.0}", - "System.Security.Principal, {System.Security.Principal, 4.3.0}", - "System.Security.Principal.Windows, {System.Security.Principal.Windows, 5.0.0}", - "System.ServiceModel, {System.ServiceModel.Primitives, 4.8.1}", - "System.ServiceModel.Duplex, {System.ServiceModel.Duplex, 4.8.1}", - "System.ServiceModel.Http, {System.ServiceModel.Http, 4.8.1}", - "System.ServiceModel.NetTcp, {System.ServiceModel.NetTcp, 4.8.1}", - "System.ServiceModel.Primitives, {System.ServiceModel.Primitives, 4.8.1}", - "System.ServiceModel.Security, {System.ServiceModel.Security, 4.8.1}", - "System.Text.Encoding, {System.Text.Encoding, 4.3.0}", - "System.Text.Encoding.CodePages, {System.Text.Encoding.CodePages, 4.7.0}", - "System.Text.Encodings.Web, {System.Text.Encodings.Web, 5.0.0}", - "System.Text.Json, {System.Text.Json, 5.0.0}", - "System.Threading.Tasks, {System.Threading.Tasks, 4.3.0}", - "System.Threading.Tasks.Extensions, {System.Threading.Tasks.Extensions, 4.5.4}", - "System.Xml.ReaderWriter, {System.Xml.ReaderWriter, 4.3.0}", - "System.Xml.XmlDocument, {System.Xml.XmlDocument, 4.3.0}", - "System.Xml.XmlSerializer, {System.Xml.XmlSerializer, 4.3.0}", - "System.Xml.XPath, {System.Xml.XPath, 4.3.0}", - "System.Xml.XPath.XmlDocument, {System.Xml.XPath.XmlDocument, 4.3.0}" - ], - "sync": true, - "targetFramework": "netstandard2.0", - "typeReuseMode": "All" - } -} \ No newline at end of file diff --git a/src/Connected Services/RateServiceWebReference/RateServiceDefinitions.wsdl b/src/Connected Services/RateServiceWebReference/RateServiceDefinitions.wsdl deleted file mode 100644 index a67b559..0000000 --- a/src/Connected Services/RateServiceWebReference/RateServiceDefinitions.wsdl +++ /dev/null @@ -1,4945 +0,0 @@ - - - - - - - - - Specifies the role that identifies the permissions the accessor of the pending shipment. - - - - - - - - - Specifies additional labels to be produced. All required labels for shipments will be produced without the need to request additional labels. These are only available as thermal labels. - - - - - The type of additional labels to return. - - - - - The number of this type label to return - - - - - - - - - - - - - - - - - - - Descriptive data for a physical location. May be used as an actual physical address (place to which one could go), or as a container of "address parts" which should be handled as a unit (such as a city-state-ZIP combination within the US). - - - - - Combination of number, street name, etc. At least one line is required for a valid physical address; empty lines should not be included. - - - - - Name of city, town, etc. - - - - - Identifying abbreviation for US state, Canada province, etc. Format and presence of this field will vary, depending on country. - - - - - Identification of a region (usually small) for mail/package delivery. Format and presence of this field will vary, depending on country. - - - - - Relevant only to addresses in Puerto Rico. - - - - - The two-letter code used to identify a country. - - - - - The fully spelt out name of a country. - - - - - Indicates whether this address residential (as opposed to commercial). - - - - - - - Specifies details for a package containing alcohol - - - - - The license type that the recipient of the alcohol package. - - - - - - - Specifies the type of license that the recipient of the alcohol shipment has. - - - - - - - - - - - - - - - - - - Identification of the type of barcode (symbology) used on FedEx documents and labels. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Identification of a FedEx operating company (transportation). - - - - - - - - - - - - - The instructions indicating how to print the Certificate of Origin ( e.g. whether or not to include the instructions, image type, etc ...) - - - - - Specifies characteristics of a shipping document to be produced. - - - - - Specifies the usage and identification of customer supplied images to be used on this document. - - - - - - - - - - - - - Specifies the type of brokerage to be applied to a shipment. - - - - - - - - - - - - Descriptive data for the client submitting a transaction. - - - - - The FedEx account number associated with this transaction. - - - - - This number is assigned by FedEx and identifies the unique device from which the request is originating - - - - - Only used in transactions which require identification of the FedEx Office integrator. - - - - - Indicates the region from which the transaction is submitted. - - - - - The language to be used for human-readable Notification.localizedMessages in responses to the request containing this ClientDetail object. Different requests from the same client may contain different Localization data. (Contrast with TransactionDetail.localization, which governs data payload language/translation.) - - - - - - - - - - - - - - - - - Select the type of rate from which the element is to be selected. - - - - - - - - - Identifies the type of funds FedEx should collect upon shipment delivery. - - - - - - - - - - Descriptive data required for a FedEx COD (Collect-On-Delivery) shipment. - - - - - - Specifies the details of the charges are to be added to the COD collect amount. - - - - - Identifies the type of funds FedEx should collect upon package delivery - - - - - For Express this is the descriptive data that is used for the recipient of the FedEx Letter containing the COD payment. For Ground this is the descriptive data for the party to receive the payment that prints the COD receipt. - - - - - When the FedEx COD payment type is not CASH, indicates the contact and address of the financial institution used to service the payment of the COD. - - - - - Specifies the name of person or company receiving the secured/unsecured funds payment - - - - - Indicates which type of reference information to include on the COD return shipping label. - - - - - Only used with multi-piece COD shipments sent in multiple transactions. Required on last transaction only. - - - - - - - - - - - - - - - CommercialInvoice element is required for electronic upload of CI data. It will serve to create/transmit an Electronic Commercial Invoice through the FedEx Systems. Customers are responsible for printing their own Commercial Invoice.If you would likeFedEx to generate a Commercial Invoice and transmit it to Customs. for clearance purposes, you need to specify that in the ShippingDocumentSpecification element. If you would like a copy of the Commercial Invoice that FedEx generated returned to you in reply it needs to be specified in the ETDDetail/RequestedDocumentCopies element. Commercial Invoice support consists of maximum of 99 commodity line items. - - - - - Any comments that need to be communicated about this shipment. - - - - - Any freight charges that are associated with this shipment. - - - - - Any taxes or miscellaneous charges(other than Freight charges or Insurance charges) that are associated with this shipment. - - - - - Specifies which kind of charge is being recorded in the preceding field. - - - - - Any packing costs that are associated with this shipment. - - - - - Any handling costs that are associated with this shipment. - - - - - Free-form text. - - - - - Free-form text. - - - - - Free-form text. - - - - - The reason for the shipment. Note: SOLD is not a valid purpose for a Proforma Invoice. - - - - - Name of the International Expert that completed the Commercial Invoice different from Sender. - - - - - Required for dutiable international Express or Ground shipments. This field is not applicable to an international PIB(document) or a non-document which does not require a Commercial Invoice. - - - - - - - The instructions indicating how to print the Commercial Invoice( e.g. image type) Specifies characteristics of a shipping document to be produced. - - - - - - Specifies the usage and identification of a customer supplied image to be used on this document. - - - - - - - Information about the transit time and delivery commitment date and time. - - - - - The Commodity applicable to this commitment. - - - - - The FedEx service type applicable to this commitment. - - - - - Shows the specific combination of service options combined with the service type that produced this committment in the set returned to the caller. - - - - - Supporting detail for applied options identified in preceding field. - - - - - - - THe delivery commitment date/time. Express Only. - - - - - The delivery commitment day of the week. - - - - - The number of transit days; applies to Ground and LTL Freight; indicates minimum transit time for SmartPost. - - - - - Maximum number of transit days, for SmartPost shipments. - - - - - The service area code for the destination of this shipment. Express only. - - - - - The address of the broker to be used for this shipment. - - - - - The FedEx location identifier for the broker. - - - - - The delivery commitment date/time the shipment will arrive at the border. - - - - - The delivery commitment day of the week the shipment will arrive at the border. - - - - - The number of days it will take for the shipment to make it from broker to destination - - - - - The delivery commitment date for shipment served by GSP (Global Service Provider) - - - - - The delivery commitment day of the week for the shipment served by GSP (Global Service Provider) - - - - - Messages concerning the ability to provide an accurate delivery commitment on an International commit quote. These could be messages providing information about why a commitment could not be returned or a successful message such as "REQUEST COMPLETED" - - - - - Messages concerning the delivery commitment on an International commit quote such as "0:00 A.M. IF NO CUSTOMS DELAY" - - - - - Information about why a shipment delivery is delayed and at what level (country/service etc.). - - - - - - Required documentation for this shipment. - - - - - Freight origin and destination city center information and total distance between origin and destination city centers. - - - - - - - The type of delay this shipment will encounter. - - - - - - - - - - - - - - - - - - - - - - - - - - This field is used for enterprise transactions. - - - - - - Contains only additional quantitative information other than weight and quantity to calculate duties and taxes. - - - - - - - Defines additional characteristic of commodity used to calculate duties and taxes - - - - - - - - - All data required for this commodity in NAFTA Certificate of Origin. - - - - - - - - - - - - - - - Uniquely identifies a consolidation, which is a logical container for a collection of shipments. - - - - - Specifies the type of consolidation. - - - - - Uniquely identifies the consolidation, within a given type and date. - - - - - The date on which the consolidation was created. - - - - - - - - - - - - - - - - - The descriptive data for a point-of-contact person. - - - - - Client provided identifier corresponding to this contact information. - - - - - Identifies the contact person's name. - - - - - Identifies the contact person's title. - - - - - Identifies the company this contact is associated with. - - - - - Identifies the phone number associated with this contact. - - - - - Identifies the phone extension associated with this contact. - - - - - Identifies a toll free number, if any, associated with this contact. - - - - - Identifies the pager number associated with this contact. - - - - - Identifies the fax number associated with this contact. - - - - - Identifies the email address associated with this contact. - - - - - - - - - - - - - - - - - - - - - - - The currency code for the original (converted FROM) currency. - - - - - The currency code for the final (converted INTO) currency. - - - - - Multiplier used to convert fromCurrency units to intoCurrency units. - - - - - - - - - Indicates the type of custom delivery being requested. - - - - - Time by which delivery is requested. - - - - - Range of dates for custom delivery request; only used if type is BETWEEN. - - - - - Date for custom delivery request; only used for types of ON, BETWEEN, or AFTER. - - - - - - - - - - - - - - - Data required to produce a custom-specified document, either at shipment or package level. - - - - - Common information controlling document production. - - - - - Applicable only to documents produced on thermal printers with roll stock. - - - - - Applicable only to documents produced on thermal printers with roll stock. - - - - - Identifies the formatting specification used to construct this custom document. - - - - - - - - Constructed string, based on format and zero or more data fields, printed in specified barcode symbology. - - - - - - - - - Width of thinnest bar/space element in the barcode. - - - - - - - - Solid (filled) rectangular area on label. - - - - - - - - - - - - - - - - - - - - - - - - - Image to be included from printer's memory, or from a local file for offline clients. - - - - - - Printer-specific index of graphic image to be printed. - - - - - Fully-qualified path and file name for graphic image to be printed. - - - - - - - - - Horizontal position, relative to left edge of custom area. - - - - - Vertical position, relative to top edge of custom area. - - - - - - - Constructed string, based on format and zero or more data fields, printed in specified printer font (for thermal labels) or generic font/size (for plain paper labels). - - - - - - - - - - Printer-specific font name for use with thermal printer labels. - - - - - Generic font name for use with plain paper labels. - - - - - Generic font size for use with plain paper labels. - - - - - - - - Constructed string, based on format and zero or more data fields, printed in specified printer font (for thermal labels) or generic font/size (for plain paper labels). - - - - - - - - Printer-specific font name for use with thermal printer labels. - - - - - Generic font name for use with plain paper labels. - - - - - Generic font size for use with plain paper labels. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Allows customer-specified control of label content. - - - - - If omitted, no doc tab will be produced (i.e. default is former NONE type). - - - - - Controls the position of the customer specified content relative to the FedEx portion. - - - - - - - Controls which data/sections will be suppressed. - - - - - For customers producing their own Ground labels, this field specifies which secondary barcode will be printed on the label; so that the primary barcode produced by FedEx has the correct SCNC. - - - - - - - Controls the number of additional copies of supplemental labels. - - - - - This value reduces the default quantity of destination/consignee air waybill labels. A value of zero indicates no change to default. A minimum of one copy will always be produced. - - - - - - - - - - - - - - - - - Interacts both with properties of the shipment and contractual relationship with the shipper. - - - - - - - Specifies how the recipient is identified for customs purposes; the requirements on this information vary with destination country. - - - - - - - - Identifies responsibilities with respect to loss, damage, etc. - - - - - Documents amount paid to third party for coverage of shipment content. - - - - - - - - - - - - - - - Specifies additional description about customs options. This is a required field when the customs options type is "OTHER". - - - - - - - - - - - - - - - - - - - - - - - - - - - Describes an approved container used to package dangerous goods commodities. This does not describe any individual inner receptacles that may be within this container. - - - - - Indicates whether there are additional inner receptacles within this container. - - - - - Indicates the type of this dangerous goods container, as specified by the IATA packing instructions. For example, steel cylinder, fiberboard box, plastic jerrican and steel drum. - - - - - Indicates the packaging type of the container used to package the radioactive materials. - - - - - Indicates the number of occurrences of this container with identical dangerous goods configuration. - - - - - Documents the kinds and quantities of all hazardous commodities in the current container. - - - - - - - - - - - Shipment is packaged/documented for movement ONLY on cargo aircraft. - - - - - Indicates which kinds of hazardous content are in the current package. - - - - - Indicates whether there is additional customer provided packaging enclosing the approved dangerous goods containers. - - - - - Identifies the configuration of this dangerous goods package. The common configuration is represented at the shipment level. - - - - - Indicates one or more containers used to pack dangerous goods commodities. - - - - - Description of the packaging of this commodity, suitable for use on OP-900 and OP-950 forms. - - - - - Name, title and place of the signatory for this shipment. - - - - - Telephone number to use for contact in the event of an emergency. - - - - - Offeror's name or contract number, per DOT regulation. - - - - - Specifies the contact of the party responsible for handling the infectious substances, if any, in the dangerous goods shipment. - - - - - Specifies additional handling information for the current package. - - - - - Specifies the radioactivity detail for the current package, if the package contains radioactive materials. - - - - - - - - - - - - The instructions indicating how to print the 1421c form for dangerous goods shipment. - - - - - Specifies characteristics of a shipping document to be produced. - - - - - Specifies the usage and identification of customer supplied images to be used on this document. - - - - - - - Specifies that name, title and place of the signatory responsible for the dangerous goods shipment. - - - - - - - Indicates the place where the form is signed. - - - - - - - - - - - - - - - - - - - - - - - - Information about why a shipment delivery is delayed and at what level( country/service etc.). - - - - - The date of the delay - - - - - - The attribute of the shipment that caused the delay(e.g. Country, City, LocationId, Zip, service area, special handling ) - - - - - The point where the delay is occurring (e.g. Origin, Destination, Broker location) - - - - - The reason for the delay (e.g. holiday, weekend, etc.). - - - - - The name of the holiday in that country that is causing the delay. - - - - - - - The attribute of the shipment that caused the delay(e.g. Country, City, LocationId, Zip, service area, special handling ) - - - - - - - - - - - - - - The point where the delay is occurring ( e.g. Origin, Destination, Broker location). - - - - - - - - - - - - - - - Specifies the tracking id for the return, if preassigned. - - - - - - - Data required to complete the Destionation Control Statement for US exports. - - - - - - Comma-separated list of up to four country codes, required for DEPARTMENT_OF_STATE statement. - - - - - Name of end user, required for DEPARTMENT_OF_STATE statement. - - - - - - - - - - - - - - - - - - - - - Driving or other transportation distances, distinct from dimension measurements. - - - - - Identifies the distance quantity. - - - - - Identifies the unit of measure for the distance value. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Content of the email message. - - - - - - - - Information describing email notifications that will be sent in relation to events that occur during package movement - - - - - A message that will be included in the email notifications - - - - - Information describing the destination of the email, format of the email and events to be notified on - - - - - - - - - - - - - - - The format of the email - - - - - - - - - - - - Identifies the relationship this email recipient has to the shipment. - - - - - The email address to send the notification to - - - - - The types of email notifications being requested for this recipient. - - - - - The format of the email notification. - - - - - The language/locale to be used in this email notification. - - - - - - - - - - - - - - - Information describing the address of of the email recipient, role of the email recipient and languages that are requested to be supported. - - - - - EMail address of the recipient. - - - - - The relationship that the customer has to the pending shipment. - - - - - Specifies how the email notification for the pending shipment need to be processed. - - - - - Localization and language details specified by the recipient of the EMail. - - - - - - - - - - - - - - - - Customer-declared value, with data type and legal values depending on excise condition, used in defining the taxable value of the item. - - - - - - - Specifies the types of Estimated Duties and Taxes to be included in a rate quotation for an international shipment. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Specifies how to apply the localization detail to the current context. - - - - - - - - Electronic Trade document references used with the ETD special service. - - - - - Indicates the types of shipping documents produced for the shipper by FedEx (see ShippingDocumentSpecification) which should be copied back to the shipper in the shipment result data. - - - - - - - - The instructions indicating how to print the Export Declaration. - - - - - Specifies characteristics of a shipping document to be produced. - - - - - Specifies the usage and identification of customer supplied images to be used on this document. - - - - - - - - - - General field for exporting-country-specific export data (e.g. B13A for CA, FTSR Exemption or AES Citation for US). - - - - - - - - - - - - - - - - - - - - - - - - - Indicates a FedEx Express operating region. - - - - - - - - - - - - Identifies a kind of FedEx facility. - - - - - - - - - - - - - - - Specifies the optional features/characteristics requested for a Freight shipment utilizing a flatbed trailer. - - - - - - - - - - - - - - Data required to produce the Freight handling-unit-level address labels. Note that the number of UNIQUE labels (the N as in 1 of N, 2 of N, etc.) is determined by total handling units. - - - - - - Indicates the number of copies to be produced for each unique label. - - - - - Specifies the quadrant of the page on which the label printing will start. - - - - - If omitted, no doc tab will be produced (i.e. default = former NONE type). - - - - - Controls the position of the customer specified content relative to the FedEx portion. - - - - - - - - Individual charge which contributes to the total base charge for the shipment. - - - - - Freight class for this line item. - - - - - Effective freight class used for rating this line item. - - - - - NMFC Code for commodity. - - - - - Customer-provided description for this commodity or class line. - - - - - Weight for this commodity or class line. - - - - - Rate or factor applied to this line item. - - - - - Identifies the manner in which the chargeRate for this line item was applied. - - - - - The net or extended charge for this line item. - - - - - - - Specifies the way in which base charges for a Freight shipment or shipment leg are calculated. - - - - - - - - - - - - - - - - These values represent the industry-standard freight classes used for FedEx Freight and FedEx National Freight shipment description. (Note: The alphabetic prefixes are required to distinguish these values from decimal numbers on some client platforms.) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Information about the Freight Service Centers associated with this shipment. - - - - - Information about the origin Freight Service Center. - - - - - Information about the destination Freight Service Center. - - - - - The distance between the origin and destination FreightService Centers - - - - - - - - - - Date for all Freight guarantee types. - - - - - - - - - - - - - Identifies responsibilities with respect to loss, damage, etc. - - - - - - - - - Rate data specific to FedEx Freight or FedEx National Freight services. - - - - - A unique identifier for a specific rate quotation. - - - - - Specifies whether the rate quote was automated or manual. - - - - - Specifies how total base charge is determined. - - - - - Freight charges which accumulate to the total base charge for the shipment. - - - - - Human-readable descriptions of additional information on this shipment rating. - - - - - - - Additional non-monetary data returned with Freight rates. - - - - - Unique identifier for notation. - - - - - Human-readable explanation of notation. - - - - - - - Specifies the type of rate quote - - - - - - - - - This class describes the relationship between a customer-specified address and the FedEx Freight / FedEx National Freight Service Center that supports that address. - - - - - Freight Industry standard non-FedEx carrier identification - - - - - The name of the Interline carrier. - - - - - Additional time it might take at the origin or destination to pickup or deliver the freight. This is usually due to the remoteness of the location. This time is included in the total transit time. - - - - - Service branding which may be used for local pickup or delivery, distinct from service used for line-haul of customer's shipment. - - - - - Distance between customer address (pickup or delivery) and the supporting Freight / National Freight service center. - - - - - Time to travel between customer address (pickup or delivery) and the supporting Freight / National Freight service center. - - - - - Specifies when/how the customer can arrange for pickup or delivery. - - - - - Specifies days of operation if localServiceScheduling is LIMITED. - - - - - Freight service center that is a gateway on the border of Canada or Mexico. - - - - - Alphabetical code identifying a Freight Service Center - - - - - Freight service center Contact and Address - - - - - - - Specifies the type of service scheduling offered from a Freight or National Freight Service Center to a customer-supplied address. - - - - - - - - - - Data applicable to shipments using FEDEX_FREIGHT_ECONOMY and FEDEX_FREIGHT_PRIORITY services. - - - - - Account number used with FEDEX_FREIGHT service. - - - - - Used for validating FedEx Freight account number and (optionally) identifying third party payment on the bill of lading. - - - - - Used in connection with "Send Bill To" (SBT) identification of customer's account used for billing. - - - - - Indicates the role of the party submitting the transaction. - - - - - Designates the terms of the "collect" payment for a Freight Shipment. - - - - - Identifies the declared value for the shipment - - - - - Identifies the declared value units corresponding to the above defined declared value - - - - - - Identifiers for promotional discounts offered to customers. - - - - - Total number of individual handling units in the entire shipment (for unit pricing). - - - - - Estimated discount rate provided by client for unsecured rate quote. - - - - - Total weight of pallets used in shipment. - - - - - Overall shipment dimensions. - - - - - Description for the shipment. - - - - - Specifies which party will pay surcharges for any special services which support split billing. - - - - - - Details of the commodities in the shipment. - - - - - - - Description of an individual commodity or class of content in a shipment. - - - - - Freight class for this line item. - - - - - Specification of handling-unit packaging for this commodity or class line. - - - - - Number of pieces for this commodity or class line. - - - - - Customer-provided description for this commodity or class line. - - - - - Weight for this commodity or class line. - - - - - - Volume (cubic measure) for this commodity or class line. - - - - - - - Indicates the role of the party submitting the transaction. - - - - - - - - - Specifies which party will be responsible for payment of any surcharges for Freight special services for which split billing is allowed. - - - - - Identifies the special service. - - - - - Indicates who will pay for the special service. - - - - - - - Data required to produce a General Agency Agreement document. Remaining content (business data) to be defined once requirements have been completed. - - - - - - - - Documents the kind and quantity of an individual hazardous commodity in a package. - - - - - Identifies and describes an individual hazardous commodity. - - - - - Specifies the amount of the commodity in alternate units. - - - - - This describes the inner receptacle details for a hazardous commodity within the dangerous goods container. - - - - - Customer-provided specifications for handling individual commodities. - - - - - Specifies the details of any radio active materials within the commodity. - - - - - The total mass of the contained explosive substances, without the mass of any casings, bullets, shells, etc. - - - - - - - Identifies and describes an individual hazardous commodity. - - - - - Regulatory identifier for a commodity (e.g. "UN ID" value). - - - - - In conjunction with the regulatory identifier, this field uniquely identifies a specific hazardous materials commodity. - - - - - - - - - - - - - - Indicates any special processing options to be applied to the description of the dangerous goods commodity. - - - - - Information related to quantity limitations and operator or state variations as may be applicable to the dangerous goods commodity. - - - - - - - Specifies any special processing to be applied to the dangerous goods commodity description validation. - - - - - - - - This describes information about the inner receptacles for the hazardous commodity in a particular dangerous goods container. - - - - - This specifies the quantity contained in the inner receptacle. - - - - - - - Specifies how the commodity is to be labeled. - - - - - - - - - - Customer-provided specifications for handling individual commodities. - - - - - Specifies how the customer wishes the label text to be handled for this commodity in this package. - - - - - Text used in labeling the commodity under control of the labelTextOption field. - - - - - - - Indicates which kind of hazardous content is being reported. - - - - - - - - - - - - - Identifies number and type of packaging units for hazardous commodities. - - - - - Number of units of the type below. - - - - - Units in which the hazardous commodity is packaged. - - - - - - - Specifies documentation and limits for validation of an individual packing group/category. - - - - - - Coded specification for how commodity is to be packed. - - - - - - - Identifies DOT packing group for a hazardous commodity. - - - - - - - - - - - Identifies amount and units for quantity of hazardous commodities. - - - - - Number of units of the type below. - - - - - Units by which the hazardous commodity is measured. For IATA commodity, the units values are restricted based on regulation type. - - - - - Specifies which measure of quantity is to be validated. - - - - - - - Specifies the measure of quantity to be validated against a prescribed limit. - - - - - - - - - Identifies the source of regulation for hazardous commodity data. - - - - - - - - - - - - - - - - - - Contact phone number for recipient of shipment. - - - - - Contact and address of FedEx facility at which shipment is to be held. - - - - - Type of facility at which package/shipment is to be held. - - - - - Location identification (for facilities identified by an alphanumeric location code). - - - - - Location identification (for facilities identified by an numeric location code). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Names for data elements / areas which may be suppressed from printing on labels. - - - - - - - - - - - - - - - - - - Specifies the order in which the labels will be returned - - - - - - - - - - - - - - - Relative to normal orientation for the printer. - - - - - - - - - - - - - - - - - - Specifies the order in which the labels are requested to be returned - - - - - - - - - - - - - - - - - - - - - - - - - - - - Identifies the Liability Coverage Amount. For Jan 2010 this value represents coverage amount per pound - - - - - - - - - - - - - Represents a one-dimensional measurement in small units (e.g. suitable for measuring a package or document), contrasted with Distance, which represents a large one-dimensional measurement (e.g. distance between cities). - - - - - The numerical quantity of this measurement. - - - - - The units for this measurement. - - - - - - - - - - - - - Identifies the representation of human-readable text. - - - - - Two-letter code for language (e.g. EN, FR, etc.) - - - - - Two-letter code for the region (e.g. us, ca, etc..). - - - - - - - - - - - - - - - - - - - - - - - - - - - - Data required to produce a Certificate of Origin document. Remaining content (business data) to be defined once requirements have been completed. - - - - - - - Indicates which Party (if any) from the shipment is to be used as the source of importer data on the NAFTA COO form. - - - - - Contact information for "Authorized Signature" area of form. - - - - - - - - - - - - Defined by NAFTA regulations. - - - - - Defined by NAFTA regulations. - - - - - Identification of which producer is associated with this commodity (if multiple producers are used in a single shipment). - - - - - - Date range over which RVC net cost was calculated. - - - - - - - - - - - - - - - - - - - - - See instructions for NAFTA Certificate of Origin for code definitions. - - - - - - - - - - - - - - - - - - - See instructions for NAFTA Certificate of Origin for code definitions. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The descriptive data regarding the result of the submitted transaction. - - - - - The severity of this notification. This can indicate success or failure or some other information about the request. The values that can be returned are SUCCESS - Your transaction succeeded with no other applicable information. NOTE - Additional information that may be of interest to you about your transaction. WARNING - Additional information that you need to know about your transaction that you may need to take action on. ERROR - Information about an error that occurred while processing your transaction. FAILURE - FedEx was unable to process your transaction at this time due to a system failure. Please try again later - - - - - Indicates the source of this notification. Combined with the Code it uniquely identifies this notification - - - - - A code that represents this notification. Combined with the Source it uniquely identifies this notification. - - - - - Human-readable text that explains this notification. - - - - - The translated message. The language and locale specified in the ClientDetail. Localization are used to determine the representation. Currently only supported in a TrackReply. - - - - - A collection of name/value pairs that provide specific data to help the client determine the nature of an error (or warning, etc.) witout having to parse the message string. - - - - - - - - - Identifies the type of data contained in Value (e.g. SERVICE_TYPE, PACKAGE_SEQUENCE, etc..). - - - - - The value of the parameter (e.g. PRIORITY_OVERNIGHT, 2, etc..). - - - - - - - - - - - - - - - - The instructions indicating how to print the OP-900 form for hazardous materials packages. - - - - - Specifies characteristics of a shipping document to be produced. - - - - - Identifies which reference type (from the package's customer references) is to be used as the source for the reference on this OP-900. - - - - - Specifies the usage and identification of customer supplied images to be used on this document. - - - - - Data field to be used when a name is to be printed in the document instead of (or in addition to) a signature image. - - - - - - - - - - - - - - Data for a package's rates, as calculated per a specific rate type. - - - - - Type used for this specific set of rate data. - - - - - Indicates which weight was used. - - - - - INTERNAL FEDEX USE ONLY. - - - - - - The dimensional weight of this package (if greater than actual). - - - - - The oversize weight of this package (if the package is oversize). - - - - - The transportation charge only (prior to any discounts applied) for this package. - - - - - The sum of all discounts on this package. - - - - - This package's baseCharge - totalFreightDiscounts. - - - - - The sum of all surcharges on this package. - - - - - This package's netFreight + totalSurcharges (not including totalTaxes). - - - - - The sum of all taxes on this package. - - - - - This package's netFreight + totalSurcharges + totalTaxes. - - - - - - All rate discounts that apply to this package. - - - - - All rebates that apply to this package. - - - - - All surcharges that apply to this package (either because of characteristics of the package itself, or because it is carrying per-shipment surcharges for the shipment of which it is a part). - - - - - All taxes applicable (or distributed to) this package. - - - - - - - - - - - - - - - - - - - - These special services are available at the package level for some or all service types. If the shipper is requesting a special service which requires additional data, the package special service type must be present in the specialServiceTypes collection, and the supporting detail must be provided in the appropriate sub-object below. - - - - - The types of all special services requested for the enclosing shipment or package. - - - - - For use with FedEx Ground services only; COD must be present in shipment's special services. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This information describes the kind of pending shipment being requested. - - - - - - Date after which the pending shipment will no longer be available for completion. - - - - - Only used with type of EMAIL. - - - - - - These are documents that are recommended to be included with the shipment. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This enumeration rationalizes the former FedEx Express international "admissibility package" types (based on ANSI X.12) and the FedEx Freight packaging types. The values represented are those common to both carriers. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This class describes the pickup characteristics of a shipment (e.g. for use in a tag request). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Indicates the packaging type of the container used to package radioactive hazardous materials. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Indicates whether packaging type "EXCEPTED" or "EXCEPTED_PACKAGE" is for radioactive material in reportable quantity. - - - - - - - - - Indicates the reason that a dim divisor value was chose. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Selects the value from a set of rate data to which the percentage is applied. - - - - - - - - - - - The response to a RateRequest. The Notifications indicate whether the request was successful or not. - - - - - This indicates the highest level of severity of all the notifications returned in this reply. - - - - - The descriptive data regarding the results of the submitted transaction. - - - - - Contains the CustomerTransactionId that was sent in the request. - - - - - The version of this reply. - - - - - Each element contains all rate data for a single service. If service was specified in the request, there will be a single entry in this array; if service was omitted in the request, there will be a separate entry in this array for each service being compared. - - - - - - - - - - - Shows the specific combination of service options combined with the service type that produced this committment in the set returned to the caller. - - - - - Supporting detail for applied options identified in preceding field. - - - - - - - - - - - Not populated by FAST service in Jan07. - - - - - Not populated by FAST service in Jan07. - - - - - Not populated by FAST service in Jan07. - - - - - Maximum expected transit time - - - - - Not populated by FAST service in Jan07. Actual signature option applied, to allow for cases in wihch the original value conflicted with other service features in the shipment. - - - - - - Each element contains all rate data for a single rate type. - - - - - - - - - Descriptive data to be used in authentication of the sender's identity (and right to use FedEx web services). - - - - - - - - Allows the caller to specify that the transit time and commit data are to be returned in the reply. - - - - - Candidate carriers for rate-shopping use case. This field is only considered if requestedShipment/serviceType is omitted. - - - - - Contains zero or more service options whose combinations are to be considered when replying with available services. - - - - - If provided, identifies the consolidation to which this open shipment should be added after successful creation. - - - - - The shipment for which a rate quote (or rate-shopping comparison) is desired. - - - - - - - - - - - - - - Select the type of rate from which the element is to be selected. - - - - - - - - - - - Echoed from the corresponding package in the rate request (if provided). - - - - - Used with request containing PACKAGE_GROUPS, to identify which group of identical packages was used to produce a reply item. - - - - - The difference between "list" and "account" net charge. - - - - - Ground COD is shipment level. - - - - - - Rate data that are tied to a specific package and rate type combination. - - - - - - - This class groups the shipment and package rating data for a specific rate type for use in a rating reply, which groups result data by rate type. - - - - - The difference between "list" and "account" total net charge. - - - - - Express COD is shipment level. - - - - - The shipment-level totals for this rate type. - - - - - The package-level data for this rate type. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Specifies how the recipient is identified for customs purposes; the requirements on this information vary with destination country. - - - - - Specifies the kind of identification being used. - - - - - Contains the actual ID value, of the type specified above. - - - - - - - - - - - - - - Specifies the details about documents that are recommended to be included with the shipment for ease of shipment processing and transportation. - - - - - - - - Type of documents that are recommended to be included with the shipment. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Specifies details needed to generate any label artifacts required due to regulatory requirements. - - - - - - Specifies how the customer requested the regulatory label to be generated. - - - - - - - - - - - - Describes the vertical position of an item relative to another item. - - - - - - - - - This class rationalizes RequestedPackage and RequestedPackageSummary from previous interfaces. - - - - - Used only with INDIVIDUAL_PACKAGE, as a unique identifier of each requested package. - - - - - Used only with PACKAGE_GROUPS, as a unique identifier of each group of identical packages. - - - - - Used only with PACKAGE_GROUPS, as a count of packages within a group of identical packages. - - - - - - Specifies the declared value for carriage of the package. The declared value for carriage represents the maximum liability of FedEx in connection with a shipment, including, but not limited to, any loss, damage, delay, mis-delivery, nondelivery, misinformation, any failure to provide information, or mis-delivery of information relating to the package. This field is only used for INDIVIDUAL_PACKAGES and PACKAGE_GROUPS. Ignored for PACKAGE_SUMMARY, in which case totalInsuredValue and packageCount on the shipment will be used to determine this value. - - - - - Only used for INDIVIDUAL_PACKAGES and PACKAGE_GROUPS. Ignored for PACKAGE_SUMMARY, in which case total weight and packageCount on the shipment will be used to determine this value. - - - - - - Provides additional detail on how the customer has physically packaged this item. As of June 2009, required for packages moving under international and SmartPost services. - - - - - Human-readable text describing the package. - - - - - Human-readable text describing the contents of the package to be used for clearance purposes. - - - - - - - Only used for INDIVIDUAL_PACKAGES and PACKAGE_GROUPS. - - - - - - - - - - - - - The shipment variations for the current shipment expressed in key-value pairs. - - - - - - Specifies the total declared value for carriage of the shipment. The declared value for carriage represents the maximum liability of FedEx in connection with a shipment, including, but not limited to, any loss, damage, delay, mis-delivery, nondelivery, misinformation, any failure to provide information, or mis-delivery of information relating to the shipment. - - - - - This attribute indicates the currency the caller requests to have used in all returned monetary values (when a choice is possible). - - - - - - - - Physical starting address for the shipment, if different from shipper's address. - - - - - - - - - Data applicable to shipments using FEDEX_FREIGHT_ECONOMY and FEDEX_FREIGHT_PRIORITY services. - - - - - Used with Ground Home Delivery and Freight. - - - - - - Customs clearance data, used for both international and intra-country shipping. - - - - - For use in "process tag" transaction. - - - - - Specifies the characteristics of a shipment pertaining to SmartPost services. - - - - - If true, only the shipper/payor will have visibility of this shipment. - - - - - - Contains data used to create additional (non-label) shipping documents. - - - - - Specifies whether and what kind of rates the customer wishes to have quoted on this shipment. The reply will also be constrained by other data on the shipment and customer. - - - - - Specifies whether the customer wishes to have Estimated Duties and Taxes provided with the rate quotation on this shipment. Only applies with shipments moving under international services. - - - - - The total number of packages in the entire shipment (even when the shipment spans multiple transactions.) - - - - - Specifies which package-level data values are provided at the shipment-level only. The package-level data values types specified here will not be provided at the package-level. - - - - - Specifies data structures that may be re-used multiple times with s single shipment. - - - - - One or more package-attribute descriptions, each of which describes an individual package, a group of identical packages, or (for the total-piece-total-weight case) common characteristics all packages in the shipment. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Specifies the tracking number of the master associated with the return shipment. - - - - - - - - These values are used to control the availability of certain special services at the time when a customer uses the e-mail label link to create a return shipment. - - - - - - - - - - - - Identifies the allowed (merchant-authorized) special services which may be selected when the subsequent shipment is created. Only services represented in EMailLabelAllowedSpecialServiceType will be controlled by this list. - - - - - - - The instructions indicating how to print the return instructions( e.g. image type) Specifies characteristics of a shipping document to be produced. - - - - - - Specifies additional customer provided text to be inserted into the return document. - - - - - - - - - - - - - - - - - - - - - - The "PAYOR..." rates are expressed in the currency identified in the payor's rate table(s). The "RATED..." rates are expressed in the currency of the origin country. Former "...COUNTER..." values have become "...RETAIL..." values, except for PAYOR_COUNTER and RATED_COUNTER, which have been removed. - - - - - - - - - - - - - - - June 2011 ITG 121203 IR-RMA number has been removed from this structure and added as a new customer reference type. The structure remains because of the reason field below. - - - - - - - - Describes the rotation of an item from its default orientation. - - - - - - - - - - - - - - - - - - - These values control the optional features of service that may be combined in a commitment/rate comparision transaction. - - - - - - - - - - - - Supporting detail for applied options identified in a rate quote. - - - - - Identifies the type of Freight Guarantee applied, if FREIGHT_GUARANTEE is applied to the rate quote. - - - - - Identifies the smartPostHubId used during rate quote, if SMART_POST_HUB_ID is a variable option on the rate request. - - - - - Identifies the indicia used during rate quote, if SMART_POST_ALLOWED_INDICIA is a variable option on the rate request. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Specifies data structures that may be re-used multiple times with s single shipment. - - - - - Specifies the data that is common to dangerous goods packages in the shipment. This is populated when the shipment contains packages with identical dangerous goods commodities. - - - - - - - Shipment-level totals of dry ice data across all packages. - - - - - Total number of packages in the shipment that contain dry ice. - - - - - Total shipment dry ice weight for all packages. - - - - - - - Data for a single leg of a shipment's total/summary rates, as calculated per a specific rate type. - - - - - Human-readable text describing the shipment leg. - - - - - Origin for this leg. - - - - - Specifies the location id the origin of shipment leg. - - - - - Destination for this leg. - - - - - Specifies the location id the destination of shipment leg. - - - - - Type used for this specific set of rate data. - - - - - Indicates the rate scale used. - - - - - Indicates the rate zone used (based on origin and destination). - - - - - - Indicates which weight was used. - - - - - INTERNAL FEDEX USE ONLY. - - - - - Specifies the currency exchange performed on financial amounts for this rate. - - - - - Indicates which special rating cases applied to this shipment. - - - - - - Identifies the type of dim divisor that was applied. - - - - - - - Sum of dimensional weights for all packages. - - - - - - - - - This shipment's totalNetFreight + totalSurcharges (not including totalTaxes). - - - - - Total of the transportation-based taxes. - - - - - - - Total of all values under this shipment's dutiesAndTaxes; only provided if estimated duties and taxes were calculated for this shipment. - - - - - This shipment's totalNetCharge + totalDutiesAndTaxes; only provided if estimated duties and taxes were calculated for this shipment AND duties, taxes and transportation charges are all paid by the same sender's account. - - - - - Rate data specific to FedEx Freight and FedEx National Freight services. - - - - - All rate discounts that apply to this shipment. - - - - - All rebates that apply to this shipment. - - - - - All surcharges that apply to this shipment. - - - - - All transportation-based taxes applicable to this shipment. - - - - - All commodity-based duties and taxes applicable to this shipment. - - - - - The "order level" variable handling charges. - - - - - The total of all variable handling charges at both shipment (order) and package level. - - - - - - - These values identify which package-level data values will be provided at the shipment-level. - - - - - - - - - - Data for a shipment's total/summary rates, as calculated per a specific rate type. The "total..." fields may differ from the sum of corresponding package data for Multiweight or Express MPS. - - - - - Type used for this specific set of rate data. - - - - - Indicates the rate scale used. - - - - - Indicates the rate zone used (based on origin and destination). - - - - - - Indicates which weight was used. - - - - - INTERNAL FEDEX USE ONLY. - - - - - Specifies the currency exchange performed on financial amounts for this rate. - - - - - Indicates which special rating cases applied to this shipment. - - - - - - Identifies the type of dim divisor that was applied. - - - - - - - Sum of dimensional weights for all packages. - - - - - - - - - This shipment's totalNetFreight + totalSurcharges (not including totalTaxes). - - - - - Total of the transportation-based taxes. - - - - - - - Total of all values under this shipment's dutiesAndTaxes; only provided if estimated duties and taxes were calculated for this shipment. - - - - - This shipment's totalNetCharge + totalDutiesAndTaxes; only provided if estimated duties and taxes were calculated for this shipment AND duties, taxes and transportation charges are all paid by the same sender's account. - - - - - Identifies the Rate Details per each leg in a Freight Shipment - - - - - Rate data specific to FedEx Freight and FedEx National Freight services. - - - - - All rate discounts that apply to this shipment. - - - - - All rebates that apply to this shipment. - - - - - All surcharges that apply to this shipment. - - - - - All transportation-based taxes applicable to this shipment. - - - - - All commodity-based duties and taxes applicable to this shipment. - - - - - The "order level" variable handling charges. - - - - - The total of all variable handling charges at both shipment (order) and package level. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - These special services are available at the shipment level for some or all service types. If the shipper is requesting a special service which requires additional data (such as the COD amount), the shipment special service type must be present in the specialServiceTypes collection, and the supporting detail must be provided in the appropriate sub-object below. - - - - - The types of all special services requested for the enclosing shipment (or other shipment-level transaction). - - - - - - - - - - This field should be populated for pending shipments (e.g. e-mail label) It is required by a PENDING_SHIPMENT special service type. - - - - - - - - - - - Electronic Trade document references. - - - - - Specification for date or range of dates on which delivery is to be attempted. - - - - - - - - - Specifies the name or the key for the shipment variation. - - - - - The values that are valid for the specified shipment variation in the context of the current shipment. - - - - - - - Each occurrence of this class specifies a particular way in which a kind of shipping document is to be produced and provided. - - - - - Values in this field specify how to create and return the document. - - - - - Specifies how to organize all documents of this type. - - - - - Specifies how to e-mail document images. - - - - - Specifies how a queued document is to be printed. - - - - - - - Specifies how to return a shipping document to the caller. - - - - - - - - - - - - - - - Specifies how to e-mail shipping documents. - - - - - Provides the roles and email addresses for e-mail recipients. - - - - - Identifies the convention by which documents are to be grouped as e-mail attachments. - - - - - Specifies the language in which the email containing the document is requested to be composed. - - - - - - - - - - - - - Specifies an individual recipient of e-mailed shipping document(s). - - - - - Identifies the relationship of this recipient in the shipment. - - - - - Address to which the document is to be sent. - - - - - - - Specifies characteristics of a shipping document to be produced. - - - - - Specifies how to create, organize, and return the document. - - - - - Specifies how far down the page to move the beginning of the image; allows for printing on letterhead and other pre-printed stock. - - - - - - - For those shipping document types which have both a "form" and "instructions" component (e.g. NAFTA Certificate of Origin and General Agency Agreement), this field indicates whether to provide the instructions. - - - - - - Governs the language to be used for this individual document, independently from other content returned for the same shipment. - - - - - - - Specifies how to organize all shipping documents of the same type. - - - - - - - - - Specifies the image format used for a shipping document. - - - - - - - - - - - - Specifies printing options for a shipping document. - - - - - Provides environment-specific printer identification. - - - - - - - Contains all data required for additional (non-label) shipping documents to be produced in conjunction with a specific shipment. - - - - - Indicates the types of shipping documents requested by the shipper. - - - - - - - Specifies the production of each package-level custom document (the same specification is used for all packages). - - - - - Specifies the production of a shipment-level custom document. - - - - - - - - Specifies the production of the OP-900 document for hazardous materials packages. - - - - - Specifies the production of the 1421c document for dangerous goods shipment. - - - - - Specifies the production of the OP-900 document for hazardous materials. - - - - - Specifies the production of the return instructions document. - - - - - - - Specifies the type of paper (stock) on which a document will be printed. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - These values are mutually exclusive; at most one of them can be attached to a SmartPost shipment. - - - - - - - - - - - - - - - - - - - - - Data required for shipments handled under the SMART_POST and GROUND_SMART_POST service types. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Specifice the kind of tax or miscellaneous charge being reported on a Commercial Invoice. - - - - - - - - - - - - - - - - - Identifies the usage of Tax Identification Number in Shipment processing - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Free form text to be echoed back in the reply. Used to match requests and replies. - - - - - Governs data payload language/translations (contrasted with ClientDetail.localization, which governs Notification.localizedMessage language selection). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Specifies the application that is responsible for managing the document id. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Description of the uploaded document. - - - - - - - - - - - - - - - - - - - - - This definition of variable handling charge detail is intended for use in Jan 2011 corp load. - - - - - - Actual percentage (10 means 10%, which is a mutiplier of 0.1) - - - - - Select the value from a set of rate data to which the percentage is applied. - - - - - Select the type of rate from which the element is to be selected. - - - - - - - - - - - - - - - Three-dimensional volume/cubic measurement. - - - - - - - - - Units of three-dimensional volume/cubic measure. - - - - - - - - - The descriptive data for the heaviness of an object. - - - - - Identifies the unit of measure associated with a weight value. - - - - - Identifies the weight value of a package/shipment. - - - - - - - - - - - - - Used in authentication of the sender's identity. - - - - - This was renamed from cspCredential. - - - - - Credential used to authenticate a specific software application. This value is provided by FedEx after registration. - - - - - - - Two part authentication string used for the sender's identity - - - - - Identifying part of authentication credential. This value is provided by FedEx after registration - - - - - Secret part of authentication key. This value is provided by FedEx after registration. - - - - - - - Identifies the version/level of a service operation expected by a caller (in each request) and performed by the callee (in each reply). - - - - - Identifies a system or sub-system which performs an operation. - - - - - Identifies the service business level. - - - - - Identifies the service interface level. - - - - - Identifies the service code level. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/Connected Services/RateServiceWebReference/Reference.cs b/src/Connected Services/RateServiceWebReference/Reference.cs deleted file mode 100644 index 6d71113..0000000 --- a/src/Connected Services/RateServiceWebReference/Reference.cs +++ /dev/null @@ -1,20425 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace Dynamicweb.Ecommerce.ShippingProviders.FedEx.RateServiceWebReference -{ - - - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.ServiceModel.ServiceContractAttribute(Namespace="http://fedex.com/ws/rate/v18", ConfigurationName="RateServiceWebReference.RatePortType")] - internal interface RatePortType - { - - // CODEGEN: Generating message contract since the operation getRates is neither RPC nor document wrapped. - [System.ServiceModel.OperationContractAttribute(Action="http://fedex.com/ws/rate/v18/getRates", ReplyAction="*")] - [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)] - RateServiceWebReference.getRatesResponse getRates(RateServiceWebReference.getRatesRequest request); - - [System.ServiceModel.OperationContractAttribute(Action="http://fedex.com/ws/rate/v18/getRates", ReplyAction="*")] - System.Threading.Tasks.Task getRatesAsync(RateServiceWebReference.getRatesRequest request); - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - 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 ConsolidationKey consolidationKeyField; - - private RequestedShipment requestedShipmentField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public WebAuthenticationDetail WebAuthenticationDetail - { - get - { - return this.webAuthenticationDetailField; - } - set - { - this.webAuthenticationDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public ClientDetail ClientDetail - { - get - { - return this.clientDetailField; - } - set - { - this.clientDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public TransactionDetail TransactionDetail - { - get - { - return this.transactionDetailField; - } - set - { - this.transactionDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public VersionId Version - { - get - { - return this.versionField; - } - set - { - this.versionField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public bool ReturnTransitAndCommit - { - get - { - return this.returnTransitAndCommitField; - } - set - { - this.returnTransitAndCommitField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool ReturnTransitAndCommitSpecified - { - get - { - return this.returnTransitAndCommitFieldSpecified; - } - set - { - this.returnTransitAndCommitFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("CarrierCodes", Order=5)] - public CarrierCodeType[] CarrierCodes - { - get - { - return this.carrierCodesField; - } - set - { - this.carrierCodesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("VariableOptions", Order=6)] - public ServiceOptionType[] VariableOptions - { - get - { - return this.variableOptionsField; - } - set - { - this.variableOptionsField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=7)] - public ConsolidationKey ConsolidationKey - { - get - { - return this.consolidationKeyField; - } - set - { - this.consolidationKeyField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=8)] - public RequestedShipment RequestedShipment - { - get - { - return this.requestedShipmentField; - } - set - { - this.requestedShipmentField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class WebAuthenticationDetail - { - - private WebAuthenticationCredential parentCredentialField; - - private WebAuthenticationCredential userCredentialField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public WebAuthenticationCredential ParentCredential - { - get - { - return this.parentCredentialField; - } - set - { - this.parentCredentialField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public WebAuthenticationCredential UserCredential - { - get - { - return this.userCredentialField; - } - set - { - this.userCredentialField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class WebAuthenticationCredential - { - - private string keyField; - - private string passwordField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public string Key - { - get - { - return this.keyField; - } - set - { - this.keyField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string Password - { - get - { - return this.passwordField; - } - set - { - this.passwordField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - 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; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public ReturnedRateType RateType - { - get - { - return this.rateTypeField; - } - set - { - this.rateTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool RateTypeSpecified - { - get - { - return this.rateTypeFieldSpecified; - } - set - { - this.rateTypeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public RatedWeightMethod RatedWeightMethod - { - get - { - return this.ratedWeightMethodField; - } - set - { - this.ratedWeightMethodField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool RatedWeightMethodSpecified - { - get - { - return this.ratedWeightMethodFieldSpecified; - } - set - { - this.ratedWeightMethodFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public MinimumChargeType MinimumChargeType - { - get - { - return this.minimumChargeTypeField; - } - set - { - this.minimumChargeTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool MinimumChargeTypeSpecified - { - get - { - return this.minimumChargeTypeFieldSpecified; - } - set - { - this.minimumChargeTypeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public Weight BillingWeight - { - get - { - return this.billingWeightField; - } - set - { - this.billingWeightField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public Weight DimWeight - { - get - { - return this.dimWeightField; - } - set - { - this.dimWeightField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=5)] - public Weight OversizeWeight - { - get - { - return this.oversizeWeightField; - } - set - { - this.oversizeWeightField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=6)] - public Money BaseCharge - { - get - { - return this.baseChargeField; - } - set - { - this.baseChargeField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=7)] - public Money TotalFreightDiscounts - { - get - { - return this.totalFreightDiscountsField; - } - set - { - this.totalFreightDiscountsField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=8)] - public Money NetFreight - { - get - { - return this.netFreightField; - } - set - { - this.netFreightField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=9)] - public Money TotalSurcharges - { - get - { - return this.totalSurchargesField; - } - set - { - this.totalSurchargesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=10)] - public Money NetFedExCharge - { - get - { - return this.netFedExChargeField; - } - set - { - this.netFedExChargeField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=11)] - public Money TotalTaxes - { - get - { - return this.totalTaxesField; - } - set - { - this.totalTaxesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=12)] - public Money NetCharge - { - get - { - return this.netChargeField; - } - set - { - this.netChargeField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=13)] - public Money TotalRebates - { - get - { - return this.totalRebatesField; - } - set - { - this.totalRebatesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("FreightDiscounts", Order=14)] - public RateDiscount[] FreightDiscounts - { - get - { - return this.freightDiscountsField; - } - set - { - this.freightDiscountsField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("Rebates", Order=15)] - public Rebate[] Rebates - { - get - { - return this.rebatesField; - } - set - { - this.rebatesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("Surcharges", Order=16)] - public Surcharge[] Surcharges - { - get - { - return this.surchargesField; - } - set - { - this.surchargesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("Taxes", Order=17)] - public Tax[] Taxes - { - get - { - return this.taxesField; - } - set - { - this.taxesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=18)] - public VariableHandlingCharges VariableHandlingCharges - { - get - { - return this.variableHandlingChargesField; - } - set - { - this.variableHandlingChargesField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum ReturnedRateType - { - - /// - PAYOR_ACCOUNT_PACKAGE, - - /// - PAYOR_ACCOUNT_SHIPMENT, - - /// - PAYOR_LIST_PACKAGE, - - /// - PAYOR_LIST_SHIPMENT, - - /// - PREFERRED_ACCOUNT_PACKAGE, - - /// - PREFERRED_ACCOUNT_SHIPMENT, - - /// - PREFERRED_LIST_PACKAGE, - - /// - PREFERRED_LIST_SHIPMENT, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum RatedWeightMethod - { - - /// - ACTUAL, - - /// - AVERAGE_PACKAGE_WEIGHT_MINIMUM, - - /// - BALLOON, - - /// - DEFAULT_WEIGHT_APPLIED, - - /// - DIM, - - /// - FREIGHT_MINIMUM, - - /// - MIXED, - - /// - OVERSIZE, - - /// - OVERSIZE_1, - - /// - OVERSIZE_2, - - /// - OVERSIZE_3, - - /// - PACKAGING_MINIMUM, - - /// - WEIGHT_BREAK, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum MinimumChargeType - { - - /// - CUSTOMER, - - /// - CUSTOMER_FREIGHT_WEIGHT, - - /// - EARNED_DISCOUNT, - - /// - MIXED, - - /// - RATE_SCALE, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class Weight - { - - private WeightUnits unitsField; - - private bool unitsFieldSpecified; - - private decimal valueField; - - private bool valueFieldSpecified; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public WeightUnits Units - { - get - { - return this.unitsField; - } - set - { - this.unitsField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool UnitsSpecified - { - get - { - return this.unitsFieldSpecified; - } - set - { - this.unitsFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public decimal Value - { - get - { - return this.valueField; - } - set - { - this.valueField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool ValueSpecified - { - get - { - return this.valueFieldSpecified; - } - set - { - this.valueFieldSpecified = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum WeightUnits - { - - /// - KG, - - /// - LB, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class Money - { - - private string currencyField; - - private decimal amountField; - - private bool amountFieldSpecified; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public string Currency - { - get - { - return this.currencyField; - } - set - { - this.currencyField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public decimal Amount - { - get - { - return this.amountField; - } - set - { - this.amountField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool AmountSpecified - { - get - { - return this.amountFieldSpecified; - } - set - { - this.amountFieldSpecified = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class RateDiscount - { - - private RateDiscountType rateDiscountTypeField; - - private bool rateDiscountTypeFieldSpecified; - - private string descriptionField; - - private Money amountField; - - private decimal percentField; - - private bool percentFieldSpecified; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public RateDiscountType RateDiscountType - { - get - { - return this.rateDiscountTypeField; - } - set - { - this.rateDiscountTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool RateDiscountTypeSpecified - { - get - { - return this.rateDiscountTypeFieldSpecified; - } - set - { - this.rateDiscountTypeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string Description - { - get - { - return this.descriptionField; - } - set - { - this.descriptionField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public Money Amount - { - get - { - return this.amountField; - } - set - { - this.amountField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public decimal Percent - { - get - { - return this.percentField; - } - set - { - this.percentField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool PercentSpecified - { - get - { - return this.percentFieldSpecified; - } - set - { - this.percentFieldSpecified = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum RateDiscountType - { - - /// - BONUS, - - /// - COUPON, - - /// - EARNED, - - /// - OTHER, - - /// - VOLUME, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class Rebate - { - - private RebateType rebateTypeField; - - private bool rebateTypeFieldSpecified; - - private string descriptionField; - - private Money amountField; - - private decimal percentField; - - private bool percentFieldSpecified; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public RebateType RebateType - { - get - { - return this.rebateTypeField; - } - set - { - this.rebateTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool RebateTypeSpecified - { - get - { - return this.rebateTypeFieldSpecified; - } - set - { - this.rebateTypeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string Description - { - get - { - return this.descriptionField; - } - set - { - this.descriptionField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public Money Amount - { - get - { - return this.amountField; - } - set - { - this.amountField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public decimal Percent - { - get - { - return this.percentField; - } - set - { - this.percentField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool PercentSpecified - { - get - { - return this.percentFieldSpecified; - } - set - { - this.percentFieldSpecified = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum RebateType - { - - /// - BONUS, - - /// - EARNED, - - /// - OTHER, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class Surcharge - { - - private SurchargeType surchargeTypeField; - - private bool surchargeTypeFieldSpecified; - - private SurchargeLevelType levelField; - - private bool levelFieldSpecified; - - private string descriptionField; - - private Money amountField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public SurchargeType SurchargeType - { - get - { - return this.surchargeTypeField; - } - set - { - this.surchargeTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool SurchargeTypeSpecified - { - get - { - return this.surchargeTypeFieldSpecified; - } - set - { - this.surchargeTypeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public SurchargeLevelType Level - { - get - { - return this.levelField; - } - set - { - this.levelField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool LevelSpecified - { - get - { - return this.levelFieldSpecified; - } - set - { - this.levelFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public string Description - { - get - { - return this.descriptionField; - } - set - { - this.descriptionField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public Money Amount - { - get - { - return this.amountField; - } - set - { - this.amountField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum SurchargeType - { - - /// - ADDITIONAL_HANDLING, - - /// - ANCILLARY_FEE, - - /// - APPOINTMENT_DELIVERY, - - /// - BROKER_SELECT_OPTION, - - /// - CANADIAN_DESTINATION, - - /// - CLEARANCE_ENTRY_FEE, - - /// - COD, - - /// - CUT_FLOWERS, - - /// - DANGEROUS_GOODS, - - /// - DELIVERY_AREA, - - /// - DELIVERY_CONFIRMATION, - - /// - DOCUMENTATION_FEE, - - /// - DRY_ICE, - - /// - EMAIL_LABEL, - - /// - EUROPE_FIRST, - - /// - EXCESS_VALUE, - - /// - EXHIBITION, - - /// - EXPORT, - - /// - EXTRA_SURFACE_HANDLING_CHARGE, - - /// - EXTREME_LENGTH, - - /// - FEDEX_INTRACOUNTRY_FEES, - - /// - FEDEX_TAG, - - /// - FICE, - - /// - FLATBED, - - /// - FREIGHT_GUARANTEE, - - /// - FREIGHT_ON_VALUE, - - /// - FREIGHT_TO_COLLECT, - - /// - FUEL, - - /// - HOLD_AT_LOCATION, - - /// - HOME_DELIVERY_APPOINTMENT, - - /// - HOME_DELIVERY_DATE_CERTAIN, - - /// - HOME_DELIVERY_EVENING, - - /// - INSIDE_DELIVERY, - - /// - INSIDE_PICKUP, - - /// - INSURED_VALUE, - - /// - INTERHAWAII, - - /// - LIFTGATE_DELIVERY, - - /// - LIFTGATE_PICKUP, - - /// - LIMITED_ACCESS_DELIVERY, - - /// - LIMITED_ACCESS_PICKUP, - - /// - METRO_DELIVERY, - - /// - METRO_PICKUP, - - /// - NON_MACHINABLE, - - /// - OFFSHORE, - - /// - ON_CALL_PICKUP, - - /// - OTHER, - - /// - OUT_OF_DELIVERY_AREA, - - /// - OUT_OF_PICKUP_AREA, - - /// - OVERSIZE, - - /// - OVER_DIMENSION, - - /// - PIECE_COUNT_VERIFICATION, - - /// - PRE_DELIVERY_NOTIFICATION, - - /// - PRIORITY_ALERT, - - /// - PROTECTION_FROM_FREEZING, - - /// - REGIONAL_MALL_DELIVERY, - - /// - REGIONAL_MALL_PICKUP, - - /// - REROUTE, - - /// - RESCHEDULE, - - /// - RESIDENTIAL_DELIVERY, - - /// - RESIDENTIAL_PICKUP, - - /// - RETURN_LABEL, - - /// - SATURDAY_DELIVERY, - - /// - SATURDAY_PICKUP, - - /// - SIGNATURE_OPTION, - - /// - TARP, - - /// - THIRD_PARTY_CONSIGNEE, - - /// - TRANSMART_SERVICE_FEE, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum SurchargeLevelType - { - - /// - PACKAGE, - - /// - SHIPMENT, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class Tax - { - - private TaxType taxTypeField; - - private bool taxTypeFieldSpecified; - - private string descriptionField; - - private Money amountField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public TaxType TaxType - { - get - { - return this.taxTypeField; - } - set - { - this.taxTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool TaxTypeSpecified - { - get - { - return this.taxTypeFieldSpecified; - } - set - { - this.taxTypeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string Description - { - get - { - return this.descriptionField; - } - set - { - this.descriptionField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public Money Amount - { - get - { - return this.amountField; - } - set - { - this.amountField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum TaxType - { - - /// - EXPORT, - - /// - GST, - - /// - HST, - - /// - INTRACOUNTRY, - - /// - OTHER, - - /// - PST, - - /// - VAT, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class VariableHandlingCharges - { - - private Money variableHandlingChargeField; - - private Money fixedVariableHandlingChargeField; - - private Money percentVariableHandlingChargeField; - - private Money totalCustomerChargeField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public Money VariableHandlingCharge - { - get - { - return this.variableHandlingChargeField; - } - set - { - this.variableHandlingChargeField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public Money FixedVariableHandlingCharge - { - get - { - return this.fixedVariableHandlingChargeField; - } - set - { - this.fixedVariableHandlingChargeField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public Money PercentVariableHandlingCharge - { - get - { - return this.percentVariableHandlingChargeField; - } - set - { - this.percentVariableHandlingChargeField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public Money TotalCustomerCharge - { - get - { - return this.totalCustomerChargeField; - } - set - { - this.totalCustomerChargeField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - 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; - - /// - [System.Xml.Serialization.XmlElementAttribute("TrackingIds", Order=0)] - public TrackingId[] TrackingIds - { - get - { - return this.trackingIdsField; - } - set - { - this.trackingIdsField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(DataType="nonNegativeInteger", Order=1)] - public string GroupNumber - { - get - { - return this.groupNumberField; - } - set - { - this.groupNumberField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public Money EffectiveNetDiscount - { - get - { - return this.effectiveNetDiscountField; - } - set - { - this.effectiveNetDiscountField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public Money AdjustedCodCollectionAmount - { - get - { - return this.adjustedCodCollectionAmountField; - } - set - { - this.adjustedCodCollectionAmountField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public OversizeClassType OversizeClass - { - get - { - return this.oversizeClassField; - } - set - { - this.oversizeClassField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool OversizeClassSpecified - { - get - { - return this.oversizeClassFieldSpecified; - } - set - { - this.oversizeClassFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=5)] - public PackageRateDetail PackageRateDetail - { - get - { - return this.packageRateDetailField; - } - set - { - this.packageRateDetailField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class TrackingId - { - - private TrackingIdType trackingIdTypeField; - - private bool trackingIdTypeFieldSpecified; - - private string formIdField; - - private string trackingNumberField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public TrackingIdType TrackingIdType - { - get - { - return this.trackingIdTypeField; - } - set - { - this.trackingIdTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool TrackingIdTypeSpecified - { - get - { - return this.trackingIdTypeFieldSpecified; - } - set - { - this.trackingIdTypeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string FormId - { - get - { - return this.formIdField; - } - set - { - this.formIdField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public string TrackingNumber - { - get - { - return this.trackingNumberField; - } - set - { - this.trackingNumberField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum TrackingIdType - { - - /// - EXPRESS, - - /// - FEDEX, - - /// - GROUND, - - /// - USPS, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum OversizeClassType - { - - /// - OVERSIZE_1, - - /// - OVERSIZE_2, - - /// - OVERSIZE_3, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - 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; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public EdtTaxType TaxType - { - get - { - return this.taxTypeField; - } - set - { - this.taxTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool TaxTypeSpecified - { - get - { - return this.taxTypeFieldSpecified; - } - set - { - this.taxTypeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(DataType="date", Order=1)] - public System.DateTime EffectiveDate - { - get - { - return this.effectiveDateField; - } - set - { - this.effectiveDateField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool EffectiveDateSpecified - { - get - { - return this.effectiveDateFieldSpecified; - } - set - { - this.effectiveDateFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public string Name - { - get - { - return this.nameField; - } - set - { - this.nameField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public Money TaxableValue - { - get - { - return this.taxableValueField; - } - set - { - this.taxableValueField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public string Description - { - get - { - return this.descriptionField; - } - set - { - this.descriptionField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=5)] - public string Formula - { - get - { - return this.formulaField; - } - set - { - this.formulaField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=6)] - public Money Amount - { - get - { - return this.amountField; - } - set - { - this.amountField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum EdtTaxType - { - - /// - ADDITIONAL_TAXES, - - /// - CONSULAR_INVOICE_FEE, - - /// - CUSTOMS_SURCHARGES, - - /// - DUTY, - - /// - EXCISE_TAX, - - /// - FOREIGN_EXCHANGE_TAX, - - /// - GENERAL_SALES_TAX, - - /// - IMPORT_LICENSE_FEE, - - /// - INTERNAL_ADDITIONAL_TAXES, - - /// - INTERNAL_SENSITIVE_PRODUCTS_TAX, - - /// - OTHER, - - /// - SENSITIVE_PRODUCTS_TAX, - - /// - STAMP_TAX, - - /// - STATISTICAL_TAX, - - /// - TRANSPORT_FACILITIES_TAX, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class EdtCommodityTax - { - - private string harmonizedCodeField; - - private EdtTaxDetail[] taxesField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public string HarmonizedCode - { - get - { - return this.harmonizedCodeField; - } - set - { - this.harmonizedCodeField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("Taxes", Order=1)] - public EdtTaxDetail[] Taxes - { - get - { - return this.taxesField; - } - set - { - this.taxesField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class FreightRateNotation - { - - private string codeField; - - private string descriptionField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public string Code - { - get - { - return this.codeField; - } - set - { - this.codeField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string Description - { - get - { - return this.descriptionField; - } - set - { - this.descriptionField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - 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; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public FreightClassType FreightClass - { - get - { - return this.freightClassField; - } - set - { - this.freightClassField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool FreightClassSpecified - { - get - { - return this.freightClassFieldSpecified; - } - set - { - this.freightClassFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public FreightClassType RatedAsClass - { - get - { - return this.ratedAsClassField; - } - set - { - this.ratedAsClassField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool RatedAsClassSpecified - { - get - { - return this.ratedAsClassFieldSpecified; - } - set - { - this.ratedAsClassFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public string NmfcCode - { - get - { - return this.nmfcCodeField; - } - set - { - this.nmfcCodeField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public string Description - { - get - { - return this.descriptionField; - } - set - { - this.descriptionField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public Weight Weight - { - get - { - return this.weightField; - } - set - { - this.weightField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=5)] - public Money ChargeRate - { - get - { - return this.chargeRateField; - } - set - { - this.chargeRateField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=6)] - public FreightChargeBasisType ChargeBasis - { - get - { - return this.chargeBasisField; - } - set - { - this.chargeBasisField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool ChargeBasisSpecified - { - get - { - return this.chargeBasisFieldSpecified; - } - set - { - this.chargeBasisFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=7)] - public Money ExtendedAmount - { - get - { - return this.extendedAmountField; - } - set - { - this.extendedAmountField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum FreightClassType - { - - /// - CLASS_050, - - /// - CLASS_055, - - /// - CLASS_060, - - /// - CLASS_065, - - /// - CLASS_070, - - /// - CLASS_077_5, - - /// - CLASS_085, - - /// - CLASS_092_5, - - /// - CLASS_100, - - /// - CLASS_110, - - /// - CLASS_125, - - /// - CLASS_150, - - /// - CLASS_175, - - /// - CLASS_200, - - /// - CLASS_250, - - /// - CLASS_300, - - /// - CLASS_400, - - /// - CLASS_500, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum FreightChargeBasisType - { - - /// - CWT, - - /// - FLAT, - - /// - MINIMUM, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class FreightRateDetail - { - - private string quoteNumberField; - - private FreightRateQuoteType quoteTypeField; - - private bool quoteTypeFieldSpecified; - - private FreightBaseChargeCalculationType baseChargeCalculationField; - - private bool baseChargeCalculationFieldSpecified; - - private FreightBaseCharge[] baseChargesField; - - private FreightRateNotation[] notationsField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public string QuoteNumber - { - get - { - return this.quoteNumberField; - } - set - { - this.quoteNumberField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public FreightRateQuoteType QuoteType - { - get - { - return this.quoteTypeField; - } - set - { - this.quoteTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool QuoteTypeSpecified - { - get - { - return this.quoteTypeFieldSpecified; - } - set - { - this.quoteTypeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public FreightBaseChargeCalculationType BaseChargeCalculation - { - get - { - return this.baseChargeCalculationField; - } - set - { - this.baseChargeCalculationField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool BaseChargeCalculationSpecified - { - get - { - return this.baseChargeCalculationFieldSpecified; - } - set - { - this.baseChargeCalculationFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("BaseCharges", Order=3)] - public FreightBaseCharge[] BaseCharges - { - get - { - return this.baseChargesField; - } - set - { - this.baseChargesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("Notations", Order=4)] - public FreightRateNotation[] Notations - { - get - { - return this.notationsField; - } - set - { - this.notationsField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum FreightRateQuoteType - { - - /// - AUTOMATED, - - /// - MANUAL, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum FreightBaseChargeCalculationType - { - - /// - LINE_ITEMS, - - /// - UNIT_PRICING, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class ShipmentLegRateDetail - { - - private string legDescriptionField; - - private Address legOriginField; - - private string legOriginLocationIdField; - - private Address legDestinationField; - - private string legDestinationLocationIdField; - - 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 RateDimensionalDivisorType dimDivisorTypeField; - - private bool dimDivisorTypeFieldSpecified; - - 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; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public string LegDescription - { - get - { - return this.legDescriptionField; - } - set - { - this.legDescriptionField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public Address LegOrigin - { - get - { - return this.legOriginField; - } - set - { - this.legOriginField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public string LegOriginLocationId - { - get - { - return this.legOriginLocationIdField; - } - set - { - this.legOriginLocationIdField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public Address LegDestination - { - get - { - return this.legDestinationField; - } - set - { - this.legDestinationField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public string LegDestinationLocationId - { - get - { - return this.legDestinationLocationIdField; - } - set - { - this.legDestinationLocationIdField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=5)] - public ReturnedRateType RateType - { - get - { - return this.rateTypeField; - } - set - { - this.rateTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool RateTypeSpecified - { - get - { - return this.rateTypeFieldSpecified; - } - set - { - this.rateTypeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=6)] - public string RateScale - { - get - { - return this.rateScaleField; - } - set - { - this.rateScaleField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=7)] - public string RateZone - { - get - { - return this.rateZoneField; - } - set - { - this.rateZoneField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=8)] - public PricingCodeType PricingCode - { - get - { - return this.pricingCodeField; - } - set - { - this.pricingCodeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool PricingCodeSpecified - { - get - { - return this.pricingCodeFieldSpecified; - } - set - { - this.pricingCodeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=9)] - public RatedWeightMethod RatedWeightMethod - { - get - { - return this.ratedWeightMethodField; - } - set - { - this.ratedWeightMethodField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool RatedWeightMethodSpecified - { - get - { - return this.ratedWeightMethodFieldSpecified; - } - set - { - this.ratedWeightMethodFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=10)] - public MinimumChargeType MinimumChargeType - { - get - { - return this.minimumChargeTypeField; - } - set - { - this.minimumChargeTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool MinimumChargeTypeSpecified - { - get - { - return this.minimumChargeTypeFieldSpecified; - } - set - { - this.minimumChargeTypeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=11)] - public CurrencyExchangeRate CurrencyExchangeRate - { - get - { - return this.currencyExchangeRateField; - } - set - { - this.currencyExchangeRateField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("SpecialRatingApplied", Order=12)] - public SpecialRatingAppliedType[] SpecialRatingApplied - { - get - { - return this.specialRatingAppliedField; - } - set - { - this.specialRatingAppliedField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(DataType="nonNegativeInteger", Order=13)] - public string DimDivisor - { - get - { - return this.dimDivisorField; - } - set - { - this.dimDivisorField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=14)] - public RateDimensionalDivisorType DimDivisorType - { - get - { - return this.dimDivisorTypeField; - } - set - { - this.dimDivisorTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool DimDivisorTypeSpecified - { - get - { - return this.dimDivisorTypeFieldSpecified; - } - set - { - this.dimDivisorTypeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=15)] - public decimal FuelSurchargePercent - { - get - { - return this.fuelSurchargePercentField; - } - set - { - this.fuelSurchargePercentField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool FuelSurchargePercentSpecified - { - get - { - return this.fuelSurchargePercentFieldSpecified; - } - set - { - this.fuelSurchargePercentFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=16)] - public Weight TotalBillingWeight - { - get - { - return this.totalBillingWeightField; - } - set - { - this.totalBillingWeightField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=17)] - public Weight TotalDimWeight - { - get - { - return this.totalDimWeightField; - } - set - { - this.totalDimWeightField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=18)] - public Money TotalBaseCharge - { - get - { - return this.totalBaseChargeField; - } - set - { - this.totalBaseChargeField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=19)] - public Money TotalFreightDiscounts - { - get - { - return this.totalFreightDiscountsField; - } - set - { - this.totalFreightDiscountsField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=20)] - public Money TotalNetFreight - { - get - { - return this.totalNetFreightField; - } - set - { - this.totalNetFreightField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=21)] - public Money TotalSurcharges - { - get - { - return this.totalSurchargesField; - } - set - { - this.totalSurchargesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=22)] - public Money TotalNetFedExCharge - { - get - { - return this.totalNetFedExChargeField; - } - set - { - this.totalNetFedExChargeField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=23)] - public Money TotalTaxes - { - get - { - return this.totalTaxesField; - } - set - { - this.totalTaxesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=24)] - public Money TotalNetCharge - { - get - { - return this.totalNetChargeField; - } - set - { - this.totalNetChargeField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=25)] - public Money TotalRebates - { - get - { - return this.totalRebatesField; - } - set - { - this.totalRebatesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=26)] - public Money TotalDutiesAndTaxes - { - get - { - return this.totalDutiesAndTaxesField; - } - set - { - this.totalDutiesAndTaxesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=27)] - public Money TotalNetChargeWithDutiesAndTaxes - { - get - { - return this.totalNetChargeWithDutiesAndTaxesField; - } - set - { - this.totalNetChargeWithDutiesAndTaxesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=28)] - public FreightRateDetail FreightRateDetail - { - get - { - return this.freightRateDetailField; - } - set - { - this.freightRateDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("FreightDiscounts", Order=29)] - public RateDiscount[] FreightDiscounts - { - get - { - return this.freightDiscountsField; - } - set - { - this.freightDiscountsField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("Rebates", Order=30)] - public Rebate[] Rebates - { - get - { - return this.rebatesField; - } - set - { - this.rebatesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("Surcharges", Order=31)] - public Surcharge[] Surcharges - { - get - { - return this.surchargesField; - } - set - { - this.surchargesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("Taxes", Order=32)] - public Tax[] Taxes - { - get - { - return this.taxesField; - } - set - { - this.taxesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("DutiesAndTaxes", Order=33)] - public EdtCommodityTax[] DutiesAndTaxes - { - get - { - return this.dutiesAndTaxesField; - } - set - { - this.dutiesAndTaxesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=34)] - public VariableHandlingCharges VariableHandlingCharges - { - get - { - return this.variableHandlingChargesField; - } - set - { - this.variableHandlingChargesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=35)] - public VariableHandlingCharges TotalVariableHandlingCharges - { - get - { - return this.totalVariableHandlingChargesField; - } - set - { - this.totalVariableHandlingChargesField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class Address - { - - private string[] streetLinesField; - - private string cityField; - - private string stateOrProvinceCodeField; - - private string postalCodeField; - - private string urbanizationCodeField; - - private string countryCodeField; - - private string countryNameField; - - private bool residentialField; - - private bool residentialFieldSpecified; - - /// - [System.Xml.Serialization.XmlElementAttribute("StreetLines", Order=0)] - public string[] StreetLines - { - get - { - return this.streetLinesField; - } - set - { - this.streetLinesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string City - { - get - { - return this.cityField; - } - set - { - this.cityField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public string StateOrProvinceCode - { - get - { - return this.stateOrProvinceCodeField; - } - set - { - this.stateOrProvinceCodeField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public string PostalCode - { - get - { - return this.postalCodeField; - } - set - { - this.postalCodeField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public string UrbanizationCode - { - get - { - return this.urbanizationCodeField; - } - set - { - this.urbanizationCodeField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=5)] - public string CountryCode - { - get - { - return this.countryCodeField; - } - set - { - this.countryCodeField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=6)] - public string CountryName - { - get - { - return this.countryNameField; - } - set - { - this.countryNameField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=7)] - public bool Residential - { - get - { - return this.residentialField; - } - set - { - this.residentialField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool ResidentialSpecified - { - get - { - return this.residentialFieldSpecified; - } - set - { - this.residentialFieldSpecified = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum PricingCodeType - { - - /// - ACTUAL, - - /// - ALTERNATE, - - /// - BASE, - - /// - HUNDREDWEIGHT, - - /// - HUNDREDWEIGHT_ALTERNATE, - - /// - INTERNATIONAL_DISTRIBUTION, - - /// - INTERNATIONAL_ECONOMY_SERVICE, - - /// - LTL_FREIGHT, - - /// - PACKAGE, - - /// - SHIPMENT, - - /// - SHIPMENT_FIVE_POUND_OPTIONAL, - - /// - SHIPMENT_OPTIONAL, - - /// - SPECIAL, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class CurrencyExchangeRate - { - - private string fromCurrencyField; - - private string intoCurrencyField; - - private decimal rateField; - - private bool rateFieldSpecified; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public string FromCurrency - { - get - { - return this.fromCurrencyField; - } - set - { - this.fromCurrencyField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string IntoCurrency - { - get - { - return this.intoCurrencyField; - } - set - { - this.intoCurrencyField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public decimal Rate - { - get - { - return this.rateField; - } - set - { - this.rateField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool RateSpecified - { - get - { - return this.rateFieldSpecified; - } - set - { - this.rateFieldSpecified = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum SpecialRatingAppliedType - { - - /// - FEDEX_ONE_RATE, - - /// - FIXED_FUEL_SURCHARGE, - - /// - IMPORT_PRICING, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum RateDimensionalDivisorType - { - - /// - COUNTRY, - - /// - CUSTOMER, - - /// - OTHER, - - /// - PRODUCT, - - /// - WAIVED, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - 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 RateDimensionalDivisorType dimDivisorTypeField; - - private bool dimDivisorTypeFieldSpecified; - - 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 ShipmentLegRateDetail[] shipmentLegRateDetailsField; - - private FreightRateDetail freightRateDetailField; - - private RateDiscount[] freightDiscountsField; - - private Rebate[] rebatesField; - - private Surcharge[] surchargesField; - - private Tax[] taxesField; - - private EdtCommodityTax[] dutiesAndTaxesField; - - private VariableHandlingCharges variableHandlingChargesField; - - private VariableHandlingCharges totalVariableHandlingChargesField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public ReturnedRateType RateType - { - get - { - return this.rateTypeField; - } - set - { - this.rateTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool RateTypeSpecified - { - get - { - return this.rateTypeFieldSpecified; - } - set - { - this.rateTypeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string RateScale - { - get - { - return this.rateScaleField; - } - set - { - this.rateScaleField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public string RateZone - { - get - { - return this.rateZoneField; - } - set - { - this.rateZoneField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public PricingCodeType PricingCode - { - get - { - return this.pricingCodeField; - } - set - { - this.pricingCodeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool PricingCodeSpecified - { - get - { - return this.pricingCodeFieldSpecified; - } - set - { - this.pricingCodeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public RatedWeightMethod RatedWeightMethod - { - get - { - return this.ratedWeightMethodField; - } - set - { - this.ratedWeightMethodField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool RatedWeightMethodSpecified - { - get - { - return this.ratedWeightMethodFieldSpecified; - } - set - { - this.ratedWeightMethodFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=5)] - public MinimumChargeType MinimumChargeType - { - get - { - return this.minimumChargeTypeField; - } - set - { - this.minimumChargeTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool MinimumChargeTypeSpecified - { - get - { - return this.minimumChargeTypeFieldSpecified; - } - set - { - this.minimumChargeTypeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=6)] - public CurrencyExchangeRate CurrencyExchangeRate - { - get - { - return this.currencyExchangeRateField; - } - set - { - this.currencyExchangeRateField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("SpecialRatingApplied", Order=7)] - public SpecialRatingAppliedType[] SpecialRatingApplied - { - get - { - return this.specialRatingAppliedField; - } - set - { - this.specialRatingAppliedField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(DataType="nonNegativeInteger", Order=8)] - public string DimDivisor - { - get - { - return this.dimDivisorField; - } - set - { - this.dimDivisorField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=9)] - public RateDimensionalDivisorType DimDivisorType - { - get - { - return this.dimDivisorTypeField; - } - set - { - this.dimDivisorTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool DimDivisorTypeSpecified - { - get - { - return this.dimDivisorTypeFieldSpecified; - } - set - { - this.dimDivisorTypeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=10)] - public decimal FuelSurchargePercent - { - get - { - return this.fuelSurchargePercentField; - } - set - { - this.fuelSurchargePercentField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool FuelSurchargePercentSpecified - { - get - { - return this.fuelSurchargePercentFieldSpecified; - } - set - { - this.fuelSurchargePercentFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=11)] - public Weight TotalBillingWeight - { - get - { - return this.totalBillingWeightField; - } - set - { - this.totalBillingWeightField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=12)] - public Weight TotalDimWeight - { - get - { - return this.totalDimWeightField; - } - set - { - this.totalDimWeightField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=13)] - public Money TotalBaseCharge - { - get - { - return this.totalBaseChargeField; - } - set - { - this.totalBaseChargeField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=14)] - public Money TotalFreightDiscounts - { - get - { - return this.totalFreightDiscountsField; - } - set - { - this.totalFreightDiscountsField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=15)] - public Money TotalNetFreight - { - get - { - return this.totalNetFreightField; - } - set - { - this.totalNetFreightField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=16)] - public Money TotalSurcharges - { - get - { - return this.totalSurchargesField; - } - set - { - this.totalSurchargesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=17)] - public Money TotalNetFedExCharge - { - get - { - return this.totalNetFedExChargeField; - } - set - { - this.totalNetFedExChargeField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=18)] - public Money TotalTaxes - { - get - { - return this.totalTaxesField; - } - set - { - this.totalTaxesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=19)] - public Money TotalNetCharge - { - get - { - return this.totalNetChargeField; - } - set - { - this.totalNetChargeField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=20)] - public Money TotalRebates - { - get - { - return this.totalRebatesField; - } - set - { - this.totalRebatesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=21)] - public Money TotalDutiesAndTaxes - { - get - { - return this.totalDutiesAndTaxesField; - } - set - { - this.totalDutiesAndTaxesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=22)] - public Money TotalNetChargeWithDutiesAndTaxes - { - get - { - return this.totalNetChargeWithDutiesAndTaxesField; - } - set - { - this.totalNetChargeWithDutiesAndTaxesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("ShipmentLegRateDetails", Order=23)] - public ShipmentLegRateDetail[] ShipmentLegRateDetails - { - get - { - return this.shipmentLegRateDetailsField; - } - set - { - this.shipmentLegRateDetailsField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=24)] - public FreightRateDetail FreightRateDetail - { - get - { - return this.freightRateDetailField; - } - set - { - this.freightRateDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("FreightDiscounts", Order=25)] - public RateDiscount[] FreightDiscounts - { - get - { - return this.freightDiscountsField; - } - set - { - this.freightDiscountsField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("Rebates", Order=26)] - public Rebate[] Rebates - { - get - { - return this.rebatesField; - } - set - { - this.rebatesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("Surcharges", Order=27)] - public Surcharge[] Surcharges - { - get - { - return this.surchargesField; - } - set - { - this.surchargesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("Taxes", Order=28)] - public Tax[] Taxes - { - get - { - return this.taxesField; - } - set - { - this.taxesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("DutiesAndTaxes", Order=29)] - public EdtCommodityTax[] DutiesAndTaxes - { - get - { - return this.dutiesAndTaxesField; - } - set - { - this.dutiesAndTaxesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=30)] - public VariableHandlingCharges VariableHandlingCharges - { - get - { - return this.variableHandlingChargesField; - } - set - { - this.variableHandlingChargesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=31)] - public VariableHandlingCharges TotalVariableHandlingCharges - { - get - { - return this.totalVariableHandlingChargesField; - } - set - { - this.totalVariableHandlingChargesField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class RatedShipmentDetail - { - - private Money effectiveNetDiscountField; - - private Money adjustedCodCollectionAmountField; - - private ShipmentRateDetail shipmentRateDetailField; - - private RatedPackageDetail[] ratedPackagesField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public Money EffectiveNetDiscount - { - get - { - return this.effectiveNetDiscountField; - } - set - { - this.effectiveNetDiscountField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public Money AdjustedCodCollectionAmount - { - get - { - return this.adjustedCodCollectionAmountField; - } - set - { - this.adjustedCodCollectionAmountField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public ShipmentRateDetail ShipmentRateDetail - { - get - { - return this.shipmentRateDetailField; - } - set - { - this.shipmentRateDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("RatedPackages", Order=3)] - public RatedPackageDetail[] RatedPackages - { - get - { - return this.ratedPackagesField; - } - set - { - this.ratedPackagesField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class Distance - { - - private decimal valueField; - - private bool valueFieldSpecified; - - private DistanceUnits unitsField; - - private bool unitsFieldSpecified; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public decimal Value - { - get - { - return this.valueField; - } - set - { - this.valueField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool ValueSpecified - { - get - { - return this.valueFieldSpecified; - } - set - { - this.valueFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public DistanceUnits Units - { - get - { - return this.unitsField; - } - set - { - this.unitsField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool UnitsSpecified - { - get - { - return this.unitsFieldSpecified; - } - set - { - this.unitsFieldSpecified = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum DistanceUnits - { - - /// - KM, - - /// - MI, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - 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; - - private string locationField; - - private ContactAndAddress contactAndAddressField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public string InterlineCarrierCode - { - get - { - return this.interlineCarrierCodeField; - } - set - { - this.interlineCarrierCodeField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string InterlineCarrierName - { - get - { - return this.interlineCarrierNameField; - } - set - { - this.interlineCarrierNameField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public int AdditionalDays - { - get - { - return this.additionalDaysField; - } - set - { - this.additionalDaysField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool AdditionalDaysSpecified - { - get - { - return this.additionalDaysFieldSpecified; - } - set - { - this.additionalDaysFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public ServiceType LocalService - { - get - { - return this.localServiceField; - } - set - { - this.localServiceField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool LocalServiceSpecified - { - get - { - return this.localServiceFieldSpecified; - } - set - { - this.localServiceFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public Distance LocalDistance - { - get - { - return this.localDistanceField; - } - set - { - this.localDistanceField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(DataType="duration", Order=5)] - public string LocalDuration - { - get - { - return this.localDurationField; - } - set - { - this.localDurationField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=6)] - public FreightServiceSchedulingType LocalServiceScheduling - { - get - { - return this.localServiceSchedulingField; - } - set - { - this.localServiceSchedulingField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool LocalServiceSchedulingSpecified - { - get - { - return this.localServiceSchedulingFieldSpecified; - } - set - { - this.localServiceSchedulingFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("LimitedServiceDays", Order=7)] - public DayOfWeekType[] LimitedServiceDays - { - get - { - return this.limitedServiceDaysField; - } - set - { - this.limitedServiceDaysField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=8)] - public string GatewayLocationId - { - get - { - return this.gatewayLocationIdField; - } - set - { - this.gatewayLocationIdField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=9)] - public string Location - { - get - { - return this.locationField; - } - set - { - this.locationField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=10)] - public ContactAndAddress ContactAndAddress - { - get - { - return this.contactAndAddressField; - } - set - { - this.contactAndAddressField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum ServiceType - { - - /// - EUROPE_FIRST_INTERNATIONAL_PRIORITY, - - /// - FEDEX_1_DAY_FREIGHT, - - /// - FEDEX_2_DAY, - - /// - FEDEX_2_DAY_AM, - - /// - FEDEX_2_DAY_FREIGHT, - - /// - FEDEX_3_DAY_FREIGHT, - - /// - FEDEX_DISTANCE_DEFERRED, - - /// - FEDEX_EXPRESS_SAVER, - - /// - FEDEX_FIRST_FREIGHT, - - /// - FEDEX_FREIGHT_ECONOMY, - - /// - FEDEX_FREIGHT_PRIORITY, - - /// - FEDEX_GROUND, - - /// - FEDEX_NEXT_DAY_AFTERNOON, - - /// - FEDEX_NEXT_DAY_EARLY_MORNING, - - /// - FEDEX_NEXT_DAY_END_OF_DAY, - - /// - FEDEX_NEXT_DAY_FREIGHT, - - /// - FEDEX_NEXT_DAY_MID_MORNING, - - /// - FIRST_OVERNIGHT, - - /// - GROUND_HOME_DELIVERY, - - /// - INTERNATIONAL_ECONOMY, - - /// - INTERNATIONAL_ECONOMY_FREIGHT, - - /// - INTERNATIONAL_FIRST, - - /// - INTERNATIONAL_PRIORITY, - - /// - INTERNATIONAL_PRIORITY_FREIGHT, - - /// - PRIORITY_OVERNIGHT, - - /// - SAME_DAY, - - /// - SAME_DAY_CITY, - - /// - SMART_POST, - - /// - STANDARD_OVERNIGHT, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum FreightServiceSchedulingType - { - - /// - LIMITED, - - /// - STANDARD, - - /// - WILL_CALL, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum DayOfWeekType - { - - /// - FRI, - - /// - MON, - - /// - SAT, - - /// - SUN, - - /// - THU, - - /// - TUE, - - /// - WED, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class ContactAndAddress - { - - private Contact contactField; - - private Address addressField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public Contact Contact - { - get - { - return this.contactField; - } - set - { - this.contactField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public Address Address - { - get - { - return this.addressField; - } - set - { - this.addressField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class Contact - { - - private string contactIdField; - - private string personNameField; - - private string titleField; - - private string companyNameField; - - private string phoneNumberField; - - private string phoneExtensionField; - - private string tollFreePhoneNumberField; - - private string pagerNumberField; - - private string faxNumberField; - - private string eMailAddressField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public string ContactId - { - get - { - return this.contactIdField; - } - set - { - this.contactIdField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string PersonName - { - get - { - return this.personNameField; - } - set - { - this.personNameField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public string Title - { - get - { - return this.titleField; - } - set - { - this.titleField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public string CompanyName - { - get - { - return this.companyNameField; - } - set - { - this.companyNameField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public string PhoneNumber - { - get - { - return this.phoneNumberField; - } - set - { - this.phoneNumberField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=5)] - public string PhoneExtension - { - get - { - return this.phoneExtensionField; - } - set - { - this.phoneExtensionField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=6)] - public string TollFreePhoneNumber - { - get - { - return this.tollFreePhoneNumberField; - } - set - { - this.tollFreePhoneNumberField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=7)] - public string PagerNumber - { - get - { - return this.pagerNumberField; - } - set - { - this.pagerNumberField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=8)] - public string FaxNumber - { - get - { - return this.faxNumberField; - } - set - { - this.faxNumberField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=9)] - public string EMailAddress - { - get - { - return this.eMailAddressField; - } - set - { - this.eMailAddressField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class FreightCommitDetail - { - - private FreightServiceCenterDetail originDetailField; - - private FreightServiceCenterDetail destinationDetailField; - - private Distance totalDistanceField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public FreightServiceCenterDetail OriginDetail - { - get - { - return this.originDetailField; - } - set - { - this.originDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public FreightServiceCenterDetail DestinationDetail - { - get - { - return this.destinationDetailField; - } - set - { - this.destinationDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public Distance TotalDistance - { - get - { - return this.totalDistanceField; - } - set - { - this.totalDistanceField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - 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; - - /// - [System.Xml.Serialization.XmlElementAttribute(DataType="date", Order=0)] - public System.DateTime Date - { - get - { - return this.dateField; - } - set - { - this.dateField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool DateSpecified - { - get - { - return this.dateFieldSpecified; - } - set - { - this.dateFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public DayOfWeekType DayOfWeek - { - get - { - return this.dayOfWeekField; - } - set - { - this.dayOfWeekField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool DayOfWeekSpecified - { - get - { - return this.dayOfWeekFieldSpecified; - } - set - { - this.dayOfWeekFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public DelayLevelType Level - { - get - { - return this.levelField; - } - set - { - this.levelField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool LevelSpecified - { - get - { - return this.levelFieldSpecified; - } - set - { - this.levelFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public DelayPointType Point - { - get - { - return this.pointField; - } - set - { - this.pointField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool PointSpecified - { - get - { - return this.pointFieldSpecified; - } - set - { - this.pointFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public CommitmentDelayType Type - { - get - { - return this.typeField; - } - set - { - this.typeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool TypeSpecified - { - get - { - return this.typeFieldSpecified; - } - set - { - this.typeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=5)] - public string Description - { - get - { - return this.descriptionField; - } - set - { - this.descriptionField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum DelayLevelType - { - - /// - CITY, - - /// - COUNTRY, - - /// - LOCATION, - - /// - POSTAL_CODE, - - /// - SERVICE_AREA, - - /// - SERVICE_AREA_SPECIAL_SERVICE, - - /// - SPECIAL_SERVICE, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum DelayPointType - { - - /// - BROKER, - - /// - DESTINATION, - - /// - ORIGIN, - - /// - ORIGIN_DESTINATION_PAIR, - - /// - PROOF_OF_DELIVERY_POINT, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum CommitmentDelayType - { - - /// - HOLIDAY, - - /// - NON_WORKDAY, - - /// - NO_CITY_DELIVERY, - - /// - NO_HOLD_AT_LOCATION, - - /// - NO_LOCATION_DELIVERY, - - /// - NO_SERVICE_AREA_DELIVERY, - - /// - NO_SERVICE_AREA_SPECIAL_SERVICE_DELIVERY, - - /// - NO_SPECIAL_SERVICE_DELIVERY, - - /// - NO_ZIP_DELIVERY, - - /// - WEEKEND, - - /// - WEEKEND_SPECIAL, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class CommitDetail - { - - private string commodityNameField; - - private ServiceType serviceTypeField; - - private bool serviceTypeFieldSpecified; - - private ServiceOptionType[] appliedOptionsField; - - private ServiceSubOptionDetail appliedSubOptionsField; - - private SignatureOptionDetail derivedShipmentSignatureOptionField; - - private SignatureOptionDetail[] derivedPackageSignatureOptionsField; - - private System.DateTime commitTimestampField; - - private bool commitTimestampFieldSpecified; - - private DayOfWeekType dayOfWeekField; - - private bool dayOfWeekFieldSpecified; - - private TransitTimeType transitTimeField; - - private bool transitTimeFieldSpecified; - - private TransitTimeType maximumTransitTimeField; - - private bool maximumTransitTimeFieldSpecified; - - 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 InternationalDocumentContentType documentContentField; - - private bool documentContentFieldSpecified; - - private RequiredShippingDocumentType[] requiredDocumentsField; - - private FreightCommitDetail freightCommitDetailField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public string CommodityName - { - get - { - return this.commodityNameField; - } - set - { - this.commodityNameField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public ServiceType ServiceType - { - get - { - return this.serviceTypeField; - } - set - { - this.serviceTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool ServiceTypeSpecified - { - get - { - return this.serviceTypeFieldSpecified; - } - set - { - this.serviceTypeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("AppliedOptions", Order=2)] - public ServiceOptionType[] AppliedOptions - { - get - { - return this.appliedOptionsField; - } - set - { - this.appliedOptionsField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public ServiceSubOptionDetail AppliedSubOptions - { - get - { - return this.appliedSubOptionsField; - } - set - { - this.appliedSubOptionsField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public SignatureOptionDetail DerivedShipmentSignatureOption - { - get - { - return this.derivedShipmentSignatureOptionField; - } - set - { - this.derivedShipmentSignatureOptionField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("DerivedPackageSignatureOptions", Order=5)] - public SignatureOptionDetail[] DerivedPackageSignatureOptions - { - get - { - return this.derivedPackageSignatureOptionsField; - } - set - { - this.derivedPackageSignatureOptionsField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=6)] - public System.DateTime CommitTimestamp - { - get - { - return this.commitTimestampField; - } - set - { - this.commitTimestampField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool CommitTimestampSpecified - { - get - { - return this.commitTimestampFieldSpecified; - } - set - { - this.commitTimestampFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=7)] - public DayOfWeekType DayOfWeek - { - get - { - return this.dayOfWeekField; - } - set - { - this.dayOfWeekField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool DayOfWeekSpecified - { - get - { - return this.dayOfWeekFieldSpecified; - } - set - { - this.dayOfWeekFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=8)] - public TransitTimeType TransitTime - { - get - { - return this.transitTimeField; - } - set - { - this.transitTimeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool TransitTimeSpecified - { - get - { - return this.transitTimeFieldSpecified; - } - set - { - this.transitTimeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=9)] - public TransitTimeType MaximumTransitTime - { - get - { - return this.maximumTransitTimeField; - } - set - { - this.maximumTransitTimeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool MaximumTransitTimeSpecified - { - get - { - return this.maximumTransitTimeFieldSpecified; - } - set - { - this.maximumTransitTimeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=10)] - public string DestinationServiceArea - { - get - { - return this.destinationServiceAreaField; - } - set - { - this.destinationServiceAreaField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=11)] - public Address BrokerAddress - { - get - { - return this.brokerAddressField; - } - set - { - this.brokerAddressField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=12)] - public string BrokerLocationId - { - get - { - return this.brokerLocationIdField; - } - set - { - this.brokerLocationIdField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=13)] - public System.DateTime BrokerCommitTimestamp - { - get - { - return this.brokerCommitTimestampField; - } - set - { - this.brokerCommitTimestampField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool BrokerCommitTimestampSpecified - { - get - { - return this.brokerCommitTimestampFieldSpecified; - } - set - { - this.brokerCommitTimestampFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=14)] - public DayOfWeekType BrokerCommitDayOfWeek - { - get - { - return this.brokerCommitDayOfWeekField; - } - set - { - this.brokerCommitDayOfWeekField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool BrokerCommitDayOfWeekSpecified - { - get - { - return this.brokerCommitDayOfWeekFieldSpecified; - } - set - { - this.brokerCommitDayOfWeekFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(DataType="nonNegativeInteger", Order=15)] - public string BrokerToDestinationDays - { - get - { - return this.brokerToDestinationDaysField; - } - set - { - this.brokerToDestinationDaysField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(DataType="date", Order=16)] - public System.DateTime ProofOfDeliveryDate - { - get - { - return this.proofOfDeliveryDateField; - } - set - { - this.proofOfDeliveryDateField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool ProofOfDeliveryDateSpecified - { - get - { - return this.proofOfDeliveryDateFieldSpecified; - } - set - { - this.proofOfDeliveryDateFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=17)] - public DayOfWeekType ProofOfDeliveryDayOfWeek - { - get - { - return this.proofOfDeliveryDayOfWeekField; - } - set - { - this.proofOfDeliveryDayOfWeekField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool ProofOfDeliveryDayOfWeekSpecified - { - get - { - return this.proofOfDeliveryDayOfWeekFieldSpecified; - } - set - { - this.proofOfDeliveryDayOfWeekFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("CommitMessages", Order=18)] - public Notification[] CommitMessages - { - get - { - return this.commitMessagesField; - } - set - { - this.commitMessagesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("DeliveryMessages", Order=19)] - public string[] DeliveryMessages - { - get - { - return this.deliveryMessagesField; - } - set - { - this.deliveryMessagesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("DelayDetails", Order=20)] - public DelayDetail[] DelayDetails - { - get - { - return this.delayDetailsField; - } - set - { - this.delayDetailsField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=21)] - public InternationalDocumentContentType DocumentContent - { - get - { - return this.documentContentField; - } - set - { - this.documentContentField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool DocumentContentSpecified - { - get - { - return this.documentContentFieldSpecified; - } - set - { - this.documentContentFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("RequiredDocuments", Order=22)] - public RequiredShippingDocumentType[] RequiredDocuments - { - get - { - return this.requiredDocumentsField; - } - set - { - this.requiredDocumentsField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=23)] - public FreightCommitDetail FreightCommitDetail - { - get - { - return this.freightCommitDetailField; - } - set - { - this.freightCommitDetailField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum ServiceOptionType - { - - /// - FEDEX_ONE_RATE, - - /// - FREIGHT_GUARANTEE, - - /// - SATURDAY_DELIVERY, - - /// - SMART_POST_ALLOWED_INDICIA, - - /// - SMART_POST_HUB_ID, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class ServiceSubOptionDetail - { - - private FreightGuaranteeType freightGuaranteeField; - - private bool freightGuaranteeFieldSpecified; - - private string smartPostHubIdField; - - private SmartPostIndiciaType smartPostIndiciaField; - - private bool smartPostIndiciaFieldSpecified; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public FreightGuaranteeType FreightGuarantee - { - get - { - return this.freightGuaranteeField; - } - set - { - this.freightGuaranteeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool FreightGuaranteeSpecified - { - get - { - return this.freightGuaranteeFieldSpecified; - } - set - { - this.freightGuaranteeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string SmartPostHubId - { - get - { - return this.smartPostHubIdField; - } - set - { - this.smartPostHubIdField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public SmartPostIndiciaType SmartPostIndicia - { - get - { - return this.smartPostIndiciaField; - } - set - { - this.smartPostIndiciaField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool SmartPostIndiciaSpecified - { - get - { - return this.smartPostIndiciaFieldSpecified; - } - set - { - this.smartPostIndiciaFieldSpecified = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum FreightGuaranteeType - { - - /// - GUARANTEED_DATE, - - /// - GUARANTEED_MORNING, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum SmartPostIndiciaType - { - - /// - MEDIA_MAIL, - - /// - PARCEL_RETURN, - - /// - PARCEL_SELECT, - - /// - PRESORTED_BOUND_PRINTED_MATTER, - - /// - PRESORTED_STANDARD, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class SignatureOptionDetail - { - - private SignatureOptionType optionTypeField; - - private bool optionTypeFieldSpecified; - - private string signatureReleaseNumberField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public SignatureOptionType OptionType - { - get - { - return this.optionTypeField; - } - set - { - this.optionTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool OptionTypeSpecified - { - get - { - return this.optionTypeFieldSpecified; - } - set - { - this.optionTypeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string SignatureReleaseNumber - { - get - { - return this.signatureReleaseNumberField; - } - set - { - this.signatureReleaseNumberField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum SignatureOptionType - { - - /// - ADULT, - - /// - DIRECT, - - /// - INDIRECT, - - /// - NO_SIGNATURE_REQUIRED, - - /// - SERVICE_DEFAULT, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum TransitTimeType - { - - /// - EIGHTEEN_DAYS, - - /// - EIGHT_DAYS, - - /// - ELEVEN_DAYS, - - /// - FIFTEEN_DAYS, - - /// - FIVE_DAYS, - - /// - FOURTEEN_DAYS, - - /// - FOUR_DAYS, - - /// - NINETEEN_DAYS, - - /// - NINE_DAYS, - - /// - ONE_DAY, - - /// - SEVENTEEN_DAYS, - - /// - SEVEN_DAYS, - - /// - SIXTEEN_DAYS, - - /// - SIX_DAYS, - - /// - TEN_DAYS, - - /// - THIRTEEN_DAYS, - - /// - THREE_DAYS, - - /// - TWELVE_DAYS, - - /// - TWENTY_DAYS, - - /// - TWO_DAYS, - - /// - UNKNOWN, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class Notification - { - - private NotificationSeverityType severityField; - - private bool severityFieldSpecified; - - private string sourceField; - - private string codeField; - - private string messageField; - - private string localizedMessageField; - - private NotificationParameter[] messageParametersField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public NotificationSeverityType Severity - { - get - { - return this.severityField; - } - set - { - this.severityField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool SeveritySpecified - { - get - { - return this.severityFieldSpecified; - } - set - { - this.severityFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string Source - { - get - { - return this.sourceField; - } - set - { - this.sourceField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public string Code - { - get - { - return this.codeField; - } - set - { - this.codeField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public string Message - { - get - { - return this.messageField; - } - set - { - this.messageField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public string LocalizedMessage - { - get - { - return this.localizedMessageField; - } - set - { - this.localizedMessageField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("MessageParameters", Order=5)] - public NotificationParameter[] MessageParameters - { - get - { - return this.messageParametersField; - } - set - { - this.messageParametersField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum NotificationSeverityType - { - - /// - ERROR, - - /// - FAILURE, - - /// - NOTE, - - /// - SUCCESS, - - /// - WARNING, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class NotificationParameter - { - - private string idField; - - private string valueField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public string Id - { - get - { - return this.idField; - } - set - { - this.idField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string Value - { - get - { - return this.valueField; - } - set - { - this.valueField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum InternationalDocumentContentType - { - - /// - DOCUMENTS_ONLY, - - /// - NON_DOCUMENTS, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum RequiredShippingDocumentType - { - - /// - CANADIAN_B13A, - - /// - CERTIFICATE_OF_ORIGIN, - - /// - COMMERCIAL_INVOICE, - - /// - INTERNATIONAL_AIRWAY_BILL, - - /// - MAIL_SERVICE_AIRWAY_BILL, - - /// - SHIPPERS_EXPORT_DECLARATION, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - 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 TransitTimeType maximumTransitTimeField; - - private bool maximumTransitTimeFieldSpecified; - - private SignatureOptionType signatureOptionField; - - private bool signatureOptionFieldSpecified; - - private ReturnedRateType actualRateTypeField; - - private bool actualRateTypeFieldSpecified; - - private RatedShipmentDetail[] ratedShipmentDetailsField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public ServiceType ServiceType - { - get - { - return this.serviceTypeField; - } - set - { - this.serviceTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool ServiceTypeSpecified - { - get - { - return this.serviceTypeFieldSpecified; - } - set - { - this.serviceTypeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public PackagingType PackagingType - { - get - { - return this.packagingTypeField; - } - set - { - this.packagingTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool PackagingTypeSpecified - { - get - { - return this.packagingTypeFieldSpecified; - } - set - { - this.packagingTypeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("AppliedOptions", Order=2)] - public ServiceOptionType[] AppliedOptions - { - get - { - return this.appliedOptionsField; - } - set - { - this.appliedOptionsField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public ServiceSubOptionDetail AppliedSubOptions - { - get - { - return this.appliedSubOptionsField; - } - set - { - this.appliedSubOptionsField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public string DeliveryStation - { - get - { - return this.deliveryStationField; - } - set - { - this.deliveryStationField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=5)] - public DayOfWeekType DeliveryDayOfWeek - { - get - { - return this.deliveryDayOfWeekField; - } - set - { - this.deliveryDayOfWeekField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool DeliveryDayOfWeekSpecified - { - get - { - return this.deliveryDayOfWeekFieldSpecified; - } - set - { - this.deliveryDayOfWeekFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=6)] - public System.DateTime DeliveryTimestamp - { - get - { - return this.deliveryTimestampField; - } - set - { - this.deliveryTimestampField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool DeliveryTimestampSpecified - { - get - { - return this.deliveryTimestampFieldSpecified; - } - set - { - this.deliveryTimestampFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("CommitDetails", Order=7)] - public CommitDetail[] CommitDetails - { - get - { - return this.commitDetailsField; - } - set - { - this.commitDetailsField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=8)] - public string DestinationAirportId - { - get - { - return this.destinationAirportIdField; - } - set - { - this.destinationAirportIdField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=9)] - public bool IneligibleForMoneyBackGuarantee - { - get - { - return this.ineligibleForMoneyBackGuaranteeField; - } - set - { - this.ineligibleForMoneyBackGuaranteeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool IneligibleForMoneyBackGuaranteeSpecified - { - get - { - return this.ineligibleForMoneyBackGuaranteeFieldSpecified; - } - set - { - this.ineligibleForMoneyBackGuaranteeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=10)] - public string OriginServiceArea - { - get - { - return this.originServiceAreaField; - } - set - { - this.originServiceAreaField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=11)] - public string DestinationServiceArea - { - get - { - return this.destinationServiceAreaField; - } - set - { - this.destinationServiceAreaField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=12)] - public TransitTimeType TransitTime - { - get - { - return this.transitTimeField; - } - set - { - this.transitTimeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool TransitTimeSpecified - { - get - { - return this.transitTimeFieldSpecified; - } - set - { - this.transitTimeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=13)] - public TransitTimeType MaximumTransitTime - { - get - { - return this.maximumTransitTimeField; - } - set - { - this.maximumTransitTimeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool MaximumTransitTimeSpecified - { - get - { - return this.maximumTransitTimeFieldSpecified; - } - set - { - this.maximumTransitTimeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=14)] - public SignatureOptionType SignatureOption - { - get - { - return this.signatureOptionField; - } - set - { - this.signatureOptionField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool SignatureOptionSpecified - { - get - { - return this.signatureOptionFieldSpecified; - } - set - { - this.signatureOptionFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=15)] - public ReturnedRateType ActualRateType - { - get - { - return this.actualRateTypeField; - } - set - { - this.actualRateTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool ActualRateTypeSpecified - { - get - { - return this.actualRateTypeFieldSpecified; - } - set - { - this.actualRateTypeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("RatedShipmentDetails", Order=16)] - public RatedShipmentDetail[] RatedShipmentDetails - { - get - { - return this.ratedShipmentDetailsField; - } - set - { - this.ratedShipmentDetailsField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum PackagingType - { - - /// - FEDEX_10KG_BOX, - - /// - FEDEX_25KG_BOX, - - /// - FEDEX_BOX, - - /// - FEDEX_ENVELOPE, - - /// - FEDEX_EXTRA_LARGE_BOX, - - /// - FEDEX_LARGE_BOX, - - /// - FEDEX_MEDIUM_BOX, - - /// - FEDEX_PAK, - - /// - FEDEX_SMALL_BOX, - - /// - FEDEX_TUBE, - - /// - YOUR_PACKAGING, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class RateReply - { - - private NotificationSeverityType highestSeverityField; - - private Notification[] notificationsField; - - private TransactionDetail transactionDetailField; - - private VersionId versionField; - - private RateReplyDetail[] rateReplyDetailsField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public NotificationSeverityType HighestSeverity - { - get - { - return this.highestSeverityField; - } - set - { - this.highestSeverityField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("Notifications", Order=1)] - public Notification[] Notifications - { - get - { - return this.notificationsField; - } - set - { - this.notificationsField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public TransactionDetail TransactionDetail - { - get - { - return this.transactionDetailField; - } - set - { - this.transactionDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public VersionId Version - { - get - { - return this.versionField; - } - set - { - this.versionField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("RateReplyDetails", Order=4)] - public RateReplyDetail[] RateReplyDetails - { - get - { - return this.rateReplyDetailsField; - } - set - { - this.rateReplyDetailsField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class TransactionDetail - { - - private string customerTransactionIdField; - - private Localization localizationField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public string CustomerTransactionId - { - get - { - return this.customerTransactionIdField; - } - set - { - this.customerTransactionIdField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public Localization Localization - { - get - { - return this.localizationField; - } - set - { - this.localizationField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class Localization - { - - private string languageCodeField; - - private string localeCodeField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public string LanguageCode - { - get - { - return this.languageCodeField; - } - set - { - this.languageCodeField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string LocaleCode - { - get - { - return this.localeCodeField; - } - set - { - this.localeCodeField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class VersionId - { - - private string serviceIdField; - - private int majorField; - - private int intermediateField; - - private int minorField; - - public VersionId() - { - this.serviceIdField = "crs"; - this.majorField = 18; - this.intermediateField = 0; - this.minorField = 0; - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public string ServiceId - { - get - { - return this.serviceIdField; - } - set - { - this.serviceIdField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public int Major - { - get - { - return this.majorField; - } - set - { - this.majorField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public int Intermediate - { - get - { - return this.intermediateField; - } - set - { - this.intermediateField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public int Minor - { - get - { - return this.minorField; - } - set - { - this.minorField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class ContentRecord - { - - private string partNumberField; - - private string itemNumberField; - - private string receivedQuantityField; - - private string descriptionField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public string PartNumber - { - get - { - return this.partNumberField; - } - set - { - this.partNumberField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string ItemNumber - { - get - { - return this.itemNumberField; - } - set - { - this.itemNumberField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(DataType="nonNegativeInteger", Order=2)] - public string ReceivedQuantity - { - get - { - return this.receivedQuantityField; - } - set - { - this.receivedQuantityField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public string Description - { - get - { - return this.descriptionField; - } - set - { - this.descriptionField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class AlcoholDetail - { - - private AlcoholRecipientType recipientTypeField; - - private bool recipientTypeFieldSpecified; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public AlcoholRecipientType RecipientType - { - get - { - return this.recipientTypeField; - } - set - { - this.recipientTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool RecipientTypeSpecified - { - get - { - return this.recipientTypeFieldSpecified; - } - set - { - this.recipientTypeFieldSpecified = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum AlcoholRecipientType - { - - /// - CONSUMER, - - /// - LICENSEE, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class PriorityAlertDetail - { - - private PriorityAlertEnhancementType[] enhancementTypesField; - - private string[] contentField; - - /// - [System.Xml.Serialization.XmlElementAttribute("EnhancementTypes", Order=0)] - public PriorityAlertEnhancementType[] EnhancementTypes - { - get - { - return this.enhancementTypesField; - } - set - { - this.enhancementTypesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("Content", Order=1)] - public string[] Content - { - get - { - return this.contentField; - } - set - { - this.contentField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum PriorityAlertEnhancementType - { - - /// - PRIORITY_ALERT_PLUS, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class PackageSpecialServicesRequested - { - - private PackageSpecialServiceType[] specialServiceTypesField; - - private CodDetail codDetailField; - - private DangerousGoodsDetail dangerousGoodsDetailField; - - private Weight dryIceWeightField; - - private SignatureOptionDetail signatureOptionDetailField; - - private PriorityAlertDetail priorityAlertDetailField; - - private AlcoholDetail alcoholDetailField; - - /// - [System.Xml.Serialization.XmlElementAttribute("SpecialServiceTypes", Order=0)] - public PackageSpecialServiceType[] SpecialServiceTypes - { - get - { - return this.specialServiceTypesField; - } - set - { - this.specialServiceTypesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public CodDetail CodDetail - { - get - { - return this.codDetailField; - } - set - { - this.codDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public DangerousGoodsDetail DangerousGoodsDetail - { - get - { - return this.dangerousGoodsDetailField; - } - set - { - this.dangerousGoodsDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public Weight DryIceWeight - { - get - { - return this.dryIceWeightField; - } - set - { - this.dryIceWeightField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public SignatureOptionDetail SignatureOptionDetail - { - get - { - return this.signatureOptionDetailField; - } - set - { - this.signatureOptionDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=5)] - public PriorityAlertDetail PriorityAlertDetail - { - get - { - return this.priorityAlertDetailField; - } - set - { - this.priorityAlertDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=6)] - public AlcoholDetail AlcoholDetail - { - get - { - return this.alcoholDetailField; - } - set - { - this.alcoholDetailField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum PackageSpecialServiceType - { - - /// - ALCOHOL, - - /// - APPOINTMENT_DELIVERY, - - /// - COD, - - /// - DANGEROUS_GOODS, - - /// - DRY_ICE, - - /// - NON_STANDARD_CONTAINER, - - /// - PRIORITY_ALERT, - - /// - SIGNATURE_OPTION, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class CodDetail - { - - private Money codCollectionAmountField; - - private CodAddTransportationChargesDetail addTransportationChargesDetailField; - - private CodCollectionType collectionTypeField; - - private bool collectionTypeFieldSpecified; - - private Party codRecipientField; - - private ContactAndAddress financialInstitutionContactAndAddressField; - - private string remitToNameField; - - private CodReturnReferenceIndicatorType referenceIndicatorField; - - private bool referenceIndicatorFieldSpecified; - - private TrackingId returnTrackingIdField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public Money CodCollectionAmount - { - get - { - return this.codCollectionAmountField; - } - set - { - this.codCollectionAmountField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public CodAddTransportationChargesDetail AddTransportationChargesDetail - { - get - { - return this.addTransportationChargesDetailField; - } - set - { - this.addTransportationChargesDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public CodCollectionType CollectionType - { - get - { - return this.collectionTypeField; - } - set - { - this.collectionTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool CollectionTypeSpecified - { - get - { - return this.collectionTypeFieldSpecified; - } - set - { - this.collectionTypeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public Party CodRecipient - { - get - { - return this.codRecipientField; - } - set - { - this.codRecipientField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public ContactAndAddress FinancialInstitutionContactAndAddress - { - get - { - return this.financialInstitutionContactAndAddressField; - } - set - { - this.financialInstitutionContactAndAddressField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=5)] - public string RemitToName - { - get - { - return this.remitToNameField; - } - set - { - this.remitToNameField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=6)] - public CodReturnReferenceIndicatorType ReferenceIndicator - { - get - { - return this.referenceIndicatorField; - } - set - { - this.referenceIndicatorField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool ReferenceIndicatorSpecified - { - get - { - return this.referenceIndicatorFieldSpecified; - } - set - { - this.referenceIndicatorFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=7)] - public TrackingId ReturnTrackingId - { - get - { - return this.returnTrackingIdField; - } - set - { - this.returnTrackingIdField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class CodAddTransportationChargesDetail - { - - private RateTypeBasisType rateTypeBasisField; - - private bool rateTypeBasisFieldSpecified; - - private CodAddTransportationChargeBasisType chargeBasisField; - - private bool chargeBasisFieldSpecified; - - private ChargeBasisLevelType chargeBasisLevelField; - - private bool chargeBasisLevelFieldSpecified; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public RateTypeBasisType RateTypeBasis - { - get - { - return this.rateTypeBasisField; - } - set - { - this.rateTypeBasisField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool RateTypeBasisSpecified - { - get - { - return this.rateTypeBasisFieldSpecified; - } - set - { - this.rateTypeBasisFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public CodAddTransportationChargeBasisType ChargeBasis - { - get - { - return this.chargeBasisField; - } - set - { - this.chargeBasisField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool ChargeBasisSpecified - { - get - { - return this.chargeBasisFieldSpecified; - } - set - { - this.chargeBasisFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public ChargeBasisLevelType ChargeBasisLevel - { - get - { - return this.chargeBasisLevelField; - } - set - { - this.chargeBasisLevelField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool ChargeBasisLevelSpecified - { - get - { - return this.chargeBasisLevelFieldSpecified; - } - set - { - this.chargeBasisLevelFieldSpecified = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum RateTypeBasisType - { - - /// - ACCOUNT, - - /// - LIST, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum CodAddTransportationChargeBasisType - { - - /// - COD_SURCHARGE, - - /// - NET_CHARGE, - - /// - NET_FREIGHT, - - /// - TOTAL_CUSTOMER_CHARGE, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum ChargeBasisLevelType - { - - /// - CURRENT_PACKAGE, - - /// - SUM_OF_PACKAGES, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum CodCollectionType - { - - /// - ANY, - - /// - CASH, - - /// - GUARANTEED_FUNDS, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class Party - { - - private string accountNumberField; - - private TaxpayerIdentification[] tinsField; - - private Contact contactField; - - private Address addressField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public string AccountNumber - { - get - { - return this.accountNumberField; - } - set - { - this.accountNumberField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("Tins", Order=1)] - public TaxpayerIdentification[] Tins - { - get - { - return this.tinsField; - } - set - { - this.tinsField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public Contact Contact - { - get - { - return this.contactField; - } - set - { - this.contactField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public Address Address - { - get - { - return this.addressField; - } - set - { - this.addressField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class TaxpayerIdentification - { - - private TinType tinTypeField; - - private bool tinTypeFieldSpecified; - - private string numberField; - - private string usageField; - - private System.DateTime effectiveDateField; - - private bool effectiveDateFieldSpecified; - - private System.DateTime expirationDateField; - - private bool expirationDateFieldSpecified; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public TinType TinType - { - get - { - return this.tinTypeField; - } - set - { - this.tinTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool TinTypeSpecified - { - get - { - return this.tinTypeFieldSpecified; - } - set - { - this.tinTypeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string Number - { - get - { - return this.numberField; - } - set - { - this.numberField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public string Usage - { - get - { - return this.usageField; - } - set - { - this.usageField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public System.DateTime EffectiveDate - { - get - { - return this.effectiveDateField; - } - set - { - this.effectiveDateField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool EffectiveDateSpecified - { - get - { - return this.effectiveDateFieldSpecified; - } - set - { - this.effectiveDateFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public System.DateTime ExpirationDate - { - get - { - return this.expirationDateField; - } - set - { - this.expirationDateField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool ExpirationDateSpecified - { - get - { - return this.expirationDateFieldSpecified; - } - set - { - this.expirationDateFieldSpecified = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum TinType - { - - /// - BUSINESS_NATIONAL, - - /// - BUSINESS_STATE, - - /// - PERSONAL_NATIONAL, - - /// - PERSONAL_STATE, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum CodReturnReferenceIndicatorType - { - - /// - INVOICE, - - /// - PO, - - /// - REFERENCE, - - /// - TRACKING, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class DangerousGoodsDetail - { - - private HazardousCommodityRegulationType regulationField; - - private bool regulationFieldSpecified; - - private DangerousGoodsAccessibilityType accessibilityField; - - private bool accessibilityFieldSpecified; - - private bool cargoAircraftOnlyField; - - private bool cargoAircraftOnlyFieldSpecified; - - private HazardousCommodityOptionType[] optionsField; - - private DangerousGoodsPackingOptionType packingOptionField; - - private bool packingOptionFieldSpecified; - - private string referenceIdField; - - private DangerousGoodsContainer[] containersField; - - private HazardousCommodityPackagingDetail packagingField; - - private DangerousGoodsSignatory signatoryField; - - private string emergencyContactNumberField; - - private string offerorField; - - private Contact infectiousSubstanceResponsibleContactField; - - private string additionalHandlingField; - - private RadioactivityDetail radioactivityDetailField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public HazardousCommodityRegulationType Regulation - { - get - { - return this.regulationField; - } - set - { - this.regulationField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool RegulationSpecified - { - get - { - return this.regulationFieldSpecified; - } - set - { - this.regulationFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public DangerousGoodsAccessibilityType Accessibility - { - get - { - return this.accessibilityField; - } - set - { - this.accessibilityField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool AccessibilitySpecified - { - get - { - return this.accessibilityFieldSpecified; - } - set - { - this.accessibilityFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public bool CargoAircraftOnly - { - get - { - return this.cargoAircraftOnlyField; - } - set - { - this.cargoAircraftOnlyField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool CargoAircraftOnlySpecified - { - get - { - return this.cargoAircraftOnlyFieldSpecified; - } - set - { - this.cargoAircraftOnlyFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("Options", Order=3)] - public HazardousCommodityOptionType[] Options - { - get - { - return this.optionsField; - } - set - { - this.optionsField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public DangerousGoodsPackingOptionType PackingOption - { - get - { - return this.packingOptionField; - } - set - { - this.packingOptionField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool PackingOptionSpecified - { - get - { - return this.packingOptionFieldSpecified; - } - set - { - this.packingOptionFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=5)] - public string ReferenceId - { - get - { - return this.referenceIdField; - } - set - { - this.referenceIdField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("Containers", Order=6)] - public DangerousGoodsContainer[] Containers - { - get - { - return this.containersField; - } - set - { - this.containersField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=7)] - public HazardousCommodityPackagingDetail Packaging - { - get - { - return this.packagingField; - } - set - { - this.packagingField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=8)] - public DangerousGoodsSignatory Signatory - { - get - { - return this.signatoryField; - } - set - { - this.signatoryField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=9)] - public string EmergencyContactNumber - { - get - { - return this.emergencyContactNumberField; - } - set - { - this.emergencyContactNumberField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=10)] - public string Offeror - { - get - { - return this.offerorField; - } - set - { - this.offerorField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=11)] - public Contact InfectiousSubstanceResponsibleContact - { - get - { - return this.infectiousSubstanceResponsibleContactField; - } - set - { - this.infectiousSubstanceResponsibleContactField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=12)] - public string AdditionalHandling - { - get - { - return this.additionalHandlingField; - } - set - { - this.additionalHandlingField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=13)] - public RadioactivityDetail RadioactivityDetail - { - get - { - return this.radioactivityDetailField; - } - set - { - this.radioactivityDetailField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum HazardousCommodityRegulationType - { - - /// - ADR, - - /// - DOT, - - /// - IATA, - - /// - ORMD, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum DangerousGoodsAccessibilityType - { - - /// - ACCESSIBLE, - - /// - INACCESSIBLE, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum HazardousCommodityOptionType - { - - /// - BATTERY, - - /// - HAZARDOUS_MATERIALS, - - /// - LIMITED_QUANTITIES_COMMODITIES, - - /// - ORM_D, - - /// - REPORTABLE_QUANTITIES, - - /// - SMALL_QUANTITY_EXCEPTION, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum DangerousGoodsPackingOptionType - { - - /// - OVERPACK, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class DangerousGoodsContainer - { - - private HazardousContainerPackingType packingTypeField; - - private bool packingTypeFieldSpecified; - - private string containerTypeField; - - private RadioactiveContainerClassType radioactiveContainerClassField; - - private bool radioactiveContainerClassFieldSpecified; - - private string numberOfContainersField; - - private HazardousCommodityContent[] hazardousCommoditiesField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public HazardousContainerPackingType PackingType - { - get - { - return this.packingTypeField; - } - set - { - this.packingTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool PackingTypeSpecified - { - get - { - return this.packingTypeFieldSpecified; - } - set - { - this.packingTypeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string ContainerType - { - get - { - return this.containerTypeField; - } - set - { - this.containerTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public RadioactiveContainerClassType RadioactiveContainerClass - { - get - { - return this.radioactiveContainerClassField; - } - set - { - this.radioactiveContainerClassField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool RadioactiveContainerClassSpecified - { - get - { - return this.radioactiveContainerClassFieldSpecified; - } - set - { - this.radioactiveContainerClassFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(DataType="nonNegativeInteger", Order=3)] - public string NumberOfContainers - { - get - { - return this.numberOfContainersField; - } - set - { - this.numberOfContainersField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("HazardousCommodities", Order=4)] - public HazardousCommodityContent[] HazardousCommodities - { - get - { - return this.hazardousCommoditiesField; - } - set - { - this.hazardousCommoditiesField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum HazardousContainerPackingType - { - - /// - ALL_PACKED_IN_ONE, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum RadioactiveContainerClassType - { - - /// - EXCEPTED_PACKAGE, - - /// - INDUSTRIAL_IP1, - - /// - INDUSTRIAL_IP2, - - /// - INDUSTRIAL_IP3, - - /// - TYPE_A, - - /// - TYPE_B_M, - - /// - TYPE_B_U, - - /// - TYPE_C, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class HazardousCommodityContent - { - - private HazardousCommodityDescription descriptionField; - - private HazardousCommodityQuantityDetail quantityField; - - private HazardousCommodityInnerReceptacleDetail[] innerReceptaclesField; - - private HazardousCommodityOptionDetail optionsField; - - private RadionuclideDetail radionuclideDetailField; - - private NetExplosiveDetail netExplosiveDetailField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public HazardousCommodityDescription Description - { - get - { - return this.descriptionField; - } - set - { - this.descriptionField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public HazardousCommodityQuantityDetail Quantity - { - get - { - return this.quantityField; - } - set - { - this.quantityField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("InnerReceptacles", Order=2)] - public HazardousCommodityInnerReceptacleDetail[] InnerReceptacles - { - get - { - return this.innerReceptaclesField; - } - set - { - this.innerReceptaclesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public HazardousCommodityOptionDetail Options - { - get - { - return this.optionsField; - } - set - { - this.optionsField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public RadionuclideDetail RadionuclideDetail - { - get - { - return this.radionuclideDetailField; - } - set - { - this.radionuclideDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=5)] - public NetExplosiveDetail NetExplosiveDetail - { - get - { - return this.netExplosiveDetailField; - } - set - { - this.netExplosiveDetailField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class HazardousCommodityDescription - { - - private string idField; - - private string sequenceNumberField; - - private HazardousCommodityPackingGroupType packingGroupField; - - private bool packingGroupFieldSpecified; - - private HazardousCommodityPackingDetail packingDetailsField; - - private bool reportableQuantityField; - - private bool reportableQuantityFieldSpecified; - - private string properShippingNameField; - - private string technicalNameField; - - private decimal percentageField; - - private bool percentageFieldSpecified; - - private string hazardClassField; - - private string[] subsidiaryClassesField; - - private string labelTextField; - - private HazardousCommodityDescriptionProcessingOptionType[] processingOptionsField; - - private string authorizationField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public string Id - { - get - { - return this.idField; - } - set - { - this.idField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(DataType="nonNegativeInteger", Order=1)] - public string SequenceNumber - { - get - { - return this.sequenceNumberField; - } - set - { - this.sequenceNumberField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public HazardousCommodityPackingGroupType PackingGroup - { - get - { - return this.packingGroupField; - } - set - { - this.packingGroupField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool PackingGroupSpecified - { - get - { - return this.packingGroupFieldSpecified; - } - set - { - this.packingGroupFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public HazardousCommodityPackingDetail PackingDetails - { - get - { - return this.packingDetailsField; - } - set - { - this.packingDetailsField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public bool ReportableQuantity - { - get - { - return this.reportableQuantityField; - } - set - { - this.reportableQuantityField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool ReportableQuantitySpecified - { - get - { - return this.reportableQuantityFieldSpecified; - } - set - { - this.reportableQuantityFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=5)] - public string ProperShippingName - { - get - { - return this.properShippingNameField; - } - set - { - this.properShippingNameField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=6)] - public string TechnicalName - { - get - { - return this.technicalNameField; - } - set - { - this.technicalNameField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=7)] - public decimal Percentage - { - get - { - return this.percentageField; - } - set - { - this.percentageField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool PercentageSpecified - { - get - { - return this.percentageFieldSpecified; - } - set - { - this.percentageFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=8)] - public string HazardClass - { - get - { - return this.hazardClassField; - } - set - { - this.hazardClassField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("SubsidiaryClasses", Order=9)] - public string[] SubsidiaryClasses - { - get - { - return this.subsidiaryClassesField; - } - set - { - this.subsidiaryClassesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=10)] - public string LabelText - { - get - { - return this.labelTextField; - } - set - { - this.labelTextField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("ProcessingOptions", Order=11)] - public HazardousCommodityDescriptionProcessingOptionType[] ProcessingOptions - { - get - { - return this.processingOptionsField; - } - set - { - this.processingOptionsField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=12)] - public string Authorization - { - get - { - return this.authorizationField; - } - set - { - this.authorizationField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum HazardousCommodityPackingGroupType - { - - /// - DEFAULT, - - /// - I, - - /// - II, - - /// - III, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class HazardousCommodityPackingDetail - { - - private bool cargoAircraftOnlyField; - - private bool cargoAircraftOnlyFieldSpecified; - - private string packingInstructionsField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public bool CargoAircraftOnly - { - get - { - return this.cargoAircraftOnlyField; - } - set - { - this.cargoAircraftOnlyField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool CargoAircraftOnlySpecified - { - get - { - return this.cargoAircraftOnlyFieldSpecified; - } - set - { - this.cargoAircraftOnlyFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string PackingInstructions - { - get - { - return this.packingInstructionsField; - } - set - { - this.packingInstructionsField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum HazardousCommodityDescriptionProcessingOptionType - { - - /// - INCLUDE_SPECIAL_PROVISIONS, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class HazardousCommodityQuantityDetail - { - - private decimal amountField; - - private bool amountFieldSpecified; - - private string unitsField; - - private HazardousCommodityQuantityType quantityTypeField; - - private bool quantityTypeFieldSpecified; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public decimal Amount - { - get - { - return this.amountField; - } - set - { - this.amountField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool AmountSpecified - { - get - { - return this.amountFieldSpecified; - } - set - { - this.amountFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string Units - { - get - { - return this.unitsField; - } - set - { - this.unitsField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public HazardousCommodityQuantityType QuantityType - { - get - { - return this.quantityTypeField; - } - set - { - this.quantityTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool QuantityTypeSpecified - { - get - { - return this.quantityTypeFieldSpecified; - } - set - { - this.quantityTypeFieldSpecified = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum HazardousCommodityQuantityType - { - - /// - GROSS, - - /// - NET, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class HazardousCommodityInnerReceptacleDetail - { - - private HazardousCommodityQuantityDetail quantityField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public HazardousCommodityQuantityDetail Quantity - { - get - { - return this.quantityField; - } - set - { - this.quantityField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class HazardousCommodityOptionDetail - { - - private HazardousCommodityLabelTextOptionType labelTextOptionField; - - private bool labelTextOptionFieldSpecified; - - private string customerSuppliedLabelTextField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public HazardousCommodityLabelTextOptionType LabelTextOption - { - get - { - return this.labelTextOptionField; - } - set - { - this.labelTextOptionField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool LabelTextOptionSpecified - { - get - { - return this.labelTextOptionFieldSpecified; - } - set - { - this.labelTextOptionFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string CustomerSuppliedLabelText - { - get - { - return this.customerSuppliedLabelTextField; - } - set - { - this.customerSuppliedLabelTextField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum HazardousCommodityLabelTextOptionType - { - - /// - APPEND, - - /// - OVERRIDE, - - /// - STANDARD, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class RadionuclideDetail - { - - private string radionuclideField; - - private RadionuclideActivity activityField; - - private bool exceptedPackagingIsReportableQuantityField; - - private bool exceptedPackagingIsReportableQuantityFieldSpecified; - - private PhysicalFormType physicalFormField; - - private bool physicalFormFieldSpecified; - - private string chemicalFormField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public string Radionuclide - { - get - { - return this.radionuclideField; - } - set - { - this.radionuclideField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public RadionuclideActivity Activity - { - get - { - return this.activityField; - } - set - { - this.activityField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public bool ExceptedPackagingIsReportableQuantity - { - get - { - return this.exceptedPackagingIsReportableQuantityField; - } - set - { - this.exceptedPackagingIsReportableQuantityField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool ExceptedPackagingIsReportableQuantitySpecified - { - get - { - return this.exceptedPackagingIsReportableQuantityFieldSpecified; - } - set - { - this.exceptedPackagingIsReportableQuantityFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public PhysicalFormType PhysicalForm - { - get - { - return this.physicalFormField; - } - set - { - this.physicalFormField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool PhysicalFormSpecified - { - get - { - return this.physicalFormFieldSpecified; - } - set - { - this.physicalFormFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public string ChemicalForm - { - get - { - return this.chemicalFormField; - } - set - { - this.chemicalFormField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class RadionuclideActivity - { - - private decimal valueField; - - private bool valueFieldSpecified; - - private RadioactivityUnitOfMeasure unitOfMeasureField; - - private bool unitOfMeasureFieldSpecified; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public decimal Value - { - get - { - return this.valueField; - } - set - { - this.valueField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool ValueSpecified - { - get - { - return this.valueFieldSpecified; - } - set - { - this.valueFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public RadioactivityUnitOfMeasure UnitOfMeasure - { - get - { - return this.unitOfMeasureField; - } - set - { - this.unitOfMeasureField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool UnitOfMeasureSpecified - { - get - { - return this.unitOfMeasureFieldSpecified; - } - set - { - this.unitOfMeasureFieldSpecified = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum RadioactivityUnitOfMeasure - { - - /// - BQ, - - /// - GBQ, - - /// - KBQ, - - /// - MBQ, - - /// - PBQ, - - /// - TBQ, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum PhysicalFormType - { - - /// - GAS, - - /// - LIQUID, - - /// - SOLID, - - /// - SPECIAL, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class NetExplosiveDetail - { - - private NetExplosiveClassificationType typeField; - - private bool typeFieldSpecified; - - private decimal amountField; - - private bool amountFieldSpecified; - - private string unitsField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public NetExplosiveClassificationType Type - { - get - { - return this.typeField; - } - set - { - this.typeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool TypeSpecified - { - get - { - return this.typeFieldSpecified; - } - set - { - this.typeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public decimal Amount - { - get - { - return this.amountField; - } - set - { - this.amountField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool AmountSpecified - { - get - { - return this.amountFieldSpecified; - } - set - { - this.amountFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public string Units - { - get - { - return this.unitsField; - } - set - { - this.unitsField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum NetExplosiveClassificationType - { - - /// - NET_EXPLOSIVE_CONTENT, - - /// - NET_EXPLOSIVE_MASS, - - /// - NET_EXPLOSIVE_QUANTITY, - - /// - NET_EXPLOSIVE_WEIGHT, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class HazardousCommodityPackagingDetail - { - - private string countField; - - private string unitsField; - - /// - [System.Xml.Serialization.XmlElementAttribute(DataType="nonNegativeInteger", Order=0)] - public string Count - { - get - { - return this.countField; - } - set - { - this.countField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string Units - { - get - { - return this.unitsField; - } - set - { - this.unitsField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class DangerousGoodsSignatory - { - - private string contactNameField; - - private string titleField; - - private string placeField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public string ContactName - { - get - { - return this.contactNameField; - } - set - { - this.contactNameField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string Title - { - get - { - return this.titleField; - } - set - { - this.titleField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public string Place - { - get - { - return this.placeField; - } - set - { - this.placeField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class RadioactivityDetail - { - - private decimal transportIndexField; - - private bool transportIndexFieldSpecified; - - private decimal surfaceReadingField; - - private bool surfaceReadingFieldSpecified; - - private decimal criticalitySafetyIndexField; - - private bool criticalitySafetyIndexFieldSpecified; - - private Dimensions dimensionsField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public decimal TransportIndex - { - get - { - return this.transportIndexField; - } - set - { - this.transportIndexField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool TransportIndexSpecified - { - get - { - return this.transportIndexFieldSpecified; - } - set - { - this.transportIndexFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public decimal SurfaceReading - { - get - { - return this.surfaceReadingField; - } - set - { - this.surfaceReadingField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool SurfaceReadingSpecified - { - get - { - return this.surfaceReadingFieldSpecified; - } - set - { - this.surfaceReadingFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public decimal CriticalitySafetyIndex - { - get - { - return this.criticalitySafetyIndexField; - } - set - { - this.criticalitySafetyIndexField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool CriticalitySafetyIndexSpecified - { - get - { - return this.criticalitySafetyIndexFieldSpecified; - } - set - { - this.criticalitySafetyIndexFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public Dimensions Dimensions - { - get - { - return this.dimensionsField; - } - set - { - this.dimensionsField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class Dimensions - { - - private string lengthField; - - private string widthField; - - private string heightField; - - private LinearUnits unitsField; - - private bool unitsFieldSpecified; - - /// - [System.Xml.Serialization.XmlElementAttribute(DataType="nonNegativeInteger", Order=0)] - public string Length - { - get - { - return this.lengthField; - } - set - { - this.lengthField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(DataType="nonNegativeInteger", Order=1)] - public string Width - { - get - { - return this.widthField; - } - set - { - this.widthField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(DataType="nonNegativeInteger", Order=2)] - public string Height - { - get - { - return this.heightField; - } - set - { - this.heightField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public LinearUnits Units - { - get - { - return this.unitsField; - } - set - { - this.unitsField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool UnitsSpecified - { - get - { - return this.unitsFieldSpecified; - } - set - { - this.unitsFieldSpecified = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum LinearUnits - { - - /// - CM, - - /// - IN, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class CustomerReference - { - - private CustomerReferenceType customerReferenceTypeField; - - private bool customerReferenceTypeFieldSpecified; - - private string valueField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public CustomerReferenceType CustomerReferenceType - { - get - { - return this.customerReferenceTypeField; - } - set - { - this.customerReferenceTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool CustomerReferenceTypeSpecified - { - get - { - return this.customerReferenceTypeFieldSpecified; - } - set - { - this.customerReferenceTypeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string Value - { - get - { - return this.valueField; - } - set - { - this.valueField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum CustomerReferenceType - { - - /// - BILL_OF_LADING, - - /// - CUSTOMER_REFERENCE, - - /// - DEPARTMENT_NUMBER, - - /// - ELECTRONIC_PRODUCT_CODE, - - /// - INTRACOUNTRY_REGULATORY_REFERENCE, - - /// - INVOICE_NUMBER, - - /// - PACKING_SLIP_NUMBER, - - /// - P_O_NUMBER, - - /// - RMA_ASSOCIATION, - - /// - SHIPMENT_INTEGRITY, - - /// - STORE_NUMBER, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - 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 string itemDescriptionForClearanceField; - - private CustomerReference[] customerReferencesField; - - private PackageSpecialServicesRequested specialServicesRequestedField; - - private ContentRecord[] contentRecordsField; - - /// - [System.Xml.Serialization.XmlElementAttribute(DataType="positiveInteger", Order=0)] - public string SequenceNumber - { - get - { - return this.sequenceNumberField; - } - set - { - this.sequenceNumberField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(DataType="nonNegativeInteger", Order=1)] - public string GroupNumber - { - get - { - return this.groupNumberField; - } - set - { - this.groupNumberField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(DataType="nonNegativeInteger", Order=2)] - public string GroupPackageCount - { - get - { - return this.groupPackageCountField; - } - set - { - this.groupPackageCountField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public VariableHandlingChargeDetail VariableHandlingChargeDetail - { - get - { - return this.variableHandlingChargeDetailField; - } - set - { - this.variableHandlingChargeDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public Money InsuredValue - { - get - { - return this.insuredValueField; - } - set - { - this.insuredValueField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=5)] - public Weight Weight - { - get - { - return this.weightField; - } - set - { - this.weightField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=6)] - public Dimensions Dimensions - { - get - { - return this.dimensionsField; - } - set - { - this.dimensionsField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=7)] - public PhysicalPackagingType PhysicalPackaging - { - get - { - return this.physicalPackagingField; - } - set - { - this.physicalPackagingField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool PhysicalPackagingSpecified - { - get - { - return this.physicalPackagingFieldSpecified; - } - set - { - this.physicalPackagingFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=8)] - public string ItemDescription - { - get - { - return this.itemDescriptionField; - } - set - { - this.itemDescriptionField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=9)] - public string ItemDescriptionForClearance - { - get - { - return this.itemDescriptionForClearanceField; - } - set - { - this.itemDescriptionForClearanceField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("CustomerReferences", Order=10)] - public CustomerReference[] CustomerReferences - { - get - { - return this.customerReferencesField; - } - set - { - this.customerReferencesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=11)] - public PackageSpecialServicesRequested SpecialServicesRequested - { - get - { - return this.specialServicesRequestedField; - } - set - { - this.specialServicesRequestedField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("ContentRecords", Order=12)] - public ContentRecord[] ContentRecords - { - get - { - return this.contentRecordsField; - } - set - { - this.contentRecordsField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class VariableHandlingChargeDetail - { - - private Money fixedValueField; - - private decimal percentValueField; - - private bool percentValueFieldSpecified; - - private RateElementBasisType rateElementBasisField; - - private bool rateElementBasisFieldSpecified; - - private RateTypeBasisType rateTypeBasisField; - - private bool rateTypeBasisFieldSpecified; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public Money FixedValue - { - get - { - return this.fixedValueField; - } - set - { - this.fixedValueField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public decimal PercentValue - { - get - { - return this.percentValueField; - } - set - { - this.percentValueField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool PercentValueSpecified - { - get - { - return this.percentValueFieldSpecified; - } - set - { - this.percentValueFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public RateElementBasisType RateElementBasis - { - get - { - return this.rateElementBasisField; - } - set - { - this.rateElementBasisField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool RateElementBasisSpecified - { - get - { - return this.rateElementBasisFieldSpecified; - } - set - { - this.rateElementBasisFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public RateTypeBasisType RateTypeBasis - { - get - { - return this.rateTypeBasisField; - } - set - { - this.rateTypeBasisField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool RateTypeBasisSpecified - { - get - { - return this.rateTypeBasisFieldSpecified; - } - set - { - this.rateTypeBasisFieldSpecified = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum RateElementBasisType - { - - /// - BASE_CHARGE, - - /// - NET_CHARGE, - - /// - NET_CHARGE_EXCLUDING_TAXES, - - /// - NET_FREIGHT, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum PhysicalPackagingType - { - - /// - BAG, - - /// - BARREL, - - /// - BASKET, - - /// - BOX, - - /// - BUCKET, - - /// - BUNDLE, - - /// - CARTON, - - /// - CASE, - - /// - CONTAINER, - - /// - CRATE, - - /// - CYLINDER, - - /// - DRUM, - - /// - ENVELOPE, - - /// - HAMPER, - - /// - OTHER, - - /// - PAIL, - - /// - PALLET, - - /// - PIECE, - - /// - REEL, - - /// - ROLL, - - /// - SKID, - - /// - TANK, - - /// - TUBE, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class ReturnInstructionsDetail - { - - private ShippingDocumentFormat formatField; - - private string customTextField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public ShippingDocumentFormat Format - { - get - { - return this.formatField; - } - set - { - this.formatField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string CustomText - { - get - { - return this.customTextField; - } - set - { - this.customTextField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class ShippingDocumentFormat - { - - private ShippingDocumentDispositionDetail[] dispositionsField; - - private LinearMeasure topOfPageOffsetField; - - private ShippingDocumentImageType imageTypeField; - - private bool imageTypeFieldSpecified; - - private ShippingDocumentStockType stockTypeField; - - private bool stockTypeFieldSpecified; - - private bool provideInstructionsField; - - private bool provideInstructionsFieldSpecified; - - private DocumentFormatOptionType[] optionsRequestedField; - - private Localization localizationField; - - /// - [System.Xml.Serialization.XmlElementAttribute("Dispositions", Order=0)] - public ShippingDocumentDispositionDetail[] Dispositions - { - get - { - return this.dispositionsField; - } - set - { - this.dispositionsField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public LinearMeasure TopOfPageOffset - { - get - { - return this.topOfPageOffsetField; - } - set - { - this.topOfPageOffsetField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public ShippingDocumentImageType ImageType - { - get - { - return this.imageTypeField; - } - set - { - this.imageTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool ImageTypeSpecified - { - get - { - return this.imageTypeFieldSpecified; - } - set - { - this.imageTypeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public ShippingDocumentStockType StockType - { - get - { - return this.stockTypeField; - } - set - { - this.stockTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool StockTypeSpecified - { - get - { - return this.stockTypeFieldSpecified; - } - set - { - this.stockTypeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public bool ProvideInstructions - { - get - { - return this.provideInstructionsField; - } - set - { - this.provideInstructionsField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool ProvideInstructionsSpecified - { - get - { - return this.provideInstructionsFieldSpecified; - } - set - { - this.provideInstructionsFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlArrayAttribute(Order=5)] - [System.Xml.Serialization.XmlArrayItemAttribute("Options", IsNullable=false)] - public DocumentFormatOptionType[] OptionsRequested - { - get - { - return this.optionsRequestedField; - } - set - { - this.optionsRequestedField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=6)] - public Localization Localization - { - get - { - return this.localizationField; - } - set - { - this.localizationField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class ShippingDocumentDispositionDetail - { - - private ShippingDocumentDispositionType dispositionTypeField; - - private bool dispositionTypeFieldSpecified; - - private ShippingDocumentGroupingType groupingField; - - private bool groupingFieldSpecified; - - private ShippingDocumentEMailDetail eMailDetailField; - - private ShippingDocumentPrintDetail printDetailField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public ShippingDocumentDispositionType DispositionType - { - get - { - return this.dispositionTypeField; - } - set - { - this.dispositionTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool DispositionTypeSpecified - { - get - { - return this.dispositionTypeFieldSpecified; - } - set - { - this.dispositionTypeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public ShippingDocumentGroupingType Grouping - { - get - { - return this.groupingField; - } - set - { - this.groupingField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool GroupingSpecified - { - get - { - return this.groupingFieldSpecified; - } - set - { - this.groupingFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public ShippingDocumentEMailDetail EMailDetail - { - get - { - return this.eMailDetailField; - } - set - { - this.eMailDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public ShippingDocumentPrintDetail PrintDetail - { - get - { - return this.printDetailField; - } - set - { - this.printDetailField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum ShippingDocumentDispositionType - { - - /// - CONFIRMED, - - /// - DEFERRED_QUEUED, - - /// - DEFERRED_RETURNED, - - /// - DEFERRED_STORED, - - /// - EMAILED, - - /// - QUEUED, - - /// - RETURNED, - - /// - STORED, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum ShippingDocumentGroupingType - { - - /// - CONSOLIDATED_BY_DOCUMENT_TYPE, - - /// - INDIVIDUAL, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class ShippingDocumentEMailDetail - { - - private ShippingDocumentEMailRecipient[] eMailRecipientsField; - - private ShippingDocumentEMailGroupingType groupingField; - - private bool groupingFieldSpecified; - - private Localization localizationField; - - /// - [System.Xml.Serialization.XmlElementAttribute("EMailRecipients", Order=0)] - public ShippingDocumentEMailRecipient[] EMailRecipients - { - get - { - return this.eMailRecipientsField; - } - set - { - this.eMailRecipientsField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public ShippingDocumentEMailGroupingType Grouping - { - get - { - return this.groupingField; - } - set - { - this.groupingField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool GroupingSpecified - { - get - { - return this.groupingFieldSpecified; - } - set - { - this.groupingFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public Localization Localization - { - get - { - return this.localizationField; - } - set - { - this.localizationField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class ShippingDocumentEMailRecipient - { - - private EMailNotificationRecipientType recipientTypeField; - - private bool recipientTypeFieldSpecified; - - private string addressField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public EMailNotificationRecipientType RecipientType - { - get - { - return this.recipientTypeField; - } - set - { - this.recipientTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool RecipientTypeSpecified - { - get - { - return this.recipientTypeFieldSpecified; - } - set - { - this.recipientTypeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string Address - { - get - { - return this.addressField; - } - set - { - this.addressField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum EMailNotificationRecipientType - { - - /// - BROKER, - - /// - OTHER, - - /// - RECIPIENT, - - /// - SHIPPER, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum ShippingDocumentEMailGroupingType - { - - /// - BY_RECIPIENT, - - /// - NONE, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class ShippingDocumentPrintDetail - { - - private string printerIdField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public string PrinterId - { - get - { - return this.printerIdField; - } - set - { - this.printerIdField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class LinearMeasure - { - - private decimal valueField; - - private bool valueFieldSpecified; - - private LinearUnits unitsField; - - private bool unitsFieldSpecified; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public decimal Value - { - get - { - return this.valueField; - } - set - { - this.valueField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool ValueSpecified - { - get - { - return this.valueFieldSpecified; - } - set - { - this.valueFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public LinearUnits Units - { - get - { - return this.unitsField; - } - set - { - this.unitsField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool UnitsSpecified - { - get - { - return this.unitsFieldSpecified; - } - set - { - this.unitsFieldSpecified = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum ShippingDocumentImageType - { - - /// - DPL, - - /// - EPL2, - - /// - PDF, - - /// - PNG, - - /// - ZPLII, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum ShippingDocumentStockType - { - - /// - OP_900_LG_B, - - /// - OP_900_LL_B, - - /// - PAPER_4X6, - - /// - PAPER_LETTER, - - /// - STOCK_4X6, - - /// - [System.Xml.Serialization.XmlEnumAttribute("STOCK_4X6.75_LEADING_DOC_TAB")] - STOCK_4X675_LEADING_DOC_TAB, - - /// - [System.Xml.Serialization.XmlEnumAttribute("STOCK_4X6.75_TRAILING_DOC_TAB")] - STOCK_4X675_TRAILING_DOC_TAB, - - /// - STOCK_4X8, - - /// - STOCK_4X9_LEADING_DOC_TAB, - - /// - STOCK_4X9_TRAILING_DOC_TAB, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum DocumentFormatOptionType - { - - /// - SUPPRESS_ADDITIONAL_LANGUAGES, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class FreightAddressLabelDetail - { - - private ShippingDocumentFormat formatField; - - private string copiesField; - - private PageQuadrantType startingPositionField; - - private bool startingPositionFieldSpecified; - - private DocTabContent docTabContentField; - - private RelativeVerticalPositionType customContentPositionField; - - private bool customContentPositionFieldSpecified; - - private CustomLabelDetail customContentField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public ShippingDocumentFormat Format - { - get - { - return this.formatField; - } - set - { - this.formatField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(DataType="nonNegativeInteger", Order=1)] - public string Copies - { - get - { - return this.copiesField; - } - set - { - this.copiesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public PageQuadrantType StartingPosition - { - get - { - return this.startingPositionField; - } - set - { - this.startingPositionField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool StartingPositionSpecified - { - get - { - return this.startingPositionFieldSpecified; - } - set - { - this.startingPositionFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public DocTabContent DocTabContent - { - get - { - return this.docTabContentField; - } - set - { - this.docTabContentField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public RelativeVerticalPositionType CustomContentPosition - { - get - { - return this.customContentPositionField; - } - set - { - this.customContentPositionField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool CustomContentPositionSpecified - { - get - { - return this.customContentPositionFieldSpecified; - } - set - { - this.customContentPositionFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=5)] - public CustomLabelDetail CustomContent - { - get - { - return this.customContentField; - } - set - { - this.customContentField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum PageQuadrantType - { - - /// - BOTTOM_LEFT, - - /// - BOTTOM_RIGHT, - - /// - TOP_LEFT, - - /// - TOP_RIGHT, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class DocTabContent - { - - private DocTabContentType docTabContentTypeField; - - private bool docTabContentTypeFieldSpecified; - - private DocTabZoneSpecification[] zone001Field; - - private DocTabContentBarcoded barcodedField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public DocTabContentType DocTabContentType - { - get - { - return this.docTabContentTypeField; - } - set - { - this.docTabContentTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool DocTabContentTypeSpecified - { - get - { - return this.docTabContentTypeFieldSpecified; - } - set - { - this.docTabContentTypeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlArrayAttribute(Order=1)] - [System.Xml.Serialization.XmlArrayItemAttribute("DocTabZoneSpecifications", IsNullable=false)] - public DocTabZoneSpecification[] Zone001 - { - get - { - return this.zone001Field; - } - set - { - this.zone001Field = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public DocTabContentBarcoded Barcoded - { - get - { - return this.barcodedField; - } - set - { - this.barcodedField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum DocTabContentType - { - - /// - BARCODED, - - /// - CUSTOM, - - /// - MINIMUM, - - /// - STANDARD, - - /// - ZONE001, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class DocTabZoneSpecification - { - - private string zoneNumberField; - - private string headerField; - - private string dataFieldField; - - private string literalValueField; - - private DocTabZoneJustificationType justificationField; - - private bool justificationFieldSpecified; - - /// - [System.Xml.Serialization.XmlElementAttribute(DataType="positiveInteger", Order=0)] - public string ZoneNumber - { - get - { - return this.zoneNumberField; - } - set - { - this.zoneNumberField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string Header - { - get - { - return this.headerField; - } - set - { - this.headerField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public string DataField - { - get - { - return this.dataFieldField; - } - set - { - this.dataFieldField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public string LiteralValue - { - get - { - return this.literalValueField; - } - set - { - this.literalValueField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public DocTabZoneJustificationType Justification - { - get - { - return this.justificationField; - } - set - { - this.justificationField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool JustificationSpecified - { - get - { - return this.justificationFieldSpecified; - } - set - { - this.justificationFieldSpecified = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum DocTabZoneJustificationType - { - - /// - LEFT, - - /// - RIGHT, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class DocTabContentBarcoded - { - - private BarcodeSymbologyType symbologyField; - - private bool symbologyFieldSpecified; - - private DocTabZoneSpecification specificationField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public BarcodeSymbologyType Symbology - { - get - { - return this.symbologyField; - } - set - { - this.symbologyField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool SymbologySpecified - { - get - { - return this.symbologyFieldSpecified; - } - set - { - this.symbologyFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public DocTabZoneSpecification Specification - { - get - { - return this.specificationField; - } - set - { - this.specificationField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum BarcodeSymbologyType - { - - /// - CODABAR, - - /// - CODE128, - - /// - CODE128B, - - /// - CODE128C, - - /// - CODE128_WIDEBAR, - - /// - CODE39, - - /// - CODE93, - - /// - I2OF5, - - /// - MANUAL, - - /// - PDF417, - - /// - POSTNET, - - /// - QR_CODE, - - /// - UCC128, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum RelativeVerticalPositionType - { - - /// - ABOVE, - - /// - BELOW, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class CustomLabelDetail - { - - private CustomLabelCoordinateUnits coordinateUnitsField; - - private bool coordinateUnitsFieldSpecified; - - private CustomLabelTextEntry[] textEntriesField; - - private CustomLabelGraphicEntry[] graphicEntriesField; - - private CustomLabelBoxEntry[] boxEntriesField; - - private CustomLabelTextBoxEntry[] textBoxEntriesField; - - private CustomLabelBarcodeEntry[] barcodeEntriesField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public CustomLabelCoordinateUnits CoordinateUnits - { - get - { - return this.coordinateUnitsField; - } - set - { - this.coordinateUnitsField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool CoordinateUnitsSpecified - { - get - { - return this.coordinateUnitsFieldSpecified; - } - set - { - this.coordinateUnitsFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("TextEntries", Order=1)] - public CustomLabelTextEntry[] TextEntries - { - get - { - return this.textEntriesField; - } - set - { - this.textEntriesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("GraphicEntries", Order=2)] - public CustomLabelGraphicEntry[] GraphicEntries - { - get - { - return this.graphicEntriesField; - } - set - { - this.graphicEntriesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("BoxEntries", Order=3)] - public CustomLabelBoxEntry[] BoxEntries - { - get - { - return this.boxEntriesField; - } - set - { - this.boxEntriesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("TextBoxEntries", Order=4)] - public CustomLabelTextBoxEntry[] TextBoxEntries - { - get - { - return this.textBoxEntriesField; - } - set - { - this.textBoxEntriesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("BarcodeEntries", Order=5)] - public CustomLabelBarcodeEntry[] BarcodeEntries - { - get - { - return this.barcodeEntriesField; - } - set - { - this.barcodeEntriesField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum CustomLabelCoordinateUnits - { - - /// - MILS, - - /// - PIXELS, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class CustomLabelTextEntry - { - - private CustomLabelPosition positionField; - - private string formatField; - - private string[] dataFieldsField; - - private string thermalFontIdField; - - private string fontNameField; - - private string fontSizeField; - - private RotationType rotationField; - - private bool rotationFieldSpecified; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public CustomLabelPosition Position - { - get - { - return this.positionField; - } - set - { - this.positionField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string Format - { - get - { - return this.formatField; - } - set - { - this.formatField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("DataFields", Order=2)] - public string[] DataFields - { - get - { - return this.dataFieldsField; - } - set - { - this.dataFieldsField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public string ThermalFontId - { - get - { - return this.thermalFontIdField; - } - set - { - this.thermalFontIdField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public string FontName - { - get - { - return this.fontNameField; - } - set - { - this.fontNameField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(DataType="positiveInteger", Order=5)] - public string FontSize - { - get - { - return this.fontSizeField; - } - set - { - this.fontSizeField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=6)] - public RotationType Rotation - { - get - { - return this.rotationField; - } - set - { - this.rotationField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool RotationSpecified - { - get - { - return this.rotationFieldSpecified; - } - set - { - this.rotationFieldSpecified = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class CustomLabelPosition - { - - private string xField; - - private int yField; - - private bool yFieldSpecified; - - /// - [System.Xml.Serialization.XmlElementAttribute(DataType="nonNegativeInteger", Order=0)] - public string X - { - get - { - return this.xField; - } - set - { - this.xField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public int Y - { - get - { - return this.yField; - } - set - { - this.yField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool YSpecified - { - get - { - return this.yFieldSpecified; - } - set - { - this.yFieldSpecified = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum RotationType - { - - /// - LEFT, - - /// - NONE, - - /// - RIGHT, - - /// - UPSIDE_DOWN, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class CustomLabelGraphicEntry - { - - private CustomLabelPosition positionField; - - private string printerGraphicIdField; - - private string fileGraphicFullNameField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public CustomLabelPosition Position - { - get - { - return this.positionField; - } - set - { - this.positionField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string PrinterGraphicId - { - get - { - return this.printerGraphicIdField; - } - set - { - this.printerGraphicIdField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public string FileGraphicFullName - { - get - { - return this.fileGraphicFullNameField; - } - set - { - this.fileGraphicFullNameField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class CustomLabelBoxEntry - { - - private CustomLabelPosition topLeftCornerField; - - private CustomLabelPosition bottomRightCornerField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public CustomLabelPosition TopLeftCorner - { - get - { - return this.topLeftCornerField; - } - set - { - this.topLeftCornerField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public CustomLabelPosition BottomRightCorner - { - get - { - return this.bottomRightCornerField; - } - set - { - this.bottomRightCornerField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class CustomLabelTextBoxEntry - { - - private CustomLabelPosition topLeftCornerField; - - private CustomLabelPosition bottomRightCornerField; - - private CustomLabelPosition positionField; - - private string formatField; - - private string[] dataFieldsField; - - private string thermalFontIdField; - - private string fontNameField; - - private string fontSizeField; - - private RotationType rotationField; - - private bool rotationFieldSpecified; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public CustomLabelPosition TopLeftCorner - { - get - { - return this.topLeftCornerField; - } - set - { - this.topLeftCornerField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public CustomLabelPosition BottomRightCorner - { - get - { - return this.bottomRightCornerField; - } - set - { - this.bottomRightCornerField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public CustomLabelPosition Position - { - get - { - return this.positionField; - } - set - { - this.positionField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public string Format - { - get - { - return this.formatField; - } - set - { - this.formatField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("DataFields", Order=4)] - public string[] DataFields - { - get - { - return this.dataFieldsField; - } - set - { - this.dataFieldsField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=5)] - public string ThermalFontId - { - get - { - return this.thermalFontIdField; - } - set - { - this.thermalFontIdField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=6)] - public string FontName - { - get - { - return this.fontNameField; - } - set - { - this.fontNameField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(DataType="positiveInteger", Order=7)] - public string FontSize - { - get - { - return this.fontSizeField; - } - set - { - this.fontSizeField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=8)] - public RotationType Rotation - { - get - { - return this.rotationField; - } - set - { - this.rotationField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool RotationSpecified - { - get - { - return this.rotationFieldSpecified; - } - set - { - this.rotationFieldSpecified = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - 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; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public CustomLabelPosition Position - { - get - { - return this.positionField; - } - set - { - this.positionField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string Format - { - get - { - return this.formatField; - } - set - { - this.formatField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("DataFields", Order=2)] - public string[] DataFields - { - get - { - return this.dataFieldsField; - } - set - { - this.dataFieldsField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public int BarHeight - { - get - { - return this.barHeightField; - } - set - { - this.barHeightField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool BarHeightSpecified - { - get - { - return this.barHeightFieldSpecified; - } - set - { - this.barHeightFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public int ThinBarWidth - { - get - { - return this.thinBarWidthField; - } - set - { - this.thinBarWidthField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool ThinBarWidthSpecified - { - get - { - return this.thinBarWidthFieldSpecified; - } - set - { - this.thinBarWidthFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=5)] - public BarcodeSymbologyType BarcodeSymbology - { - get - { - return this.barcodeSymbologyField; - } - set - { - this.barcodeSymbologyField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool BarcodeSymbologySpecified - { - get - { - return this.barcodeSymbologyFieldSpecified; - } - set - { - this.barcodeSymbologyFieldSpecified = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class DangerousGoodsShippersDeclarationDetail - { - - private ShippingDocumentFormat formatField; - - private CustomerImageUsage[] customerImageUsagesField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public ShippingDocumentFormat Format - { - get - { - return this.formatField; - } - set - { - this.formatField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("CustomerImageUsages", Order=1)] - public CustomerImageUsage[] CustomerImageUsages - { - get - { - return this.customerImageUsagesField; - } - set - { - this.customerImageUsagesField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class CustomerImageUsage - { - - private CustomerImageUsageType typeField; - - private bool typeFieldSpecified; - - private ImageId idField; - - private bool idFieldSpecified; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public CustomerImageUsageType Type - { - get - { - return this.typeField; - } - set - { - this.typeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool TypeSpecified - { - get - { - return this.typeFieldSpecified; - } - set - { - this.typeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public ImageId Id - { - get - { - return this.idField; - } - set - { - this.idField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool IdSpecified - { - get - { - return this.idFieldSpecified; - } - set - { - this.idFieldSpecified = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum CustomerImageUsageType - { - - /// - LETTER_HEAD, - - /// - SIGNATURE, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum ImageId - { - - /// - IMAGE_1, - - /// - IMAGE_2, - - /// - IMAGE_3, - - /// - IMAGE_4, - - /// - IMAGE_5, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class Op900Detail - { - - private ShippingDocumentFormat formatField; - - private CustomerReferenceType referenceField; - - private bool referenceFieldSpecified; - - private CustomerImageUsage[] customerImageUsagesField; - - private string signatureNameField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public ShippingDocumentFormat Format - { - get - { - return this.formatField; - } - set - { - this.formatField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public CustomerReferenceType Reference - { - get - { - return this.referenceField; - } - set - { - this.referenceField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool ReferenceSpecified - { - get - { - return this.referenceFieldSpecified; - } - set - { - this.referenceFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("CustomerImageUsages", Order=2)] - public CustomerImageUsage[] CustomerImageUsages - { - get - { - return this.customerImageUsagesField; - } - set - { - this.customerImageUsagesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public string SignatureName - { - get - { - return this.signatureNameField; - } - set - { - this.signatureNameField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class NaftaProducer - { - - private string idField; - - private Party producerField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public string Id - { - get - { - return this.idField; - } - set - { - this.idField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public Party Producer - { - get - { - return this.producerField; - } - set - { - this.producerField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - 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; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public ShippingDocumentFormat Format - { - get - { - return this.formatField; - } - set - { - this.formatField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public DateRange BlanketPeriod - { - get - { - return this.blanketPeriodField; - } - set - { - this.blanketPeriodField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public NaftaImporterSpecificationType ImporterSpecification - { - get - { - return this.importerSpecificationField; - } - set - { - this.importerSpecificationField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool ImporterSpecificationSpecified - { - get - { - return this.importerSpecificationFieldSpecified; - } - set - { - this.importerSpecificationFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public Contact SignatureContact - { - get - { - return this.signatureContactField; - } - set - { - this.signatureContactField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public NaftaProducerSpecificationType ProducerSpecification - { - get - { - return this.producerSpecificationField; - } - set - { - this.producerSpecificationField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool ProducerSpecificationSpecified - { - get - { - return this.producerSpecificationFieldSpecified; - } - set - { - this.producerSpecificationFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("Producers", Order=5)] - public NaftaProducer[] Producers - { - get - { - return this.producersField; - } - set - { - this.producersField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("CustomerImageUsages", Order=6)] - public CustomerImageUsage[] CustomerImageUsages - { - get - { - return this.customerImageUsagesField; - } - set - { - this.customerImageUsagesField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class DateRange - { - - private System.DateTime beginsField; - - private bool beginsFieldSpecified; - - private System.DateTime endsField; - - private bool endsFieldSpecified; - - /// - [System.Xml.Serialization.XmlElementAttribute(DataType="date", Order=0)] - public System.DateTime Begins - { - get - { - return this.beginsField; - } - set - { - this.beginsField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool BeginsSpecified - { - get - { - return this.beginsFieldSpecified; - } - set - { - this.beginsFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(DataType="date", Order=1)] - public System.DateTime Ends - { - get - { - return this.endsField; - } - set - { - this.endsField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool EndsSpecified - { - get - { - return this.endsFieldSpecified; - } - set - { - this.endsFieldSpecified = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum NaftaImporterSpecificationType - { - - /// - IMPORTER_OF_RECORD, - - /// - RECIPIENT, - - /// - UNKNOWN, - - /// - VARIOUS, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum NaftaProducerSpecificationType - { - - /// - AVAILABLE_UPON_REQUEST, - - /// - MULTIPLE_SPECIFIED, - - /// - SAME, - - /// - SINGLE_SPECIFIED, - - /// - UNKNOWN, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class GeneralAgencyAgreementDetail - { - - private ShippingDocumentFormat formatField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public ShippingDocumentFormat Format - { - get - { - return this.formatField; - } - set - { - this.formatField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class ExportDeclarationDetail - { - - private ShippingDocumentFormat documentFormatField; - - private CustomerImageUsage[] customerImageUsagesField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public ShippingDocumentFormat DocumentFormat - { - get - { - return this.documentFormatField; - } - set - { - this.documentFormatField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("CustomerImageUsages", Order=1)] - public CustomerImageUsage[] CustomerImageUsages - { - get - { - return this.customerImageUsagesField; - } - set - { - this.customerImageUsagesField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class CustomDocumentDetail - { - - private ShippingDocumentFormat formatField; - - private LabelPrintingOrientationType labelPrintingOrientationField; - - private bool labelPrintingOrientationFieldSpecified; - - private LabelRotationType labelRotationField; - - private bool labelRotationFieldSpecified; - - private string specificationIdField; - - private CustomLabelDetail customContentField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public ShippingDocumentFormat Format - { - get - { - return this.formatField; - } - set - { - this.formatField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public LabelPrintingOrientationType LabelPrintingOrientation - { - get - { - return this.labelPrintingOrientationField; - } - set - { - this.labelPrintingOrientationField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool LabelPrintingOrientationSpecified - { - get - { - return this.labelPrintingOrientationFieldSpecified; - } - set - { - this.labelPrintingOrientationFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public LabelRotationType LabelRotation - { - get - { - return this.labelRotationField; - } - set - { - this.labelRotationField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool LabelRotationSpecified - { - get - { - return this.labelRotationFieldSpecified; - } - set - { - this.labelRotationFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public string SpecificationId - { - get - { - return this.specificationIdField; - } - set - { - this.specificationIdField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public CustomLabelDetail CustomContent - { - get - { - return this.customContentField; - } - set - { - this.customContentField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum LabelPrintingOrientationType - { - - /// - BOTTOM_EDGE_OF_TEXT_FIRST, - - /// - TOP_EDGE_OF_TEXT_FIRST, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum LabelRotationType - { - - /// - LEFT, - - /// - NONE, - - /// - RIGHT, - - /// - UPSIDE_DOWN, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class CommercialInvoiceDetail - { - - private ShippingDocumentFormat formatField; - - private CustomerImageUsage[] customerImageUsagesField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public ShippingDocumentFormat Format - { - get - { - return this.formatField; - } - set - { - this.formatField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("CustomerImageUsages", Order=1)] - public CustomerImageUsage[] CustomerImageUsages - { - get - { - return this.customerImageUsagesField; - } - set - { - this.customerImageUsagesField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class CertificateOfOriginDetail - { - - private ShippingDocumentFormat documentFormatField; - - private CustomerImageUsage[] customerImageUsagesField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public ShippingDocumentFormat DocumentFormat - { - get - { - return this.documentFormatField; - } - set - { - this.documentFormatField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("CustomerImageUsages", Order=1)] - public CustomerImageUsage[] CustomerImageUsages - { - get - { - return this.customerImageUsagesField; - } - set - { - this.customerImageUsagesField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class ShippingDocumentSpecification - { - - private RequestedShippingDocumentType[] shippingDocumentTypesField; - - private CertificateOfOriginDetail certificateOfOriginField; - - private CommercialInvoiceDetail commercialInvoiceDetailField; - - private CustomDocumentDetail[] customPackageDocumentDetailField; - - private CustomDocumentDetail[] customShipmentDocumentDetailField; - - private ExportDeclarationDetail exportDeclarationDetailField; - - private GeneralAgencyAgreementDetail generalAgencyAgreementDetailField; - - private NaftaCertificateOfOriginDetail naftaCertificateOfOriginDetailField; - - private Op900Detail op900DetailField; - - private DangerousGoodsShippersDeclarationDetail dangerousGoodsShippersDeclarationDetailField; - - private FreightAddressLabelDetail freightAddressLabelDetailField; - - private ReturnInstructionsDetail returnInstructionsDetailField; - - /// - [System.Xml.Serialization.XmlElementAttribute("ShippingDocumentTypes", Order=0)] - public RequestedShippingDocumentType[] ShippingDocumentTypes - { - get - { - return this.shippingDocumentTypesField; - } - set - { - this.shippingDocumentTypesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public CertificateOfOriginDetail CertificateOfOrigin - { - get - { - return this.certificateOfOriginField; - } - set - { - this.certificateOfOriginField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public CommercialInvoiceDetail CommercialInvoiceDetail - { - get - { - return this.commercialInvoiceDetailField; - } - set - { - this.commercialInvoiceDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("CustomPackageDocumentDetail", Order=3)] - public CustomDocumentDetail[] CustomPackageDocumentDetail - { - get - { - return this.customPackageDocumentDetailField; - } - set - { - this.customPackageDocumentDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("CustomShipmentDocumentDetail", Order=4)] - public CustomDocumentDetail[] CustomShipmentDocumentDetail - { - get - { - return this.customShipmentDocumentDetailField; - } - set - { - this.customShipmentDocumentDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=5)] - public ExportDeclarationDetail ExportDeclarationDetail - { - get - { - return this.exportDeclarationDetailField; - } - set - { - this.exportDeclarationDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=6)] - public GeneralAgencyAgreementDetail GeneralAgencyAgreementDetail - { - get - { - return this.generalAgencyAgreementDetailField; - } - set - { - this.generalAgencyAgreementDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=7)] - public NaftaCertificateOfOriginDetail NaftaCertificateOfOriginDetail - { - get - { - return this.naftaCertificateOfOriginDetailField; - } - set - { - this.naftaCertificateOfOriginDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=8)] - public Op900Detail Op900Detail - { - get - { - return this.op900DetailField; - } - set - { - this.op900DetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=9)] - public DangerousGoodsShippersDeclarationDetail DangerousGoodsShippersDeclarationDetail - { - get - { - return this.dangerousGoodsShippersDeclarationDetailField; - } - set - { - this.dangerousGoodsShippersDeclarationDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=10)] - public FreightAddressLabelDetail FreightAddressLabelDetail - { - get - { - return this.freightAddressLabelDetailField; - } - set - { - this.freightAddressLabelDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=11)] - public ReturnInstructionsDetail ReturnInstructionsDetail - { - get - { - return this.returnInstructionsDetailField; - } - set - { - this.returnInstructionsDetailField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum RequestedShippingDocumentType - { - - /// - CERTIFICATE_OF_ORIGIN, - - /// - COMMERCIAL_INVOICE, - - /// - CUSTOMER_SPECIFIED_LABELS, - - /// - DANGEROUS_GOODS_SHIPPERS_DECLARATION, - - /// - EXPORT_DECLARATION, - - /// - GENERAL_AGENCY_AGREEMENT, - - /// - LABEL, - - /// - NAFTA_CERTIFICATE_OF_ORIGIN, - - /// - PRO_FORMA_INVOICE, - - /// - RETURN_INSTRUCTIONS, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class AdditionalLabelsDetail - { - - private AdditionalLabelsType typeField; - - private bool typeFieldSpecified; - - private string countField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public AdditionalLabelsType Type - { - get - { - return this.typeField; - } - set - { - this.typeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool TypeSpecified - { - get - { - return this.typeFieldSpecified; - } - set - { - this.typeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(DataType="nonNegativeInteger", Order=1)] - public string Count - { - get - { - return this.countField; - } - set - { - this.countField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum AdditionalLabelsType - { - - /// - BROKER, - - /// - CONSIGNEE, - - /// - CUSTOMS, - - /// - DESTINATION, - - /// - MANIFEST, - - /// - ORIGIN, - - /// - RECIPIENT, - - /// - SHIPPER, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class RegulatoryLabelContentDetail - { - - private RegulatoryLabelType typeField; - - private bool typeFieldSpecified; - - private CustomerSpecifiedLabelGenerationOptionType[] generationOptionsField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public RegulatoryLabelType Type - { - get - { - return this.typeField; - } - set - { - this.typeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool TypeSpecified - { - get - { - return this.typeFieldSpecified; - } - set - { - this.typeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("GenerationOptions", Order=1)] - public CustomerSpecifiedLabelGenerationOptionType[] GenerationOptions - { - get - { - return this.generationOptionsField; - } - set - { - this.generationOptionsField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum RegulatoryLabelType - { - - /// - ALCOHOL_SHIPMENT_LABEL, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum CustomerSpecifiedLabelGenerationOptionType - { - - /// - CONTENT_ON_SHIPPING_LABEL_ONLY, - - /// - CONTENT_ON_SHIPPING_LABEL_PREFERRED, - - /// - CONTENT_ON_SUPPLEMENTAL_LABEL_ONLY, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class ConfigurableLabelReferenceEntry - { - - private string zoneNumberField; - - private string headerField; - - private string dataFieldField; - - private string literalValueField; - - /// - [System.Xml.Serialization.XmlElementAttribute(DataType="positiveInteger", Order=0)] - public string ZoneNumber - { - get - { - return this.zoneNumberField; - } - set - { - this.zoneNumberField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string Header - { - get - { - return this.headerField; - } - set - { - this.headerField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public string DataField - { - get - { - return this.dataFieldField; - } - set - { - this.dataFieldField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public string LiteralValue - { - get - { - return this.literalValueField; - } - set - { - this.literalValueField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class CustomerSpecifiedLabelDetail - { - - private DocTabContent docTabContentField; - - private RelativeVerticalPositionType customContentPositionField; - - private bool customContentPositionFieldSpecified; - - private CustomLabelDetail customContentField; - - private ConfigurableLabelReferenceEntry[] configurableReferenceEntriesField; - - private LabelMaskableDataType[] maskedDataField; - - private SecondaryBarcodeType secondaryBarcodeField; - - private bool secondaryBarcodeFieldSpecified; - - private Localization termsAndConditionsLocalizationField; - - private RegulatoryLabelContentDetail[] regulatoryLabelsField; - - private AdditionalLabelsDetail[] additionalLabelsField; - - private string airWaybillSuppressionCountField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public DocTabContent DocTabContent - { - get - { - return this.docTabContentField; - } - set - { - this.docTabContentField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public RelativeVerticalPositionType CustomContentPosition - { - get - { - return this.customContentPositionField; - } - set - { - this.customContentPositionField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool CustomContentPositionSpecified - { - get - { - return this.customContentPositionFieldSpecified; - } - set - { - this.customContentPositionFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public CustomLabelDetail CustomContent - { - get - { - return this.customContentField; - } - set - { - this.customContentField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("ConfigurableReferenceEntries", Order=3)] - public ConfigurableLabelReferenceEntry[] ConfigurableReferenceEntries - { - get - { - return this.configurableReferenceEntriesField; - } - set - { - this.configurableReferenceEntriesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("MaskedData", Order=4)] - public LabelMaskableDataType[] MaskedData - { - get - { - return this.maskedDataField; - } - set - { - this.maskedDataField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=5)] - public SecondaryBarcodeType SecondaryBarcode - { - get - { - return this.secondaryBarcodeField; - } - set - { - this.secondaryBarcodeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool SecondaryBarcodeSpecified - { - get - { - return this.secondaryBarcodeFieldSpecified; - } - set - { - this.secondaryBarcodeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=6)] - public Localization TermsAndConditionsLocalization - { - get - { - return this.termsAndConditionsLocalizationField; - } - set - { - this.termsAndConditionsLocalizationField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("RegulatoryLabels", Order=7)] - public RegulatoryLabelContentDetail[] RegulatoryLabels - { - get - { - return this.regulatoryLabelsField; - } - set - { - this.regulatoryLabelsField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("AdditionalLabels", Order=8)] - public AdditionalLabelsDetail[] AdditionalLabels - { - get - { - return this.additionalLabelsField; - } - set - { - this.additionalLabelsField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(DataType="nonNegativeInteger", Order=9)] - public string AirWaybillSuppressionCount - { - get - { - return this.airWaybillSuppressionCountField; - } - set - { - this.airWaybillSuppressionCountField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum LabelMaskableDataType - { - - /// - CUSTOMS_VALUE, - - /// - DIMENSIONS, - - /// - DUTIES_AND_TAXES_PAYOR_ACCOUNT_NUMBER, - - /// - FREIGHT_PAYOR_ACCOUNT_NUMBER, - - /// - PACKAGE_SEQUENCE_AND_COUNT, - - /// - SECONDARY_BARCODE, - - /// - SHIPPER_ACCOUNT_NUMBER, - - /// - SUPPLEMENTAL_LABEL_DOC_TAB, - - /// - TERMS_AND_CONDITIONS, - - /// - TOTAL_WEIGHT, - - /// - TRANSPORTATION_CHARGES_PAYOR_ACCOUNT_NUMBER, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum SecondaryBarcodeType - { - - /// - COMMON_2D, - - /// - NONE, - - /// - SSCC_18, - - /// - USPS, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - 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 LabelOrderType labelOrderField; - - private bool labelOrderFieldSpecified; - - private ContactAndAddress printedLabelOriginField; - - private CustomerSpecifiedLabelDetail customerSpecifiedDetailField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public LabelFormatType LabelFormatType - { - get - { - return this.labelFormatTypeField; - } - set - { - this.labelFormatTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool LabelFormatTypeSpecified - { - get - { - return this.labelFormatTypeFieldSpecified; - } - set - { - this.labelFormatTypeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public ShippingDocumentImageType ImageType - { - get - { - return this.imageTypeField; - } - set - { - this.imageTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool ImageTypeSpecified - { - get - { - return this.imageTypeFieldSpecified; - } - set - { - this.imageTypeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public LabelStockType LabelStockType - { - get - { - return this.labelStockTypeField; - } - set - { - this.labelStockTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool LabelStockTypeSpecified - { - get - { - return this.labelStockTypeFieldSpecified; - } - set - { - this.labelStockTypeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public LabelPrintingOrientationType LabelPrintingOrientation - { - get - { - return this.labelPrintingOrientationField; - } - set - { - this.labelPrintingOrientationField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool LabelPrintingOrientationSpecified - { - get - { - return this.labelPrintingOrientationFieldSpecified; - } - set - { - this.labelPrintingOrientationFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public LabelRotationType LabelRotation - { - get - { - return this.labelRotationField; - } - set - { - this.labelRotationField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool LabelRotationSpecified - { - get - { - return this.labelRotationFieldSpecified; - } - set - { - this.labelRotationFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=5)] - public LabelOrderType LabelOrder - { - get - { - return this.labelOrderField; - } - set - { - this.labelOrderField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool LabelOrderSpecified - { - get - { - return this.labelOrderFieldSpecified; - } - set - { - this.labelOrderFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=6)] - public ContactAndAddress PrintedLabelOrigin - { - get - { - return this.printedLabelOriginField; - } - set - { - this.printedLabelOriginField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=7)] - public CustomerSpecifiedLabelDetail CustomerSpecifiedDetail - { - get - { - return this.customerSpecifiedDetailField; - } - set - { - this.customerSpecifiedDetailField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum LabelFormatType - { - - /// - COMMON2D, - - /// - LABEL_DATA_ONLY, - - /// - MAILROOM, - - /// - NO_LABEL, - - /// - OPERATIONAL_LABEL, - - /// - PRE_COMMON2D, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum LabelStockType - { - - /// - PAPER_4X6, - - /// - PAPER_4X8, - - /// - PAPER_4X9, - - /// - [System.Xml.Serialization.XmlEnumAttribute("PAPER_7X4.75")] - PAPER_7X475, - - /// - [System.Xml.Serialization.XmlEnumAttribute("PAPER_8.5X11_BOTTOM_HALF_LABEL")] - PAPER_85X11_BOTTOM_HALF_LABEL, - - /// - [System.Xml.Serialization.XmlEnumAttribute("PAPER_8.5X11_TOP_HALF_LABEL")] - PAPER_85X11_TOP_HALF_LABEL, - - /// - STOCK_4X6, - - /// - [System.Xml.Serialization.XmlEnumAttribute("STOCK_4X6.75_LEADING_DOC_TAB")] - STOCK_4X675_LEADING_DOC_TAB, - - /// - [System.Xml.Serialization.XmlEnumAttribute("STOCK_4X6.75_TRAILING_DOC_TAB")] - STOCK_4X675_TRAILING_DOC_TAB, - - /// - STOCK_4X8, - - /// - STOCK_4X9_LEADING_DOC_TAB, - - /// - STOCK_4X9_TRAILING_DOC_TAB, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum LabelOrderType - { - - /// - SHIPPING_LABEL_FIRST, - - /// - SHIPPING_LABEL_LAST, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class SmartPostShipmentDetail - { - - private SmartPostShipmentProcessingOptionType[] processingOptionsRequestedField; - - private SmartPostIndiciaType indiciaField; - - private bool indiciaFieldSpecified; - - private SmartPostAncillaryEndorsementType ancillaryEndorsementField; - - private bool ancillaryEndorsementFieldSpecified; - - private string hubIdField; - - private string customerManifestIdField; - - /// - [System.Xml.Serialization.XmlArrayAttribute(Order=0)] - [System.Xml.Serialization.XmlArrayItemAttribute("Options", IsNullable=false)] - public SmartPostShipmentProcessingOptionType[] ProcessingOptionsRequested - { - get - { - return this.processingOptionsRequestedField; - } - set - { - this.processingOptionsRequestedField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public SmartPostIndiciaType Indicia - { - get - { - return this.indiciaField; - } - set - { - this.indiciaField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool IndiciaSpecified - { - get - { - return this.indiciaFieldSpecified; - } - set - { - this.indiciaFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public SmartPostAncillaryEndorsementType AncillaryEndorsement - { - get - { - return this.ancillaryEndorsementField; - } - set - { - this.ancillaryEndorsementField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool AncillaryEndorsementSpecified - { - get - { - return this.ancillaryEndorsementFieldSpecified; - } - set - { - this.ancillaryEndorsementFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public string HubId - { - get - { - return this.hubIdField; - } - set - { - this.hubIdField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public string CustomerManifestId - { - get - { - return this.customerManifestIdField; - } - set - { - this.customerManifestIdField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum SmartPostShipmentProcessingOptionType - { - - /// - GROUND_TRACKING_NUMBER_REQUESTED, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum SmartPostAncillaryEndorsementType - { - - /// - ADDRESS_CORRECTION, - - /// - CARRIER_LEAVE_IF_NO_RESPONSE, - - /// - CHANGE_SERVICE, - - /// - FORWARDING_SERVICE, - - /// - RETURN_SERVICE, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - 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; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public System.DateTime ReadyDateTime - { - get - { - return this.readyDateTimeField; - } - set - { - this.readyDateTimeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool ReadyDateTimeSpecified - { - get - { - return this.readyDateTimeFieldSpecified; - } - set - { - this.readyDateTimeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public System.DateTime LatestPickupDateTime - { - get - { - return this.latestPickupDateTimeField; - } - set - { - this.latestPickupDateTimeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool LatestPickupDateTimeSpecified - { - get - { - return this.latestPickupDateTimeFieldSpecified; - } - set - { - this.latestPickupDateTimeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public string CourierInstructions - { - get - { - return this.courierInstructionsField; - } - set - { - this.courierInstructionsField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public PickupRequestType RequestType - { - get - { - return this.requestTypeField; - } - set - { - this.requestTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool RequestTypeSpecified - { - get - { - return this.requestTypeFieldSpecified; - } - set - { - this.requestTypeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public PickupRequestSourceType RequestSource - { - get - { - return this.requestSourceField; - } - set - { - this.requestSourceField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool RequestSourceSpecified - { - get - { - return this.requestSourceFieldSpecified; - } - set - { - this.requestSourceFieldSpecified = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum PickupRequestType - { - - /// - FUTURE_DAY, - - /// - SAME_DAY, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum PickupRequestSourceType - { - - /// - AUTOMATION, - - /// - CUSTOMER_SERVICE, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class DestinationControlDetail - { - - private DestinationControlStatementType[] statementTypesField; - - private string destinationCountriesField; - - private string endUserField; - - /// - [System.Xml.Serialization.XmlElementAttribute("StatementTypes", Order=0)] - public DestinationControlStatementType[] StatementTypes - { - get - { - return this.statementTypesField; - } - set - { - this.statementTypesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string DestinationCountries - { - get - { - return this.destinationCountriesField; - } - set - { - this.destinationCountriesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public string EndUser - { - get - { - return this.endUserField; - } - set - { - this.endUserField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum DestinationControlStatementType - { - - /// - DEPARTMENT_OF_COMMERCE, - - /// - DEPARTMENT_OF_STATE, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class ExportDetail - { - - private B13AFilingOptionType b13AFilingOptionField; - - private bool b13AFilingOptionFieldSpecified; - - private string exportComplianceStatementField; - - private string permitNumberField; - - private DestinationControlDetail destinationControlDetailField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public B13AFilingOptionType B13AFilingOption - { - get - { - return this.b13AFilingOptionField; - } - set - { - this.b13AFilingOptionField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool B13AFilingOptionSpecified - { - get - { - return this.b13AFilingOptionFieldSpecified; - } - set - { - this.b13AFilingOptionFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string ExportComplianceStatement - { - get - { - return this.exportComplianceStatementField; - } - set - { - this.exportComplianceStatementField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public string PermitNumber - { - get - { - return this.permitNumberField; - } - set - { - this.permitNumberField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public DestinationControlDetail DestinationControlDetail - { - get - { - return this.destinationControlDetailField; - } - set - { - this.destinationControlDetailField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum B13AFilingOptionType - { - - /// - FEDEX_TO_STAMP, - - /// - FILED_ELECTRONICALLY, - - /// - MANUALLY_ATTACHED, - - /// - NOT_REQUIRED, - - /// - SUMMARY_REPORTING, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - 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; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public NaftaPreferenceCriterionCode PreferenceCriterion - { - get - { - return this.preferenceCriterionField; - } - set - { - this.preferenceCriterionField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool PreferenceCriterionSpecified - { - get - { - return this.preferenceCriterionFieldSpecified; - } - set - { - this.preferenceCriterionFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public NaftaProducerDeterminationCode ProducerDetermination - { - get - { - return this.producerDeterminationField; - } - set - { - this.producerDeterminationField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool ProducerDeterminationSpecified - { - get - { - return this.producerDeterminationFieldSpecified; - } - set - { - this.producerDeterminationFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public string ProducerId - { - get - { - return this.producerIdField; - } - set - { - this.producerIdField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public NaftaNetCostMethodCode NetCostMethod - { - get - { - return this.netCostMethodField; - } - set - { - this.netCostMethodField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool NetCostMethodSpecified - { - get - { - return this.netCostMethodFieldSpecified; - } - set - { - this.netCostMethodFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public DateRange NetCostDateRange - { - get - { - return this.netCostDateRangeField; - } - set - { - this.netCostDateRangeField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum NaftaPreferenceCriterionCode - { - - /// - A, - - /// - B, - - /// - C, - - /// - D, - - /// - E, - - /// - F, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum NaftaProducerDeterminationCode - { - - /// - NO_1, - - /// - NO_2, - - /// - NO_3, - - /// - YES, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum NaftaNetCostMethodCode - { - - /// - NC, - - /// - NO, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class EdtExciseCondition - { - - private string categoryField; - - private string valueField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public string Category - { - get - { - return this.categoryField; - } - set - { - this.categoryField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string Value - { - get - { - return this.valueField; - } - set - { - this.valueField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class Measure - { - - private decimal quantityField; - - private bool quantityFieldSpecified; - - private string unitsField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public decimal Quantity - { - get - { - return this.quantityField; - } - set - { - this.quantityField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool QuantitySpecified - { - get - { - return this.quantityFieldSpecified; - } - set - { - this.quantityFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string Units - { - get - { - return this.unitsField; - } - set - { - this.unitsField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class Commodity - { - - private string nameField; - - private string numberOfPiecesField; - - private string descriptionField; - - private string countryOfManufactureField; - - private string harmonizedCodeField; - - private Weight weightField; - - private decimal quantityField; - - private bool quantityFieldSpecified; - - 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 string partNumberField; - - private NaftaCommodityDetail naftaDetailField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public string Name - { - get - { - return this.nameField; - } - set - { - this.nameField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(DataType="nonNegativeInteger", Order=1)] - public string NumberOfPieces - { - get - { - return this.numberOfPiecesField; - } - set - { - this.numberOfPiecesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public string Description - { - get - { - return this.descriptionField; - } - set - { - this.descriptionField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public string CountryOfManufacture - { - get - { - return this.countryOfManufactureField; - } - set - { - this.countryOfManufactureField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public string HarmonizedCode - { - get - { - return this.harmonizedCodeField; - } - set - { - this.harmonizedCodeField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=5)] - public Weight Weight - { - get - { - return this.weightField; - } - set - { - this.weightField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=6)] - public decimal Quantity - { - get - { - return this.quantityField; - } - set - { - this.quantityField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool QuantitySpecified - { - get - { - return this.quantityFieldSpecified; - } - set - { - this.quantityFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=7)] - public string QuantityUnits - { - get - { - return this.quantityUnitsField; - } - set - { - this.quantityUnitsField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("AdditionalMeasures", Order=8)] - public Measure[] AdditionalMeasures - { - get - { - return this.additionalMeasuresField; - } - set - { - this.additionalMeasuresField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=9)] - public Money UnitPrice - { - get - { - return this.unitPriceField; - } - set - { - this.unitPriceField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=10)] - public Money CustomsValue - { - get - { - return this.customsValueField; - } - set - { - this.customsValueField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("ExciseConditions", Order=11)] - public EdtExciseCondition[] ExciseConditions - { - get - { - return this.exciseConditionsField; - } - set - { - this.exciseConditionsField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=12)] - public string ExportLicenseNumber - { - get - { - return this.exportLicenseNumberField; - } - set - { - this.exportLicenseNumberField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(DataType="date", Order=13)] - public System.DateTime ExportLicenseExpirationDate - { - get - { - return this.exportLicenseExpirationDateField; - } - set - { - this.exportLicenseExpirationDateField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool ExportLicenseExpirationDateSpecified - { - get - { - return this.exportLicenseExpirationDateFieldSpecified; - } - set - { - this.exportLicenseExpirationDateFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=14)] - public string CIMarksAndNumbers - { - get - { - return this.cIMarksAndNumbersField; - } - set - { - this.cIMarksAndNumbersField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=15)] - public string PartNumber - { - get - { - return this.partNumberField; - } - set - { - this.partNumberField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=16)] - public NaftaCommodityDetail NaftaDetail - { - get - { - return this.naftaDetailField; - } - set - { - this.naftaDetailField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class CommercialInvoice - { - - private string[] commentsField; - - private Money freightChargeField; - - private Money taxesOrMiscellaneousChargeField; - - private TaxesOrMiscellaneousChargeType taxesOrMiscellaneousChargeTypeField; - - private bool taxesOrMiscellaneousChargeTypeFieldSpecified; - - private Money packingCostsField; - - private Money handlingCostsField; - - private string specialInstructionsField; - - private string declarationStatementField; - - private string paymentTermsField; - - private PurposeOfShipmentType purposeField; - - private bool purposeFieldSpecified; - - private string originatorNameField; - - private string termsOfSaleField; - - /// - [System.Xml.Serialization.XmlElementAttribute("Comments", Order=0)] - public string[] Comments - { - get - { - return this.commentsField; - } - set - { - this.commentsField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public Money FreightCharge - { - get - { - return this.freightChargeField; - } - set - { - this.freightChargeField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public Money TaxesOrMiscellaneousCharge - { - get - { - return this.taxesOrMiscellaneousChargeField; - } - set - { - this.taxesOrMiscellaneousChargeField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public TaxesOrMiscellaneousChargeType TaxesOrMiscellaneousChargeType - { - get - { - return this.taxesOrMiscellaneousChargeTypeField; - } - set - { - this.taxesOrMiscellaneousChargeTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool TaxesOrMiscellaneousChargeTypeSpecified - { - get - { - return this.taxesOrMiscellaneousChargeTypeFieldSpecified; - } - set - { - this.taxesOrMiscellaneousChargeTypeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public Money PackingCosts - { - get - { - return this.packingCostsField; - } - set - { - this.packingCostsField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=5)] - public Money HandlingCosts - { - get - { - return this.handlingCostsField; - } - set - { - this.handlingCostsField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=6)] - public string SpecialInstructions - { - get - { - return this.specialInstructionsField; - } - set - { - this.specialInstructionsField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=7)] - public string DeclarationStatement - { - get - { - return this.declarationStatementField; - } - set - { - this.declarationStatementField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=8)] - public string PaymentTerms - { - get - { - return this.paymentTermsField; - } - set - { - this.paymentTermsField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=9)] - public PurposeOfShipmentType Purpose - { - get - { - return this.purposeField; - } - set - { - this.purposeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool PurposeSpecified - { - get - { - return this.purposeFieldSpecified; - } - set - { - this.purposeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=10)] - public string OriginatorName - { - get - { - return this.originatorNameField; - } - set - { - this.originatorNameField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=11)] - public string TermsOfSale - { - get - { - return this.termsOfSaleField; - } - set - { - this.termsOfSaleField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum TaxesOrMiscellaneousChargeType - { - - /// - COMMISSIONS, - - /// - DISCOUNTS, - - /// - HANDLING_FEES, - - /// - OTHER, - - /// - ROYALTIES_AND_LICENSE_FEES, - - /// - TAXES, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum PurposeOfShipmentType - { - - /// - GIFT, - - /// - NOT_SOLD, - - /// - PERSONAL_EFFECTS, - - /// - REPAIR_AND_RETURN, - - /// - SAMPLE, - - /// - SOLD, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class RecipientCustomsId - { - - private RecipientCustomsIdType typeField; - - private bool typeFieldSpecified; - - private string valueField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public RecipientCustomsIdType Type - { - get - { - return this.typeField; - } - set - { - this.typeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool TypeSpecified - { - get - { - return this.typeFieldSpecified; - } - set - { - this.typeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string Value - { - get - { - return this.valueField; - } - set - { - this.valueField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum RecipientCustomsIdType - { - - /// - COMPANY, - - /// - INDIVIDUAL, - - /// - PASSPORT, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class CustomsOptionDetail - { - - private CustomsOptionType typeField; - - private bool typeFieldSpecified; - - private string descriptionField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public CustomsOptionType Type - { - get - { - return this.typeField; - } - set - { - this.typeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool TypeSpecified - { - get - { - return this.typeFieldSpecified; - } - set - { - this.typeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string Description - { - get - { - return this.descriptionField; - } - set - { - this.descriptionField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum CustomsOptionType - { - - /// - COURTESY_RETURN_LABEL, - - /// - EXHIBITION_TRADE_SHOW, - - /// - FAULTY_ITEM, - - /// - FOLLOWING_REPAIR, - - /// - FOR_REPAIR, - - /// - ITEM_FOR_LOAN, - - /// - OTHER, - - /// - REJECTED, - - /// - REPLACEMENT, - - /// - TRIAL, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class BrokerDetail - { - - private BrokerType typeField; - - private bool typeFieldSpecified; - - private Party brokerField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public BrokerType Type - { - get - { - return this.typeField; - } - set - { - this.typeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool TypeSpecified - { - get - { - return this.typeFieldSpecified; - } - set - { - this.typeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public Party Broker - { - get - { - return this.brokerField; - } - set - { - this.brokerField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum BrokerType - { - - /// - EXPORT, - - /// - IMPORT, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class CustomsClearanceDetail - { - - private BrokerDetail[] brokersField; - - private ClearanceBrokerageType clearanceBrokerageField; - - private bool clearanceBrokerageFieldSpecified; - - private CustomsOptionDetail customsOptionsField; - - private Party importerOfRecordField; - - private RecipientCustomsId recipientCustomsIdField; - - private Payment dutiesPaymentField; - - private InternationalDocumentContentType documentContentField; - - private bool documentContentFieldSpecified; - - private Money customsValueField; - - private FreightOnValueType freightOnValueField; - - private bool freightOnValueFieldSpecified; - - private Money insuranceChargesField; - - private bool partiesToTransactionAreRelatedField; - - private bool partiesToTransactionAreRelatedFieldSpecified; - - private CommercialInvoice commercialInvoiceField; - - private Commodity[] commoditiesField; - - private ExportDetail exportDetailField; - - private RegulatoryControlType[] regulatoryControlsField; - - /// - [System.Xml.Serialization.XmlElementAttribute("Brokers", Order=0)] - public BrokerDetail[] Brokers - { - get - { - return this.brokersField; - } - set - { - this.brokersField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public ClearanceBrokerageType ClearanceBrokerage - { - get - { - return this.clearanceBrokerageField; - } - set - { - this.clearanceBrokerageField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool ClearanceBrokerageSpecified - { - get - { - return this.clearanceBrokerageFieldSpecified; - } - set - { - this.clearanceBrokerageFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public CustomsOptionDetail CustomsOptions - { - get - { - return this.customsOptionsField; - } - set - { - this.customsOptionsField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public Party ImporterOfRecord - { - get - { - return this.importerOfRecordField; - } - set - { - this.importerOfRecordField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public RecipientCustomsId RecipientCustomsId - { - get - { - return this.recipientCustomsIdField; - } - set - { - this.recipientCustomsIdField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=5)] - public Payment DutiesPayment - { - get - { - return this.dutiesPaymentField; - } - set - { - this.dutiesPaymentField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=6)] - public InternationalDocumentContentType DocumentContent - { - get - { - return this.documentContentField; - } - set - { - this.documentContentField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool DocumentContentSpecified - { - get - { - return this.documentContentFieldSpecified; - } - set - { - this.documentContentFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=7)] - public Money CustomsValue - { - get - { - return this.customsValueField; - } - set - { - this.customsValueField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=8)] - public FreightOnValueType FreightOnValue - { - get - { - return this.freightOnValueField; - } - set - { - this.freightOnValueField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool FreightOnValueSpecified - { - get - { - return this.freightOnValueFieldSpecified; - } - set - { - this.freightOnValueFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=9)] - public Money InsuranceCharges - { - get - { - return this.insuranceChargesField; - } - set - { - this.insuranceChargesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=10)] - public bool PartiesToTransactionAreRelated - { - get - { - return this.partiesToTransactionAreRelatedField; - } - set - { - this.partiesToTransactionAreRelatedField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool PartiesToTransactionAreRelatedSpecified - { - get - { - return this.partiesToTransactionAreRelatedFieldSpecified; - } - set - { - this.partiesToTransactionAreRelatedFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=11)] - public CommercialInvoice CommercialInvoice - { - get - { - return this.commercialInvoiceField; - } - set - { - this.commercialInvoiceField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("Commodities", Order=12)] - public Commodity[] Commodities - { - get - { - return this.commoditiesField; - } - set - { - this.commoditiesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=13)] - public ExportDetail ExportDetail - { - get - { - return this.exportDetailField; - } - set - { - this.exportDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("RegulatoryControls", Order=14)] - public RegulatoryControlType[] RegulatoryControls - { - get - { - return this.regulatoryControlsField; - } - set - { - this.regulatoryControlsField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum ClearanceBrokerageType - { - - /// - BROKER_INCLUSIVE, - - /// - BROKER_INCLUSIVE_NON_RESIDENT_IMPORTER, - - /// - BROKER_SELECT, - - /// - BROKER_SELECT_NON_RESIDENT_IMPORTER, - - /// - BROKER_UNASSIGNED, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class Payment - { - - private PaymentType paymentTypeField; - - private bool paymentTypeFieldSpecified; - - private Payor payorField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public PaymentType PaymentType - { - get - { - return this.paymentTypeField; - } - set - { - this.paymentTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool PaymentTypeSpecified - { - get - { - return this.paymentTypeFieldSpecified; - } - set - { - this.paymentTypeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public Payor Payor - { - get - { - return this.payorField; - } - set - { - this.payorField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum PaymentType - { - - /// - SENDER, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class Payor - { - - private Party responsiblePartyField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public Party ResponsibleParty - { - get - { - return this.responsiblePartyField; - } - set - { - this.responsiblePartyField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum FreightOnValueType - { - - /// - CARRIER_RISK, - - /// - OWN_RISK, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum RegulatoryControlType - { - - /// - EU_CIRCULATION, - - /// - FOOD_OR_PERISHABLE, - - /// - NAFTA, - - /// - NOT_APPLICABLE_FOR_LOW_CUSTOMS_VALUE_EXCEPTION, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class Volume - { - - private VolumeUnits unitsField; - - private bool unitsFieldSpecified; - - private decimal valueField; - - private bool valueFieldSpecified; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public VolumeUnits Units - { - get - { - return this.unitsField; - } - set - { - this.unitsField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool UnitsSpecified - { - get - { - return this.unitsFieldSpecified; - } - set - { - this.unitsFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public decimal Value - { - get - { - return this.valueField; - } - set - { - this.valueField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool ValueSpecified - { - get - { - return this.valueFieldSpecified; - } - set - { - this.valueFieldSpecified = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum VolumeUnits - { - - /// - CUBIC_FT, - - /// - CUBIC_M, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class FreightShipmentLineItem - { - - private FreightClassType freightClassField; - - private bool freightClassFieldSpecified; - - private PhysicalPackagingType packagingField; - - private bool packagingFieldSpecified; - - private string piecesField; - - private string descriptionField; - - private Weight weightField; - - private Dimensions dimensionsField; - - private Volume volumeField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public FreightClassType FreightClass - { - get - { - return this.freightClassField; - } - set - { - this.freightClassField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool FreightClassSpecified - { - get - { - return this.freightClassFieldSpecified; - } - set - { - this.freightClassFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public PhysicalPackagingType Packaging - { - get - { - return this.packagingField; - } - set - { - this.packagingField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool PackagingSpecified - { - get - { - return this.packagingFieldSpecified; - } - set - { - this.packagingFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(DataType="nonNegativeInteger", Order=2)] - public string Pieces - { - get - { - return this.piecesField; - } - set - { - this.piecesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public string Description - { - get - { - return this.descriptionField; - } - set - { - this.descriptionField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public Weight Weight - { - get - { - return this.weightField; - } - set - { - this.weightField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=5)] - public Dimensions Dimensions - { - get - { - return this.dimensionsField; - } - set - { - this.dimensionsField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=6)] - public Volume Volume - { - get - { - return this.volumeField; - } - set - { - this.volumeField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class FreightSpecialServicePayment - { - - private ShipmentSpecialServiceType specialServiceField; - - private bool specialServiceFieldSpecified; - - private FreightShipmentRoleType paymentTypeField; - - private bool paymentTypeFieldSpecified; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public ShipmentSpecialServiceType SpecialService - { - get - { - return this.specialServiceField; - } - set - { - this.specialServiceField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool SpecialServiceSpecified - { - get - { - return this.specialServiceFieldSpecified; - } - set - { - this.specialServiceFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public FreightShipmentRoleType PaymentType - { - get - { - return this.paymentTypeField; - } - set - { - this.paymentTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool PaymentTypeSpecified - { - get - { - return this.paymentTypeFieldSpecified; - } - set - { - this.paymentTypeFieldSpecified = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum ShipmentSpecialServiceType - { - - /// - BROKER_SELECT_OPTION, - - /// - CALL_BEFORE_DELIVERY, - - /// - COD, - - /// - CUSTOM_DELIVERY_WINDOW, - - /// - DANGEROUS_GOODS, - - /// - DO_NOT_BREAK_DOWN_PALLETS, - - /// - DO_NOT_STACK_PALLETS, - - /// - DRY_ICE, - - /// - EAST_COAST_SPECIAL, - - /// - ELECTRONIC_TRADE_DOCUMENTS, - - /// - EMAIL_NOTIFICATION, - - /// - EXTREME_LENGTH, - - /// - FEDEX_ONE_RATE, - - /// - FOOD, - - /// - FREIGHT_GUARANTEE, - - /// - FREIGHT_TO_COLLECT, - - /// - FUTURE_DAY_SHIPMENT, - - /// - HOLD_AT_LOCATION, - - /// - HOME_DELIVERY_PREMIUM, - - /// - INSIDE_DELIVERY, - - /// - INSIDE_PICKUP, - - /// - INTERNATIONAL_CONTROLLED_EXPORT_SERVICE, - - /// - INTERNATIONAL_TRAFFIC_IN_ARMS_REGULATIONS, - - /// - LIFTGATE_DELIVERY, - - /// - LIFTGATE_PICKUP, - - /// - LIMITED_ACCESS_DELIVERY, - - /// - LIMITED_ACCESS_PICKUP, - - /// - PENDING_SHIPMENT, - - /// - PHARMACY_DELIVERY, - - /// - POISON, - - /// - PROTECTION_FROM_FREEZING, - - /// - RETURNS_CLEARANCE, - - /// - RETURN_SHIPMENT, - - /// - SATURDAY_DELIVERY, - - /// - SATURDAY_PICKUP, - - /// - TOP_LOAD, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum FreightShipmentRoleType - { - - /// - CONSIGNEE, - - /// - SHIPPER, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class LiabilityCoverageDetail - { - - private LiabilityCoverageType coverageTypeField; - - private bool coverageTypeFieldSpecified; - - private Money coverageAmountField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public LiabilityCoverageType CoverageType - { - get - { - return this.coverageTypeField; - } - set - { - this.coverageTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool CoverageTypeSpecified - { - get - { - return this.coverageTypeFieldSpecified; - } - set - { - this.coverageTypeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public Money CoverageAmount - { - get - { - return this.coverageAmountField; - } - set - { - this.coverageAmountField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum LiabilityCoverageType - { - - /// - NEW, - - /// - USED_OR_RECONDITIONED, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class FreightShipmentDetail - { - - private string fedExFreightAccountNumberField; - - private ContactAndAddress fedExFreightBillingContactAndAddressField; - - private Party alternateBillingField; - - private FreightShipmentRoleType roleField; - - private bool roleFieldSpecified; - - private FreightCollectTermsType collectTermsTypeField; - - private bool collectTermsTypeFieldSpecified; - - private Money declaredValuePerUnitField; - - private string declaredValueUnitsField; - - private LiabilityCoverageDetail liabilityCoverageDetailField; - - private string[] couponsField; - - private string totalHandlingUnitsField; - - private decimal clientDiscountPercentField; - - private bool clientDiscountPercentFieldSpecified; - - private Weight palletWeightField; - - private Dimensions shipmentDimensionsField; - - private string commentField; - - private FreightSpecialServicePayment[] specialServicePaymentsField; - - private string hazardousMaterialsOfferorField; - - private FreightShipmentLineItem[] lineItemsField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public string FedExFreightAccountNumber - { - get - { - return this.fedExFreightAccountNumberField; - } - set - { - this.fedExFreightAccountNumberField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public ContactAndAddress FedExFreightBillingContactAndAddress - { - get - { - return this.fedExFreightBillingContactAndAddressField; - } - set - { - this.fedExFreightBillingContactAndAddressField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public Party AlternateBilling - { - get - { - return this.alternateBillingField; - } - set - { - this.alternateBillingField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public FreightShipmentRoleType Role - { - get - { - return this.roleField; - } - set - { - this.roleField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool RoleSpecified - { - get - { - return this.roleFieldSpecified; - } - set - { - this.roleFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public FreightCollectTermsType CollectTermsType - { - get - { - return this.collectTermsTypeField; - } - set - { - this.collectTermsTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool CollectTermsTypeSpecified - { - get - { - return this.collectTermsTypeFieldSpecified; - } - set - { - this.collectTermsTypeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=5)] - public Money DeclaredValuePerUnit - { - get - { - return this.declaredValuePerUnitField; - } - set - { - this.declaredValuePerUnitField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=6)] - public string DeclaredValueUnits - { - get - { - return this.declaredValueUnitsField; - } - set - { - this.declaredValueUnitsField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=7)] - public LiabilityCoverageDetail LiabilityCoverageDetail - { - get - { - return this.liabilityCoverageDetailField; - } - set - { - this.liabilityCoverageDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("Coupons", Order=8)] - public string[] Coupons - { - get - { - return this.couponsField; - } - set - { - this.couponsField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(DataType="nonNegativeInteger", Order=9)] - public string TotalHandlingUnits - { - get - { - return this.totalHandlingUnitsField; - } - set - { - this.totalHandlingUnitsField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=10)] - public decimal ClientDiscountPercent - { - get - { - return this.clientDiscountPercentField; - } - set - { - this.clientDiscountPercentField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool ClientDiscountPercentSpecified - { - get - { - return this.clientDiscountPercentFieldSpecified; - } - set - { - this.clientDiscountPercentFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=11)] - public Weight PalletWeight - { - get - { - return this.palletWeightField; - } - set - { - this.palletWeightField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=12)] - public Dimensions ShipmentDimensions - { - get - { - return this.shipmentDimensionsField; - } - set - { - this.shipmentDimensionsField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=13)] - public string Comment - { - get - { - return this.commentField; - } - set - { - this.commentField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("SpecialServicePayments", Order=14)] - public FreightSpecialServicePayment[] SpecialServicePayments - { - get - { - return this.specialServicePaymentsField; - } - set - { - this.specialServicePaymentsField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=15)] - public string HazardousMaterialsOfferor - { - get - { - return this.hazardousMaterialsOfferorField; - } - set - { - this.hazardousMaterialsOfferorField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("LineItems", Order=16)] - public FreightShipmentLineItem[] LineItems - { - get - { - return this.lineItemsField; - } - set - { - this.lineItemsField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum FreightCollectTermsType - { - - /// - NON_RECOURSE_SHIPPER_SIGNED, - - /// - STANDARD, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class ExpressFreightDetailContact - { - - private string nameField; - - private string phoneField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public string Name - { - get - { - return this.nameField; - } - set - { - this.nameField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string Phone - { - get - { - return this.phoneField; - } - set - { - this.phoneField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - 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; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public bool PackingListEnclosed - { - get - { - return this.packingListEnclosedField; - } - set - { - this.packingListEnclosedField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool PackingListEnclosedSpecified - { - get - { - return this.packingListEnclosedFieldSpecified; - } - set - { - this.packingListEnclosedFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(DataType="positiveInteger", Order=1)] - public string ShippersLoadAndCount - { - get - { - return this.shippersLoadAndCountField; - } - set - { - this.shippersLoadAndCountField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public string BookingConfirmationNumber - { - get - { - return this.bookingConfirmationNumberField; - } - set - { - this.bookingConfirmationNumberField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public bool ReferenceLabelRequested - { - get - { - return this.referenceLabelRequestedField; - } - set - { - this.referenceLabelRequestedField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool ReferenceLabelRequestedSpecified - { - get - { - return this.referenceLabelRequestedFieldSpecified; - } - set - { - this.referenceLabelRequestedFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public ExpressFreightDetailContact BeforeDeliveryContact - { - get - { - return this.beforeDeliveryContactField; - } - set - { - this.beforeDeliveryContactField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=5)] - public ExpressFreightDetailContact UndeliverableContact - { - get - { - return this.undeliverableContactField; - } - set - { - this.undeliverableContactField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class CustomDeliveryWindowDetail - { - - private CustomDeliveryWindowType typeField; - - private bool typeFieldSpecified; - - private System.DateTime requestTimeField; - - private bool requestTimeFieldSpecified; - - private DateRange requestRangeField; - - private System.DateTime requestDateField; - - private bool requestDateFieldSpecified; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public CustomDeliveryWindowType Type - { - get - { - return this.typeField; - } - set - { - this.typeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool TypeSpecified - { - get - { - return this.typeFieldSpecified; - } - set - { - this.typeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(DataType="time", Order=1)] - public System.DateTime RequestTime - { - get - { - return this.requestTimeField; - } - set - { - this.requestTimeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool RequestTimeSpecified - { - get - { - return this.requestTimeFieldSpecified; - } - set - { - this.requestTimeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public DateRange RequestRange - { - get - { - return this.requestRangeField; - } - set - { - this.requestRangeField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(DataType="date", Order=3)] - public System.DateTime RequestDate - { - get - { - return this.requestDateField; - } - set - { - this.requestDateField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool RequestDateSpecified - { - get - { - return this.requestDateFieldSpecified; - } - set - { - this.requestDateFieldSpecified = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum CustomDeliveryWindowType - { - - /// - AFTER, - - /// - BEFORE, - - /// - BETWEEN, - - /// - ON, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class UploadDocumentReferenceDetail - { - - private string lineNumberField; - - private string customerReferenceField; - - private string descriptionField; - - private UploadDocumentProducerType documentProducerField; - - private bool documentProducerFieldSpecified; - - private UploadDocumentType documentTypeField; - - private bool documentTypeFieldSpecified; - - private string documentIdField; - - private UploadDocumentIdProducer documentIdProducerField; - - private bool documentIdProducerFieldSpecified; - - /// - [System.Xml.Serialization.XmlElementAttribute(DataType="nonNegativeInteger", Order=0)] - public string LineNumber - { - get - { - return this.lineNumberField; - } - set - { - this.lineNumberField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string CustomerReference - { - get - { - return this.customerReferenceField; - } - set - { - this.customerReferenceField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public string Description - { - get - { - return this.descriptionField; - } - set - { - this.descriptionField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public UploadDocumentProducerType DocumentProducer - { - get - { - return this.documentProducerField; - } - set - { - this.documentProducerField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool DocumentProducerSpecified - { - get - { - return this.documentProducerFieldSpecified; - } - set - { - this.documentProducerFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public UploadDocumentType DocumentType - { - get - { - return this.documentTypeField; - } - set - { - this.documentTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool DocumentTypeSpecified - { - get - { - return this.documentTypeFieldSpecified; - } - set - { - this.documentTypeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=5)] - public string DocumentId - { - get - { - return this.documentIdField; - } - set - { - this.documentIdField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=6)] - public UploadDocumentIdProducer DocumentIdProducer - { - get - { - return this.documentIdProducerField; - } - set - { - this.documentIdProducerField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool DocumentIdProducerSpecified - { - get - { - return this.documentIdProducerFieldSpecified; - } - set - { - this.documentIdProducerFieldSpecified = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum UploadDocumentProducerType - { - - /// - CUSTOMER, - - /// - FEDEX_CAFE, - - /// - FEDEX_CLS, - - /// - FEDEX_FIDT, - - /// - FEDEX_FXRS, - - /// - FEDEX_GSMW, - - /// - FEDEX_GTM, - - /// - OTHER, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum UploadDocumentType - { - - /// - CERTIFICATE_OF_ORIGIN, - - /// - COMMERCIAL_INVOICE, - - /// - ETD_LABEL, - - /// - NAFTA_CERTIFICATE_OF_ORIGIN, - - /// - OTHER, - - /// - PRO_FORMA_INVOICE, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum UploadDocumentIdProducer - { - - /// - CUSTOMER, - - /// - FEDEX_CAFE, - - /// - FEDEX_CSHP, - - /// - FEDEX_FXRS, - - /// - FEDEX_GSMW, - - /// - FEDEX_GTM, - - /// - FEDEX_INET, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class EtdDetail - { - - private RequestedShippingDocumentType[] requestedDocumentCopiesField; - - private UploadDocumentReferenceDetail[] documentReferencesField; - - /// - [System.Xml.Serialization.XmlElementAttribute("RequestedDocumentCopies", Order=0)] - public RequestedShippingDocumentType[] RequestedDocumentCopies - { - get - { - return this.requestedDocumentCopiesField; - } - set - { - this.requestedDocumentCopiesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("DocumentReferences", Order=1)] - public UploadDocumentReferenceDetail[] DocumentReferences - { - get - { - return this.documentReferencesField; - } - set - { - this.documentReferencesField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class FreightGuaranteeDetail - { - - private FreightGuaranteeType typeField; - - private bool typeFieldSpecified; - - private System.DateTime dateField; - - private bool dateFieldSpecified; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public FreightGuaranteeType Type - { - get - { - return this.typeField; - } - set - { - this.typeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool TypeSpecified - { - get - { - return this.typeFieldSpecified; - } - set - { - this.typeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(DataType="date", Order=1)] - public System.DateTime Date - { - get - { - return this.dateField; - } - set - { - this.dateField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool DateSpecified - { - get - { - return this.dateFieldSpecified; - } - set - { - this.dateFieldSpecified = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class HomeDeliveryPremiumDetail - { - - private HomeDeliveryPremiumType homeDeliveryPremiumTypeField; - - private bool homeDeliveryPremiumTypeFieldSpecified; - - private System.DateTime dateField; - - private bool dateFieldSpecified; - - private string phoneNumberField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public HomeDeliveryPremiumType HomeDeliveryPremiumType - { - get - { - return this.homeDeliveryPremiumTypeField; - } - set - { - this.homeDeliveryPremiumTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool HomeDeliveryPremiumTypeSpecified - { - get - { - return this.homeDeliveryPremiumTypeFieldSpecified; - } - set - { - this.homeDeliveryPremiumTypeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(DataType="date", Order=1)] - public System.DateTime Date - { - get - { - return this.dateField; - } - set - { - this.dateField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool DateSpecified - { - get - { - return this.dateFieldSpecified; - } - set - { - this.dateFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public string PhoneNumber - { - get - { - return this.phoneNumberField; - } - set - { - this.phoneNumberField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum HomeDeliveryPremiumType - { - - /// - APPOINTMENT, - - /// - DATE_CERTAIN, - - /// - EVENING, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class ShipmentDryIceDetail - { - - private string packageCountField; - - private Weight totalWeightField; - - /// - [System.Xml.Serialization.XmlElementAttribute(DataType="nonNegativeInteger", Order=0)] - public string PackageCount - { - get - { - return this.packageCountField; - } - set - { - this.packageCountField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public Weight TotalWeight - { - get - { - return this.totalWeightField; - } - set - { - this.totalWeightField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class InternationalTrafficInArmsRegulationsDetail - { - - private string licenseOrExemptionNumberField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public string LicenseOrExemptionNumber - { - get - { - return this.licenseOrExemptionNumberField; - } - set - { - this.licenseOrExemptionNumberField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class InternationalControlledExportDetail - { - - private InternationalControlledExportType typeField; - - private bool typeFieldSpecified; - - private string foreignTradeZoneCodeField; - - private string entryNumberField; - - private string licenseOrPermitNumberField; - - private System.DateTime licenseOrPermitExpirationDateField; - - private bool licenseOrPermitExpirationDateFieldSpecified; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public InternationalControlledExportType Type - { - get - { - return this.typeField; - } - set - { - this.typeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool TypeSpecified - { - get - { - return this.typeFieldSpecified; - } - set - { - this.typeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string ForeignTradeZoneCode - { - get - { - return this.foreignTradeZoneCodeField; - } - set - { - this.foreignTradeZoneCodeField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public string EntryNumber - { - get - { - return this.entryNumberField; - } - set - { - this.entryNumberField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public string LicenseOrPermitNumber - { - get - { - return this.licenseOrPermitNumberField; - } - set - { - this.licenseOrPermitNumberField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(DataType="date", Order=4)] - public System.DateTime LicenseOrPermitExpirationDate - { - get - { - return this.licenseOrPermitExpirationDateField; - } - set - { - this.licenseOrPermitExpirationDateField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool LicenseOrPermitExpirationDateSpecified - { - get - { - return this.licenseOrPermitExpirationDateFieldSpecified; - } - set - { - this.licenseOrPermitExpirationDateFieldSpecified = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum InternationalControlledExportType - { - - /// - DEA_036, - - /// - DEA_236, - - /// - DEA_486, - - /// - DSP_05, - - /// - DSP_61, - - /// - DSP_73, - - /// - DSP_85, - - /// - DSP_94, - - /// - DSP_LICENSE_AGREEMENT, - - /// - FROM_FOREIGN_TRADE_ZONE, - - /// - WAREHOUSE_WITHDRAWAL, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class EMailRecipient - { - - private string emailAddressField; - - private AccessorRoleType roleField; - - private bool roleFieldSpecified; - - private EmailOptionType[] optionsRequestedField; - - private Localization localizationField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public string EmailAddress - { - get - { - return this.emailAddressField; - } - set - { - this.emailAddressField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public AccessorRoleType Role - { - get - { - return this.roleField; - } - set - { - this.roleField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool RoleSpecified - { - get - { - return this.roleFieldSpecified; - } - set - { - this.roleFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlArrayAttribute(Order=2)] - [System.Xml.Serialization.XmlArrayItemAttribute("Options", IsNullable=false)] - public EmailOptionType[] OptionsRequested - { - get - { - return this.optionsRequestedField; - } - set - { - this.optionsRequestedField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public Localization Localization - { - get - { - return this.localizationField; - } - set - { - this.localizationField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum AccessorRoleType - { - - /// - SHIPMENT_COMPLETOR, - - /// - SHIPMENT_INITIATOR, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum EmailOptionType - { - - /// - SUPPRESS_ACCESS_EMAILS, - - /// - SUPPRESS_ADDITIONAL_LANGUAGES, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class EMailLabelDetail - { - - private string messageField; - - private EMailRecipient[] recipientsField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public string Message - { - get - { - return this.messageField; - } - set - { - this.messageField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("Recipients", Order=1)] - public EMailRecipient[] Recipients - { - get - { - return this.recipientsField; - } - set - { - this.recipientsField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class PendingShipmentDetail - { - - private PendingShipmentType typeField; - - private bool typeFieldSpecified; - - private System.DateTime expirationDateField; - - private bool expirationDateFieldSpecified; - - private EMailLabelDetail emailLabelDetailField; - - private PendingShipmentProcessingOptionType[] processingOptionsField; - - private RecommendedDocumentType[] recommendedDocumentSpecificationField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public PendingShipmentType Type - { - get - { - return this.typeField; - } - set - { - this.typeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool TypeSpecified - { - get - { - return this.typeFieldSpecified; - } - set - { - this.typeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(DataType="date", Order=1)] - public System.DateTime ExpirationDate - { - get - { - return this.expirationDateField; - } - set - { - this.expirationDateField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool ExpirationDateSpecified - { - get - { - return this.expirationDateFieldSpecified; - } - set - { - this.expirationDateFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public EMailLabelDetail EmailLabelDetail - { - get - { - return this.emailLabelDetailField; - } - set - { - this.emailLabelDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlArrayAttribute(Order=3)] - [System.Xml.Serialization.XmlArrayItemAttribute("Options", IsNullable=false)] - public PendingShipmentProcessingOptionType[] ProcessingOptions - { - get - { - return this.processingOptionsField; - } - set - { - this.processingOptionsField = value; - } - } - - /// - [System.Xml.Serialization.XmlArrayAttribute(Order=4)] - [System.Xml.Serialization.XmlArrayItemAttribute("Types", IsNullable=false)] - public RecommendedDocumentType[] RecommendedDocumentSpecification - { - get - { - return this.recommendedDocumentSpecificationField; - } - set - { - this.recommendedDocumentSpecificationField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum PendingShipmentType - { - - /// - EMAIL, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum PendingShipmentProcessingOptionType - { - - /// - ALLOW_MODIFICATIONS, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum RecommendedDocumentType - { - - /// - ANTIQUE_STATEMENT_EUROPEAN_UNION, - - /// - ANTIQUE_STATEMENT_UNITED_STATES, - - /// - ASSEMBLER_DECLARATION, - - /// - BEARING_WORKSHEET, - - /// - CERTIFICATE_OF_SHIPMENTS_TO_SYRIA, - - /// - COMMERCIAL_INVOICE_FOR_THE_CARIBBEAN_COMMON_MARKET, - - /// - CONIFEROUS_SOLID_WOOD_PACKAGING_MATERIAL_TO_THE_PEOPLES_REPUBLIC_OF_CHINA, - - /// - DECLARATION_FOR_FREE_ENTRY_OF_RETURNED_AMERICAN_PRODUCTS, - - /// - DECLARATION_OF_BIOLOGICAL_STANDARDS, - - /// - DECLARATION_OF_IMPORTED_ELECTRONIC_PRODUCTS_SUBJECT_TO_RADIATION_CONTROL_STANDARD, - - /// - ELECTRONIC_INTEGRATED_CIRCUIT_WORKSHEET, - - /// - FILM_AND_VIDEO_CERTIFICATE, - - /// - INTERIM_FOOTWEAR_INVOICE, - - /// - NAFTA_CERTIFICATE_OF_ORIGIN_CANADA_ENGLISH, - - /// - NAFTA_CERTIFICATE_OF_ORIGIN_CANADA_FRENCH, - - /// - NAFTA_CERTIFICATE_OF_ORIGIN_SPANISH, - - /// - NAFTA_CERTIFICATE_OF_ORIGIN_UNITED_STATES, - - /// - PACKING_LIST, - - /// - PRINTED_CIRCUIT_BOARD_WORKSHEET, - - /// - REPAIRED_WATCH_BREAKOUT_WORKSHEET, - - /// - STATEMENT_REGARDING_THE_IMPORT_OF_RADIO_FREQUENCY_DEVICES, - - /// - TOXIC_SUBSTANCES_CONTROL_ACT, - - /// - UNITED_STATES_CARIBBEAN_BASIN_TRADE_PARTNERSHIP_ACT_CERTIFICATE_OF_ORIGIN_NON_TEXTILES, - - /// - UNITED_STATES_CARIBBEAN_BASIN_TRADE_PARTNERSHIP_ACT_CERTIFICATE_OF_ORIGIN_TEXTILES, - - /// - UNITED_STATES_NEW_WATCH_WORKSHEET, - - /// - UNITED_STATES_WATCH_REPAIR_DECLARATION, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class ReturnAssociationDetail - { - - private string trackingNumberField; - - private System.DateTime shipDateField; - - private bool shipDateFieldSpecified; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public string TrackingNumber - { - get - { - return this.trackingNumberField; - } - set - { - this.trackingNumberField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(DataType="date", Order=1)] - public System.DateTime ShipDate - { - get - { - return this.shipDateField; - } - set - { - this.shipDateField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool ShipDateSpecified - { - get - { - return this.shipDateFieldSpecified; - } - set - { - this.shipDateFieldSpecified = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class ReturnEMailDetail - { - - private string merchantPhoneNumberField; - - private ReturnEMailAllowedSpecialServiceType[] allowedSpecialServicesField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public string MerchantPhoneNumber - { - get - { - return this.merchantPhoneNumberField; - } - set - { - this.merchantPhoneNumberField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("AllowedSpecialServices", Order=1)] - public ReturnEMailAllowedSpecialServiceType[] AllowedSpecialServices - { - get - { - return this.allowedSpecialServicesField; - } - set - { - this.allowedSpecialServicesField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum ReturnEMailAllowedSpecialServiceType - { - - /// - SATURDAY_DELIVERY, - - /// - SATURDAY_PICKUP, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class Rma - { - - private string reasonField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public string Reason - { - get - { - return this.reasonField; - } - set - { - this.reasonField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class ReturnShipmentDetail - { - - private ReturnType returnTypeField; - - private bool returnTypeFieldSpecified; - - private Rma rmaField; - - private ReturnEMailDetail returnEMailDetailField; - - private ReturnAssociationDetail returnAssociationField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public ReturnType ReturnType - { - get - { - return this.returnTypeField; - } - set - { - this.returnTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool ReturnTypeSpecified - { - get - { - return this.returnTypeFieldSpecified; - } - set - { - this.returnTypeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public Rma Rma - { - get - { - return this.rmaField; - } - set - { - this.rmaField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public ReturnEMailDetail ReturnEMailDetail - { - get - { - return this.returnEMailDetailField; - } - set - { - this.returnEMailDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public ReturnAssociationDetail ReturnAssociation - { - get - { - return this.returnAssociationField; - } - set - { - this.returnAssociationField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum ReturnType - { - - /// - FEDEX_TAG, - - /// - PENDING, - - /// - PRINT_RETURN_LABEL, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class EMailNotificationRecipient - { - - private EMailNotificationRecipientType eMailNotificationRecipientTypeField; - - private bool eMailNotificationRecipientTypeFieldSpecified; - - private string eMailAddressField; - - private EMailNotificationEventType[] notificationEventsRequestedField; - - private EMailNotificationFormatType formatField; - - private bool formatFieldSpecified; - - private Localization localizationField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public EMailNotificationRecipientType EMailNotificationRecipientType - { - get - { - return this.eMailNotificationRecipientTypeField; - } - set - { - this.eMailNotificationRecipientTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool EMailNotificationRecipientTypeSpecified - { - get - { - return this.eMailNotificationRecipientTypeFieldSpecified; - } - set - { - this.eMailNotificationRecipientTypeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string EMailAddress - { - get - { - return this.eMailAddressField; - } - set - { - this.eMailAddressField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("NotificationEventsRequested", Order=2)] - public EMailNotificationEventType[] NotificationEventsRequested - { - get - { - return this.notificationEventsRequestedField; - } - set - { - this.notificationEventsRequestedField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public EMailNotificationFormatType Format - { - get - { - return this.formatField; - } - set - { - this.formatField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool FormatSpecified - { - get - { - return this.formatFieldSpecified; - } - set - { - this.formatFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public Localization Localization - { - get - { - return this.localizationField; - } - set - { - this.localizationField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum EMailNotificationEventType - { - - /// - ON_DELIVERY, - - /// - ON_EXCEPTION, - - /// - ON_SHIPMENT, - - /// - ON_TENDER, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum EMailNotificationFormatType - { - - /// - HTML, - - /// - TEXT, - - /// - WIRELESS, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class EMailNotificationDetail - { - - private string personalMessageField; - - private EMailNotificationRecipient[] recipientsField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public string PersonalMessage - { - get - { - return this.personalMessageField; - } - set - { - this.personalMessageField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("Recipients", Order=1)] - public EMailNotificationRecipient[] Recipients - { - get - { - return this.recipientsField; - } - set - { - this.recipientsField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class HoldAtLocationDetail - { - - private string phoneNumberField; - - private ContactAndAddress locationContactAndAddressField; - - private FedExLocationType locationTypeField; - - private bool locationTypeFieldSpecified; - - private string locationIdField; - - private int locationNumberField; - - private bool locationNumberFieldSpecified; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public string PhoneNumber - { - get - { - return this.phoneNumberField; - } - set - { - this.phoneNumberField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public ContactAndAddress LocationContactAndAddress - { - get - { - return this.locationContactAndAddressField; - } - set - { - this.locationContactAndAddressField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public FedExLocationType LocationType - { - get - { - return this.locationTypeField; - } - set - { - this.locationTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool LocationTypeSpecified - { - get - { - return this.locationTypeFieldSpecified; - } - set - { - this.locationTypeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public string LocationId - { - get - { - return this.locationIdField; - } - set - { - this.locationIdField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public int LocationNumber - { - get - { - return this.locationNumberField; - } - set - { - this.locationNumberField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool LocationNumberSpecified - { - get - { - return this.locationNumberFieldSpecified; - } - set - { - this.locationNumberFieldSpecified = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum FedExLocationType - { - - /// - FEDEX_EXPRESS_STATION, - - /// - FEDEX_FACILITY, - - /// - FEDEX_FREIGHT_SERVICE_CENTER, - - /// - FEDEX_GROUND_TERMINAL, - - /// - FEDEX_HOME_DELIVERY_STATION, - - /// - FEDEX_OFFICE, - - /// - FEDEX_SHIPSITE, - - /// - FEDEX_SMART_POST_HUB, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class DeliveryOnInvoiceAcceptanceDetail - { - - private Party recipientField; - - private TrackingId trackingIdField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public Party Recipient - { - get - { - return this.recipientField; - } - set - { - this.recipientField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public TrackingId TrackingId - { - get - { - return this.trackingIdField; - } - set - { - this.trackingIdField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class ShipmentSpecialServicesRequested - { - - private ShipmentSpecialServiceType[] specialServiceTypesField; - - private CodDetail codDetailField; - - private DeliveryOnInvoiceAcceptanceDetail deliveryOnInvoiceAcceptanceDetailField; - - private HoldAtLocationDetail holdAtLocationDetailField; - - private EMailNotificationDetail eMailNotificationDetailField; - - private ReturnShipmentDetail returnShipmentDetailField; - - private PendingShipmentDetail pendingShipmentDetailField; - - private InternationalControlledExportDetail internationalControlledExportDetailField; - - private InternationalTrafficInArmsRegulationsDetail internationalTrafficInArmsRegulationsDetailField; - - private ShipmentDryIceDetail shipmentDryIceDetailField; - - private HomeDeliveryPremiumDetail homeDeliveryPremiumDetailField; - - private FlatbedTrailerOption[] flatbedTrailerDetailField; - - private FreightGuaranteeDetail freightGuaranteeDetailField; - - private EtdDetail etdDetailField; - - private CustomDeliveryWindowDetail customDeliveryWindowDetailField; - - /// - [System.Xml.Serialization.XmlElementAttribute("SpecialServiceTypes", Order=0)] - public ShipmentSpecialServiceType[] SpecialServiceTypes - { - get - { - return this.specialServiceTypesField; - } - set - { - this.specialServiceTypesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public CodDetail CodDetail - { - get - { - return this.codDetailField; - } - set - { - this.codDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public DeliveryOnInvoiceAcceptanceDetail DeliveryOnInvoiceAcceptanceDetail - { - get - { - return this.deliveryOnInvoiceAcceptanceDetailField; - } - set - { - this.deliveryOnInvoiceAcceptanceDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public HoldAtLocationDetail HoldAtLocationDetail - { - get - { - return this.holdAtLocationDetailField; - } - set - { - this.holdAtLocationDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public EMailNotificationDetail EMailNotificationDetail - { - get - { - return this.eMailNotificationDetailField; - } - set - { - this.eMailNotificationDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=5)] - public ReturnShipmentDetail ReturnShipmentDetail - { - get - { - return this.returnShipmentDetailField; - } - set - { - this.returnShipmentDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=6)] - public PendingShipmentDetail PendingShipmentDetail - { - get - { - return this.pendingShipmentDetailField; - } - set - { - this.pendingShipmentDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=7)] - public InternationalControlledExportDetail InternationalControlledExportDetail - { - get - { - return this.internationalControlledExportDetailField; - } - set - { - this.internationalControlledExportDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=8)] - public InternationalTrafficInArmsRegulationsDetail InternationalTrafficInArmsRegulationsDetail - { - get - { - return this.internationalTrafficInArmsRegulationsDetailField; - } - set - { - this.internationalTrafficInArmsRegulationsDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=9)] - public ShipmentDryIceDetail ShipmentDryIceDetail - { - get - { - return this.shipmentDryIceDetailField; - } - set - { - this.shipmentDryIceDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=10)] - public HomeDeliveryPremiumDetail HomeDeliveryPremiumDetail - { - get - { - return this.homeDeliveryPremiumDetailField; - } - set - { - this.homeDeliveryPremiumDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlArrayAttribute(Order=11)] - [System.Xml.Serialization.XmlArrayItemAttribute("Options", IsNullable=false)] - public FlatbedTrailerOption[] FlatbedTrailerDetail - { - get - { - return this.flatbedTrailerDetailField; - } - set - { - this.flatbedTrailerDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=12)] - public FreightGuaranteeDetail FreightGuaranteeDetail - { - get - { - return this.freightGuaranteeDetailField; - } - set - { - this.freightGuaranteeDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=13)] - public EtdDetail EtdDetail - { - get - { - return this.etdDetailField; - } - set - { - this.etdDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=14)] - public CustomDeliveryWindowDetail CustomDeliveryWindowDetail - { - get - { - return this.customDeliveryWindowDetailField; - } - set - { - this.customDeliveryWindowDetailField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum FlatbedTrailerOption - { - - /// - OVER_DIMENSION, - - /// - TARP, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class ShipmentVariationOptionDetail - { - - private string idField; - - private string[] valuesField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public string Id - { - get - { - return this.idField; - } - set - { - this.idField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("Values", Order=1)] - public string[] Values - { - get - { - return this.valuesField; - } - set - { - this.valuesField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - 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 ShipmentVariationOptionDetail[] variationOptionsField; - - private Weight totalWeightField; - - private Money totalInsuredValueField; - - private string preferredCurrencyField; - - private Party shipperField; - - private Party recipientField; - - private string recipientLocationNumberField; - - private ContactAndAddress originField; - - private Party soldToField; - - private Payment shippingChargesPaymentField; - - private ShipmentSpecialServicesRequested specialServicesRequestedField; - - private ExpressFreightDetail expressFreightDetailField; - - private FreightShipmentDetail freightShipmentDetailField; - - private string deliveryInstructionsField; - - private VariableHandlingChargeDetail variableHandlingChargeDetailField; - - private CustomsClearanceDetail customsClearanceDetailField; - - 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 ShipmentOnlyFieldsType[] shipmentOnlyFieldsField; - - private DangerousGoodsDetail[] configurationDataField; - - private RequestedPackageLineItem[] requestedPackageLineItemsField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public System.DateTime ShipTimestamp - { - get - { - return this.shipTimestampField; - } - set - { - this.shipTimestampField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool ShipTimestampSpecified - { - get - { - return this.shipTimestampFieldSpecified; - } - set - { - this.shipTimestampFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public DropoffType DropoffType - { - get - { - return this.dropoffTypeField; - } - set - { - this.dropoffTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool DropoffTypeSpecified - { - get - { - return this.dropoffTypeFieldSpecified; - } - set - { - this.dropoffTypeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public ServiceType ServiceType - { - get - { - return this.serviceTypeField; - } - set - { - this.serviceTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool ServiceTypeSpecified - { - get - { - return this.serviceTypeFieldSpecified; - } - set - { - this.serviceTypeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public PackagingType PackagingType - { - get - { - return this.packagingTypeField; - } - set - { - this.packagingTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool PackagingTypeSpecified - { - get - { - return this.packagingTypeFieldSpecified; - } - set - { - this.packagingTypeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("VariationOptions", Order=4)] - public ShipmentVariationOptionDetail[] VariationOptions - { - get - { - return this.variationOptionsField; - } - set - { - this.variationOptionsField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=5)] - public Weight TotalWeight - { - get - { - return this.totalWeightField; - } - set - { - this.totalWeightField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=6)] - public Money TotalInsuredValue - { - get - { - return this.totalInsuredValueField; - } - set - { - this.totalInsuredValueField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=7)] - public string PreferredCurrency - { - get - { - return this.preferredCurrencyField; - } - set - { - this.preferredCurrencyField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=8)] - public Party Shipper - { - get - { - return this.shipperField; - } - set - { - this.shipperField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=9)] - public Party Recipient - { - get - { - return this.recipientField; - } - set - { - this.recipientField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=10)] - public string RecipientLocationNumber - { - get - { - return this.recipientLocationNumberField; - } - set - { - this.recipientLocationNumberField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=11)] - public ContactAndAddress Origin - { - get - { - return this.originField; - } - set - { - this.originField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=12)] - public Party SoldTo - { - get - { - return this.soldToField; - } - set - { - this.soldToField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=13)] - public Payment ShippingChargesPayment - { - get - { - return this.shippingChargesPaymentField; - } - set - { - this.shippingChargesPaymentField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=14)] - public ShipmentSpecialServicesRequested SpecialServicesRequested - { - get - { - return this.specialServicesRequestedField; - } - set - { - this.specialServicesRequestedField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=15)] - public ExpressFreightDetail ExpressFreightDetail - { - get - { - return this.expressFreightDetailField; - } - set - { - this.expressFreightDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=16)] - public FreightShipmentDetail FreightShipmentDetail - { - get - { - return this.freightShipmentDetailField; - } - set - { - this.freightShipmentDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=17)] - public string DeliveryInstructions - { - get - { - return this.deliveryInstructionsField; - } - set - { - this.deliveryInstructionsField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=18)] - public VariableHandlingChargeDetail VariableHandlingChargeDetail - { - get - { - return this.variableHandlingChargeDetailField; - } - set - { - this.variableHandlingChargeDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=19)] - public CustomsClearanceDetail CustomsClearanceDetail - { - get - { - return this.customsClearanceDetailField; - } - set - { - this.customsClearanceDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=20)] - public PickupDetail PickupDetail - { - get - { - return this.pickupDetailField; - } - set - { - this.pickupDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=21)] - public SmartPostShipmentDetail SmartPostDetail - { - get - { - return this.smartPostDetailField; - } - set - { - this.smartPostDetailField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=22)] - public bool BlockInsightVisibility - { - get - { - return this.blockInsightVisibilityField; - } - set - { - this.blockInsightVisibilityField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool BlockInsightVisibilitySpecified - { - get - { - return this.blockInsightVisibilityFieldSpecified; - } - set - { - this.blockInsightVisibilityFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=23)] - public LabelSpecification LabelSpecification - { - get - { - return this.labelSpecificationField; - } - set - { - this.labelSpecificationField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=24)] - public ShippingDocumentSpecification ShippingDocumentSpecification - { - get - { - return this.shippingDocumentSpecificationField; - } - set - { - this.shippingDocumentSpecificationField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("RateRequestTypes", Order=25)] - public RateRequestType[] RateRequestTypes - { - get - { - return this.rateRequestTypesField; - } - set - { - this.rateRequestTypesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=26)] - public EdtRequestType EdtRequestType - { - get - { - return this.edtRequestTypeField; - } - set - { - this.edtRequestTypeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool EdtRequestTypeSpecified - { - get - { - return this.edtRequestTypeFieldSpecified; - } - set - { - this.edtRequestTypeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(DataType="nonNegativeInteger", Order=27)] - public string PackageCount - { - get - { - return this.packageCountField; - } - set - { - this.packageCountField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("ShipmentOnlyFields", Order=28)] - public ShipmentOnlyFieldsType[] ShipmentOnlyFields - { - get - { - return this.shipmentOnlyFieldsField; - } - set - { - this.shipmentOnlyFieldsField = value; - } - } - - /// - [System.Xml.Serialization.XmlArrayAttribute(Order=29)] - [System.Xml.Serialization.XmlArrayItemAttribute("DangerousGoodsPackageConfigurations", IsNullable=false)] - public DangerousGoodsDetail[] ConfigurationData - { - get - { - return this.configurationDataField; - } - set - { - this.configurationDataField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute("RequestedPackageLineItems", Order=30)] - public RequestedPackageLineItem[] RequestedPackageLineItems - { - get - { - return this.requestedPackageLineItemsField; - } - set - { - this.requestedPackageLineItemsField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum DropoffType - { - - /// - BUSINESS_SERVICE_CENTER, - - /// - DROP_BOX, - - /// - REGULAR_PICKUP, - - /// - REQUEST_COURIER, - - /// - STATION, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum RateRequestType - { - - /// - LIST, - - /// - NONE, - - /// - PREFERRED, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum EdtRequestType - { - - /// - ALL, - - /// - NONE, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum ShipmentOnlyFieldsType - { - - /// - DIMENSIONS, - - /// - INSURED_VALUE, - - /// - WEIGHT, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class ConsolidationKey - { - - private ConsolidationType typeField; - - private bool typeFieldSpecified; - - private string indexField; - - private System.DateTime dateField; - - private bool dateFieldSpecified; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public ConsolidationType Type - { - get - { - return this.typeField; - } - set - { - this.typeField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool TypeSpecified - { - get - { - return this.typeFieldSpecified; - } - set - { - this.typeFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string Index - { - get - { - return this.indexField; - } - set - { - this.indexField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(DataType="date", Order=2)] - public System.DateTime Date - { - get - { - return this.dateField; - } - set - { - this.dateField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool DateSpecified - { - get - { - return this.dateFieldSpecified; - } - set - { - this.dateFieldSpecified = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum ConsolidationType - { - - /// - INTERNATIONAL_DISTRIBUTION_FREIGHT, - - /// - INTERNATIONAL_ECONOMY_DISTRIBUTION, - - /// - INTERNATIONAL_GROUND_DIRECT_DISTRIBUTION, - - /// - INTERNATIONAL_GROUND_DISTRIBUTION, - - /// - INTERNATIONAL_PRIORITY_DISTRIBUTION, - - /// - TRANSBORDER_DISTRIBUTION, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public partial class ClientDetail - { - - private string accountNumberField; - - private string meterNumberField; - - private string integratorIdField; - - private ExpressRegionCode regionField; - - private bool regionFieldSpecified; - - private Localization localizationField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=0)] - public string AccountNumber - { - get - { - return this.accountNumberField; - } - set - { - this.accountNumberField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=1)] - public string MeterNumber - { - get - { - return this.meterNumberField; - } - set - { - this.meterNumberField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=2)] - public string IntegratorId - { - get - { - return this.integratorIdField; - } - set - { - this.integratorIdField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=3)] - public ExpressRegionCode Region - { - get - { - return this.regionField; - } - set - { - this.regionField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool RegionSpecified - { - get - { - return this.regionFieldSpecified; - } - set - { - this.regionFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Order=4)] - public Localization Localization - { - get - { - return this.localizationField; - } - set - { - this.localizationField = value; - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum ExpressRegionCode - { - - /// - APAC, - - /// - CA, - - /// - EMEA, - - /// - LAC, - - /// - US, - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://fedex.com/ws/rate/v18")] - public enum CarrierCodeType - { - - /// - FDXC, - - /// - FDXE, - - /// - FDXG, - - /// - FXCC, - - /// - FXFR, - - /// - FXSP, - } - - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] - [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] - internal partial class getRatesRequest - { - - [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://fedex.com/ws/rate/v18", Order=0)] - public RateServiceWebReference.RateRequest RateRequest; - - public getRatesRequest() - { - } - - public getRatesRequest(RateServiceWebReference.RateRequest RateRequest) - { - this.RateRequest = RateRequest; - } - } - - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] - [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] - internal partial class getRatesResponse - { - - [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://fedex.com/ws/rate/v18", Order=0)] - public RateServiceWebReference.RateReply RateReply; - - public getRatesResponse() - { - } - - public getRatesResponse(RateServiceWebReference.RateReply RateReply) - { - this.RateReply = RateReply; - } - } - - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - internal interface RatePortTypeChannel : RateServiceWebReference.RatePortType, System.ServiceModel.IClientChannel - { - } - - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")] - internal partial class RatePortTypeClient : System.ServiceModel.ClientBase, RateServiceWebReference.RatePortType - { - - /// - /// Implement this partial method to configure the service endpoint. - /// - /// The endpoint to configure - /// The client credentials - static partial void ConfigureEndpoint(System.ServiceModel.Description.ServiceEndpoint serviceEndpoint, System.ServiceModel.Description.ClientCredentials clientCredentials); - - public RatePortTypeClient() : - base(RatePortTypeClient.GetDefaultBinding(), RatePortTypeClient.GetDefaultEndpointAddress()) - { - this.Endpoint.Name = EndpointConfiguration.RateServicePort.ToString(); - ConfigureEndpoint(this.Endpoint, this.ClientCredentials); - } - - public RatePortTypeClient(EndpointConfiguration endpointConfiguration) : - base(RatePortTypeClient.GetBindingForEndpoint(endpointConfiguration), RatePortTypeClient.GetEndpointAddress(endpointConfiguration)) - { - this.Endpoint.Name = endpointConfiguration.ToString(); - ConfigureEndpoint(this.Endpoint, this.ClientCredentials); - } - - public RatePortTypeClient(EndpointConfiguration endpointConfiguration, string remoteAddress) : - base(RatePortTypeClient.GetBindingForEndpoint(endpointConfiguration), new System.ServiceModel.EndpointAddress(remoteAddress)) - { - this.Endpoint.Name = endpointConfiguration.ToString(); - ConfigureEndpoint(this.Endpoint, this.ClientCredentials); - } - - public RatePortTypeClient(EndpointConfiguration endpointConfiguration, System.ServiceModel.EndpointAddress remoteAddress) : - base(RatePortTypeClient.GetBindingForEndpoint(endpointConfiguration), remoteAddress) - { - this.Endpoint.Name = endpointConfiguration.ToString(); - ConfigureEndpoint(this.Endpoint, this.ClientCredentials); - } - - public RatePortTypeClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : - base(binding, remoteAddress) - { - } - - [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] - RateServiceWebReference.getRatesResponse RateServiceWebReference.RatePortType.getRates(RateServiceWebReference.getRatesRequest request) - { - return base.Channel.getRates(request); - } - - public RateServiceWebReference.RateReply getRates(RateServiceWebReference.RateRequest RateRequest) - { - RateServiceWebReference.getRatesRequest inValue = new RateServiceWebReference.getRatesRequest(); - inValue.RateRequest = RateRequest; - RateServiceWebReference.getRatesResponse retVal = ((RateServiceWebReference.RatePortType)(this)).getRates(inValue); - return retVal.RateReply; - } - - [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] - System.Threading.Tasks.Task RateServiceWebReference.RatePortType.getRatesAsync(RateServiceWebReference.getRatesRequest request) - { - return base.Channel.getRatesAsync(request); - } - - public System.Threading.Tasks.Task getRatesAsync(RateServiceWebReference.RateRequest RateRequest) - { - RateServiceWebReference.getRatesRequest inValue = new RateServiceWebReference.getRatesRequest(); - inValue.RateRequest = RateRequest; - return ((RateServiceWebReference.RatePortType)(this)).getRatesAsync(inValue); - } - - public virtual System.Threading.Tasks.Task OpenAsync() - { - return System.Threading.Tasks.Task.Factory.FromAsync(((System.ServiceModel.ICommunicationObject)(this)).BeginOpen(null, null), new System.Action(((System.ServiceModel.ICommunicationObject)(this)).EndOpen)); - } - - public virtual System.Threading.Tasks.Task CloseAsync() - { - return System.Threading.Tasks.Task.Factory.FromAsync(((System.ServiceModel.ICommunicationObject)(this)).BeginClose(null, null), new System.Action(((System.ServiceModel.ICommunicationObject)(this)).EndClose)); - } - - private static System.ServiceModel.Channels.Binding GetBindingForEndpoint(EndpointConfiguration endpointConfiguration) - { - if ((endpointConfiguration == EndpointConfiguration.RateServicePort)) - { - System.ServiceModel.BasicHttpBinding result = new System.ServiceModel.BasicHttpBinding(); - result.MaxBufferSize = int.MaxValue; - result.ReaderQuotas = System.Xml.XmlDictionaryReaderQuotas.Max; - result.MaxReceivedMessageSize = int.MaxValue; - result.AllowCookies = true; - result.Security.Mode = System.ServiceModel.BasicHttpSecurityMode.Transport; - return result; - } - throw new System.InvalidOperationException(string.Format("Could not find endpoint with name \'{0}\'.", endpointConfiguration)); - } - - private static System.ServiceModel.EndpointAddress GetEndpointAddress(EndpointConfiguration endpointConfiguration) - { - if ((endpointConfiguration == EndpointConfiguration.RateServicePort)) - { - return new System.ServiceModel.EndpointAddress("https://wsbeta.fedex.com/web-services/rate"); - } - throw new System.InvalidOperationException(string.Format("Could not find endpoint with name \'{0}\'.", endpointConfiguration)); - } - - private static System.ServiceModel.Channels.Binding GetDefaultBinding() - { - return RatePortTypeClient.GetBindingForEndpoint(EndpointConfiguration.RateServicePort); - } - - private static System.ServiceModel.EndpointAddress GetDefaultEndpointAddress() - { - return RatePortTypeClient.GetEndpointAddress(EndpointConfiguration.RateServicePort); - } - - public enum EndpointConfiguration - { - - RateServicePort, - } - } -} diff --git a/src/Dynamicweb.Ecommerce.ShippingProviders.FedEx.csproj b/src/Dynamicweb.Ecommerce.ShippingProviders.FedEx.csproj index 32fb5bf..5b7e807 100644 --- a/src/Dynamicweb.Ecommerce.ShippingProviders.FedEx.csproj +++ b/src/Dynamicweb.Ecommerce.ShippingProviders.FedEx.csproj @@ -1,11 +1,10 @@  - 10.0.0 - Alpha0001 + 10.15.0 1.0.0.0 FedEx FedEx Shipping Provider - + https://doc.dynamicweb.com/ Dynamicweb dw10 addin ecommerce shipping @@ -15,20 +14,29 @@ Copyright © 2020 Dynamicweb Software A/S - net7.0 + net8.0 true true true - true + true true snupkg + FedEx-logo.png - - - + + + + enable + + + + True + \ + + diff --git a/src/FedEx-logo.png b/src/FedEx-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..ca02c08b92c8d62cbfdfc0802d7fd677d1ff5afd GIT binary patch literal 1944 zcma)-`8OMg7RQ+`l%{3ul+v2eAf-YiwpPSevBox9TQRlQZV;xHAjDD$Lp1G-N2sMu zwMi|dno@gfsd<*vR=ebh)E@HmKbU*Yy`OW>`JV4N-=DrY4tACR5qS{-0Re!umATUi z=YFj4sgrvy?26S1x*crMNIsu$ay^|De-*0s2P;~JTOId%WTiGJtIETH^Scu4+C$#@ zS61w0KJNeue8{N?-ORK6$e7H;GzNN-bX8LJ_70DCIqWnThvYv$%lb01V2{9aie0>% zN)Hcs4+8(zR>W{NcQzsfcDpG9Jxn%6W2co^TGXBx6sdVvnl@G@bGYPd@~=_(fWm3 z9i5u=!uOi`NuaZMYx7&^gbG%9nCHBKB)0R4p#;^?M_@`svc{qCA3-eAv4YR1(6X(D z{j{rGqnSG1j8ObL-*T2Z;DWK=!{?1z36lPC}*Q_o3~3l z#F_rj?jCvZ1&P$TmhQPG5g29-T0nMX8#-T$V`jhxhe(mjb4-^Tp??UC^9skcvxBUN z-4GVt%L|3mMD%=AB7MX&T6)zC^{ZjeMhDy#DSFDM&V%oBv-v`g00j^lb}%#Y8$Ej9 zu&?rcOHO?$2;5Nbd1kAx%Rz2#pA1>D_|%)0QxxyB0`*7N)q4naeh&9Day_#O&^x1r{)R=SGc;0r{!_1%y#Xn2(3CiM zqE6SiQp69pwM$>$fRI+bta2tkt|2svYfAlB%bKp!VwPK_cGviB zOd1DEc71AAqyc}oHvA}$-_UC_GJi8PPBWo@c}RxDA|Jjo^;>BEHP|FfDFG0XRP;M?R<~ydkpFF z0?B(xs{W^FL(M{CyMr+FK>B5=bo&|_{0cx?Tgz<^tg9QQB>auX7cakH!lkDzAVFp{ zRYcSs(y)uqmYDn~&<5cVYo$HCqW$Y~~Rs-3P!1E`voMk+es2BrCt z!s2-Z2aF6X@~;Wch$v$VwKq7ZN-TnA%&+Sw;d-^m2)jeZHwsL00ni^zbuL-6VW8QO z6s2<}>4Sl$x#VcSlmr)iFL~sQ{<&Rg@>YVcxf)vp4}J}r?*-!v@9Fg$J{(*)UVb==I_R|kp}}{M3v_&GHl|_ zLmX1@f1QJyhdz7LW#)}e|M1>y>e)i)l}tA-7-&qlArn0SrQ467$2;_c>Ya$~Czh`e zxsn&Mye9x0@Eec#MkRQWsqA{GaGW_kF#`6>qxZ22UmfXqU6=6;0#jLJ4OGD2U)a8p zKauykDfB_lK?i$MXgzlAmCotbB(D11pz>Q4z>oNLsqxzO-U2!%&5NBNKDiiQy^&P6 y?>Efa4K;-mw{p2oCf;k|ydLns?uH*iWkRapA?lq~(s1_tkKY<;XWnS$llFg8xUg>k literal 0 HcmV?d00001 diff --git a/src/FedEx.cs b/src/FedEx.cs index 6b1154d..6f8921b 100644 --- a/src/FedEx.cs +++ b/src/FedEx.cs @@ -1,795 +1,323 @@ -using Dynamicweb.Ecommerce.Cart; +using Dynamicweb.Core; +using Dynamicweb.Ecommerce.Cart; using Dynamicweb.Ecommerce.International; using Dynamicweb.Ecommerce.Orders; using Dynamicweb.Ecommerce.Prices; -using Dynamicweb.Ecommerce.ShippingProviders.FedEx.RateServiceWebReference; +using Dynamicweb.Ecommerce.ShippingProviders.FedEx.Models; +using Dynamicweb.Ecommerce.ShippingProviders.FedEx.Models.Rates; +using Dynamicweb.Ecommerce.ShippingProviders.FedEx.Service; using Dynamicweb.Extensibility.AddIns; using Dynamicweb.Extensibility.Editors; using System; -using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; -using FedexMoney = Dynamicweb.Ecommerce.ShippingProviders.FedEx.RateServiceWebReference.Money; -using FedexRateReply = Dynamicweb.Ecommerce.ShippingProviders.FedEx.RateServiceWebReference.RateReply; -using FedexRateRequest = Dynamicweb.Ecommerce.ShippingProviders.FedEx.RateServiceWebReference.RateRequest; -namespace Dynamicweb.Ecommerce.ShippingProviders.FedEx -{ - /// - /// FedEx Shipping Service - /// - [AddInName("FedEx (Beta)"), AddInDescription("FedEx Shipping Provider")] - public class FedEx : ShippingProvider, IDropDownOptions - { - #region "Parameters" +namespace Dynamicweb.Ecommerce.ShippingProviders.FedEx; - [AddInParameter("ServiceURL"), AddInParameterEditor(typeof(TextParameterEditor), "size=80")] - public string ServiceURL { get; set; } +/// +/// FedEx Shipping Service +/// +[AddInName("FedEx (Beta)"), AddInDescription("FedEx Shipping Provider")] +public class FedEx : ShippingProvider, IParameterOptions, IDynamicParameterOptions +{ + #region "Parameters" - [AddInParameter("Key"), AddInParameterEditor(typeof(TextParameterEditor), "size=80")] - public string Key { get; set; } + [AddInParameter("Api key"), AddInParameterEditor(typeof(TextParameterEditor), "size=80")] + public string ApiKey { get; set; } = ""; - [AddInParameter("Password"), AddInParameterEditor(typeof(TextParameterEditor), "size=80")] - public string Password { get; set; } + [AddInParameter("Secret key"), AddInParameterEditor(typeof(TextParameterEditor), "size=80; password=true")] + public string SecretKey { get; set; } = ""; - [AddInParameter("Account Number"), AddInParameterEditor(typeof(TextParameterEditor), "size=80")] - /// - /// This is a Summery - /// - public string AccountNumber { get; set; } + [AddInParameter("Account Number"), AddInParameterEditor(typeof(TextParameterEditor), "size=80")] + public string AccountNumber { get; set; } = ""; - [AddInParameter("Meter Number"), AddInParameterEditor(typeof(TextParameterEditor), "size=80")] - public string MeterNumber { get; set; } + [AddInParameter("Service Type"), AddInParameterEditor(typeof(DropDownParameterEditor), "SortBy=Value"), + AddInDescription("Identifies the FedEx service to use in shipping the package for a rate request.")] + public string ServiceType { get; set; } = ""; - [AddInParameter("Service Type"), AddInParameterEditor(typeof(DropDownParameterEditor), "SortBy=Value"), - AddInDescription("Identifies the FedEx service to use in shipping the package for a rate request.")] - public string ServiceType { get; set; } + [AddInParameter("Pickup Type"), AddInParameterEditor(typeof(DropDownParameterEditor), "SortBy=Value"), + AddInDescription("Identifies the method by which the package is to be tendered to FedEx. This element does not dispatch a courier for package pickup.")] + public string PickupType { get; set; } = ""; - [AddInParameter("Dropoff Type"), AddInParameterEditor(typeof(DropDownParameterEditor), "SortBy=Value"), - AddInDescription("Identifies the method by which the package is to be tendered to FedEx. This element does not dispatch a courier for package pickup.")] - public string DropoffType { get; set; } + [AddInParameter("Packing Type"), AddInParameterEditor(typeof(DropDownParameterEditor), "SortBy=Value"), + AddInDescription("Identifies the packaging used by the requester for the package.")] + public string PackingType { get; set; } = ""; - [AddInParameter("Packing Type"), AddInParameterEditor(typeof(DropDownParameterEditor), "SortBy=Value"), - AddInDescription("Identifies the packaging used by the requester for the package.")] - public string PackingType { get; set; } + [AddInParameter("Origination Street Address"), AddInParameterEditor(typeof(TextParameterEditor), "size=80")] + public string ShipperStreet { get; set; } = ""; - [AddInParameter("Origination Street Address"), AddInParameterEditor(typeof(TextParameterEditor), "size=80")] - public string ShipperStreet { get; set; } + [AddInParameter("Origination Street Address 2"), AddInParameterEditor(typeof(TextParameterEditor), "size=80")] + public string ShipperStreet2 { get; set; } = ""; - [AddInParameter("Origination Street Address 2"), AddInParameterEditor(typeof(TextParameterEditor), "size=80")] - public string ShipperStreet2 { get; set; } + [AddInParameter("Origination City"), AddInParameterEditor(typeof(TextParameterEditor), "size=80")] + public string ShipperCity { get; set; } = ""; - [AddInParameter("Origination City"), AddInParameterEditor(typeof(TextParameterEditor), "size=80")] - public string ShipperCity { get; set; } + [AddInParameter("Origination Country"), AddInParameterEditor(typeof(DropDownParameterEditor), "SortBy=Value; reloadOnChange=true")] + public string ShipperCountryCode { get; set; } = ""; - [AddInParameter("Origination State/Region"), AddInParameterEditor(typeof(DropDownParameterEditor), "SortBy=Value")] - public string ShipperStateOrProvinceCode1 { get; set; } + [AddInParameter("Origination State/Region"), AddInParameterEditor(typeof(DropDownParameterEditor), "SortBy=Value; dynamicOptions=true")] + public string ShipperStateOrProvinceCode1 { get; set; } = ""; - [AddInParameter("Origination State/Region 2"), AddInParameterEditor(typeof(TextParameterEditor), "size=80")] - public string ShipperStateOrProvinceCode2 { get; set; } + [AddInParameter("Origination State/Region 2"), AddInParameterEditor(typeof(TextParameterEditor), "size=80")] + public string ShipperStateOrProvinceCode2 { get; set; } = ""; - [AddInParameter("Origination Zip Code"), AddInParameterEditor(typeof(TextParameterEditor), "size=80")] - public string ShipperPostalCode { get; set; } + [AddInParameter("Origination Zip Code"), AddInParameterEditor(typeof(TextParameterEditor), "size=80")] + public string ShipperPostalCode { get; set; } = ""; - [AddInParameter("Origination Country"), AddInParameterEditor(typeof(DropDownParameterEditor), "SortBy=Value")] - public string ShipperCountryCode { get; set; } + [AddInParameter("Use Residential Rates"), AddInParameterEditor(typeof(YesNoParameterEditor), "")] + public bool UseResidentialRates { get; set; } - [AddInParameter("Use Residential Rates"), AddInParameterEditor(typeof(YesNoParameterEditor), "")] - public bool UseResidentialRates { get; set; } + [AddInParameter("Debug"), AddInParameterEditor(typeof(YesNoParameterEditor), ""), AddInDescription("Create a log of the request and response from FedEx")] + public bool DebugLog { get; set; } - [AddInParameter("Debug"), AddInParameterEditor(typeof(YesNoParameterEditor), ""), AddInDescription("Create a log of the request and response from FedEx")] - public bool DebugLog { get; set; } + [AddInParameter("Use LB instead og KG"), AddInParameterEditor(typeof(YesNoParameterEditor), ""), AddInDescription("Calculates shipping costs based on weights in LB")] + public bool UseLbInsteadOfKg { get; set; } - [AddInParameter("Use LB instead og KG"), AddInParameterEditor(typeof(YesNoParameterEditor), ""), AddInDescription("Calculates shipping costs based on weights in LB")] - public bool UseLbInsteadOfKg { get; set; } + [AddInParameter("Test mode"), AddInParameterEditor(typeof(YesNoParameterEditor), "infoText=Set to use sandbox (test mode) for the API requests. Uncheck when ready for production.")] + public bool TestMode { get; set; } - #endregion + #endregion - /// - /// Default constructor - /// - public FedEx() - { - ServiceURL = "https://ws.fedex.com:443/web-services/rate"; - } + //Locales supported by FedEx: https://developer.fedex.com/api/en-us/guides/api-reference.html#locales + private static string[] SupportedLocales { get; set; } = + [ + "ar_AE", "bg_BG", "zh_CN", + "zh_HK", "zh_TW", "cs_CZ", + "da_DK", "nl_NL", "en_CA", + "en_GB", "en_US", "et_EE", + "fi_FI", "fr_CA", "fr_FR", + "de_DE", "de_CH", "el_GR", + "hu_HU", "it_IT", "ja_JP", + "ko_KR", "lv_LV", "lt_LT", + "no_NO", "pl_PL", "pt_BR", + "pt_PT", "ro_RO", "ru_RU", + "sk_SK", "sl_SI", "es_AR", + "es_MX", "es_ES", "es_US", + "sv_SE", "th_TH", "tr_TR", + "uk_UA", "vi_VN" + ]; - /// - /// Calculate shipping fee for the specified order - /// - /// The order. - /// Returns shipping fee for the specified order - public override PriceRaw CalculateShippingFee(Order order) + private static string Locale + { + get { - var requestCacheKey = order.AutoId.ToString(); - double rate = 0; - order.ShippingProviderErrors.Clear(); - order.ShippingProviderWarnings.Clear(); + string currentLocale = Environment.ExecutingContext.GetCulture(true).Name.Replace('-', '_'); + if (!SupportedLocales.Contains(currentLocale)) + return "en_US"; - try - { - if (IsRequestParametersCorrect(order)) - { - var rateRequest = ShippingProviderHelper.CheckIsRateRequestCached(ShippingID, requestCacheKey); - if (rateRequest.Rate > 0 || ShippingProviderHelper.IsThisShippingRequestWasProcessed(ShippingID)) - { - rate = rateRequest.Rate; - if (rateRequest.Warning != null) - { - order.ShippingProviderWarnings.AddRange(rateRequest.Warning); - } - if (rateRequest.Errors != null) - { - order.ShippingProviderErrors.AddRange(rateRequest.Errors); - } - } - else - { - var service = new RatePortTypeClient(); - service.Endpoint.Address = new System.ServiceModel.EndpointAddress(ServiceURL); - var request = CreateRateRequest(order); - - if (DebugLog) - { - SaveLog(string.Format("Order ID: {0} - WSDL Request", order.Id), true); - } - - var reply = service.getRates(request); - - if (DebugLog) - { - SaveReply(reply); - } - - rate = ProcessResponse(reply, order); - } - } - } - catch (Exception err) - { - order.ShippingProviderErrors.Add(err.Message); - } - - ShippingProviderHelper.CacheRateRequest(ShippingID, requestCacheKey, rate, order.CurrencyCode, order.ShippingProviderWarnings, order.ShippingProviderErrors); - ShippingProviderHelper.SetShippingRequestIsProcessed(ShippingID); - - return new PriceRaw(rate, order.Currency); + return currentLocale; } + } - private void SaveReply(FedexRateReply reply) + private FedExService? service; + private FedExService Service + { + get { - var stringBuilder = new StringBuilder(); - - if (reply.HighestSeverity == NotificationSeverityType.SUCCESS || - reply.HighestSeverity == NotificationSeverityType.NOTE || - reply.HighestSeverity == NotificationSeverityType.WARNING) + service ??= new() { - ShowRateReply(stringBuilder, reply); - } - ShowNotifications(stringBuilder, reply); - - SaveLog(stringBuilder.ToString(), false); + ApiKey = ApiKey, + SecretKey = SecretKey, + DebugLog = DebugLog, + Locale = Locale, + TestMode = TestMode + }; + + return service; } + } - private FedexRateRequest CreateRateRequest(Order order) - { - var request = new FedexRateRequest(); - - request.WebAuthenticationDetail = new WebAuthenticationDetail(); - request.WebAuthenticationDetail.UserCredential = new WebAuthenticationCredential(); - request.WebAuthenticationDetail.UserCredential.Key = Key; - request.WebAuthenticationDetail.UserCredential.Password = Password; - - request.ClientDetail = new ClientDetail(); - request.ClientDetail.AccountNumber = AccountNumber; - request.ClientDetail.MeterNumber = MeterNumber; - - request.TransactionDetail = new TransactionDetail(); - // This is a reference field for the customer. Any value can be used and will be provided in the response. - request.TransactionDetail.CustomerTransactionId = "***Rate Available Services v16 Request - Dynamicweb***"; - - request.Version = new VersionId(); - - request.ReturnTransitAndCommit = true; - request.ReturnTransitAndCommitSpecified = true; - - // Insert the Carriers you would like to see the rates for - request.CarrierCodes = new CarrierCodeType[2]; - request.CarrierCodes[0] = CarrierCodeType.FDXE; - request.CarrierCodes[1] = CarrierCodeType.FDXG; - - SetShipmentDetails(order, request); - - return request; - } - - private void SetShipmentDetails(Dynamicweb.Ecommerce.Orders.Order order, FedexRateRequest request) - { - request.RequestedShipment = new RequestedShipment(); - request.RequestedShipment.ShipTimestamp = DateTime.Now; - request.RequestedShipment.ShipTimestampSpecified = true; - - request.RequestedShipment.DropoffType = GetDropoffType(); //Drop off types are BUSINESS_SERVICE_CENTER, DROP_BOX, REGULAR_PICKUP, REQUEST_COURIER, STATION - request.RequestedShipment.DropoffTypeSpecified = true; - - SetServiceType(request.RequestedShipment); // Service types are STANDARD_OVERNIGHT, PRIORITY_OVERNIGHT, FEDEX_GROUND ... - SetPackagingType(request.RequestedShipment); // Packaging type FEDEX_BOK, FEDEX_PAK, FEDEX_TUBE, YOUR_PACKAGING, ... - - SetOrigin(request, order); - - SetDestination(request, order); - - SetPackageLineItems(request, order, UseLbInsteadOfKg); - - request.RequestedShipment.TotalInsuredValue = new FedexMoney(); - request.RequestedShipment.TotalInsuredValue.Amount = (decimal)order.PriceBeforeFees.Price; - request.RequestedShipment.TotalInsuredValue.Currency = order.PriceBeforeFees.Currency.Code; - - request.RequestedShipment.PackageCount = order.ProductOrderLines.Count.ToString(); - } + /// + /// Calculate shipping fee for the specified order + /// + /// The order. + /// Returns shipping fee for the specified order + public override PriceRaw CalculateShippingFee(Order order) + { + string requestCacheKey = order.AutoId.ToString(); + double rate = 0; + order.ShippingProviderErrors.Clear(); + order.ShippingProviderWarnings.Clear(); - private static void SetPackageLineItems(FedexRateRequest request, Order order, bool useLbInsteadOfKg) + try { - request.RequestedShipment.RequestedPackageLineItems = new RequestedPackageLineItem[order.ProductOrderLines.Count]; - - for (int i = 0; i < order.ProductOrderLines.Count; i++) + if (IsRequestParametersCorrect(order)) { - var packageLineItem = new RequestedPackageLineItem(); - var orderLine = order.ProductOrderLines.ElementAt(i); - - packageLineItem.SequenceNumber = (i + 1).ToString(); - packageLineItem.GroupPackageCount = "1"; - - packageLineItem.Weight = new Weight(); - if (useLbInsteadOfKg) + var rateRequest = ShippingProviderHelper.CheckIsRateRequestCached(ShippingID, requestCacheKey); + if (rateRequest.Rate > 0 || ShippingProviderHelper.IsThisShippingRequestWasProcessed(ShippingID)) { - packageLineItem.Weight.Units = WeightUnits.LB; + rate = rateRequest.Rate; + if (rateRequest.Warning?.Any() is true) + order.ShippingProviderWarnings.AddRange(rateRequest.Warning); + + if (rateRequest.Errors?.Any() is true) + order.ShippingProviderErrors.AddRange(rateRequest.Errors); } else { - packageLineItem.Weight.Units = WeightUnits.KG; - } - - packageLineItem.Weight.UnitsSpecified = true; - packageLineItem.Weight.Value = (decimal)orderLine.Weight; - packageLineItem.Weight.ValueSpecified = true; + RateAndTransitTimesResponse? response = Service.GetRateAndTransitTimes(order, this); + if (response is null) + throw new NullReferenceException("Rate and transit times request returns null. Please, see logs to find the problem."); - packageLineItem.InsuredValue = new FedexMoney(); - packageLineItem.InsuredValue.Amount = (decimal)orderLine.Price.Price; - packageLineItem.InsuredValue.Currency = orderLine.Price.Currency.Code; - - request.RequestedShipment.RequestedPackageLineItems[i] = packageLineItem; + rate = ProcessResponse(response, order); + } } } - - private void SetOrigin(FedexRateRequest request, Order order) + catch (Exception err) { - request.RequestedShipment.Shipper = new Party(); - request.RequestedShipment.Shipper.Address = new Address(); - request.RequestedShipment.Shipper.Address.StreetLines = GetAddress(ShipperStreet, ShipperStreet2); - request.RequestedShipment.Shipper.Address.City = ShipperCity; - request.RequestedShipment.Shipper.Address.PostalCode = ShipperPostalCode; - request.RequestedShipment.Shipper.Address.CountryCode = ShipperCountryCode; - - if (ShipperCountryCode == "US") - { - request.RequestedShipment.Shipper.Address.StateOrProvinceCode = ShipperStateOrProvinceCode1; - } - else - { - request.RequestedShipment.Shipper.Address.StateOrProvinceCode = ShipperStateOrProvinceCode2; - } + order.ShippingProviderErrors.Add(err.Message); } - private void SetDestination(FedexRateRequest request, Order order) - { - request.RequestedShipment.Recipient = new Party(); - request.RequestedShipment.Recipient.Address = new Address(); + ShippingProviderHelper.CacheRateRequest(ShippingID, requestCacheKey, rate, order.CurrencyCode, order.ShippingProviderWarnings, order.ShippingProviderErrors); + ShippingProviderHelper.SetShippingRequestIsProcessed(ShippingID); - if (UseResidentialRates) - { - request.RequestedShipment.Recipient.Address.Residential = true; - request.RequestedShipment.Recipient.Address.ResidentialSpecified = true; - } + return new PriceRaw(rate, order.Currency); + } - bool isDeliveryFieldsFilled = !(string.IsNullOrEmpty(order.DeliveryAddress) && string.IsNullOrEmpty(order.DeliveryAddress2)); - if (isDeliveryFieldsFilled) - { - request.RequestedShipment.Recipient.Address.StreetLines = GetAddress(order.DeliveryAddress, order.DeliveryAddress2); - request.RequestedShipment.Recipient.Address.City = order.DeliveryCity; - request.RequestedShipment.Recipient.Address.PostalCode = order.DeliveryZip; - request.RequestedShipment.Recipient.Address.StateOrProvinceCode = order.DeliveryRegion; - request.RequestedShipment.Recipient.Address.CountryCode = order.DeliveryCountryCode; - } - else - { - request.RequestedShipment.Recipient.Address.StreetLines = GetAddress(order.CustomerAddress, order.CustomerAddress2); - request.RequestedShipment.Recipient.Address.City = order.CustomerCity; - request.RequestedShipment.Recipient.Address.PostalCode = order.CustomerZip; - request.RequestedShipment.Recipient.Address.StateOrProvinceCode = order.CustomerRegion; - request.RequestedShipment.Recipient.Address.CountryCode = order.CustomerCountryCode; - } - } + private bool IsRequestParametersCorrect(Order order) + { + if (string.IsNullOrEmpty(order.DeliveryZip) && string.IsNullOrEmpty(order.CustomerZip)) + order.ShippingProviderErrors.Add("ZipCode field is empty."); - private string[] GetAddress(params string[] addrs) + if (string.IsNullOrEmpty(order.DeliveryAddress) && + string.IsNullOrEmpty(order.DeliveryAddress2) && + string.IsNullOrEmpty(order.CustomerAddress) && + string.IsNullOrEmpty(order.CustomerAddress2)) { - List ret = new List(addrs.Length); - - foreach (var addr in addrs) - { - if (!string.IsNullOrEmpty(ShipperStreet)) - ret.Add(addr); - } - - return ret.ToArray(); + order.ShippingProviderErrors.Add("Delivery address is empty."); } - private DropoffType GetDropoffType() - { - DropoffType result; - - switch (DropoffType) - { - case "BUSINESS_SERVICE_CENTER": - result = RateServiceWebReference.DropoffType.BUSINESS_SERVICE_CENTER; - break; - case "DROP_BOX": - result = RateServiceWebReference.DropoffType.DROP_BOX; - break; - case "REGULAR_PICKUP": - result = RateServiceWebReference.DropoffType.REGULAR_PICKUP; - break; - case "REQUEST_COURIER": - result = RateServiceWebReference.DropoffType.REQUEST_COURIER; - break; - case "STATION": - result = RateServiceWebReference.DropoffType.STATION; - break; - default: - result = RateServiceWebReference.DropoffType.BUSINESS_SERVICE_CENTER; - break; - } - - return result; - } + return order.ShippingProviderErrors.Count == 0; + } - private void SetPackagingType(RequestedShipment requestedShipment) + private double ProcessResponse(RateAndTransitTimesResponse response, Order order) + { + if (response.Output?.Alerts?.Any() is true) { - requestedShipment.PackagingTypeSpecified = true; - - switch (PackingType) - { - case "FEDEX_10KG_BOX": - requestedShipment.PackagingType = PackagingType.FEDEX_10KG_BOX; - break; - case "FEDEX_25KG_BOX": - requestedShipment.PackagingType = PackagingType.FEDEX_25KG_BOX; - break; - case "FEDEX_BOX": - requestedShipment.PackagingType = PackagingType.FEDEX_BOX; - break; - case "FEDEX_ENVELOPE": - requestedShipment.PackagingType = PackagingType.FEDEX_ENVELOPE; - break; - case "FEDEX_EXTRA_LARGE_BOX": - requestedShipment.PackagingType = PackagingType.FEDEX_EXTRA_LARGE_BOX; - break; - case "FEDEX_LARGE_BOX": - requestedShipment.PackagingType = PackagingType.FEDEX_LARGE_BOX; - break; - case "FEDEX_MEDIUM_BOX": - requestedShipment.PackagingType = PackagingType.FEDEX_MEDIUM_BOX; - break; - case "FEDEX_PAK": - requestedShipment.PackagingType = PackagingType.FEDEX_PAK; - break; - case "FEDEX_SMALL_BOX": - requestedShipment.PackagingType = PackagingType.FEDEX_SMALL_BOX; - break; - case "FEDEX_TUBE": - requestedShipment.PackagingType = PackagingType.FEDEX_TUBE; - break; - case "YOUR_PACKAGING": - requestedShipment.PackagingType = PackagingType.YOUR_PACKAGING; - break; - default: - requestedShipment.PackagingTypeSpecified = false; - break; - } + string alertsText = GetAlertsText(response.Output.Alerts); + order.ShippingProviderWarnings.Add(alertsText); } - private void SetServiceType(RequestedShipment requestedShipment) + foreach (var rateReplyDetail in response.Output?.RateReplyDetails ?? []) { - requestedShipment.ServiceTypeSpecified = true; - - switch (ServiceType) + foreach (var shipmentDetail in rateReplyDetail.RatedShipmentDetails ?? []) { - case "EUROPE_FIRST_INTERNATIONAL_PRIORITY": - requestedShipment.ServiceType = RateServiceWebReference.ServiceType.EUROPE_FIRST_INTERNATIONAL_PRIORITY; - break; - case "FEDEX_1_DAY_FREIGHT": - requestedShipment.ServiceType = RateServiceWebReference.ServiceType.FEDEX_1_DAY_FREIGHT; - break; - case "FEDEX_2_DAY": - requestedShipment.ServiceType = RateServiceWebReference.ServiceType.FEDEX_2_DAY; - break; - case "FEDEX_2_DAY_AM": - requestedShipment.ServiceType = RateServiceWebReference.ServiceType.FEDEX_2_DAY_AM; - break; - case "FEDEX_2_DAY_FREIGHT": - requestedShipment.ServiceType = RateServiceWebReference.ServiceType.FEDEX_2_DAY_FREIGHT; - break; - case "FEDEX_3_DAY_FREIGHT": - requestedShipment.ServiceType = RateServiceWebReference.ServiceType.FEDEX_3_DAY_FREIGHT; - break; - case "FEDEX_DISTANCE_DEFERRED": - requestedShipment.ServiceType = RateServiceWebReference.ServiceType.FEDEX_DISTANCE_DEFERRED; - break; - case "FEDEX_EXPRESS_SAVER": - requestedShipment.ServiceType = RateServiceWebReference.ServiceType.FEDEX_EXPRESS_SAVER; - break; - case "FEDEX_FIRST_FREIGHT": - requestedShipment.ServiceType = RateServiceWebReference.ServiceType.FEDEX_FIRST_FREIGHT; - break; - case "FEDEX_FREIGHT_ECONOMY": - requestedShipment.ServiceType = RateServiceWebReference.ServiceType.FEDEX_FREIGHT_ECONOMY; - break; - case "FEDEX_FREIGHT_PRIORITY": - requestedShipment.ServiceType = RateServiceWebReference.ServiceType.FEDEX_FREIGHT_PRIORITY; - break; - case "FEDEX_GROUND": - requestedShipment.ServiceType = RateServiceWebReference.ServiceType.FEDEX_GROUND; - break; - case "FEDEX_NEXT_DAY_AFTERNOON": - requestedShipment.ServiceType = RateServiceWebReference.ServiceType.FEDEX_NEXT_DAY_AFTERNOON; - break; - case "FEDEX_NEXT_DAY_EARLY_MORNING": - requestedShipment.ServiceType = RateServiceWebReference.ServiceType.FEDEX_NEXT_DAY_EARLY_MORNING; - break; - case "FEDEX_NEXT_DAY_END_OF_DAY": - requestedShipment.ServiceType = RateServiceWebReference.ServiceType.FEDEX_NEXT_DAY_END_OF_DAY; - break; - case "FEDEX_NEXT_DAY_FREIGHT": - requestedShipment.ServiceType = RateServiceWebReference.ServiceType.FEDEX_NEXT_DAY_FREIGHT; - break; - case "FEDEX_NEXT_DAY_MID_MORNING": - requestedShipment.ServiceType = RateServiceWebReference.ServiceType.FEDEX_NEXT_DAY_MID_MORNING; - break; - case "FIRST_OVERNIGHT": - requestedShipment.ServiceType = RateServiceWebReference.ServiceType.FIRST_OVERNIGHT; - break; - case "GROUND_HOME_DELIVERY": - requestedShipment.ServiceType = RateServiceWebReference.ServiceType.GROUND_HOME_DELIVERY; - break; - case "INTERNATIONAL_ECONOMY": - requestedShipment.ServiceType = RateServiceWebReference.ServiceType.INTERNATIONAL_ECONOMY; - break; - case "INTERNATIONAL_ECONOMY_FREIGHT": - requestedShipment.ServiceType = RateServiceWebReference.ServiceType.INTERNATIONAL_ECONOMY_FREIGHT; - break; - case "INTERNATIONAL_FIRST": - requestedShipment.ServiceType = RateServiceWebReference.ServiceType.INTERNATIONAL_FIRST; - break; - case "INTERNATIONAL_PRIORITY": - requestedShipment.ServiceType = RateServiceWebReference.ServiceType.INTERNATIONAL_PRIORITY; - break; - case "INTERNATIONAL_PRIORITY_FREIGHT": - requestedShipment.ServiceType = RateServiceWebReference.ServiceType.INTERNATIONAL_PRIORITY_FREIGHT; - break; - case "PRIORITY_OVERNIGHT": - requestedShipment.ServiceType = RateServiceWebReference.ServiceType.PRIORITY_OVERNIGHT; - break; - case "STANDARD_OVERNIGHT": - requestedShipment.ServiceType = RateServiceWebReference.ServiceType.STANDARD_OVERNIGHT; - break; - case "SAME_DAY": - requestedShipment.ServiceType = RateServiceWebReference.ServiceType.SAME_DAY; - break; - case "SAME_DAY_CITY": - requestedShipment.ServiceType = RateServiceWebReference.ServiceType.SAME_DAY_CITY; - break; - case "SMART_POST": - requestedShipment.ServiceType = RateServiceWebReference.ServiceType.SMART_POST; - break; - default: - requestedShipment.ServiceTypeSpecified = false; - break; + if (shipmentDetail.TotalNetCharge > 0) + return shipmentDetail.TotalNetCharge; } } - private bool IsRequestParametersCorrect(Order order) - { - if (string.IsNullOrEmpty(order.DeliveryZip) && string.IsNullOrEmpty(order.CustomerZip)) - { - order.ShippingProviderErrors.Add("ZipCode field is empty."); - } - - if (string.IsNullOrEmpty(order.DeliveryAddress) && - string.IsNullOrEmpty(order.DeliveryAddress2) && - string.IsNullOrEmpty(order.CustomerAddress) && - string.IsNullOrEmpty(order.CustomerAddress2)) - { - order.ShippingProviderErrors.Add("Delivery address is empty."); - } - - return order.ShippingProviderErrors.Count == 0; - } - - private double ProcessResponse(FedexRateReply reply, Order order) - { - if (reply.HighestSeverity == NotificationSeverityType.SUCCESS || - reply.HighestSeverity == NotificationSeverityType.NOTE || - reply.HighestSeverity == NotificationSeverityType.WARNING) - { - foreach (var rateReplyDetail in reply.RateReplyDetails) - { - foreach (var shipmentDetail in rateReplyDetail.RatedShipmentDetails) - { - var rateDetail = shipmentDetail.ShipmentRateDetail; - if (rateDetail.TotalNetCharge != null) - { - return (double)rateDetail.TotalNetCharge.Amount; - } - } - } - } - else - { - var stringBuilder = new StringBuilder(); - ShowNotifications(stringBuilder, reply); - order.ShippingProviderWarnings.Add(stringBuilder.ToString()); - } + return 0; + } - return 0; - } + private string GetAlertsText(IEnumerable alerts) + { + var stringBuilder = new StringBuilder("Alerts"); - private void ShowNotifications(StringBuilder stringBuilder, FedexRateReply reply) + for (int i = 0; i < alerts.Count() - 1; i++) { - stringBuilder.AppendLine("Notifications"); - - for (int i = 0; i < reply.Notifications.Length; i++) - { - var notification = reply.Notifications[i]; - stringBuilder.AppendFormat("Notification no. {0}\r\n", i); - stringBuilder.AppendFormat(" Severity: {0}\r\n", notification.Severity); - stringBuilder.AppendFormat(" Code: {0}\r\n", notification.Code); - stringBuilder.AppendFormat(" Message: {0}\r\n", notification.Message); - stringBuilder.AppendFormat(" Source: {0}\r\n", notification.Source); - } + var notification = alerts.ElementAt(i); + stringBuilder.AppendLine($"Alert no. {i}"); + stringBuilder.AppendLine($"Code: {notification.Code}"); + stringBuilder.AppendLine($"Message: {notification.Message}"); + stringBuilder.AppendLine($"Type: {notification.AlertType}"); } - private void ShowRateReply(StringBuilder stringBuilder, FedexRateReply reply) - { - stringBuilder.AppendLine("RateReply details:"); - foreach (var rateReplyDetail in reply.RateReplyDetails) - { - if (rateReplyDetail.ServiceTypeSpecified) - { - stringBuilder.AppendFormat("Service Type: {0}\r\n", rateReplyDetail.ServiceType); - } + return stringBuilder.ToString(); + } - if (rateReplyDetail.PackagingTypeSpecified) - { - stringBuilder.AppendFormat("Packaging Type: {0}\r\n", rateReplyDetail.PackagingType); - } + /// + /// Retrieves options + /// + /// Service Type, Dropoff Type, Packing Type, Origination State/Region or Origination Country + public IEnumerable GetParameterOptions(string parameterName) + { + string languageId = Services.Languages.GetDefaultLanguageId(); - stringBuilder.AppendLine(); - foreach (var shipmentDetail in rateReplyDetail.RatedShipmentDetails) - { - ShowShipmentRateDetails(stringBuilder, shipmentDetail); - stringBuilder.AppendLine(); - } - ShowDeliveryDetails(stringBuilder, rateReplyDetail); - stringBuilder.AppendLine("**********************************************************"); - } - } + var options = new List(); - private void ShowDeliveryDetails(StringBuilder stringBuilder, RateReplyDetail rateDetail) + switch (parameterName) { - if (rateDetail.DeliveryTimestampSpecified) - { - stringBuilder.AppendLine("Delivery timestamp: " + rateDetail.DeliveryTimestamp.ToString()); - } - if (rateDetail.TransitTimeSpecified) - { - stringBuilder.AppendLine("Transit time: " + rateDetail.TransitTime); - } + case "Service Type": + options.Add(new("FedEx International Priority Express", "FEDEX_INTERNATIONAL_PRIORITY_EXPRESS")); + options.Add(new("FedEx International First", "INTERNATIONAL_FIRST")); + options.Add(new("FedEx International Priority", "FEDEX_INTERNATIONAL_PRIORITY")); + options.Add(new("FedEx International Economy", "INTERNATIONAL_ECONOMY")); + options.Add(new("FedEx International Ground and FedEx Domestic Ground®", "FEDEX_GROUND")); + options.Add(new("FedEx First Overnight", "FIRST_OVERNIGHT")); + options.Add(new("FedEx First Overnight Freight", "FEDEX_FIRST_FREIGHT")); + options.Add(new("FedEx 1Day Freight (Hawaii service is to and from the island of Oahu only)", "FEDEX_1_DAY_FREIGHT")); + options.Add(new("FedEx 2Day Freight (Hawaii service is to and from the island of Oahu only)", "FEDEX_2_DAY_FREIGHT")); + options.Add(new("FedEx 3Day Freight (Except Alaska and Hawaii)", "FEDEX_3_DAY_FREIGHT")); + options.Add(new("FedEx International Priority Freight", "INTERNATIONAL_PRIORITY_FREIGHT")); + options.Add(new("FedEx International Economy Freight", "INTERNATIONAL_ECONOMY_FREIGHT")); + options.Add(new("FedEx International Deferred Freight", "FEDEX_INTERNATIONAL_DEFERRED_FREIGHT")); + options.Add(new("FedEx International Priority DirectDistribution®", "INTERNATIONAL_PRIORITY_DISTRIBUTION")); + options.Add(new("FedEx International Priority DirectDistribution® Freight", "INTERNATIONAL_DISTRIBUTION_FREIGHT")); + options.Add(new("International Ground Distribution (IGD)", "INTL_GROUND_DISTRIBUTION")); + options.Add(new("FedEx Home Delivery", "GROUND_HOME_DELIVERY")); + options.Add(new("FedEx Ground Economy (Formerly known as FedEx SmartPost®)", "SMART_POST")); + options.Add(new("FedEx Priority Overnight", "PRIORITY_OVERNIGHT")); + options.Add(new("FedEx Standard Overnight (Hawaii outbound only)", "STANDARD_OVERNIGHT")); + options.Add(new("FedEx 2Day (Except Intra-Hawaii)", "FEDEX_2_DAY")); + options.Add(new("FedEx 2Day AM (Hawaii outbound only)", "FEDEX_2_DAY_AM")); + options.Add(new("FedEx Express Saver® (Except Alaska and Hawaii)", "FEDEX_EXPRESS_SAVER")); + options.Add(new("FedEx SameDay", "SAME_DAY")); + options.Add(new("FedEx SameDay City (Selected U.S. Metro Areas)", "SAME_DAY_CITY")); + + break; + + case "Pickup Type": + options.Add(new("Contact FedEx to schedule", "CONTACT_FEDEX_TO_SCHEDULE")); + options.Add(new("Dropp off at FedEx location", "DROPOFF_AT_FEDEX_LOCATION")); + options.Add(new("Use scheduled pickup", "USE_SCHEDULED_PICKUP")); + + break; + + case "Packing Type": + options.Add(new("Customer packaging", "YOUR_PACKAGING")); + options.Add(new("FedEx Envelope (Макс: 1 lbs/0.5 KG)", "FEDEX_ENVELOPE")); + options.Add(new("FedEx Box (Макс: 20 lbs/9 KG)", "FEDEX_BOX")); + options.Add(new("FedEx Small Box (Макс: 20 lbs/9 KG)", "FEDEX_SMALL_BOX")); + options.Add(new("FedEx Medium Box (Макс: 20 lbs/9 KG)", "FEDEX_MEDIUM_BOX")); + options.Add(new("FedEx Large Box (Макс: 20 lbs/9 KG)", "FEDEX_LARGE_BOX")); + options.Add(new("FedEx Extra Large Box (Макс: 20 lbs/9 KG)", "FEDEX_EXTRA_LARGE_BOX")); + options.Add(new("FedEx 10kg Box (Макс: 22 lbs/10 KG)", "FEDEX_10KG_BOX")); + options.Add(new("FedEx 25kg Box (Макс: 55 lbs/25 KG)", "FEDEX_25KG_BOX")); + options.Add(new("FedEx Pak (Макс: 20 lbs/9 KG)", "FEDEX_PAK")); + options.Add(new("FedEx Tube (Макс: 20 lbs/9 KG)", "FEDEX_TUBE")); + + break; + + case "Origination Country": + foreach (Country country in Services.Countries.GetCountries()) + options.Add(new(country.GetName(languageId), country.Code2)); + + break; } - private void ShowShipmentRateDetails(StringBuilder stringBuilder, RatedShipmentDetail shipmentDetail) - { - if (shipmentDetail == null) return; - if (shipmentDetail.ShipmentRateDetail == null) return; - - var rateDetail = shipmentDetail.ShipmentRateDetail; - stringBuilder.AppendLine("--- Shipment Rate Detail ---"); - stringBuilder.AppendFormat("RateType: {0} \r\n", rateDetail.RateType); - - if (rateDetail.TotalBillingWeight != null) - { - stringBuilder.AppendFormat( - "Total Billing Weight: {0} {1}\r\n", - rateDetail.TotalBillingWeight.Value, shipmentDetail.ShipmentRateDetail.TotalBillingWeight.Units - ); - } - - if (rateDetail.TotalBaseCharge != null) - { - stringBuilder.AppendFormat( - "Total Base Charge: {0} {1}\r\n", - rateDetail.TotalBaseCharge.Amount, rateDetail.TotalBaseCharge.Currency - ); - } - - if (rateDetail.TotalFreightDiscounts != null) - { - stringBuilder.AppendFormat( - "Total Freight Discounts: {0} {1}\r\n", - rateDetail.TotalFreightDiscounts.Amount, rateDetail.TotalFreightDiscounts.Currency - ); - } - - if (rateDetail.TotalSurcharges != null) - { - stringBuilder.AppendFormat( - "Total Surcharges: {0} {1}\r\n", - rateDetail.TotalSurcharges.Amount, rateDetail.TotalSurcharges.Currency - ); - } + return options; + } - if (rateDetail.Surcharges != null) - { - // Individual surcharge for each package - foreach (var surcharge in rateDetail.Surcharges) - { - stringBuilder.AppendFormat( - " {0} surcharge {1} {2}\r\n", - surcharge.SurchargeType, surcharge.Amount.Amount, surcharge.Amount.Currency - ); - } - } + public IEnumerable GetParameterOptions(string parameterName, Func parameterValueLookup) + { + string languageId = Services.Languages.GetDefaultLanguageId(); - if (rateDetail.TotalNetCharge != null) - { - stringBuilder.AppendFormat( - "Total Net Charge: {0} {1}\r\n", - rateDetail.TotalNetCharge.Amount, rateDetail.TotalNetCharge.Currency - ); - } - } + var options = new List(); - /// - /// Retrieves options - /// - /// Service Type, Dropoff Type, Packing Type, Origination State/Region or Origination Country - /// Options with code and title - public Hashtable GetOptions(string optionName) + switch (parameterName) { - var options = new Hashtable(); + case "Origination State/Region": + string countryCode = Converter.ToString(parameterValueLookup("Origination Country")); - switch (optionName) - { - case "Service Type": - options.Add("EUROPE_FIRST_INTERNATIONAL_PRIORITY", "EUROPE_FIRST_INTERNATIONAL_PRIORITY"); - options.Add("FEDEX_1_DAY_FREIGHT", "FEDEX_1_DAY_FREIGHT"); - options.Add("FEDEX_2_DAY", "FEDEX_2_DAY"); - options.Add("FEDEX_2_DAY_AM", "FEDEX_2_DAY_AM"); - options.Add("FEDEX_2_DAY_FREIGHT", "FEDEX_2_DAY_FREIGHT"); - options.Add("FEDEX_3_DAY_FREIGHT", "FEDEX_3_DAY_FREIGHT"); - options.Add("FEDEX_DISTANCE_DEFERRED", "FEDEX_DISTANCE_DEFERRED"); - options.Add("FEDEX_EXPRESS_SAVER", "FEDEX_EXPRESS_SAVER"); - options.Add("FEDEX_FIRST_FREIGHT", "FEDEX_FIRST_FREIGHT"); - options.Add("FEDEX_FREIGHT_ECONOMY", "FEDEX_FREIGHT_ECONOMY"); - options.Add("FEDEX_FREIGHT_PRIORITY", "FEDEX_FREIGHT_PRIORITY"); - options.Add("FEDEX_GROUND", "FEDEX_GROUND"); - options.Add("FEDEX_NEXT_DAY_AFTERNOON", "FEDEX_NEXT_DAY_AFTERNOON"); - options.Add("FEDEX_NEXT_DAY_EARLY_MORNING", "FEDEX_NEXT_DAY_EARLY_MORNING"); - options.Add("FEDEX_NEXT_DAY_END_OF_DAY", "FEDEX_NEXT_DAY_END_OF_DAY"); - options.Add("FEDEX_NEXT_DAY_FREIGHT", "FEDEX_NEXT_DAY_FREIGHT"); - options.Add("FEDEX_NEXT_DAY_MID_MORNING", "FEDEX_NEXT_DAY_MID_MORNING"); - options.Add("FIRST_OVERNIGHT", "FIRST_OVERNIGHT"); - options.Add("GROUND_HOME_DELIVERY", "GROUND_HOME_DELIVERY"); - options.Add("INTERNATIONAL_ECONOMY", "INTERNATIONAL_ECONOMY"); - options.Add("INTERNATIONAL_ECONOMY_FREIGHT", "INTERNATIONAL_ECONOMY_FREIGHT"); - options.Add("INTERNATIONAL_FIRST", "INTERNATIONAL_FIRST"); - options.Add("INTERNATIONAL_PRIORITY", "INTERNATIONAL_PRIORITY"); - options.Add("INTERNATIONAL_PRIORITY_FREIGHT", "INTERNATIONAL_PRIORITY_FREIGHT"); - options.Add("PRIORITY_OVERNIGHT", "PRIORITY_OVERNIGHT"); - options.Add("STANDARD_OVERNIGHT", "STANDARD_OVERNIGHT"); - options.Add("SAME_DAY", "SAME_DAY"); - options.Add("SAME_DAY_CITY", "SAME_DAY_CITY"); - options.Add("SMART_POST", "SMART_POST"); - break; - - case "Dropoff Type": - options.Add("BUSINESS_SERVICE_CENTER", "BUSINESS_SERVICE_CENTER"); - options.Add("DROP_BOX", "DROP_BOX"); - options.Add("REGULAR_PICKUP", "REGULAR_PICKUP"); - options.Add("REQUEST_COURIER", "REQUEST_COURIER"); - options.Add("STATION", "STATION"); - break; - - case "Packing Type": - options.Add("FEDEX_10KG_BOX", "FEDEX_10KG_BOX"); - options.Add("FEDEX_25KG_BOX", "FEDEX_25KG_BOX"); - options.Add("FEDEX_BOX", "FEDEX_BOX"); - options.Add("FEDEX_ENVELOPE", "FEDEX_ENVELOPE"); - options.Add("FEDEX_EXTRA_LARGE_BOX", "FEDEX_EXTRA_LARGE_BOX"); - options.Add("FEDEX_LARGE_BOX", "FEDEX_LARGE_BOX"); - options.Add("FEDEX_MEDIUM_BOX", "FEDEX_MEDIUM_BOX"); - options.Add("FEDEX_PAK", "FEDEX_PAK"); - options.Add("FEDEX_SMALL_BOX", "FEDEX_SMALL_BOX"); - options.Add("FEDEX_TUBE", "FEDEX_TUBE"); - options.Add("YOUR_PACKAGING", "YOUR_PACKAGING"); - break; - - case "Origination State/Region": - options.Add("AL", "Alabama"); - options.Add("AK", "Alaska"); - options.Add("AZ", "Arizona"); - options.Add("AR", "Arkansas"); - options.Add("CA", "California"); - options.Add("CO", "Colorado"); - options.Add("CT", "Connecticut"); - options.Add("DE", "Delaware"); - options.Add("DC", "District of Columbia"); - options.Add("FL", "Florida"); - options.Add("GA", "Georgia"); - options.Add("HI", "Hawaii"); - options.Add("ID", "Idaho"); - options.Add("IL", "Illinois"); - options.Add("IN", "Indiana"); - options.Add("IA", "Iowa"); - options.Add("KS", "Kansas"); - options.Add("KY", "Kentucky"); - options.Add("LA", "Louisiana"); - options.Add("ME", "Maine"); - options.Add("MD", "Maryland"); - options.Add("MA", "Massachusetts"); - options.Add("MI", "Michigan"); - options.Add("MN", "Minnesota"); - options.Add("MS", "Mississippi"); - options.Add("MO", "Missouri"); - options.Add("MT", "Montana"); - options.Add("NE", "Nebraska"); - options.Add("NV", "Nevada"); - options.Add("NH", "New Hampshire"); - options.Add("NJ", "New Jersey"); - options.Add("NM", "New Mexico"); - options.Add("NY", "New York"); - options.Add("NC", "North Carolina"); - options.Add("ND", "North Dakota"); - options.Add("OH", "Ohio"); - options.Add("OK", "Oklahoma"); - options.Add("OR", "Oregon"); - options.Add("PA", "Pennsylvania"); - options.Add("RI", "Rhode Island"); - options.Add("SC", "South Carolina"); - options.Add("SD", "South Dakota"); - options.Add("TN", "Tennessee"); - options.Add("TX", "Texas"); - options.Add("UT", "Utah"); - options.Add("VT", "Vermont"); - options.Add("VA", "Virginia"); - options.Add("WA", "Washington"); - options.Add("WV", "West Virginia"); - options.Add("WI", "Wisconsin"); - options.Add("WY", "Wyoming"); - break; - - case "Origination Country": - foreach (GlobalISO iso in GlobalISO.GetGlobalISOs()) - { - if (!options.ContainsKey(iso.Code2)) - { - options.Add(iso.Code2, iso.CountryUK); - } - } - - break; - } + foreach (Country region in Services.Countries.GetRegions(countryCode)) + options.Add(new(region.GetName(languageId), region.RegionCode)); - return options; + break; } + + return options; } + } diff --git a/src/FedexAddressValidationProvider.cs b/src/FedexAddressValidationProvider.cs index c9d3d4f..9d4d3a0 100644 --- a/src/FedexAddressValidationProvider.cs +++ b/src/FedexAddressValidationProvider.cs @@ -1,386 +1,231 @@ using Dynamicweb.Core; using Dynamicweb.Ecommerce.Orders; using Dynamicweb.Ecommerce.Orders.AddressValidation; -using Dynamicweb.Ecommerce.ShippingProviders.FedEx.FedexAddressValidationService; +using Dynamicweb.Ecommerce.ShippingProviders.FedEx.Models.AddressValidation; +using Dynamicweb.Ecommerce.ShippingProviders.FedEx.Service; using Dynamicweb.Extensibility.AddIns; using Dynamicweb.Extensibility.Editors; using System; using System.Collections.Generic; using System.Linq; -using System.Text; -namespace Dynamicweb.Ecommerce.ShippingProviders.FedEx -{ - /// - /// FedEx address validation provider - /// - [AddInName("FedEx address validation provider")] - public class FedexAddressValidationProvider : AddressValidatorProvider - { - #region "Parameters" +namespace Dynamicweb.Ecommerce.ShippingProviders.FedEx; - [AddInParameter("ServiceURL"), AddInParameterEditor(typeof(TextParameterEditor), "size=80")] - public string ServiceURL { get; set; } +/// +/// FedEx address validation provider +/// +[AddInName("FedEx address validation provider")] +public class FedexAddressValidationProvider : AddressValidatorProvider +{ + #region "Parameters" - [AddInParameter("Key"), AddInParameterEditor(typeof(TextParameterEditor), "size=80")] - public string Key { get; set; } + [AddInParameter("Api key"), AddInParameterEditor(typeof(TextParameterEditor), "size=80")] + public string ApiKey { get; set; } = ""; - [AddInParameter("Password"), AddInParameterEditor(typeof(TextParameterEditor), "size=80")] - public string Password { get; set; } + [AddInParameter("Secret key"), AddInParameterEditor(typeof(TextParameterEditor), "size=80; password=true")] + public string SecretKey { get; set; } = ""; - [AddInParameter("Account Number"), AddInParameterEditor(typeof(TextParameterEditor), "size=80")] - public string AccountNumber { get; set; } + [AddInParameter("Account Number"), AddInParameterEditor(typeof(TextParameterEditor), "size=80")] + public string AccountNumber { get; set; } = ""; - [AddInParameter("Meter Number"), AddInParameterEditor(typeof(TextParameterEditor), "size=80")] - public string MeterNumber { get; set; } + [AddInParameter("Validate Billing Address"), AddInParameterEditor(typeof(YesNoParameterEditor), "")] + public bool ValidateBillingAddress { get; set; } - [AddInParameter("Validate Billing Address"), AddInParameterEditor(typeof(YesNoParameterEditor), "")] - public bool ValidateBillingAddress { get; set; } + [AddInParameter("Validate Shipping Address"), AddInParameterEditor(typeof(YesNoParameterEditor), "")] + public bool ValidateShippingAddress { get; set; } - [AddInParameter("Validate Shipping Address"), AddInParameterEditor(typeof(YesNoParameterEditor), "")] - public bool ValidateShippingAddress { get; set; } + [AddInParameter("Debug"), AddInParameterEditor(typeof(YesNoParameterEditor), "infoText=Create a log of the request and response from FedEx")] + public bool Debug { get; set; } - [AddInParameter("Debug"), AddInParameterEditor(typeof(YesNoParameterEditor), ""), AddInDescription("Create a log of the request and response from FedEx")] - public bool Debug { get; set; } + [AddInParameter("Test Mode"), AddInParameterEditor(typeof(YesNoParameterEditor), "infoText=Set to use sandbox (test mode) for the API requests. Uncheck when ready for production.")] + public bool TestMode { get; set; } - #endregion + #endregion - /// - /// Defaukt constructor - /// - public FedexAddressValidationProvider() + /// + /// Validate order billing and delivery addresses + /// + /// Order for validation + public override void Validate(Order order) + { + var service = new FedExService { - if (string.IsNullOrWhiteSpace(ServiceURL)) - { - ServiceURL = "https://ws.fedex.com:443/web-services/addressvalidation"; - } - } + ApiKey = ApiKey, + SecretKey = SecretKey, + DebugLog = Debug, + TestMode = TestMode + }; - /// - /// Validate order billing and delivery addresses - /// - /// Order for validation - public override void Validate(Order order) - { - if (ValidateBillingAddress) - { - DoValidate(order, GetBillingAddress(order), AddressType.Billing); - } + if (ValidateBillingAddress) + DoValidate(service, order, GetBillingAddress(order), AddressType.Billing); - if (ValidateShippingAddress) - { - DoValidate(order, GetDeliveryAddress(order), AddressType.Delivery); - } - } - - private void DoValidate(Order order, AddressToValidate addressToValidate, AddressType addressType) - { - var addressValidatorResult = new AddressValidatorResult(ValidatorId, addressType); + if (ValidateShippingAddress) + DoValidate(service, order, GetDeliveryAddress(order), AddressType.Delivery); + } - try - { - if (string.IsNullOrEmpty(addressToValidate.Address.PostalCode) || addressToValidate.Address.StreetLines.Length == 0) - { - addressValidatorResult.IsError = true; - addressValidatorResult.ErrorMessage = "Insufficient address information"; - order.AddressValidatorResults.Add(addressValidatorResult); - - return; - } - - var addressValidationReply = GetValidationReplyFromCache(addressToValidate, addressType); - - if (addressValidationReply == null) - { - var service = new AddressValidationPortTypeClient(); - service.Endpoint.Address = new System.ServiceModel.EndpointAddress(ServiceURL); - - var request = CreateAddressValidationRequest(addressToValidate); - addressValidationReply = service.addressValidation(request); - - StoreValidationReply(addressToValidate, addressType, addressValidationReply); - } - - if (addressValidationReply.HighestSeverity == NotificationSeverityType.SUCCESS || addressValidationReply.HighestSeverity == NotificationSeverityType.NOTE || addressValidationReply.HighestSeverity == NotificationSeverityType.WARNING) - { - ProccessAddressValidationReply(addressToValidate, addressValidatorResult, addressValidationReply); - } - else - { - addressValidatorResult.IsError = true; - addressValidatorResult.ErrorMessage = GetNotificationsMessage(addressValidationReply); - } - - if (Debug) - { - SaveReply(addressValidationReply); - } - } - catch (Exception ex) - { - addressValidatorResult.IsError = true; - addressValidatorResult.ErrorMessage = string.Format("FedEx threw an exception while validating address: {0}", ex.Message); - } + private static string[] GetStreetLines(params string[] addressStrings) => addressStrings + .Where(address => !string.IsNullOrWhiteSpace(address)) + .ToArray(); - if (addressValidatorResult.IsError || addressValidatorResult.AddressFields.Count > 0) - { - order.AddressValidatorResults.Add(addressValidatorResult); - } - } + private void DoValidate(FedExService service, Order order, AddressToValidate addressToValidate, AddressType addressType) + { + var addressValidatorResult = new AddressValidatorResult(ValidatorId, addressType); - private void ProccessAddressValidationReply(AddressToValidate addressToValidate, AddressValidatorResult addressValidatorResult, AddressValidationReply reply) + try { - var addrResult = reply.AddressResults[0]; - - if (addrResult.Attributes == null) + if (string.IsNullOrEmpty(addressToValidate.Address.PostalCode) || !addressToValidate.Address.StreetLines.Any()) { addressValidatorResult.IsError = true; - addressValidatorResult.ErrorMessage = "Invalid address"; - return; - } + addressValidatorResult.ErrorMessage = "Insufficient address information"; + order.AddressValidatorResults.Add(addressValidatorResult); - if (!Converter.ToBoolean(GetAttribute(addrResult, "CountrySupported"))) - { - addressValidatorResult.IsError = true; - addressValidatorResult.ErrorMessage = "Country not supported"; return; } - var resolvedAttribute = GetAttribute(addrResult, "Resolved"); - if (resolvedAttribute != null) - { - if (!Converter.ToBoolean(resolvedAttribute)) - { - addressValidatorResult.IsError = true; - addressValidatorResult.ErrorMessage = "Unable to resolve an address"; - } - } - - var validAddress = addrResult.EffectiveAddress; - - string oldLine1 = string.Empty; - if (addressToValidate.Address.StreetLines.Length > 0) - oldLine1 = addressToValidate.Address.StreetLines[0]; - - string validLine1 = string.Empty; - if (validAddress.StreetLines.Length > 0) - { - validLine1 = validAddress.StreetLines[0]; - } - - addressValidatorResult.CheckAddressField(AddressFieldType.AddressLine1, oldLine1, validLine1); - addressValidatorResult.CheckAddressField(AddressFieldType.City, addressToValidate.Address.City, validAddress.City); - addressValidatorResult.CheckAddressField(AddressFieldType.Region, addressToValidate.Address.StateOrProvinceCode, validAddress.StateOrProvinceCode); - addressValidatorResult.CheckAddressField(AddressFieldType.ZipCode, addressToValidate.Address.PostalCode, validAddress.PostalCode); - } + var addressValidationResponse = GetValidationReplyFromCache(addressToValidate, addressType); - private string GetAttribute(AddressValidationResult validationResult, string attributeName) - { - if (validationResult.Attributes == null) + if (addressValidationResponse is null) { - return null; - } + addressValidationResponse = service.ValidateAddress(addressToValidate, order.Id); + if (addressValidationResponse is null) + throw new NullReferenceException("Address validation response has no data."); - foreach (AddressAttribute attribute in validationResult.Attributes) - { - if (attribute.Name == attributeName) - { - return attribute.Value; - } + StoreValidationResponse(addressToValidate, addressType, addressValidationResponse); } - return null; + ProccessAddressValidationResponse(addressToValidate, addressValidatorResult, addressValidationResponse); } - - private string GetNotificationsMessage(AddressValidationReply reply) + catch (Exception ex) { - var stringBuilder = new StringBuilder(); - - foreach (var notification in reply.Notifications) - { - stringBuilder.AppendLine(notification.Message); - } - - return stringBuilder.ToString(); + addressValidatorResult.IsError = true; + addressValidatorResult.ErrorMessage = string.Format("FedEx threw an exception while validating address: {0}", ex.Message); } - private AddressToValidate GetDeliveryAddress(Order order) + if (addressValidatorResult.IsError || addressValidatorResult.AddressFields.Count > 0) { - var address = new AddressToValidate(); - address.ClientReferenceId = "REF_DELIVERY"; - address.Address = new Address(); - address.Address.StreetLines = GetStreetLines(order.DeliveryAddress, order.DeliveryAddress2); - address.Address.City = order.DeliveryCity; - address.Address.PostalCode = order.DeliveryZip; - address.Address.CountryCode = order.DeliveryCountryCode; - address.Address.StateOrProvinceCode = order.DeliveryRegion; - - return address; + order.AddressValidatorResults.Add(addressValidatorResult); } + } - private AddressToValidate GetBillingAddress(Order order) - { - var address = new AddressToValidate(); - address.ClientReferenceId = "REF_CUSTOMER"; - address.Address = new Address(); - address.Address.StreetLines = GetStreetLines(order.CustomerAddress, order.CustomerAddress2); - address.Address.City = order.CustomerCity; - address.Address.PostalCode = order.CustomerZip; - address.Address.CountryCode = order.CustomerCountryCode; - address.Address.StateOrProvinceCode = order.CustomerRegion; - - return address; - } + private void ProccessAddressValidationResponse(AddressToValidate addressToValidate, AddressValidatorResult addressValidatorResult, ValidateAddressResponse response) + { + var addrResult = response.Output?.ResolvedAddresses?.FirstOrDefault(); - private string[] GetStreetLines(params string[] addressStrings) + if (addrResult?.Attributes is null) { - var result = new List(addressStrings.Length); - - foreach (var address in addressStrings) - { - if (!string.IsNullOrWhiteSpace(address)) - { - result.Add(address); - } - } + addressValidatorResult.IsError = true; + addressValidatorResult.ErrorMessage = "Invalid address"; - return result.ToArray(); + return; } - private AddressValidationRequest CreateAddressValidationRequest(AddressToValidate addressToValidate) - { - var request = new AddressValidationRequest(); - request.WebAuthenticationDetail = new WebAuthenticationDetail(); - request.WebAuthenticationDetail.UserCredential = new WebAuthenticationCredential(); - request.WebAuthenticationDetail.UserCredential.Key = Key; - request.WebAuthenticationDetail.UserCredential.Password = Password; - - request.ClientDetail = new ClientDetail(); - request.ClientDetail.AccountNumber = AccountNumber; - request.ClientDetail.MeterNumber = MeterNumber; - - request.TransactionDetail = new TransactionDetail(); - request.TransactionDetail.CustomerTransactionId = "***Address Validation Request using VC#***"; + ValidateAddressAttributes attributes = addrResult.Attributes; - request.Version = new VersionId(); - - request.InEffectAsOfTimestamp = DateTime.Now; - request.InEffectAsOfTimestampSpecified = true; - - request.AddressesToValidate = new AddressToValidate[1]; - request.AddressesToValidate[0] = addressToValidate; + if (!attributes.IsCountrySupported()) + { + addressValidatorResult.IsError = true; + addressValidatorResult.ErrorMessage = "Country not supported"; - return request; + return; } - private void SaveReply(AddressValidationReply reply) + if (!attributes.IsResolved()) { - var stringBuilder = new StringBuilder(); - - if (reply.HighestSeverity == NotificationSeverityType.SUCCESS || - reply.HighestSeverity == NotificationSeverityType.NOTE || - reply.HighestSeverity == NotificationSeverityType.WARNING) - { - SaveAddressValidationReply(stringBuilder, reply); - } - - stringBuilder.Append(GetNotificationsMessage(reply)); + addressValidatorResult.IsError = true; + addressValidatorResult.ErrorMessage = "Unable to resolve an address"; - SaveLog(stringBuilder.ToString()); + return; } - private void SaveAddressValidationReply(StringBuilder stringBuilder, AddressValidationReply reply) - { - stringBuilder.AppendLine("AddressValidationReply details:"); - stringBuilder.AppendLine("*****************************************************"); + string? oldLine1 = string.Empty; + if (addressToValidate.Address.StreetLines.Any()) + oldLine1 = addressToValidate.Address.StreetLines.FirstOrDefault(); - foreach (var result in reply.AddressResults) - { - stringBuilder.AppendLine("Address Id : " + result.ClientReferenceId); - if (result.ClassificationSpecified) { Console.WriteLine("Classification: " + result.Classification); } - if (result.StateSpecified) { Console.WriteLine("State: " + result.State); } - stringBuilder.AppendLine("Proposed Address--"); - - var address = result.EffectiveAddress; - foreach (string street in address.StreetLines) - { - stringBuilder.AppendLine("Street: " + street); - } - - stringBuilder.AppendLine("City: " + address.City); - stringBuilder.AppendLine("StateOrProvinceCode: " + address.StateOrProvinceCode); - stringBuilder.AppendLine("PostalCode: " + address.PostalCode); - stringBuilder.AppendLine("CountryCode: " + address.CountryCode); - stringBuilder.AppendLine(); - stringBuilder.AppendLine("Address Attributes:"); - - foreach (var attribute in result.Attributes) - { - stringBuilder.AppendLine(string.Format(" {0}: {1}", attribute.Name, attribute.Value)); - } - } - } + string? validLine1 = string.Empty; + if (addrResult.StreetLinesToken?.Any() is true) + validLine1 = addrResult.StreetLinesToken?.FirstOrDefault(); - #region Cache address validator request + addressValidatorResult.CheckAddressField(AddressFieldType.AddressLine1, oldLine1, validLine1); + addressValidatorResult.CheckAddressField(AddressFieldType.City, addressToValidate.Address.City ?? "", addrResult.СityToken?.FirstOrDefault()?.Value ?? ""); + addressValidatorResult.CheckAddressField(AddressFieldType.Region, addressToValidate.Address.StateOrProvinceCode ?? "", addrResult.StateOrProvinceCode ?? ""); + addressValidatorResult.CheckAddressField(AddressFieldType.ZipCode, addressToValidate.Address.PostalCode ?? "", addrResult.PostalCodeToken?.Value ?? ""); + } - private string CacheKey(int validatorId, AddressType addressType) - { - return string.Format("AddressServiceRequest_{0}_{1}", validatorId, addressType); - } + private AddressToValidate GetDeliveryAddress(Order order) + { + var address = new AddressToValidate(); + address.ClientReferenceId = "REF_DELIVERY"; + address.Address.StreetLines = GetStreetLines(order.DeliveryAddress, order.DeliveryAddress2); + address.Address.City = order.DeliveryCity; + address.Address.PostalCode = order.DeliveryZip; + address.Address.CountryCode = order.DeliveryCountryCode; + address.Address.StateOrProvinceCode = order.DeliveryRegion; + + return address; + } - private AddressValidationReply GetValidationReplyFromCache(AddressToValidate address, AddressType addressType) - { - if (Context.Current.Session[CacheKey(ValidatorId, addressType)] == null) - { - return null; - } + private AddressToValidate GetBillingAddress(Order order) + { + var address = new AddressToValidate(); + address.ClientReferenceId = "REF_CUSTOMER"; + address.Address.StreetLines = GetStreetLines(order.CustomerAddress, order.CustomerAddress2); + address.Address.City = order.CustomerCity; + address.Address.PostalCode = order.CustomerZip; + address.Address.CountryCode = order.CustomerCountryCode; + address.Address.StateOrProvinceCode = order.CustomerRegion; + + return address; + } - var cachedRequest = Context.Current.Session[CacheKey(ValidatorId, addressType)] as ValidateCache; - if (cachedRequest == null) - { - return null; - } + #region Cache address validator request - if (address.Address.CountryCode != cachedRequest.Address.Address.CountryCode || - address.Address.CountryName != cachedRequest.Address.Address.CountryName || - address.Address.PostalCode != cachedRequest.Address.Address.PostalCode || - address.Address.City != cachedRequest.Address.Address.City || - address.Address.StateOrProvinceCode != cachedRequest.Address.Address.StateOrProvinceCode) - { - return null; - } + private string CacheKey(int validatorId, AddressType addressType) + => string.Format("AddressServiceRequest_{0}_{1}", validatorId, addressType); - if (address.Address.StreetLines.Length != cachedRequest.Address.Address.StreetLines.Length) - { - return null; - } + private ValidateAddressResponse? GetValidationReplyFromCache(AddressToValidate address, AddressType addressType) + { + if (Context.Current?.Session is null) + return null; - foreach (var line in address.Address.StreetLines) - { - if (!cachedRequest.Address.Address.StreetLines.Contains(line)) - { - return null; - } - } + if (Context.Current.Session[CacheKey(ValidatorId, addressType)] is null) + return null; - return cachedRequest.ValidateResult; - } + var cachedRequest = Context.Current.Session[CacheKey(ValidatorId, addressType)] as ValidateCache; + if (cachedRequest is null) + return null; - private void StoreValidationReply(AddressToValidate address, AddressType addressType, AddressValidationReply validateResult) + if (!string.Equals(address.Address.CountryCode, cachedRequest.Address?.Address?.CountryCode, StringComparison.OrdinalIgnoreCase) || + !string.Equals(address.Address.CountryCode, cachedRequest.Address?.Address?.CountryCode, StringComparison.OrdinalIgnoreCase) || + !string.Equals(address.Address.PostalCode, cachedRequest.Address?.Address?.PostalCode, StringComparison.OrdinalIgnoreCase) || + !string.Equals(address.Address.City, cachedRequest.Address?.Address?.City, StringComparison.OrdinalIgnoreCase) || + !string.Equals(address.Address.StateOrProvinceCode, cachedRequest.Address?.Address?.StateOrProvinceCode, StringComparison.OrdinalIgnoreCase)) { - Context.Current.Session[CacheKey(ValidatorId, addressType)] = new ValidateCache - { - Address = address, - ValidateResult = validateResult - }; + return null; } - private class ValidateCache + if (address.Address.StreetLines.Count() != cachedRequest.Address?.Address?.StreetLines?.Count()) + return null; + + foreach (var line in address.Address.StreetLines) { - public AddressToValidate Address; - public AddressValidationReply ValidateResult; + if (cachedRequest.Address?.Address?.StreetLines?.Contains(line) is false or null) + return null; } - #endregion + return cachedRequest.ValidateResult; } + + private void StoreValidationResponse(AddressToValidate address, AddressType addressType, ValidateAddressResponse validateResult) + { + if (Context.Current?.Session is null) + return; + + Context.Current.Session[CacheKey(ValidatorId, addressType)] = new ValidateCache + { + Address = address, + ValidateResult = validateResult + }; + } + + #endregion } diff --git a/src/Models/AddressValidation/Address.cs b/src/Models/AddressValidation/Address.cs new file mode 100644 index 0000000..e0338d2 --- /dev/null +++ b/src/Models/AddressValidation/Address.cs @@ -0,0 +1,23 @@ +using System.Collections.Generic; +using System.Runtime.Serialization; + +namespace Dynamicweb.Ecommerce.ShippingProviders.FedEx.Models.AddressValidation; + +[DataContract] +internal sealed class Address +{ + [DataMember(Name = "streetLines", IsRequired = true)] + public IEnumerable StreetLines { get; set; } = []; + + [DataMember(Name = "city", IsRequired = true)] + public string City { get; set; } = ""; + + [DataMember(Name = "stateOrProvinceCode", EmitDefaultValue = false)] + public string StateOrProvinceCode { get; set; } = ""; + + [DataMember(Name = "postalCode", IsRequired = true)] + public string PostalCode { get; set; } = ""; + + [DataMember(Name = "countryCode", EmitDefaultValue = false)] + public string CountryCode { get; set; } = ""; +} diff --git a/src/Models/AddressValidation/AddressToValidate.cs b/src/Models/AddressValidation/AddressToValidate.cs new file mode 100644 index 0000000..9ae4966 --- /dev/null +++ b/src/Models/AddressValidation/AddressToValidate.cs @@ -0,0 +1,13 @@ +using System.Runtime.Serialization; + +namespace Dynamicweb.Ecommerce.ShippingProviders.FedEx.Models.AddressValidation; + +[DataContract] +internal sealed class AddressToValidate +{ + [DataMember(Name = "clientReferenceId", EmitDefaultValue = false)] + public string ClientReferenceId { get; set; } = ""; + + [DataMember(Name = "address", IsRequired = true)] + public Address Address { get; set; } = new(); +} diff --git a/src/Models/AddressValidation/ResolvedAddress.cs b/src/Models/AddressValidation/ResolvedAddress.cs new file mode 100644 index 0000000..f55d41f --- /dev/null +++ b/src/Models/AddressValidation/ResolvedAddress.cs @@ -0,0 +1,50 @@ +using System.Collections.Generic; +using System.Runtime.Serialization; + +namespace Dynamicweb.Ecommerce.ShippingProviders.FedEx.Models.AddressValidation; + +[DataContract] +internal sealed class ResolvedAddress +{ + [DataMember(Name = "streetLinesToken")] + public IEnumerable? StreetLinesToken { get; set; } + + [DataMember(Name = "cityToken", EmitDefaultValue = false)] + public IEnumerable? СityToken { get; set; } + + [DataMember(Name = "stateOrProvinceCode", EmitDefaultValue = false)] + public string? StateOrProvinceCode { get; set; } + + [DataMember(Name = "countryCode", EmitDefaultValue = false)] + public string? CountryCode { get; set; } + + [DataMember(Name = "customerMessage")] + public IEnumerable? CustomerMessage { get; set; } + + [DataMember(Name = "postalCodeToken")] + public ResolvedValue? PostalCodeToken { get; set; } + + [DataMember(Name = "classification", EmitDefaultValue = false)] + public string? Classification { get; set; } + + [DataMember(Name = "postOfficeBox")] + public bool PostOfficeBox { get; set; } + + [DataMember(Name = "normalizedStatusNameDPV")] + public bool NormalizedStatusNameDPV { get; set; } + + [DataMember(Name = "standardizedStatusNameMatchSource", EmitDefaultValue = false)] + public string? StandardizedStatusNameMatchSource { get; set; } + + [DataMember(Name = "resolutionMethodName", EmitDefaultValue = false)] + public string? ResolutionMethodName { get; set; } + + [DataMember(Name = "ruralRouteHighwayContract")] + public bool RuralRouteHighwayContract { get; set; } + + [DataMember(Name = "generalDelivery")] + public bool GeneralDelivery { get; set; } + + [DataMember(Name = "attributes")] + public ValidateAddressAttributes? Attributes { get; set; } +} diff --git a/src/Models/AddressValidation/ResolvedValue.cs b/src/Models/AddressValidation/ResolvedValue.cs new file mode 100644 index 0000000..115d4f3 --- /dev/null +++ b/src/Models/AddressValidation/ResolvedValue.cs @@ -0,0 +1,13 @@ +using System.Runtime.Serialization; + +namespace Dynamicweb.Ecommerce.ShippingProviders.FedEx.Models.AddressValidation; + +[DataContract] +internal sealed class ResolvedValue +{ + [DataMember(Name = "changed")] + public bool Changed { get; set; } + + [DataMember(Name = "value")] + public string Value { get; set; } = ""; +} \ No newline at end of file diff --git a/src/Models/AddressValidation/ValidateAddressAttributes.cs b/src/Models/AddressValidation/ValidateAddressAttributes.cs new file mode 100644 index 0000000..c6c8f1c --- /dev/null +++ b/src/Models/AddressValidation/ValidateAddressAttributes.cs @@ -0,0 +1,16 @@ +using Dynamicweb.Core; +using System.Runtime.Serialization; + +namespace Dynamicweb.Ecommerce.ShippingProviders.FedEx.Models.AddressValidation; + +[DataContract] +internal sealed class ValidateAddressAttributes +{ + public string? CountrySupported { get; set; } + + public string? Resolved { get; set; } + + public bool IsCountrySupported() => Converter.ToBoolean(CountrySupported); + + public bool IsResolved() => Converter.ToBoolean(Resolved); +} diff --git a/src/Models/AddressValidation/ValidateAddressControlParameters.cs b/src/Models/AddressValidation/ValidateAddressControlParameters.cs new file mode 100644 index 0000000..c3c65fd --- /dev/null +++ b/src/Models/AddressValidation/ValidateAddressControlParameters.cs @@ -0,0 +1,10 @@ +using System.Runtime.Serialization; + +namespace Dynamicweb.Ecommerce.ShippingProviders.FedEx.Models.AddressValidation; + +[DataContract] +internal sealed class ValidateAddressControlParameters +{ + [DataMember(Name = "includeResolutionTokens", EmitDefaultValue = false)] + public bool IncludeResolutionTokens { get; set; } +} diff --git a/src/Models/AddressValidation/ValidateAddressRequest.cs b/src/Models/AddressValidation/ValidateAddressRequest.cs new file mode 100644 index 0000000..d2328cd --- /dev/null +++ b/src/Models/AddressValidation/ValidateAddressRequest.cs @@ -0,0 +1,17 @@ +using System.Collections.Generic; +using System.Runtime.Serialization; + +namespace Dynamicweb.Ecommerce.ShippingProviders.FedEx.Models.AddressValidation; + +[DataContract] +internal sealed class ValidateAddressRequest +{ + [DataMember(Name = "inEffectAsOfTimestamp", EmitDefaultValue = false)] + public string InEffectAsOfTimestamp { get; set; } = ""; + + [DataMember(Name = "validateAddressControlParameters", EmitDefaultValue = false)] + public ValidateAddressControlParameters? ValidateAddressControlParameters { get; set; } + + [DataMember(Name = "addressesToValidate", IsRequired = true)] + public IEnumerable AddressesToValidate { get; set; } = []; +} diff --git a/src/Models/AddressValidation/ValidateAddressResponse.cs b/src/Models/AddressValidation/ValidateAddressResponse.cs new file mode 100644 index 0000000..fccb953 --- /dev/null +++ b/src/Models/AddressValidation/ValidateAddressResponse.cs @@ -0,0 +1,16 @@ +using System.Runtime.Serialization; + +namespace Dynamicweb.Ecommerce.ShippingProviders.FedEx.Models.AddressValidation; + +[DataContract] +internal sealed class ValidateAddressResponse +{ + [DataMember(Name = "transactionId")] + public string TransactionId { get; set; } = ""; + + [DataMember(Name = "customerTransactionId")] + public string CustomerTransactionId { get; set; } = ""; + + [DataMember(Name = "output")] + public ValidateAddressResponseOutput? Output { get; set; } +} \ No newline at end of file diff --git a/src/Models/AddressValidation/ValidateAddressResponseOutput.cs b/src/Models/AddressValidation/ValidateAddressResponseOutput.cs new file mode 100644 index 0000000..9f40698 --- /dev/null +++ b/src/Models/AddressValidation/ValidateAddressResponseOutput.cs @@ -0,0 +1,14 @@ +using System.Collections.Generic; +using System.Runtime.Serialization; + +namespace Dynamicweb.Ecommerce.ShippingProviders.FedEx.Models.AddressValidation; + +[DataContract] +internal sealed class ValidateAddressResponseOutput +{ + [DataMember(Name = "resolvedAddresses")] + public IEnumerable? ResolvedAddresses { get; set; } + + [DataMember(Name = "alerts")] + public IEnumerable? Alerts { get; set; } +} diff --git a/src/Models/Alert.cs b/src/Models/Alert.cs new file mode 100644 index 0000000..c295e94 --- /dev/null +++ b/src/Models/Alert.cs @@ -0,0 +1,16 @@ +using System.Runtime.Serialization; + +namespace Dynamicweb.Ecommerce.ShippingProviders.FedEx.Models; + +[DataContract] +internal sealed class Alert +{ + [DataMember(Name = "code")] + public string Code { get; set; } = ""; + + [DataMember(Name = "message")] + public string Message { get; set; } = ""; + + [DataMember(Name = "alertType")] + public bool AlertType { get; set; } +} diff --git a/src/Models/ErrorData.cs b/src/Models/ErrorData.cs new file mode 100644 index 0000000..7afb13a --- /dev/null +++ b/src/Models/ErrorData.cs @@ -0,0 +1,17 @@ +using System.Collections.Generic; +using System.Runtime.Serialization; + +namespace Dynamicweb.Ecommerce.ShippingProviders.GLS.Models; + +[DataContract] +internal sealed class ErrorData +{ + [DataMember(Name = "transactionId")] + public string TransactionId { get; set; } = ""; + + [DataMember(Name = "customerTransactionId")] + public string CustomerTransactionId { get; set; } = ""; + + [DataMember(Name = "errors")] + public IEnumerable? Errors { get; set; } +} diff --git a/src/Models/ErrorDetail.cs b/src/Models/ErrorDetail.cs new file mode 100644 index 0000000..88a8a23 --- /dev/null +++ b/src/Models/ErrorDetail.cs @@ -0,0 +1,18 @@ +using Dynamicweb.Ecommerce.ShippingProviders.FedEx.Models; +using System.Collections.Generic; +using System.Runtime.Serialization; + +namespace Dynamicweb.Ecommerce.ShippingProviders.GLS.Models; + +[DataContract] +internal sealed class ErrorDetail +{ + [DataMember(Name = "code")] + public string Code { get; set; } = ""; + + [DataMember(Name = "message")] + public string Message { get; set; } = ""; + + [DataMember(Name = "parameterList")] + public IEnumerable? Parameters { get; set; } +} diff --git a/src/Models/ParameterData.cs b/src/Models/ParameterData.cs new file mode 100644 index 0000000..6544a19 --- /dev/null +++ b/src/Models/ParameterData.cs @@ -0,0 +1,13 @@ +using System.Runtime.Serialization; + +namespace Dynamicweb.Ecommerce.ShippingProviders.FedEx.Models; + +[DataContract] +internal sealed class ParameterData +{ + [DataMember(Name = "value")] + public string Value { get; set; } = ""; + + [DataMember(Name = "key")] + public string Key { get; set; } = ""; +} diff --git a/src/Models/Rates/AccountNumber.cs b/src/Models/Rates/AccountNumber.cs new file mode 100644 index 0000000..47cc8b0 --- /dev/null +++ b/src/Models/Rates/AccountNumber.cs @@ -0,0 +1,10 @@ +using System.Runtime.Serialization; + +namespace Dynamicweb.Ecommerce.ShippingProviders.FedEx.Models.Rates; + +[DataContract] +internal sealed class AccountNumber +{ + [DataMember(Name = "value", EmitDefaultValue = false)] + public string Value { get; set; } = ""; +} diff --git a/src/Models/Rates/AddressDetails.cs b/src/Models/Rates/AddressDetails.cs new file mode 100644 index 0000000..d6901d0 --- /dev/null +++ b/src/Models/Rates/AddressDetails.cs @@ -0,0 +1,26 @@ +using System.Collections.Generic; +using System.Runtime.Serialization; + +namespace Dynamicweb.Ecommerce.ShippingProviders.FedEx.Models; + +[DataContract] +internal sealed class AddressDetails +{ + [DataMember(Name = "streetLines", EmitDefaultValue = false)] + public IEnumerable StreetLines { get; set; } = []; + + [DataMember(Name = "city", EmitDefaultValue = false)] + public string City { get; set; } = ""; + + [DataMember(Name = "stateOrProvinceCode", EmitDefaultValue = false)] + public string StateOrProvinceCode { get; set; } = ""; + + [DataMember(Name = "postalCode", IsRequired = true)] + public string PostalCode { get; set; } = ""; + + [DataMember(Name = "countryCode", IsRequired = true)] + public string CountryCode { get; set; } = ""; + + [DataMember(Name = "residential", EmitDefaultValue = false)] + public bool? Residential { get; set; } +} diff --git a/src/Models/Rates/CustomerMessage.cs b/src/Models/Rates/CustomerMessage.cs new file mode 100644 index 0000000..4053429 --- /dev/null +++ b/src/Models/Rates/CustomerMessage.cs @@ -0,0 +1,13 @@ +using System.Runtime.Serialization; + +namespace Dynamicweb.Ecommerce.ShippingProviders.FedEx.Models.Rates; + +[DataContract] +internal sealed class CustomerMessage +{ + [DataMember(Name = "code")] + public string Code { get; set; } = ""; + + [DataMember(Name = "message")] + public string Message { get; set; } = ""; +} diff --git a/src/Models/Rates/LocationData.cs b/src/Models/Rates/LocationData.cs new file mode 100644 index 0000000..65f293b --- /dev/null +++ b/src/Models/Rates/LocationData.cs @@ -0,0 +1,10 @@ +using System.Runtime.Serialization; + +namespace Dynamicweb.Ecommerce.ShippingProviders.FedEx.Models.Rates; + +[DataContract] +internal sealed class LocationData +{ + [DataMember(Name = "address", IsRequired = true)] + public AddressDetails Address { get; set; } = new(); +} diff --git a/src/Models/Rates/Money.cs b/src/Models/Rates/Money.cs new file mode 100644 index 0000000..8bd88d3 --- /dev/null +++ b/src/Models/Rates/Money.cs @@ -0,0 +1,13 @@ +using System.Runtime.Serialization; + +namespace Dynamicweb.Ecommerce.ShippingProviders.FedEx.Models.Rates; + +[DataContract] +internal sealed class Money +{ + [DataMember(Name = "amount", EmitDefaultValue = false)] + public double Amount { get; set; } + + [DataMember(Name = "currency", EmitDefaultValue = false)] + public string Currency { get; set; } = ""; +} diff --git a/src/Models/Rates/RateAndTransitTimesRequest.cs b/src/Models/Rates/RateAndTransitTimesRequest.cs new file mode 100644 index 0000000..87b504b --- /dev/null +++ b/src/Models/Rates/RateAndTransitTimesRequest.cs @@ -0,0 +1,20 @@ +using System.Collections.Generic; +using System.Runtime.Serialization; + +namespace Dynamicweb.Ecommerce.ShippingProviders.FedEx.Models.Rates; + +[DataContract] +internal sealed class RateAndTransitTimesRequest +{ + [DataMember(Name = "accountNumber", IsRequired = true)] + public AccountNumber AccountNumber { get; set; } = new(); + + [DataMember(Name = "rateRequestControlParameters", EmitDefaultValue = false)] + public RateRequestControlParameters? RateRequestControlParameters { get; set; } + + [DataMember(Name = "requestedShipment", IsRequired = true)] + public RequestedShipment RequestedShipment { get; set; } = new(); + + [DataMember(Name = "carrierCodes", EmitDefaultValue = false)] + public IEnumerable? CarrierCodes { get; set; } +} diff --git a/src/Models/Rates/RateAndTransitTimesResponse.cs b/src/Models/Rates/RateAndTransitTimesResponse.cs new file mode 100644 index 0000000..b38f785 --- /dev/null +++ b/src/Models/Rates/RateAndTransitTimesResponse.cs @@ -0,0 +1,16 @@ +using System.Runtime.Serialization; + +namespace Dynamicweb.Ecommerce.ShippingProviders.FedEx.Models.Rates; + +[DataContract] +internal sealed class RateAndTransitTimesResponse +{ + [DataMember(Name = "transactionId")] + public string TransactionId { get; set; } = ""; + + [DataMember(Name = "customerTransactionId")] + public string CustomerTransactionId { get; set; } = ""; + + [DataMember(Name = "output")] + public RateAndTransitTimesResponseOutput? Output { get; set; } +} diff --git a/src/Models/Rates/RateAndTransitTimesResponseOutput.cs b/src/Models/Rates/RateAndTransitTimesResponseOutput.cs new file mode 100644 index 0000000..f763866 --- /dev/null +++ b/src/Models/Rates/RateAndTransitTimesResponseOutput.cs @@ -0,0 +1,20 @@ +using System.Collections.Generic; +using System.Runtime.Serialization; + +namespace Dynamicweb.Ecommerce.ShippingProviders.FedEx.Models.Rates; + +[DataContract] +internal sealed class RateAndTransitTimesResponseOutput +{ + [DataMember(Name = "rateReplyDetails")] + public IEnumerable? RateReplyDetails { get; set; } + + [DataMember(Name = "quoteDate")] + public string QuoteDate { get; set; } = ""; + + [DataMember(Name = "isEncoded")] + public bool IsEncoded { get; set; } + + [DataMember(Name = "alerts")] + public IEnumerable? Alerts { get; set; } +} diff --git a/src/Models/Rates/RateReplyDetail.cs b/src/Models/Rates/RateReplyDetail.cs new file mode 100644 index 0000000..2c295c8 --- /dev/null +++ b/src/Models/Rates/RateReplyDetail.cs @@ -0,0 +1,26 @@ +using System.Collections.Generic; +using System.Runtime.Serialization; + +namespace Dynamicweb.Ecommerce.ShippingProviders.FedEx.Models.Rates; + +[DataContract] +internal sealed class RateReplyDetail +{ + [DataMember(Name = "serviceType")] + public string ServiceType { get; set; } = ""; + + [DataMember(Name = "serviceName")] + public string ServiceName { get; set; } = ""; + + [DataMember(Name = "packagingType")] + public string PackagingType { get; set; } = ""; + + [DataMember(Name = "signatureOptionType")] + public string SignatureOptionType { get; set; } = ""; + + [DataMember(Name = "customerMessages")] + public IEnumerable? CustomerMessages { get; set; } + + [DataMember(Name = "ratedShipmentDetails")] + public IEnumerable? RatedShipmentDetails { get; set; } +} diff --git a/src/Models/Rates/RateRequestControlParameters.cs b/src/Models/Rates/RateRequestControlParameters.cs new file mode 100644 index 0000000..9083a55 --- /dev/null +++ b/src/Models/Rates/RateRequestControlParameters.cs @@ -0,0 +1,13 @@ +using System.Runtime.Serialization; + +namespace Dynamicweb.Ecommerce.ShippingProviders.FedEx.Models.Rates; + +[DataContract] +internal sealed class RateRequestControlParameters +{ + [DataMember(Name = "returnTransitTimes", EmitDefaultValue = false)] + public bool ReturnTransitTimes { get; set; } + + [DataMember(Name = "servicesNeededOnRateFailure", EmitDefaultValue = false)] + public bool ServicesNeededOnRateFailure { get; set; } +} diff --git a/src/Models/Rates/RatedShipmentDetail.cs b/src/Models/Rates/RatedShipmentDetail.cs new file mode 100644 index 0000000..8a5ab86 --- /dev/null +++ b/src/Models/Rates/RatedShipmentDetail.cs @@ -0,0 +1,25 @@ +using System.Runtime.Serialization; + +namespace Dynamicweb.Ecommerce.ShippingProviders.FedEx.Models.Rates; + +[DataContract] +internal sealed class RatedShipmentDetail +{ + [DataMember(Name = "rateType")] + public string RateType { get; set; } = ""; + + [DataMember(Name = "ratedWeightMethod")] + public string RatedWeightMethod { get; set; } = ""; + + [DataMember(Name = "quoteNumber")] + public string QuoteNumber { get; set; } = ""; + + [DataMember(Name = "totalDutiesTaxesAndFees")] + public double TotalDutiesTaxesAndFees { get; set; } + + [DataMember(Name = "totalDiscounts")] + public double TotalDiscounts { get; set; } + + [DataMember(Name = "totalNetCharge")] + public double TotalNetCharge { get; set; } +} diff --git a/src/Models/Rates/RequestedPackageLineItem.cs b/src/Models/Rates/RequestedPackageLineItem.cs new file mode 100644 index 0000000..4d13623 --- /dev/null +++ b/src/Models/Rates/RequestedPackageLineItem.cs @@ -0,0 +1,16 @@ +using System.Runtime.Serialization; + +namespace Dynamicweb.Ecommerce.ShippingProviders.FedEx.Models.Rates; + +[DataContract] +internal sealed class RequestedPackageLineItem +{ + [DataMember(Name = "groupPackageCount", EmitDefaultValue = false)] + public int? GroupPackageCount { get; set; } + + [DataMember(Name = "declaredValue", EmitDefaultValue = false)] + public Money? DeclaredValue { get; set; } + + [DataMember(Name = "weight", IsRequired = true)] + public Weight? Weight { get; set; } +} diff --git a/src/Models/Rates/RequestedShipment.cs b/src/Models/Rates/RequestedShipment.cs new file mode 100644 index 0000000..b77bd4e --- /dev/null +++ b/src/Models/Rates/RequestedShipment.cs @@ -0,0 +1,45 @@ +using System.Collections.Generic; +using System.Runtime.Serialization; + +namespace Dynamicweb.Ecommerce.ShippingProviders.FedEx.Models.Rates; + +[DataContract] +internal sealed class RequestedShipment +{ + [DataMember(Name = "rateRequestType", IsRequired = true)] + public IEnumerable RateRequestType { get; set; } = []; + + [DataMember(Name = "shipper", IsRequired = true)] + public LocationData Shipper { get; set; } = new(); + + [DataMember(Name = "recipient", IsRequired = true)] + public LocationData Recipient { get; set; } = new(); + + [DataMember(Name = "serviceType", EmitDefaultValue = false)] + public string? ServiceType { get; set; } + + [DataMember(Name = "preferredCurrency", EmitDefaultValue = false)] + public string PreferredCurrency { get; set; } = ""; + + [DataMember(Name = "shipDateStamp", EmitDefaultValue = false)] + public string ShipDateStamp { get; set; } = ""; + + [DataMember(Name = "pickupType", IsRequired = true)] + public string PickupType { get; set; } = ""; + + [DataMember(Name = "packagingType", EmitDefaultValue = false)] + public string? PackagingType { get; set; } + + [DataMember(Name = "requestedPackageLineItems", IsRequired = true)] + public IEnumerable RequestedPackageLineItems { get; set; } = []; + + [DataMember(Name = "documentShipment", EmitDefaultValue = false)] + public bool? DocumentShipment { get; set; } + + [DataMember(Name = "totalPackageCount", EmitDefaultValue = false)] + public int? TotalPackageCount { get; set; } + + [DataMember(Name = "totalWeight", EmitDefaultValue = false)] + public double? TotalWeight { get; set; } +} + diff --git a/src/Models/Rates/Weight.cs b/src/Models/Rates/Weight.cs new file mode 100644 index 0000000..5adb0d9 --- /dev/null +++ b/src/Models/Rates/Weight.cs @@ -0,0 +1,13 @@ +using System.Runtime.Serialization; + +namespace Dynamicweb.Ecommerce.ShippingProviders.FedEx.Models.Rates; + +[DataContract] +internal class Weight +{ + [DataMember(Name = "units", IsRequired = true)] + public string Units { get; set; } = ""; + + [DataMember(Name = "value", IsRequired = true)] + public double Value { get; set; } +} diff --git a/src/Models/TokenData.cs b/src/Models/TokenData.cs new file mode 100644 index 0000000..342b181 --- /dev/null +++ b/src/Models/TokenData.cs @@ -0,0 +1,19 @@ +using System; +using System.Runtime.Serialization; + +namespace Dynamicweb.Ecommerce.ShippingProviders.GLS.Models; + +[DataContract] +internal sealed class TokenData +{ + [DataMember(Name = "token_type")] + public string TokenType { get; set; } = ""; + + [DataMember(Name = "access_token")] + public string AccessToken { get; set; } = ""; + + [DataMember(Name = "expires_in")] + public int ExpiresIn { get; set; } + + public DateTime ExpiresDate { get; set; } +} diff --git a/src/Service/ApiCommand.cs b/src/Service/ApiCommand.cs new file mode 100644 index 0000000..da4974e --- /dev/null +++ b/src/Service/ApiCommand.cs @@ -0,0 +1,25 @@ +namespace Dynamicweb.Ecommerce.ShippingProviders.FedEx.Service; + +internal enum ApiCommand +{ + /// + /// Generates an access token + /// See: https://developer.fedex.com/api/en-us/catalog/authorization/v1/docs.html + /// POST /oauth/token + /// + CreateAccessToken, + + /// + /// Generates an access token + /// See: https://developer.fedex.com/api/en-us/catalog/rate/v1/docs.html + /// POST /rate/v1/rates/quotes + /// + GetRateAndTransitTimes, + + /// + /// Validates an address + /// See: https://developer.fedex.com/api/en-us/catalog/address-validation/v1/docs.html + /// POST /address/v1/addresses/resolve + /// + ValidateAddress +} diff --git a/src/Service/CommandConfiguration.cs b/src/Service/CommandConfiguration.cs new file mode 100644 index 0000000..d100cc6 --- /dev/null +++ b/src/Service/CommandConfiguration.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; + +namespace Dynamicweb.Ecommerce.ShippingProviders.FedEx.Service; + +internal sealed class CommandConfiguration +{ + /// + /// Indicates if request and response must be logged + /// + public bool DebugLog { get; set; } + + /// + /// The unique customer's transaction id + /// + public string TransactionId { get; set; } = ""; + + /// + /// Indicates the combination of language code and country code + /// + public string Locale { get; set; } = ""; + + /// + /// FeedEx command. See operation urls in and + /// + public ApiCommand CommandType { get; set; } + + /// + /// The data object to serialize into JSON. Most of requests use application/json content type of data. + /// + public object? Data { get; set; } + + /// + /// Parameters for x-www-form-urlencoded data + /// + public Dictionary Parameters { get; set; } = new Dictionary(StringComparer.OrdinalIgnoreCase); +} diff --git a/src/Service/FedExRequest.cs b/src/Service/FedExRequest.cs new file mode 100644 index 0000000..458b56a --- /dev/null +++ b/src/Service/FedExRequest.cs @@ -0,0 +1,166 @@ +using Dynamicweb.Core; +using Dynamicweb.Ecommerce.ShippingProviders.FedEx.Models; +using Dynamicweb.Ecommerce.ShippingProviders.GLS.Models; +using Dynamicweb.Logging; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Net; +using System.Net.Http; +using System.Net.Http.Headers; +using System.Text; +using System.Threading.Tasks; + +namespace Dynamicweb.Ecommerce.ShippingProviders.FedEx.Service; + +internal static class FedExRequest +{ + public static string SendRequest(string baseAddress, CommandConfiguration configuration) + { + if (configuration.CommandType is not ApiCommand.CreateAccessToken) + throw new ArgumentException("Access token is needed. Please get the access token first."); + + return SendRequest(baseAddress, configuration, null); + } + + public static string SendRequest(string baseAddress, CommandConfiguration configuration, TokenData? tokenData) + { + using (var messageHandler = GetMessageHandler()) + { + using (var client = new HttpClient(messageHandler)) + { + client.BaseAddress = new Uri(baseAddress); + client.Timeout = new TimeSpan(0, 0, 0, 90); + if (tokenData is not null) + client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(tokenData.TokenType, tokenData.AccessToken); + if (!string.IsNullOrEmpty(configuration.TransactionId)) + client.DefaultRequestHeaders.Add("x-customer-transaction-id", configuration.TransactionId); + if (!string.IsNullOrEmpty(configuration.Locale)) + client.DefaultRequestHeaders.Add("x-locale", configuration.Locale); + + string apiCommand = GetCommandLink(baseAddress, configuration); + Task requestTask = configuration.CommandType switch + { + //POST + ApiCommand.CreateAccessToken => client.PostAsync(apiCommand, GetFormUrlEncodedContent(configuration)), + ApiCommand.GetRateAndTransitTimes or + ApiCommand.ValidateAddress => client.PostAsync(apiCommand, GetStringContent(configuration)), + _ => throw new NotSupportedException($"Unknown operation was used. The operation code: {configuration.CommandType}.") + }; + + try + { + using (HttpResponseMessage response = requestTask.GetAwaiter().GetResult()) + { + string responseText = response.Content.ReadAsStringAsync().GetAwaiter().GetResult(); + if (configuration.DebugLog) + { + var logText = new StringBuilder("Remote server response:"); + logText.AppendLine($"HttpStatusCode = {response.StatusCode}"); + logText.AppendLine($"HttpStatusDescription = {response.ReasonPhrase}"); + logText.AppendLine($"Response Text: {responseText}"); + + if (configuration.CommandType is ApiCommand.ValidateAddress) + LogAddressValidator(logText.ToString()); + else + Log(logText.ToString(), false); + } + + if (!response.IsSuccessStatusCode) + { + var errorResponse = Converter.Deserialize(responseText); + if (errorResponse?.Errors?.Any() is true) + { + var errorMessage = new StringBuilder(); + foreach (ErrorDetail error in errorResponse.Errors) + { + errorMessage.AppendLine($"{error.Code}: {error.Message}"); + + if (error.Parameters?.Any() is true) + { + errorMessage.AppendLine($"Parameters."); + foreach (ParameterData parameter in error.Parameters) + errorMessage.AppendLine($"{parameter.Key}: {parameter.Value}"); + + } + } + throw new Exception(errorMessage.ToString()); + } + + throw new Exception($"Unhandled exception. Operation failed: {response.ReasonPhrase}. Response text: {responseText}"); + } + + return responseText; + } + } + catch (HttpRequestException requestException) + { + throw new Exception($"An error occurred during FedEx request. Error code: {requestException.StatusCode}"); + } + } + } + + HttpMessageHandler GetMessageHandler() => new HttpClientHandler + { + AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip + }; + } + + private static HttpContent GetStringContent(CommandConfiguration configuration) + { + string content = Converter.SerializeCompact(configuration.Data); + + if (configuration.DebugLog) + Log($"Request for the command {configuration.CommandType}. Request data: {content}", true); + + return new StringContent(content, Encoding.UTF8, "application/json"); + } + + private static FormUrlEncodedContent? GetFormUrlEncodedContent(CommandConfiguration configuration) + { + if (configuration.Parameters?.Count is null or 0) + return null; + + Dictionary convertedParameters = configuration.Parameters + .Select(pair => new KeyValuePair(pair.Key, pair.Value?.ToString() ?? "")) + .ToDictionary(StringComparer.OrdinalIgnoreCase); + + if (configuration.DebugLog) + { + var message = new StringBuilder($"Request for the command {configuration.CommandType}. Request text: "); + foreach ((string key, string value) in convertedParameters) + message.AppendLine($"Key: {key}. Value: {value}"); + Log(message.ToString(), true); + } + + return new FormUrlEncodedContent(convertedParameters); + } + + private static string GetCommandLink(string baseAddress, CommandConfiguration configuration) + { + return configuration.CommandType switch + { + ApiCommand.CreateAccessToken => GetCommandLink("oauth/token"), + ApiCommand.GetRateAndTransitTimes => GetCommandLink("rate/v1/rates/quotes"), + ApiCommand.ValidateAddress => GetCommandLink($"address/v1/addresses/resolve"), + _ => throw new NotSupportedException($"The api command is not supported. Command: {configuration.CommandType}") + }; + + string GetCommandLink(string gateway) => $"{baseAddress}/{gateway}"; + } + + private static void Log(string message, bool isRequest) + { + string text = typeof(FedEx).FullName ?? "ShippingProvider"; + string name = "/eCom/ShippingProvider/" + text + "/" + (isRequest ? "Request" : "Response"); + LogManager.Current.GetLogger(name).Info(message); + LogManager.System.GetLogger("Provider", text).Info(message); + } + + private static void LogAddressValidator(string message) + { + string name = typeof(FedexAddressValidationProvider).FullName ?? "AddressValidationProvider"; + LogManager.Current.GetLogger(string.Format("/eCom/AddressValidatorProvider/{0}", name)).Info(message); + LogManager.System.GetLogger(LogCategory.Provider, name).Info(message); + } +} diff --git a/src/Service/FedExService.cs b/src/Service/FedExService.cs new file mode 100644 index 0000000..4cc7ecc --- /dev/null +++ b/src/Service/FedExService.cs @@ -0,0 +1,96 @@ +using Dynamicweb.Core; +using Dynamicweb.Ecommerce.Orders; +using Dynamicweb.Ecommerce.ShippingProviders.FedEx.Models.AddressValidation; +using Dynamicweb.Ecommerce.ShippingProviders.FedEx.Models.Rates; +using Dynamicweb.Ecommerce.ShippingProviders.GLS.Models; +using System; +using Dynamicweb.Core.Helpers; + +namespace Dynamicweb.Ecommerce.ShippingProviders.FedEx.Service; + +internal sealed class FedExService +{ + public bool DebugLog { get; set; } + + public bool TestMode { get; set; } + + public string ApiKey { get; set; } = ""; + + public string SecretKey { get; set; } = ""; + + public string Locale { get; set; } = ""; + + private TokenData? TokenData { get; set; } + + public RateAndTransitTimesResponse? GetRateAndTransitTimes(Order order, FedEx provider) + { + SetAccessToken(DebugLog); + + var configuration = new CommandConfiguration + { + CommandType = ApiCommand.GetRateAndTransitTimes, + TransactionId = order.Id, + Locale = Locale, + DebugLog = DebugLog, + Data = RateRequestCreationHelper.CreateRateAndTransitTimesRequest(order, provider) + }; + + string response = FedExRequest.SendRequest(GetBaseAddress(), configuration, TokenData); + + return Converter.Deserialize(response); + } + + public ValidateAddressResponse? ValidateAddress(AddressToValidate address, string transactionId) + { + SetAccessToken(DebugLog); + + var configuration = new CommandConfiguration + { + CommandType = ApiCommand.ValidateAddress, + TransactionId = transactionId, + Locale = Locale, + DebugLog = DebugLog, + Data = new ValidateAddressRequest + { + InEffectAsOfTimestamp = DateTime.Now.ToString(DateHelper.DateOnlyFormatStringSortable), + AddressesToValidate = [address], + ValidateAddressControlParameters = new() + { + IncludeResolutionTokens = true + } + } + }; + + string response = FedExRequest.SendRequest(GetBaseAddress(), configuration, TokenData); + + return Converter.Deserialize(response); + } + + private void SetAccessToken(bool debugLog) + { + if (!string.IsNullOrWhiteSpace(TokenData?.AccessToken) && TokenData?.ExpiresDate > DateTime.Now) + return; + + var configuration = new CommandConfiguration + { + CommandType = ApiCommand.CreateAccessToken, + DebugLog = debugLog, + Parameters = + { + ["client_id"] = ApiKey, + ["client_secret"] = SecretKey, + ["grant_type"] = "client_credentials" + } + }; + + string response = FedExRequest.SendRequest(GetBaseAddress(), configuration); + + TokenData = Converter.Deserialize(response); + if (TokenData is not null) + TokenData.ExpiresDate = DateTime.Now.AddSeconds(TokenData.ExpiresIn); + } + + private string GetBaseAddress() => TestMode + ? "https://apis-sandbox.fedex.com" + : "https://apis.fedex.com/"; +} diff --git a/src/Service/RateRequestCreationHelper.cs b/src/Service/RateRequestCreationHelper.cs new file mode 100644 index 0000000..37739cb --- /dev/null +++ b/src/Service/RateRequestCreationHelper.cs @@ -0,0 +1,126 @@ +using Dynamicweb.Core.Helpers; +using Dynamicweb.Ecommerce.Orders; +using Dynamicweb.Ecommerce.ShippingProviders.FedEx.Models; +using Dynamicweb.Ecommerce.ShippingProviders.FedEx.Models.Rates; +using System; +using System.Collections.Generic; +using System.Linq; + +namespace Dynamicweb.Ecommerce.ShippingProviders.FedEx.Service; + +internal static class RateRequestCreationHelper +{ + public static RateAndTransitTimesRequest CreateRateAndTransitTimesRequest(Order order, FedEx provider) + { + var request = new RateAndTransitTimesRequest(); + request.AccountNumber.Value = provider.AccountNumber; + + request.RateRequestControlParameters = new() + { + ReturnTransitTimes = true + }; + + request.CarrierCodes = ["FDXE", "FDXG"]; + request.RequestedShipment = new() + { + RateRequestType = ["ACCOUNT", "LIST"], + ShipDateStamp = DateTime.Now.ToString(DateHelper.DateOnlyFormatStringSortable), + PickupType = provider.PickupType, + ServiceType = provider.ServiceType, + PackagingType = provider.PackingType, + PreferredCurrency = order.PriceBeforeFees.Currency.Code, + TotalPackageCount = order.ProductOrderLines.Count, + Shipper = new() + { + Address = GetOriginAddress(order, provider) + }, + Recipient = new() + { + Address = GetDestinationAddress(order, provider) + }, + RequestedPackageLineItems = GetPackageLineItems(order, provider.UseLbInsteadOfKg).ToArray(), + TotalWeight = order.Weight + }; + + return request; + } + + private static IEnumerable GetPackageLineItems(Order order, bool useLbInsteadOfKg) + { + foreach (OrderLine orderLine in order.ProductOrderLines) + { + var packageLineItem = new RequestedPackageLineItem + { + GroupPackageCount = 1 + }; + + packageLineItem.Weight = new() + { + Units = useLbInsteadOfKg ? "LB" : "KG", + Value = orderLine.Weight + }; + + packageLineItem.DeclaredValue = new() + { + Amount = orderLine.Price.Price, + Currency = orderLine.Price.Currency.Code + }; + + yield return packageLineItem; + } + } + + private static AddressDetails GetOriginAddress(Order order, FedEx provider) + { + var address = new AddressDetails + { + CountryCode = provider.ShipperCountryCode, + City = provider.ShipperCity, + StreetLines = GetStreetLines(provider.ShipperStreet, provider.ShipperStreet2), + PostalCode = provider.ShipperPostalCode + }; + + address.StateOrProvinceCode = provider.ShipperCountryCode.Equals("US", StringComparison.Ordinal) + ? provider.ShipperStateOrProvinceCode1 + : provider.ShipperStateOrProvinceCode2; + + return address; + } + + private static AddressDetails GetDestinationAddress(Order order, FedEx provider) + { + bool isDeliveryFieldsFilled = !string.IsNullOrEmpty(order.DeliveryAddress) && !string.IsNullOrEmpty(order.DeliveryAddress2); + + if (isDeliveryFieldsFilled) + { + return new() + { + CountryCode = order.DeliveryCountryCode, + StateOrProvinceCode = order.DeliveryRegion, + City = order.DeliveryCity, + StreetLines = GetStreetLines(order.DeliveryAddress, order.DeliveryAddress2), + PostalCode = order.DeliveryZip, + Residential = provider.UseResidentialRates + }; + } + + return new() + { + CountryCode = order.CustomerCountryCode, + StateOrProvinceCode = order.CustomerRegion, + City = order.CustomerCity, + StreetLines = GetStreetLines(order.CustomerAddress, order.CustomerAddress2), + PostalCode = order.CustomerZip, + Residential = provider.UseResidentialRates + }; + } + + private static IEnumerable GetStreetLines(string address1, string address2) + { + if (!string.IsNullOrWhiteSpace(address1)) + yield return address1; + + if (!string.IsNullOrWhiteSpace(address2)) + yield return address2; + } +} diff --git a/src/ShippingProviderHelper.cs b/src/ShippingProviderHelper.cs index 5c9ef60..4319f3b 100644 --- a/src/ShippingProviderHelper.cs +++ b/src/ShippingProviderHelper.cs @@ -1,103 +1,88 @@ -using System.Collections.Generic; +using System; +using System.Collections.Generic; -namespace Dynamicweb.Ecommerce.ShippingProviders.FedEx +namespace Dynamicweb.Ecommerce.ShippingProviders.FedEx; + +/// +/// Provides methods for caching request data +/// +internal static class ShippingProviderHelper { + #region Cache rate request + + private static string ShippingCacheKey(string shippingID) + { + return string.Format("ShippingServiceRateRequest_{0}", shippingID); + } + /// - /// Provides methods for caching request data + /// Checks if rate request is cached /// - internal static class ShippingProviderHelper + /// identifier of shipping + /// request + /// Rate request instance + public static CachedRateRequestData CheckIsRateRequestCached(string shippingID, string request) { + var rateRequest = default(CachedRateRequestData); - #region Nested types - - /// - /// Structure that is used while calculating shipping fee for the specified order in FedEx shipping provider - /// - internal struct RateRequest - { - public string Request; - public double Rate; - public string Currency; - public List Errors; - public List Warning; - } - - #endregion - - #region Cache rate request + if (Context.Current?.Session is null) + return rateRequest; - private static string ShippingCacheKey(string shippingID) + if (Context.Current.Session[ShippingCacheKey(shippingID)] is object cachedData) { - return string.Format("ShippingServiceRateRequest_{0}", shippingID); + var cachedRequest = (CachedRateRequestData)cachedData; + if (string.Equals(request, cachedRequest.Request, StringComparison.Ordinal)) + rateRequest = cachedRequest; } - /// - /// Checks if rate request is cached - /// - /// identifier of shipping - /// request - /// Rate request instance - public static RateRequest CheckIsRateRequestCached(string shippingID, string request) - { - var rateRequest = default(RateRequest); - - if ((Context.Current.Session[ShippingCacheKey(shippingID)] != null)) - { - var cachedRequest = (RateRequest)Context.Current.Session[ShippingCacheKey(shippingID)]; - if (request == cachedRequest.Request) - { - rateRequest = cachedRequest; - } - } - - return rateRequest; - } + return rateRequest; + } - /// - /// Adds rate request to cache - /// - /// identifier of shipping - /// Request - /// Rate - /// Currency - /// list of warnings - /// list of errors - public static void CacheRateRequest(string shippingID, string request, double rate, string currency, List warning, List errors) - { - Context.Current.Session[ShippingCacheKey(shippingID)] = new RateRequest - { - Request = request, - Rate = rate, - Currency = currency, - Warning = new List(warning), - Errors = new List(errors) - }; - } + /// + /// Adds rate request to cache + /// + /// identifier of shipping + /// Request + /// Rate + /// Currency + /// list of warnings + /// list of errors + public static void CacheRateRequest(string shippingID, string request, double rate, string currency, List warning, List errors) + { + if (Context.Current?.Session is null) + return; - /// - /// Gets information about shipping request processing status - /// - /// identifier of shipping - /// true if shipping was processed - public static bool IsThisShippingRequestWasProcessed(string shippingID) + Context.Current.Session[ShippingCacheKey(shippingID)] = new CachedRateRequestData { - return Context.Current.Items.Contains(ShippingCacheKey(shippingID)); - } + Request = request, + Rate = rate, + Currency = currency, + Warning = new List(warning), + Errors = new List(errors) + }; + } - /// - /// Marks shipping request status as "in progress" - /// - /// - public static void SetShippingRequestIsProcessed(string shippingID) - { - if (!IsThisShippingRequestWasProcessed(shippingID)) - { - Context.Current.Items.Add(ShippingCacheKey(shippingID), true); - } - } + /// + /// Gets information about shipping request processing status + /// + /// identifier of shipping + /// true if shipping was processed + public static bool IsThisShippingRequestWasProcessed(string shippingID) + => Context.Current?.Items?.Contains(ShippingCacheKey(shippingID)) is true; - #endregion + /// + /// Marks shipping request status as "in progress" + /// + /// + public static void SetShippingRequestIsProcessed(string shippingID) + { + if (Context.Current?.Items is null) + return; + if (!IsThisShippingRequestWasProcessed(shippingID)) + Context.Current.Items.Add(ShippingCacheKey(shippingID), true); } + #endregion + } diff --git a/src/ValidateCache.cs b/src/ValidateCache.cs new file mode 100644 index 0000000..e1f2195 --- /dev/null +++ b/src/ValidateCache.cs @@ -0,0 +1,9 @@ +using Dynamicweb.Ecommerce.ShippingProviders.FedEx.Models.AddressValidation; + +namespace Dynamicweb.Ecommerce.ShippingProviders.FedEx; + +internal sealed class ValidateCache +{ + public AddressToValidate? Address; + public ValidateAddressResponse? ValidateResult; +} From 43bdd0c233552a7b672dafc6f7d63f799fce6232 Mon Sep 17 00:00:00 2001 From: Stanislav Smetanin Date: Fri, 16 May 2025 22:48:39 +1000 Subject: [PATCH 2/3] Code review changes. --- src/FedexAddressValidationProvider.cs | 29 ++-- src/Service/FedExRequest.cs | 182 ++++++++++++++------------ src/Service/FedExService.cs | 2 +- 3 files changed, 114 insertions(+), 99 deletions(-) diff --git a/src/FedexAddressValidationProvider.cs b/src/FedexAddressValidationProvider.cs index 9d4d3a0..47a01a2 100644 --- a/src/FedexAddressValidationProvider.cs +++ b/src/FedexAddressValidationProvider.cs @@ -101,10 +101,8 @@ private void DoValidate(FedExService service, Order order, AddressToValidate add addressValidatorResult.ErrorMessage = string.Format("FedEx threw an exception while validating address: {0}", ex.Message); } - if (addressValidatorResult.IsError || addressValidatorResult.AddressFields.Count > 0) - { - order.AddressValidatorResults.Add(addressValidatorResult); - } + if (addressValidatorResult.IsError || addressValidatorResult.AddressFields.Count > 0) + order.AddressValidatorResults.Add(addressValidatorResult); } private void ProccessAddressValidationResponse(AddressToValidate addressToValidate, AddressValidatorResult addressValidatorResult, ValidateAddressResponse response) @@ -137,18 +135,21 @@ private void ProccessAddressValidationResponse(AddressToValidate addressToValida return; } - string? oldLine1 = string.Empty; - if (addressToValidate.Address.StreetLines.Any()) - oldLine1 = addressToValidate.Address.StreetLines.FirstOrDefault(); + string originalAddressLine1 = addressToValidate.Address.StreetLines?.FirstOrDefault() ?? ""; + string validAddressLine1 = addrResult.StreetLinesToken?.FirstOrDefault() ?? ""; + addressValidatorResult.CheckAddressField(AddressFieldType.AddressLine1, originalAddressLine1, validAddressLine1); + + string originalCity = addressToValidate.Address.City ?? ""; + string validCity = addrResult.СityToken?.FirstOrDefault()?.Value ?? ""; + addressValidatorResult.CheckAddressField(AddressFieldType.City, originalCity, validCity); - string? validLine1 = string.Empty; - if (addrResult.StreetLinesToken?.Any() is true) - validLine1 = addrResult.StreetLinesToken?.FirstOrDefault(); + string originalStateOrProvinceCode = addressToValidate.Address.StateOrProvinceCode ?? ""; + string validStateOrProvinceCode = addrResult.StateOrProvinceCode ?? ""; + addressValidatorResult.CheckAddressField(AddressFieldType.Region, originalStateOrProvinceCode, validStateOrProvinceCode); - addressValidatorResult.CheckAddressField(AddressFieldType.AddressLine1, oldLine1, validLine1); - addressValidatorResult.CheckAddressField(AddressFieldType.City, addressToValidate.Address.City ?? "", addrResult.СityToken?.FirstOrDefault()?.Value ?? ""); - addressValidatorResult.CheckAddressField(AddressFieldType.Region, addressToValidate.Address.StateOrProvinceCode ?? "", addrResult.StateOrProvinceCode ?? ""); - addressValidatorResult.CheckAddressField(AddressFieldType.ZipCode, addressToValidate.Address.PostalCode ?? "", addrResult.PostalCodeToken?.Value ?? ""); + string originalPostalCode = addressToValidate.Address.PostalCode ?? ""; + string validPostalCode = addrResult.PostalCodeToken?.Value ?? ""; + addressValidatorResult.CheckAddressField(AddressFieldType.ZipCode, originalPostalCode, validPostalCode); } private AddressToValidate GetDeliveryAddress(Order order) diff --git a/src/Service/FedExRequest.cs b/src/Service/FedExRequest.cs index 458b56a..40c1297 100644 --- a/src/Service/FedExRequest.cs +++ b/src/Service/FedExRequest.cs @@ -15,103 +15,81 @@ namespace Dynamicweb.Ecommerce.ShippingProviders.FedEx.Service; internal static class FedExRequest { - public static string SendRequest(string baseAddress, CommandConfiguration configuration) + public static string SendRequest(string baseAddress, CommandConfiguration configuration, TokenData? tokenData) { - if (configuration.CommandType is not ApiCommand.CreateAccessToken) - throw new ArgumentException("Access token is needed. Please get the access token first."); + using HttpMessageHandler messageHandler = GetMessageHandler(); + using var client = new HttpClient(messageHandler); - return SendRequest(baseAddress, configuration, null); - } + client.BaseAddress = new Uri(baseAddress); + client.Timeout = new TimeSpan(0, 0, 0, 90); - public static string SendRequest(string baseAddress, CommandConfiguration configuration, TokenData? tokenData) - { - using (var messageHandler = GetMessageHandler()) + if (tokenData is not null) + client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(tokenData.TokenType, tokenData.AccessToken); + if (!string.IsNullOrEmpty(configuration.TransactionId)) + client.DefaultRequestHeaders.Add("x-customer-transaction-id", configuration.TransactionId); + if (!string.IsNullOrEmpty(configuration.Locale)) + client.DefaultRequestHeaders.Add("x-locale", configuration.Locale); + + string apiCommand = GetCommandLink(baseAddress, configuration); + Task requestTask = configuration.CommandType switch { - using (var client = new HttpClient(messageHandler)) + //POST + ApiCommand.CreateAccessToken => client.PostAsync(apiCommand, GetFormUrlEncodedContent(configuration)), + ApiCommand.GetRateAndTransitTimes or + ApiCommand.ValidateAddress => client.PostAsync(apiCommand, GetStringContent(configuration)), + _ => throw new NotImplementedException($"Unknown operation was used. The operation code: {configuration.CommandType}.") + }; + + try + { + using HttpResponseMessage response = requestTask.GetAwaiter().GetResult(); + + string responseText = response.Content.ReadAsStringAsync().GetAwaiter().GetResult(); + if (configuration.DebugLog) { - client.BaseAddress = new Uri(baseAddress); - client.Timeout = new TimeSpan(0, 0, 0, 90); - if (tokenData is not null) - client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(tokenData.TokenType, tokenData.AccessToken); - if (!string.IsNullOrEmpty(configuration.TransactionId)) - client.DefaultRequestHeaders.Add("x-customer-transaction-id", configuration.TransactionId); - if (!string.IsNullOrEmpty(configuration.Locale)) - client.DefaultRequestHeaders.Add("x-locale", configuration.Locale); - - string apiCommand = GetCommandLink(baseAddress, configuration); - Task requestTask = configuration.CommandType switch - { - //POST - ApiCommand.CreateAccessToken => client.PostAsync(apiCommand, GetFormUrlEncodedContent(configuration)), - ApiCommand.GetRateAndTransitTimes or - ApiCommand.ValidateAddress => client.PostAsync(apiCommand, GetStringContent(configuration)), - _ => throw new NotSupportedException($"Unknown operation was used. The operation code: {configuration.CommandType}.") - }; - - try - { - using (HttpResponseMessage response = requestTask.GetAwaiter().GetResult()) - { - string responseText = response.Content.ReadAsStringAsync().GetAwaiter().GetResult(); - if (configuration.DebugLog) - { - var logText = new StringBuilder("Remote server response:"); - logText.AppendLine($"HttpStatusCode = {response.StatusCode}"); - logText.AppendLine($"HttpStatusDescription = {response.ReasonPhrase}"); - logText.AppendLine($"Response Text: {responseText}"); - - if (configuration.CommandType is ApiCommand.ValidateAddress) - LogAddressValidator(logText.ToString()); - else - Log(logText.ToString(), false); - } - - if (!response.IsSuccessStatusCode) - { - var errorResponse = Converter.Deserialize(responseText); - if (errorResponse?.Errors?.Any() is true) - { - var errorMessage = new StringBuilder(); - foreach (ErrorDetail error in errorResponse.Errors) - { - errorMessage.AppendLine($"{error.Code}: {error.Message}"); - - if (error.Parameters?.Any() is true) - { - errorMessage.AppendLine($"Parameters."); - foreach (ParameterData parameter in error.Parameters) - errorMessage.AppendLine($"{parameter.Key}: {parameter.Value}"); - - } - } - throw new Exception(errorMessage.ToString()); - } - - throw new Exception($"Unhandled exception. Operation failed: {response.ReasonPhrase}. Response text: {responseText}"); - } - - return responseText; - } - } - catch (HttpRequestException requestException) - { - throw new Exception($"An error occurred during FedEx request. Error code: {requestException.StatusCode}"); - } + var logText = new StringBuilder("Remote server response:"); + logText.AppendLine($"HttpStatusCode = {response.StatusCode}"); + logText.AppendLine($"HttpStatusDescription = {response.ReasonPhrase}"); + logText.AppendLine($"Response text: {responseText}"); + + Log(logText.ToString(), false, configuration.CommandType); + } + + if (!response.IsSuccessStatusCode) + { + var errorResponse = Converter.Deserialize(responseText); + string errorMessage = GetErrorMessage(errorResponse); + + if (string.IsNullOrWhiteSpace(errorMessage)) + errorMessage = $"Unhandled exception. Operation failed: {response.ReasonPhrase}. Response text: {responseText}"; + + Log(errorMessage, false, configuration.CommandType); + + throw new Exception(errorMessage); } + + return responseText; + } + catch (HttpRequestException requestException) + { + string errorMessage = $"An error occurred during FedEx request. Error code: {requestException.StatusCode}"; + Log(errorMessage, false, configuration.CommandType); + + throw new Exception(errorMessage); } HttpMessageHandler GetMessageHandler() => new HttpClientHandler { AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip }; - } + } private static HttpContent GetStringContent(CommandConfiguration configuration) { string content = Converter.SerializeCompact(configuration.Data); if (configuration.DebugLog) - Log($"Request for the command {configuration.CommandType}. Request data: {content}", true); + Log($"Request data: {content}", true, configuration.CommandType); return new StringContent(content, Encoding.UTF8, "application/json"); } @@ -127,10 +105,11 @@ private static HttpContent GetStringContent(CommandConfiguration configuration) if (configuration.DebugLog) { - var message = new StringBuilder($"Request for the command {configuration.CommandType}. Request text: "); + var message = new StringBuilder("Request data:"); foreach ((string key, string value) in convertedParameters) - message.AppendLine($"Key: {key}. Value: {value}"); - Log(message.ToString(), true); + message.AppendLine($"{key} = '{value}'"); + + Log(message.ToString(), true, configuration.CommandType); } return new FormUrlEncodedContent(convertedParameters); @@ -143,13 +122,48 @@ private static string GetCommandLink(string baseAddress, CommandConfiguration co ApiCommand.CreateAccessToken => GetCommandLink("oauth/token"), ApiCommand.GetRateAndTransitTimes => GetCommandLink("rate/v1/rates/quotes"), ApiCommand.ValidateAddress => GetCommandLink($"address/v1/addresses/resolve"), - _ => throw new NotSupportedException($"The api command is not supported. Command: {configuration.CommandType}") + _ => throw new NotImplementedException($"The api command is not supported. Command: {configuration.CommandType}") }; string GetCommandLink(string gateway) => $"{baseAddress}/{gateway}"; } - private static void Log(string message, bool isRequest) + private static string GetErrorMessage(ErrorData? errorResponse) + { + if (errorResponse?.Errors?.Any() is null or false) + return string.Empty; + + var errorMessage = new StringBuilder("FedEx returned an error."); + foreach (ErrorDetail error in errorResponse.Errors) + { + errorMessage.AppendLine($"Error code: {error.Code}."); + if (!string.IsNullOrWhiteSpace(error.Message)) + errorMessage.AppendLine($"Error message: {error.Message}."); + + if (error.Parameters?.Any() is true) + { + errorMessage.AppendLine($"Please check the following properties:"); + foreach (ParameterData parameter in error.Parameters) + errorMessage.AppendLine($"{parameter.Key}: '{parameter.Value}'"); + } + } + + return errorMessage.ToString(); + } + + private static void Log(string message, bool isRequest, ApiCommand command) + { + string type = isRequest ? "Request" : "Response"; + var errorMessage = new StringBuilder($"{type} for command: '{command}'."); + errorMessage.AppendLine(message); + + if (command is ApiCommand.ValidateAddress) + LogAddressValidator(message); + else + LogFedEx(message, isRequest); + } + + private static void LogFedEx(string message, bool isRequest) { string text = typeof(FedEx).FullName ?? "ShippingProvider"; string name = "/eCom/ShippingProvider/" + text + "/" + (isRequest ? "Request" : "Response"); diff --git a/src/Service/FedExService.cs b/src/Service/FedExService.cs index 4cc7ecc..be4503b 100644 --- a/src/Service/FedExService.cs +++ b/src/Service/FedExService.cs @@ -83,7 +83,7 @@ private void SetAccessToken(bool debugLog) } }; - string response = FedExRequest.SendRequest(GetBaseAddress(), configuration); + string response = FedExRequest.SendRequest(GetBaseAddress(), configuration, null); TokenData = Converter.Deserialize(response); if (TokenData is not null) From e5ce93ac48ee4c3fcf21702cfc376650b754b5d5 Mon Sep 17 00:00:00 2001 From: Stanislav Smetanin Date: Fri, 16 May 2025 22:56:01 +1000 Subject: [PATCH 3/3] Renamed argument. --- src/Service/FedExRequest.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Service/FedExRequest.cs b/src/Service/FedExRequest.cs index 40c1297..a94bace 100644 --- a/src/Service/FedExRequest.cs +++ b/src/Service/FedExRequest.cs @@ -151,13 +151,13 @@ private static string GetErrorMessage(ErrorData? errorResponse) return errorMessage.ToString(); } - private static void Log(string message, bool isRequest, ApiCommand command) + private static void Log(string message, bool isRequest, ApiCommand commandType) { string type = isRequest ? "Request" : "Response"; - var errorMessage = new StringBuilder($"{type} for command: '{command}'."); + var errorMessage = new StringBuilder($"{type} for command: '{commandType}'."); errorMessage.AppendLine(message); - if (command is ApiCommand.ValidateAddress) + if (commandType is ApiCommand.ValidateAddress) LogAddressValidator(message); else LogFedEx(message, isRequest);