Example 38 : Client stub code for .NET

Printer-friendly version

 This is the source code based around that generated by wsdl.exe. This is not thread safe, so you will need to either instantiate one for each thread, or create a pool of client connections.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Net;
using System.Text;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Serialization;
 
namespace Com.MetaPack.DeliveryManager
{
    public class DeliveryManagerClient
    {
        private string mUrl;
        private ICredentials mCredentials;
        private AllocationServiceService mAllocationServiceService;
        private ConsignmentServiceService mConsignmentServiceService;
        private ConsignmentSearchServiceService mConsignmentSearchServiceService;
        private ConsignmentTrackingServiceService mConsignmentTrackingServiceService;
        private DeliveryOptionsServiceService mDeliveryOptionsServiceService;
        private InformationServiceService mInformationServiceService;
        private ManifestServiceService mManifestServiceService;
 
 
        public DeliveryManagerClient(string url, ICredentials credentials)
        {
            mAllocationServiceService = new AllocationServiceService();
            mConsignmentServiceService = new ConsignmentServiceService();
            mConsignmentSearchServiceService = new ConsignmentSearchServiceService();
            mConsignmentTrackingServiceService = new ConsignmentTrackingServiceService();
            mDeliveryOptionsServiceService = new DeliveryOptionsServiceService();
            mInformationServiceService = new InformationServiceService();
            mManifestServiceService = new ManifestServiceService();
            this.Url = url;
            this.Credentials = credentials;
        }
 
        public string Url
        {
            get
            {
                return mUrl;
            }
            set
            {
                mAllocationServiceService.Url = value + "/AllocationService";
                mConsignmentServiceService.Url = value + "/ConsignmentService";
                mConsignmentSearchServiceService.Url = value + "/ConsignmentSearchService";
                mConsignmentTrackingServiceService.Url = value + "/ConsignmentTrackingService";
                mDeliveryOptionsServiceService.Url = value + "/DeliveryOptionsService";
                mInformationServiceService.Url = value + "/InformationService";
                mManifestServiceService.Url = value + "/ManifestService";
                mUrl = value;
            }
        }
 
        public ICredentials Credentials
        {
            get
            {
                return mCredentials;
            }
            set
            {
                mAllocationServiceService.Credentials = value;
                mConsignmentServiceService.Credentials = value;
                mConsignmentSearchServiceService.Credentials = value;
                mConsignmentTrackingServiceService.Credentials = value;
                mDeliveryOptionsServiceService.Credentials = value;
                mInformationServiceService.Credentials = value;
                mManifestServiceService.Credentials = value;
                mCredentials = value;
            }
        }
 
        public AllocationServiceService AllocationService { get { return mAllocationServiceService; } }
        public ConsignmentServiceService ConsignmentService { get { return mConsignmentServiceService; } }
        public ConsignmentSearchServiceService ConsignmentSearchService { get { return mConsignmentSearchServiceService; } }
        public ConsignmentTrackingServiceService ConsignmentTrackingService { get { return mConsignmentTrackingServiceService; } }
        public DeliveryOptionsServiceService DeliveryOptionsService { get { return mDeliveryOptionsServiceService; } }
        public InformationServiceService InformationService { get { return mInformationServiceService; } }
        public ManifestServiceService ManifestService { get { return mManifestServiceService; } }
    }
 
    // 
    // This source code was auto-generated by wsdl, Version=2.0.50727.42.
    // 
 
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Web.Services.WebServiceBindingAttribute(Name = "AllocationServiceSoapBinding", Namespace = "urn:DeliveryManager/services")]
    [System.Xml.Serialization.SoapIncludeAttribute(typeof(DeliveryOption))]
    [System.Xml.Serialization.SoapIncludeAttribute(typeof(Property))]
    [System.Xml.Serialization.SoapIncludeAttribute(typeof(Product))]
    [System.Xml.Serialization.SoapIncludeAttribute(typeof(Parcel))]
    public partial class AllocationServiceService : System.Web.Services.Protocols.SoapHttpClientProtocol
    {
        protected override System.Net.WebRequest GetWebRequest(Uri uri)
        {
            System.Net.HttpWebRequest req;
            req = (System.Net.HttpWebRequest)base.GetWebRequest(uri);
            req.ProtocolVersion = System.Net.HttpVersion.Version10;
            return req;
        }
 
        private System.Threading.SendOrPostCallback deallocateOperationCompleted;
 
        private System.Threading.SendOrPostCallback findDeliveryOptionsOperationCompleted;
 
        private System.Threading.SendOrPostCallback findDeliveryOptionsForConsignmentOperationCompleted;
 
        private System.Threading.SendOrPostCallback createAndAllocateConsignmentsOperationCompleted;
 
        private System.Threading.SendOrPostCallback createAndAllocateConsignmentsWithBookingCodeOperationCompleted;
 
        private System.Threading.SendOrPostCallback verifyAllocationOperationCompleted;
 
        private System.Threading.SendOrPostCallback allocateConsignmentOperationCompleted;
 
        private System.Threading.SendOrPostCallback allocateConsignmentWithBookingCodeOperationCompleted;
 
        /// <remarks/>
        public AllocationServiceService()
        {
            this.Url = "http://test1.metapack.com/dm/services/AllocationService";
        }
 
        /// <remarks/>
        public event deallocateCompletedEventHandler deallocateCompleted;
 
        /// <remarks/>
        public event findDeliveryOptionsCompletedEventHandler findDeliveryOptionsCompleted;
 
        /// <remarks/>
        public event findDeliveryOptionsForConsignmentCompletedEventHandler findDeliveryOptionsForConsignmentCompleted;
 
        /// <remarks/>
        public event createAndAllocateConsignmentsCompletedEventHandler createAndAllocateConsignmentsCompleted;
 
        /// <remarks/>
        public event createAndAllocateConsignmentsWithBookingCodeCompletedEventHandler createAndAllocateConsignmentsWithBookingCodeCompleted;
 
        /// <remarks/>
        public event verifyAllocationCompletedEventHandler verifyAllocationCompleted;
 
        /// <remarks/>
        public event allocateConsignmentCompletedEventHandler allocateConsignmentCompleted;
 
        /// <remarks/>
        public event allocateConsignmentWithBookingCodeCompletedEventHandler allocateConsignmentWithBookingCodeCompleted;
 
        /// <remarks/>
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("deallocateReturn")]
        public bool deallocate(string consignmentCode)
        {
            object[] results = this.Invoke("deallocate", new object[] {
                    consignmentCode});
            return ((bool)(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult Begindeallocate(string consignmentCode, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("deallocate", new object[] {
                    consignmentCode}, callback, asyncState);
        }
 
        /// <remarks/>
        public bool Enddeallocate(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((bool)(results[0]));
        }
 
        /// <remarks/>
        public void deallocateAsync(string consignmentCode)
        {
            this.deallocateAsync(consignmentCode, null);
        }
 
        /// <remarks/>
        public void deallocateAsync(string consignmentCode, object userState)
        {
            if ((this.deallocateOperationCompleted == null))
            {
                this.deallocateOperationCompleted = new System.Threading.SendOrPostCallback(this.OndeallocateOperationCompleted);
            }
            this.InvokeAsync("deallocate", new object[] {
                    consignmentCode}, this.deallocateOperationCompleted, userState);
        }
 
        private void OndeallocateOperationCompleted(object arg)
        {
            if ((this.deallocateCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.deallocateCompleted(this, new deallocateCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("findDeliveryOptionsReturn")]
        public DeliveryOption[] findDeliveryOptions(Consignment consignment, AllocationFilter filter)
        {
            object[] results = this.Invoke("findDeliveryOptions", new object[] {
                    consignment,
                    filter});
            return ((DeliveryOption[])(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult BeginfindDeliveryOptions(Consignment consignment, AllocationFilter filter, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("findDeliveryOptions", new object[] {
                    consignment,
                    filter}, callback, asyncState);
        }
 
        /// <remarks/>
        public DeliveryOption[] EndfindDeliveryOptions(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((DeliveryOption[])(results[0]));
        }
 
        /// <remarks/>
        public void findDeliveryOptionsAsync(Consignment consignment, AllocationFilter filter)
        {
            this.findDeliveryOptionsAsync(consignment, filter, null);
        }
 
        /// <remarks/>
        public void findDeliveryOptionsAsync(Consignment consignment, AllocationFilter filter, object userState)
        {
            if ((this.findDeliveryOptionsOperationCompleted == null))
            {
                this.findDeliveryOptionsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnfindDeliveryOptionsOperationCompleted);
            }
            this.InvokeAsync("findDeliveryOptions", new object[] {
                    consignment,
                    filter}, this.findDeliveryOptionsOperationCompleted, userState);
        }
 
        private void OnfindDeliveryOptionsOperationCompleted(object arg)
        {
            if ((this.findDeliveryOptionsCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.findDeliveryOptionsCompleted(this, new findDeliveryOptionsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("findDeliveryOptionsForConsignmentReturn")]
        public DeliveryOption[] findDeliveryOptionsForConsignment(string consignmentCode, AllocationFilter filter)
        {
            object[] results = this.Invoke("findDeliveryOptionsForConsignment", new object[] {
                    consignmentCode,
                    filter});
            return ((DeliveryOption[])(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult BeginfindDeliveryOptionsForConsignment(string consignmentCode, AllocationFilter filter, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("findDeliveryOptionsForConsignment", new object[] {
                    consignmentCode,
                    filter}, callback, asyncState);
        }
 
        /// <remarks/>
        public DeliveryOption[] EndfindDeliveryOptionsForConsignment(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((DeliveryOption[])(results[0]));
        }
 
        /// <remarks/>
        public void findDeliveryOptionsForConsignmentAsync(string consignmentCode, AllocationFilter filter)
        {
            this.findDeliveryOptionsForConsignmentAsync(consignmentCode, filter, null);
        }
 
        /// <remarks/>
        public void findDeliveryOptionsForConsignmentAsync(string consignmentCode, AllocationFilter filter, object userState)
        {
            if ((this.findDeliveryOptionsForConsignmentOperationCompleted == null))
            {
                this.findDeliveryOptionsForConsignmentOperationCompleted = new System.Threading.SendOrPostCallback(this.OnfindDeliveryOptionsForConsignmentOperationCompleted);
            }
            this.InvokeAsync("findDeliveryOptionsForConsignment", new object[] {
                    consignmentCode,
                    filter}, this.findDeliveryOptionsForConsignmentOperationCompleted, userState);
        }
 
        private void OnfindDeliveryOptionsForConsignmentOperationCompleted(object arg)
        {
            if ((this.findDeliveryOptionsForConsignmentCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.findDeliveryOptionsForConsignmentCompleted(this, new findDeliveryOptionsForConsignmentCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("createAndAllocateConsignmentsReturn")]
        public Consignment[] createAndAllocateConsignments(Consignment[] consignments, AllocationFilter filter)
        {
            object[] results = this.Invoke("createAndAllocateConsignments", new object[] {
                    consignments,
                    filter});
            return ((Consignment[])(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult BegincreateAndAllocateConsignments(Consignment[] consignments, AllocationFilter filter, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("createAndAllocateConsignments", new object[] {
                    consignments,
                    filter}, callback, asyncState);
        }
 
        /// <remarks/>
        public Consignment[] EndcreateAndAllocateConsignments(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((Consignment[])(results[0]));
        }
 
        /// <remarks/>
        public void createAndAllocateConsignmentsAsync(Consignment[] consignments, AllocationFilter filter)
        {
            this.createAndAllocateConsignmentsAsync(consignments, filter, null);
        }
 
        /// <remarks/>
        public void createAndAllocateConsignmentsAsync(Consignment[] consignments, AllocationFilter filter, object userState)
        {
            if ((this.createAndAllocateConsignmentsOperationCompleted == null))
            {
                this.createAndAllocateConsignmentsOperationCompleted = new System.Threading.SendOrPostCallback(this.OncreateAndAllocateConsignmentsOperationCompleted);
            }
            this.InvokeAsync("createAndAllocateConsignments", new object[] {
                    consignments,
                    filter}, this.createAndAllocateConsignmentsOperationCompleted, userState);
        }
 
        private void OncreateAndAllocateConsignmentsOperationCompleted(object arg)
        {
            if ((this.createAndAllocateConsignmentsCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.createAndAllocateConsignmentsCompleted(this, new createAndAllocateConsignmentsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("createAndAllocateConsignmentsWithBookingCodeReturn")]
        public Consignment[] createAndAllocateConsignmentsWithBookingCode(Consignment[] consignments, string bookingCode)
        {
            object[] results = this.Invoke("createAndAllocateConsignmentsWithBookingCode", new object[] {
                    consignments,
                    bookingCode});
            return ((Consignment[])(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult BegincreateAndAllocateConsignmentsWithBookingCode(Consignment[] consignments, string bookingCode, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("createAndAllocateConsignmentsWithBookingCode", new object[] {
                    consignments,
                    bookingCode}, callback, asyncState);
        }
 
        /// <remarks/>
        public Consignment[] EndcreateAndAllocateConsignmentsWithBookingCode(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((Consignment[])(results[0]));
        }
 
        /// <remarks/>
        public void createAndAllocateConsignmentsWithBookingCodeAsync(Consignment[] consignments, string bookingCode)
        {
            this.createAndAllocateConsignmentsWithBookingCodeAsync(consignments, bookingCode, null);
        }
 
        /// <remarks/>
        public void createAndAllocateConsignmentsWithBookingCodeAsync(Consignment[] consignments, string bookingCode, object userState)
        {
            if ((this.createAndAllocateConsignmentsWithBookingCodeOperationCompleted == null))
            {
                this.createAndAllocateConsignmentsWithBookingCodeOperationCompleted = new System.Threading.SendOrPostCallback(this.OncreateAndAllocateConsignmentsWithBookingCodeOperationCompleted);
            }
            this.InvokeAsync("createAndAllocateConsignmentsWithBookingCode", new object[] {
                    consignments,
                    bookingCode}, this.createAndAllocateConsignmentsWithBookingCodeOperationCompleted, userState);
        }
 
        private void OncreateAndAllocateConsignmentsWithBookingCodeOperationCompleted(object arg)
        {
            if ((this.createAndAllocateConsignmentsWithBookingCodeCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.createAndAllocateConsignmentsWithBookingCodeCompleted(this, new createAndAllocateConsignmentsWithBookingCodeCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("verifyAllocationReturn")]
        public Consignment verifyAllocation(string consignmentCode, AllocationFilter filter)
        {
            object[] results = this.Invoke("verifyAllocation", new object[] {
                    consignmentCode,
                    filter});
            return ((Consignment)(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult BeginverifyAllocation(string consignmentCode, AllocationFilter filter, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("verifyAllocation", new object[] {
                    consignmentCode,
                    filter}, callback, asyncState);
        }
 
        /// <remarks/>
        public Consignment EndverifyAllocation(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((Consignment)(results[0]));
        }
 
        /// <remarks/>
        public void verifyAllocationAsync(string consignmentCode, AllocationFilter filter)
        {
            this.verifyAllocationAsync(consignmentCode, filter, null);
        }
 
        /// <remarks/>
        public void verifyAllocationAsync(string consignmentCode, AllocationFilter filter, object userState)
        {
            if ((this.verifyAllocationOperationCompleted == null))
            {
                this.verifyAllocationOperationCompleted = new System.Threading.SendOrPostCallback(this.OnverifyAllocationOperationCompleted);
            }
            this.InvokeAsync("verifyAllocation", new object[] {
                    consignmentCode,
                    filter}, this.verifyAllocationOperationCompleted, userState);
        }
 
        private void OnverifyAllocationOperationCompleted(object arg)
        {
            if ((this.verifyAllocationCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.verifyAllocationCompleted(this, new verifyAllocationCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("allocateConsignmentReturn")]
        public Consignment allocateConsignment(string consignmentCode, AllocationFilter filter)
        {
            object[] results = this.Invoke("allocateConsignment", new object[] {
                    consignmentCode,
                    filter});
            return ((Consignment)(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult BeginallocateConsignment(string consignmentCode, AllocationFilter filter, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("allocateConsignment", new object[] {
                    consignmentCode,
                    filter}, callback, asyncState);
        }
 
        /// <remarks/>
        public Consignment EndallocateConsignment(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((Consignment)(results[0]));
        }
 
        /// <remarks/>
        public void allocateConsignmentAsync(string consignmentCode, AllocationFilter filter)
        {
            this.allocateConsignmentAsync(consignmentCode, filter, null);
        }
 
        /// <remarks/>
        public void allocateConsignmentAsync(string consignmentCode, AllocationFilter filter, object userState)
        {
            if ((this.allocateConsignmentOperationCompleted == null))
            {
                this.allocateConsignmentOperationCompleted = new System.Threading.SendOrPostCallback(this.OnallocateConsignmentOperationCompleted);
            }
            this.InvokeAsync("allocateConsignment", new object[] {
                    consignmentCode,
                    filter}, this.allocateConsignmentOperationCompleted, userState);
        }
 
        private void OnallocateConsignmentOperationCompleted(object arg)
        {
            if ((this.allocateConsignmentCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.allocateConsignmentCompleted(this, new allocateConsignmentCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("allocateConsignmentWithBookingCodeReturn")]
        public Consignment allocateConsignmentWithBookingCode(string consignmentCode, string bookingCode)
        {
            object[] results = this.Invoke("allocateConsignmentWithBookingCode", new object[] {
                    consignmentCode,
                    bookingCode});
            return ((Consignment)(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult BeginallocateConsignmentWithBookingCode(string consignmentCode, string bookingCode, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("allocateConsignmentWithBookingCode", new object[] {
                    consignmentCode,
                    bookingCode}, callback, asyncState);
        }
 
        /// <remarks/>
        public Consignment EndallocateConsignmentWithBookingCode(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((Consignment)(results[0]));
        }
 
        /// <remarks/>
        public void allocateConsignmentWithBookingCodeAsync(string consignmentCode, string bookingCode)
        {
            this.allocateConsignmentWithBookingCodeAsync(consignmentCode, bookingCode, null);
        }
 
        /// <remarks/>
        public void allocateConsignmentWithBookingCodeAsync(string consignmentCode, string bookingCode, object userState)
        {
            if ((this.allocateConsignmentWithBookingCodeOperationCompleted == null))
            {
                this.allocateConsignmentWithBookingCodeOperationCompleted = new System.Threading.SendOrPostCallback(this.OnallocateConsignmentWithBookingCodeOperationCompleted);
            }
            this.InvokeAsync("allocateConsignmentWithBookingCode", new object[] {
                    consignmentCode,
                    bookingCode}, this.allocateConsignmentWithBookingCodeOperationCompleted, userState);
        }
 
        private void OnallocateConsignmentWithBookingCodeOperationCompleted(object arg)
        {
            if ((this.allocateConsignmentWithBookingCodeCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.allocateConsignmentWithBookingCodeCompleted(this, new allocateConsignmentWithBookingCodeCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        public new void CancelAsync(object userState)
        {
            base.CancelAsync(userState);
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.SoapTypeAttribute(Namespace = "urn:DeliveryManager/types")]
    public partial class Consignment
    {
 
        private bool alreadyPalletisedGoodsFlagField;
 
        private string cardNumberField;
 
        private string carrierCodeField;
 
        private string carrierConsignmentCodeField;
 
        private string carrierNameField;
 
        private string carrierServiceCodeField;
 
        private string carrierServiceNameField;
 
        private string cartonNumberField;
 
        private string consignmentCodeField;
 
        private bool consignmentLevelDetailsFlagField;
 
        private double consignmentValueField;
 
        private double consignmentWeightField;
 
        private string custom1Field;
 
        private string custom10Field;
 
        private string custom2Field;
 
        private string custom3Field;
 
        private string custom4Field;
 
        private string custom5Field;
 
        private string custom6Field;
 
        private string custom7Field;
 
        private string custom8Field;
 
        private string custom9Field;
 
        private System.Nullable<System.DateTime> cutOffDateField;
 
        private double deliveryPriceField;
 
        private System.Nullable<System.DateTime> despatchDateField;
 
        private System.Nullable<System.DateTime> earliestDeliveryDateField;
 
        private bool fragileGoodsFlagField;
 
        private System.Nullable<System.DateTime> guaranteedDeliveryDateField;
 
        private bool hazardousGoodsFlagField;
 
        private double insuranceValueField;
 
        private bool liquidGoodsFlagField;
 
        private double maxDimensionField;
 
        private bool moreThanOneMetreGoodsFlagField;
 
        private bool moreThanTwentyFiveKgGoodsFlagField;
 
        private string orderNumberField;
 
        private int parcelCountField;
 
        private Parcel[] parcelsField;
 
        private string pickTicketNumberField;
 
        private string pickupPointField;
 
        private string podRequiredField;
 
        private Property[] propertiesField;
 
        private Address recipientAddressField;
 
        private string recipientCodeField;
 
        private string recipientContactPhoneField;
 
        private string recipientEmailField;
 
        private string recipientMobilePhoneField;
 
        private string recipientNameField;
 
        private string recipientNotificationTypeField;
 
        private string recipientPhoneField;
 
        private string recipientVatNumberField;
 
        private Address senderAddressField;
 
        private string senderCodeField;
 
        private string senderContactPhoneField;
 
        private string senderEmailField;
 
        private string senderMobilePhoneField;
 
        private string senderNameField;
 
        private string senderNotificationTypeField;
 
        private string senderPhoneField;
 
        private string senderVatNumberField;
 
        private string shipmentTypeCodeField;
 
        private string shippingAccountField;
 
        private string signatoryOnCustomsField;
 
        private string specialInstructions1Field;
 
        private string specialInstructions2Field;
 
        private string statusField;
 
        private string termsOfTradeCodeField;
 
        private string transactionTypeField;
 
        private bool twoManLiftFlagField;
 
        /// <remarks/>
        public bool alreadyPalletisedGoodsFlag
        {
            get
            {
                return this.alreadyPalletisedGoodsFlagField;
            }
            set
            {
                this.alreadyPalletisedGoodsFlagField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string cardNumber
        {
            get
            {
                return this.cardNumberField;
            }
            set
            {
                this.cardNumberField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string carrierCode
        {
            get
            {
                return this.carrierCodeField;
            }
            set
            {
                this.carrierCodeField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string carrierConsignmentCode
        {
            get
            {
                return this.carrierConsignmentCodeField;
            }
            set
            {
                this.carrierConsignmentCodeField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string carrierName
        {
            get
            {
                return this.carrierNameField;
            }
            set
            {
                this.carrierNameField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string carrierServiceCode
        {
            get
            {
                return this.carrierServiceCodeField;
            }
            set
            {
                this.carrierServiceCodeField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string carrierServiceName
        {
            get
            {
                return this.carrierServiceNameField;
            }
            set
            {
                this.carrierServiceNameField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string cartonNumber
        {
            get
            {
                return this.cartonNumberField;
            }
            set
            {
                this.cartonNumberField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string consignmentCode
        {
            get
            {
                return this.consignmentCodeField;
            }
            set
            {
                this.consignmentCodeField = value;
            }
        }
 
        /// <remarks/>
        public bool consignmentLevelDetailsFlag
        {
            get
            {
                return this.consignmentLevelDetailsFlagField;
            }
            set
            {
                this.consignmentLevelDetailsFlagField = value;
            }
        }
 
        /// <remarks/>
        public double consignmentValue
        {
            get
            {
                return this.consignmentValueField;
            }
            set
            {
                this.consignmentValueField = value;
            }
        }
 
        /// <remarks/>
        public double consignmentWeight
        {
            get
            {
                return this.consignmentWeightField;
            }
            set
            {
                this.consignmentWeightField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string custom1
        {
            get
            {
                return this.custom1Field;
            }
            set
            {
                this.custom1Field = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string custom10
        {
            get
            {
                return this.custom10Field;
            }
            set
            {
                this.custom10Field = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string custom2
        {
            get
            {
                return this.custom2Field;
            }
            set
            {
                this.custom2Field = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string custom3
        {
            get
            {
                return this.custom3Field;
            }
            set
            {
                this.custom3Field = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string custom4
        {
            get
            {
                return this.custom4Field;
            }
            set
            {
                this.custom4Field = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string custom5
        {
            get
            {
                return this.custom5Field;
            }
            set
            {
                this.custom5Field = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string custom6
        {
            get
            {
                return this.custom6Field;
            }
            set
            {
                this.custom6Field = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string custom7
        {
            get
            {
                return this.custom7Field;
            }
            set
            {
                this.custom7Field = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string custom8
        {
            get
            {
                return this.custom8Field;
            }
            set
            {
                this.custom8Field = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string custom9
        {
            get
            {
                return this.custom9Field;
            }
            set
            {
                this.custom9Field = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public System.Nullable<System.DateTime> cutOffDate
        {
            get
            {
                return this.cutOffDateField;
            }
            set
            {
                this.cutOffDateField = value;
            }
        }
 
        /// <remarks/>
        public double deliveryPrice
        {
            get
            {
                return this.deliveryPriceField;
            }
            set
            {
                this.deliveryPriceField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public System.Nullable<System.DateTime> despatchDate
        {
            get
            {
                return this.despatchDateField;
            }
            set
            {
                this.despatchDateField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public System.Nullable<System.DateTime> earliestDeliveryDate
        {
            get
            {
                return this.earliestDeliveryDateField;
            }
            set
            {
                this.earliestDeliveryDateField = value;
            }
        }
 
        /// <remarks/>
        public bool fragileGoodsFlag
        {
            get
            {
                return this.fragileGoodsFlagField;
            }
            set
            {
                this.fragileGoodsFlagField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public System.Nullable<System.DateTime> guaranteedDeliveryDate
        {
            get
            {
                return this.guaranteedDeliveryDateField;
            }
            set
            {
                this.guaranteedDeliveryDateField = value;
            }
        }
 
        /// <remarks/>
        public bool hazardousGoodsFlag
        {
            get
            {
                return this.hazardousGoodsFlagField;
            }
            set
            {
                this.hazardousGoodsFlagField = value;
            }
        }
 
        /// <remarks/>
        public double insuranceValue
        {
            get
            {
                return this.insuranceValueField;
            }
            set
            {
                this.insuranceValueField = value;
            }
        }
 
        /// <remarks/>
        public bool liquidGoodsFlag
        {
            get
            {
                return this.liquidGoodsFlagField;
            }
            set
            {
                this.liquidGoodsFlagField = value;
            }
        }
 
        /// <remarks/>
        public double maxDimension
        {
            get
            {
                return this.maxDimensionField;
            }
            set
            {
                this.maxDimensionField = value;
            }
        }
 
        /// <remarks/>
        public bool moreThanOneMetreGoodsFlag
        {
            get
            {
                return this.moreThanOneMetreGoodsFlagField;
            }
            set
            {
                this.moreThanOneMetreGoodsFlagField = value;
            }
        }
 
        /// <remarks/>
        public bool moreThanTwentyFiveKgGoodsFlag
        {
            get
            {
                return this.moreThanTwentyFiveKgGoodsFlagField;
            }
            set
            {
                this.moreThanTwentyFiveKgGoodsFlagField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string orderNumber
        {
            get
            {
                return this.orderNumberField;
            }
            set
            {
                this.orderNumberField = value;
            }
        }
 
        /// <remarks/>
        public int parcelCount
        {
            get
            {
                return this.parcelCountField;
            }
            set
            {
                this.parcelCountField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public Parcel[] parcels
        {
            get
            {
                return this.parcelsField;
            }
            set
            {
                this.parcelsField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string pickTicketNumber
        {
            get
            {
                return this.pickTicketNumberField;
            }
            set
            {
                this.pickTicketNumberField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string pickupPoint
        {
            get
            {
                return this.pickupPointField;
            }
            set
            {
                this.pickupPointField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string podRequired
        {
            get
            {
                return this.podRequiredField;
            }
            set
            {
                this.podRequiredField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public Property[] properties
        {
            get
            {
                return this.propertiesField;
            }
            set
            {
                this.propertiesField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public Address recipientAddress
        {
            get
            {
                return this.recipientAddressField;
            }
            set
            {
                this.recipientAddressField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string recipientCode
        {
            get
            {
                return this.recipientCodeField;
            }
            set
            {
                this.recipientCodeField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string recipientContactPhone
        {
            get
            {
                return this.recipientContactPhoneField;
            }
            set
            {
                this.recipientContactPhoneField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string recipientEmail
        {
            get
            {
                return this.recipientEmailField;
            }
            set
            {
                this.recipientEmailField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string recipientMobilePhone
        {
            get
            {
                return this.recipientMobilePhoneField;
            }
            set
            {
                this.recipientMobilePhoneField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string recipientName
        {
            get
            {
                return this.recipientNameField;
            }
            set
            {
                this.recipientNameField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string recipientNotificationType
        {
            get
            {
                return this.recipientNotificationTypeField;
            }
            set
            {
                this.recipientNotificationTypeField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string recipientPhone
        {
            get
            {
                return this.recipientPhoneField;
            }
            set
            {
                this.recipientPhoneField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string recipientVatNumber
        {
            get
            {
                return this.recipientVatNumberField;
            }
            set
            {
                this.recipientVatNumberField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public Address senderAddress
        {
            get
            {
                return this.senderAddressField;
            }
            set
            {
                this.senderAddressField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string senderCode
        {
            get
            {
                return this.senderCodeField;
            }
            set
            {
                this.senderCodeField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string senderContactPhone
        {
            get
            {
                return this.senderContactPhoneField;
            }
            set
            {
                this.senderContactPhoneField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string senderEmail
        {
            get
            {
                return this.senderEmailField;
            }
            set
            {
                this.senderEmailField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string senderMobilePhone
        {
            get
            {
                return this.senderMobilePhoneField;
            }
            set
            {
                this.senderMobilePhoneField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string senderName
        {
            get
            {
                return this.senderNameField;
            }
            set
            {
                this.senderNameField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string senderNotificationType
        {
            get
            {
                return this.senderNotificationTypeField;
            }
            set
            {
                this.senderNotificationTypeField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string senderPhone
        {
            get
            {
                return this.senderPhoneField;
            }
            set
            {
                this.senderPhoneField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string senderVatNumber
        {
            get
            {
                return this.senderVatNumberField;
            }
            set
            {
                this.senderVatNumberField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string shipmentTypeCode
        {
            get
            {
                return this.shipmentTypeCodeField;
            }
            set
            {
                this.shipmentTypeCodeField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string shippingAccount
        {
            get
            {
                return this.shippingAccountField;
            }
            set
            {
                this.shippingAccountField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string signatoryOnCustoms
        {
            get
            {
                return this.signatoryOnCustomsField;
            }
            set
            {
                this.signatoryOnCustomsField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string specialInstructions1
        {
            get
            {
                return this.specialInstructions1Field;
            }
            set
            {
                this.specialInstructions1Field = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string specialInstructions2
        {
            get
            {
                return this.specialInstructions2Field;
            }
            set
            {
                this.specialInstructions2Field = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string status
        {
            get
            {
                return this.statusField;
            }
            set
            {
                this.statusField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string termsOfTradeCode
        {
            get
            {
                return this.termsOfTradeCodeField;
            }
            set
            {
                this.termsOfTradeCodeField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string transactionType
        {
            get
            {
                return this.transactionTypeField;
            }
            set
            {
                this.transactionTypeField = value;
            }
        }
 
        /// <remarks/>
        public bool twoManLiftFlag
        {
            get
            {
                return this.twoManLiftFlagField;
            }
            set
            {
                this.twoManLiftFlagField = value;
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.SoapTypeAttribute(Namespace = "urn:DeliveryManager/types")]
    public partial class Parcel
    {
 
        private string codeField;
 
        private double dutyPaidField;
 
        private int numberField;
 
        private double parcelDepthField;
 
        private double parcelHeightField;
 
        private double parcelValueField;
 
        private double parcelWeightField;
 
        private double parcelWidthField;
 
        private Product[] productsField;
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string code
        {
            get
            {
                return this.codeField;
            }
            set
            {
                this.codeField = value;
            }
        }
 
        /// <remarks/>
        public double dutyPaid
        {
            get
            {
                return this.dutyPaidField;
            }
            set
            {
                this.dutyPaidField = value;
            }
        }
 
        /// <remarks/>
        public int number
        {
            get
            {
                return this.numberField;
            }
            set
            {
                this.numberField = value;
            }
        }
 
        /// <remarks/>
        public double parcelDepth
        {
            get
            {
                return this.parcelDepthField;
            }
            set
            {
                this.parcelDepthField = value;
            }
        }
 
        /// <remarks/>
        public double parcelHeight
        {
            get
            {
                return this.parcelHeightField;
            }
            set
            {
                this.parcelHeightField = value;
            }
        }
 
        /// <remarks/>
        public double parcelValue
        {
            get
            {
                return this.parcelValueField;
            }
            set
            {
                this.parcelValueField = value;
            }
        }
 
        /// <remarks/>
        public double parcelWeight
        {
            get
            {
                return this.parcelWeightField;
            }
            set
            {
                this.parcelWeightField = value;
            }
        }
 
        /// <remarks/>
        public double parcelWidth
        {
            get
            {
                return this.parcelWidthField;
            }
            set
            {
                this.parcelWidthField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public Product[] products
        {
            get
            {
                return this.productsField;
            }
            set
            {
                this.productsField = value;
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.SoapTypeAttribute(Namespace = "urn:DeliveryManager/types")]
    public partial class Product
    {
 
        private string countryOfOriginField;
 
        private string fabricContentField;
 
        private string harmonisedProductCodeField;
 
        private string[] miscellaneousInfoField;
 
        private string productCodeField;
 
        private string productDescriptionField;
 
        private long productQuantityField;
 
        private string productTypeDescriptionField;
 
        private double totalProductValueField;
 
        private double unitProductWeightField;
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string countryOfOrigin
        {
            get
            {
                return this.countryOfOriginField;
            }
            set
            {
                this.countryOfOriginField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string fabricContent
        {
            get
            {
                return this.fabricContentField;
            }
            set
            {
                this.fabricContentField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string harmonisedProductCode
        {
            get
            {
                return this.harmonisedProductCodeField;
            }
            set
            {
                this.harmonisedProductCodeField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string[] miscellaneousInfo
        {
            get
            {
                return this.miscellaneousInfoField;
            }
            set
            {
                this.miscellaneousInfoField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string productCode
        {
            get
            {
                return this.productCodeField;
            }
            set
            {
                this.productCodeField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string productDescription
        {
            get
            {
                return this.productDescriptionField;
            }
            set
            {
                this.productDescriptionField = value;
            }
        }
 
        /// <remarks/>
        public long productQuantity
        {
            get
            {
                return this.productQuantityField;
            }
            set
            {
                this.productQuantityField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string productTypeDescription
        {
            get
            {
                return this.productTypeDescriptionField;
            }
            set
            {
                this.productTypeDescriptionField = value;
            }
        }
 
        /// <remarks/>
        public double totalProductValue
        {
            get
            {
                return this.totalProductValueField;
            }
            set
            {
                this.totalProductValueField = value;
            }
        }
 
        /// <remarks/>
        public double unitProductWeight
        {
            get
            {
                return this.unitProductWeightField;
            }
            set
            {
                this.unitProductWeightField = value;
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.SoapTypeAttribute(Namespace = "urn:DeliveryManager/types")]
    public partial class DeliveryOption
    {
 
        private string bookingCodeField;
 
        private string carrierCodeField;
 
        private string carrierCustom1Field;
 
        private string carrierCustom2Field;
 
        private string carrierCustom3Field;
 
        private string carrierServiceCodeField;
 
        private string carrierServiceTypeCodeField;
 
        private DateRange[] collectionSlotsField;
 
        private DateRange collectionWindowField;
 
        private double costField;
 
        private System.Nullable<System.DateTime> cutOffDateTimeField;
 
        private DateRange[] deliverySlotsField;
 
        private DateRange deliveryWindowField;
 
        private string[] groupCodesField;
 
        private string nameField;
 
        private bool nominatableCollectionSlotField;
 
        private bool nominatableDeliverySlotField;
 
        private double scoreField;
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string bookingCode
        {
            get
            {
                return this.bookingCodeField;
            }
            set
            {
                this.bookingCodeField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string carrierCode
        {
            get
            {
                return this.carrierCodeField;
            }
            set
            {
                this.carrierCodeField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string carrierCustom1
        {
            get
            {
                return this.carrierCustom1Field;
            }
            set
            {
                this.carrierCustom1Field = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string carrierCustom2
        {
            get
            {
                return this.carrierCustom2Field;
            }
            set
            {
                this.carrierCustom2Field = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string carrierCustom3
        {
            get
            {
                return this.carrierCustom3Field;
            }
            set
            {
                this.carrierCustom3Field = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string carrierServiceCode
        {
            get
            {
                return this.carrierServiceCodeField;
            }
            set
            {
                this.carrierServiceCodeField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string carrierServiceTypeCode
        {
            get
            {
                return this.carrierServiceTypeCodeField;
            }
            set
            {
                this.carrierServiceTypeCodeField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public DateRange[] collectionSlots
        {
            get
            {
                return this.collectionSlotsField;
            }
            set
            {
                this.collectionSlotsField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public DateRange collectionWindow
        {
            get
            {
                return this.collectionWindowField;
            }
            set
            {
                this.collectionWindowField = value;
            }
        }
 
        /// <remarks/>
        public double cost
        {
            get
            {
                return this.costField;
            }
            set
            {
                this.costField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public System.Nullable<System.DateTime> cutOffDateTime
        {
            get
            {
                return this.cutOffDateTimeField;
            }
            set
            {
                this.cutOffDateTimeField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public DateRange[] deliverySlots
        {
            get
            {
                return this.deliverySlotsField;
            }
            set
            {
                this.deliverySlotsField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public DateRange deliveryWindow
        {
            get
            {
                return this.deliveryWindowField;
            }
            set
            {
                this.deliveryWindowField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string[] groupCodes
        {
            get
            {
                return this.groupCodesField;
            }
            set
            {
                this.groupCodesField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string name
        {
            get
            {
                return this.nameField;
            }
            set
            {
                this.nameField = value;
            }
        }
 
        /// <remarks/>
        public bool nominatableCollectionSlot
        {
            get
            {
                return this.nominatableCollectionSlotField;
            }
            set
            {
                this.nominatableCollectionSlotField = value;
            }
        }
 
        /// <remarks/>
        public bool nominatableDeliverySlot
        {
            get
            {
                return this.nominatableDeliverySlotField;
            }
            set
            {
                this.nominatableDeliverySlotField = value;
            }
        }
 
        /// <remarks/>
        public double score
        {
            get
            {
                return this.scoreField;
            }
            set
            {
                this.scoreField = value;
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.SoapTypeAttribute(Namespace = "urn:DeliveryManager/types")]
    public partial class DateRange
    {
 
        private System.Nullable<System.DateTime> fromField;
 
        private System.Nullable<System.DateTime> toField;
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public System.Nullable<System.DateTime> from
        {
            get
            {
                return this.fromField;
            }
            set
            {
                this.fromField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public System.Nullable<System.DateTime> to
        {
            get
            {
                return this.toField;
            }
            set
            {
                this.toField = value;
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.SoapTypeAttribute(Namespace = "urn:DeliveryManager/types")]
    public partial class WorkingDays
    {
 
        private bool fridayField;
 
        private bool mondayField;
 
        private bool saturdayField;
 
        private bool sundayField;
 
        private bool thursdayField;
 
        private bool tuesdayField;
 
        private bool wednesdayField;
 
        /// <remarks/>
        public bool friday
        {
            get
            {
                return this.fridayField;
            }
            set
            {
                this.fridayField = value;
            }
        }
 
        /// <remarks/>
        public bool monday
        {
            get
            {
                return this.mondayField;
            }
            set
            {
                this.mondayField = value;
            }
        }
 
        /// <remarks/>
        public bool saturday
        {
            get
            {
                return this.saturdayField;
            }
            set
            {
                this.saturdayField = value;
            }
        }
 
        /// <remarks/>
        public bool sunday
        {
            get
            {
                return this.sundayField;
            }
            set
            {
                this.sundayField = value;
            }
        }
 
        /// <remarks/>
        public bool thursday
        {
            get
            {
                return this.thursdayField;
            }
            set
            {
                this.thursdayField = value;
            }
        }
 
        /// <remarks/>
        public bool tuesday
        {
            get
            {
                return this.tuesdayField;
            }
            set
            {
                this.tuesdayField = value;
            }
        }
 
        /// <remarks/>
        public bool wednesday
        {
            get
            {
                return this.wednesdayField;
            }
            set
            {
                this.wednesdayField = value;
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.SoapTypeAttribute(Namespace = "urn:DeliveryManager/types")]
    public partial class AllocationFilter
    {
 
        private string[] acceptableCarrierCodesField;
 
        private string[] acceptableCarrierServiceCodesField;
 
        private string[] acceptableCarrierServiceGroupCodesField;
 
        private string[] acceptableCarrierServiceTypeCodesField;
 
        private WorkingDays acceptableCollectionDaysField;
 
        private DateRange[] acceptableCollectionSlotsField;
 
        private WorkingDays acceptableDeliveryDaysField;
 
        private DateRange[] acceptableDeliverySlotsField;
 
        private string allocationSchemeCodeField;
 
        private bool expandGroupsField;
 
        private int filterGroup1Field;
 
        private int filterGroup2Field;
 
        private int filterGroup3Field;
 
        private bool firstCollectionOnlyField;
 
        private int maxAnalysisDayCountField;
 
        private double maxCostField;
 
        private int maxDatesPerServiceField;
 
        private double maxScoreField;
 
        private double minScoreField;
 
        private int preFilterSortOrder1Field;
 
        private int preFilterSortOrder2Field;
 
        private int preFilterSortOrder3Field;
 
        private int sortOrder1Field;
 
        private int sortOrder2Field;
 
        private int sortOrder3Field;
 
        private string[] unacceptableCarrierCodesField;
 
        private string[] unacceptableCarrierServiceCodesField;
 
        private string[] unacceptableCarrierServiceGroupCodesField;
 
        private string[] unacceptableCarrierServiceTypeCodesField;
 
        private WorkingDays unacceptableCollectionDaysField;
 
        private DateRange[] unacceptableCollectionSlotsField;
 
        private WorkingDays unacceptableDeliveryDaysField;
 
        private DateRange[] unacceptableDeliverySlotsField;
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string[] acceptableCarrierCodes
        {
            get
            {
                return this.acceptableCarrierCodesField;
            }
            set
            {
                this.acceptableCarrierCodesField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string[] acceptableCarrierServiceCodes
        {
            get
            {
                return this.acceptableCarrierServiceCodesField;
            }
            set
            {
                this.acceptableCarrierServiceCodesField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string[] acceptableCarrierServiceGroupCodes
        {
            get
            {
                return this.acceptableCarrierServiceGroupCodesField;
            }
            set
            {
                this.acceptableCarrierServiceGroupCodesField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string[] acceptableCarrierServiceTypeCodes
        {
            get
            {
                return this.acceptableCarrierServiceTypeCodesField;
            }
            set
            {
                this.acceptableCarrierServiceTypeCodesField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public WorkingDays acceptableCollectionDays
        {
            get
            {
                return this.acceptableCollectionDaysField;
            }
            set
            {
                this.acceptableCollectionDaysField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public DateRange[] acceptableCollectionSlots
        {
            get
            {
                return this.acceptableCollectionSlotsField;
            }
            set
            {
                this.acceptableCollectionSlotsField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public WorkingDays acceptableDeliveryDays
        {
            get
            {
                return this.acceptableDeliveryDaysField;
            }
            set
            {
                this.acceptableDeliveryDaysField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public DateRange[] acceptableDeliverySlots
        {
            get
            {
                return this.acceptableDeliverySlotsField;
            }
            set
            {
                this.acceptableDeliverySlotsField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string allocationSchemeCode
        {
            get
            {
                return this.allocationSchemeCodeField;
            }
            set
            {
                this.allocationSchemeCodeField = value;
            }
        }
 
        /// <remarks/>
        public bool expandGroups
        {
            get
            {
                return this.expandGroupsField;
            }
            set
            {
                this.expandGroupsField = value;
            }
        }
 
        /// <remarks/>
        public int filterGroup1
        {
            get
            {
                return this.filterGroup1Field;
            }
            set
            {
                this.filterGroup1Field = value;
            }
        }
 
        /// <remarks/>
        public int filterGroup2
        {
            get
            {
                return this.filterGroup2Field;
            }
            set
            {
                this.filterGroup2Field = value;
            }
        }
 
        /// <remarks/>
        public int filterGroup3
        {
            get
            {
                return this.filterGroup3Field;
            }
            set
            {
                this.filterGroup3Field = value;
            }
        }
 
        /// <remarks/>
        public bool firstCollectionOnly
        {
            get
            {
                return this.firstCollectionOnlyField;
            }
            set
            {
                this.firstCollectionOnlyField = value;
            }
        }
 
        /// <remarks/>
        public int maxAnalysisDayCount
        {
            get
            {
                return this.maxAnalysisDayCountField;
            }
            set
            {
                this.maxAnalysisDayCountField = value;
            }
        }
 
        /// <remarks/>
        public double maxCost
        {
            get
            {
                return this.maxCostField;
            }
            set
            {
                this.maxCostField = value;
            }
        }
 
        /// <remarks/>
        public int maxDatesPerService
        {
            get
            {
                return this.maxDatesPerServiceField;
            }
            set
            {
                this.maxDatesPerServiceField = value;
            }
        }
 
        /// <remarks/>
        public double maxScore
        {
            get
            {
                return this.maxScoreField;
            }
            set
            {
                this.maxScoreField = value;
            }
        }
 
        /// <remarks/>
        public double minScore
        {
            get
            {
                return this.minScoreField;
            }
            set
            {
                this.minScoreField = value;
            }
        }
 
        /// <remarks/>
        public int preFilterSortOrder1
        {
            get
            {
                return this.preFilterSortOrder1Field;
            }
            set
            {
                this.preFilterSortOrder1Field = value;
            }
        }
 
        /// <remarks/>
        public int preFilterSortOrder2
        {
            get
            {
                return this.preFilterSortOrder2Field;
            }
            set
            {
                this.preFilterSortOrder2Field = value;
            }
        }
 
        /// <remarks/>
        public int preFilterSortOrder3
        {
            get
            {
                return this.preFilterSortOrder3Field;
            }
            set
            {
                this.preFilterSortOrder3Field = value;
            }
        }
 
        /// <remarks/>
        public int sortOrder1
        {
            get
            {
                return this.sortOrder1Field;
            }
            set
            {
                this.sortOrder1Field = value;
            }
        }
 
        /// <remarks/>
        public int sortOrder2
        {
            get
            {
                return this.sortOrder2Field;
            }
            set
            {
                this.sortOrder2Field = value;
            }
        }
 
        /// <remarks/>
        public int sortOrder3
        {
            get
            {
                return this.sortOrder3Field;
            }
            set
            {
                this.sortOrder3Field = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string[] unacceptableCarrierCodes
        {
            get
            {
                return this.unacceptableCarrierCodesField;
            }
            set
            {
                this.unacceptableCarrierCodesField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string[] unacceptableCarrierServiceCodes
        {
            get
            {
                return this.unacceptableCarrierServiceCodesField;
            }
            set
            {
                this.unacceptableCarrierServiceCodesField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string[] unacceptableCarrierServiceGroupCodes
        {
            get
            {
                return this.unacceptableCarrierServiceGroupCodesField;
            }
            set
            {
                this.unacceptableCarrierServiceGroupCodesField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string[] unacceptableCarrierServiceTypeCodes
        {
            get
            {
                return this.unacceptableCarrierServiceTypeCodesField;
            }
            set
            {
                this.unacceptableCarrierServiceTypeCodesField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public WorkingDays unacceptableCollectionDays
        {
            get
            {
                return this.unacceptableCollectionDaysField;
            }
            set
            {
                this.unacceptableCollectionDaysField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public DateRange[] unacceptableCollectionSlots
        {
            get
            {
                return this.unacceptableCollectionSlotsField;
            }
            set
            {
                this.unacceptableCollectionSlotsField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public WorkingDays unacceptableDeliveryDays
        {
            get
            {
                return this.unacceptableDeliveryDaysField;
            }
            set
            {
                this.unacceptableDeliveryDaysField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public DateRange[] unacceptableDeliverySlots
        {
            get
            {
                return this.unacceptableDeliverySlotsField;
            }
            set
            {
                this.unacceptableDeliverySlotsField = value;
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.SoapTypeAttribute(Namespace = "urn:DeliveryManager/types")]
    public partial class Address
    {
 
        private string countryCodeField;
 
        private string line1Field;
 
        private string line2Field;
 
        private string line3Field;
 
        private string line4Field;
 
        private string postCodeField;
 
        private string typeField;
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string countryCode
        {
            get
            {
                return this.countryCodeField;
            }
            set
            {
                this.countryCodeField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string line1
        {
            get
            {
                return this.line1Field;
            }
            set
            {
                this.line1Field = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string line2
        {
            get
            {
                return this.line2Field;
            }
            set
            {
                this.line2Field = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string line3
        {
            get
            {
                return this.line3Field;
            }
            set
            {
                this.line3Field = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string line4
        {
            get
            {
                return this.line4Field;
            }
            set
            {
                this.line4Field = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string postCode
        {
            get
            {
                return this.postCodeField;
            }
            set
            {
                this.postCodeField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string type
        {
            get
            {
                return this.typeField;
            }
            set
            {
                this.typeField = value;
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.SoapTypeAttribute(Namespace = "urn:DeliveryManager/types")]
    public partial class Property
    {
 
        private string propertyNameField;
 
        private string propertyValueField;
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string propertyName
        {
            get
            {
                return this.propertyNameField;
            }
            set
            {
                this.propertyNameField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string propertyValue
        {
            get
            {
                return this.propertyValueField;
            }
            set
            {
                this.propertyValueField = value;
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void deallocateCompletedEventHandler(object sender, deallocateCompletedEventArgs e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class deallocateCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal deallocateCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public bool Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((bool)(this.results[0]));
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void findDeliveryOptionsCompletedEventHandler(object sender, findDeliveryOptionsCompletedEventArgs e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class findDeliveryOptionsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal findDeliveryOptionsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public DeliveryOption[] Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((DeliveryOption[])(this.results[0]));
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void findDeliveryOptionsForConsignmentCompletedEventHandler(object sender, findDeliveryOptionsForConsignmentCompletedEventArgs e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class findDeliveryOptionsForConsignmentCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal findDeliveryOptionsForConsignmentCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public DeliveryOption[] Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((DeliveryOption[])(this.results[0]));
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void createAndAllocateConsignmentsCompletedEventHandler(object sender, createAndAllocateConsignmentsCompletedEventArgs e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class createAndAllocateConsignmentsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal createAndAllocateConsignmentsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public Consignment[] Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((Consignment[])(this.results[0]));
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void createAndAllocateConsignmentsWithBookingCodeCompletedEventHandler(object sender, createAndAllocateConsignmentsWithBookingCodeCompletedEventArgs e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class createAndAllocateConsignmentsWithBookingCodeCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal createAndAllocateConsignmentsWithBookingCodeCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public Consignment[] Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((Consignment[])(this.results[0]));
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void verifyAllocationCompletedEventHandler(object sender, verifyAllocationCompletedEventArgs e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class verifyAllocationCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal verifyAllocationCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public Consignment Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((Consignment)(this.results[0]));
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void allocateConsignmentCompletedEventHandler(object sender, allocateConsignmentCompletedEventArgs e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class allocateConsignmentCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal allocateConsignmentCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public Consignment Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((Consignment)(this.results[0]));
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void allocateConsignmentWithBookingCodeCompletedEventHandler(object sender, allocateConsignmentWithBookingCodeCompletedEventArgs e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class allocateConsignmentWithBookingCodeCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal allocateConsignmentWithBookingCodeCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public Consignment Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((Consignment)(this.results[0]));
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Web.Services.WebServiceBindingAttribute(Name = "ConsignmentServiceSoapBinding", Namespace = "urn:DeliveryManager/services")]
    public partial class ConsignmentServiceService : System.Web.Services.Protocols.SoapHttpClientProtocol
    {
        protected override System.Net.WebRequest GetWebRequest(Uri uri)
        {
            System.Net.HttpWebRequest req;
            req = (System.Net.HttpWebRequest)base.GetWebRequest(uri);
            req.ProtocolVersion = System.Net.HttpVersion.Version10;
            return req;
        }
 
        private System.Threading.SendOrPostCallback createConsignmentsOperationCompleted;
 
        private System.Threading.SendOrPostCallback updateConsignmentsOperationCompleted;
 
        private System.Threading.SendOrPostCallback deleteConsignmentOperationCompleted;
 
        private System.Threading.SendOrPostCallback createLabelsAsPdfOperationCompleted;
 
        private System.Threading.SendOrPostCallback createLabelsAsPdf1OperationCompleted;
 
        private System.Threading.SendOrPostCallback createBulkLabelsAsPdfOperationCompleted;
 
        private System.Threading.SendOrPostCallback createDocumentationAsPdfOperationCompleted;
 
        private System.Threading.SendOrPostCallback createBulkDocumentationAsPdfOperationCompleted;
 
        private System.Threading.SendOrPostCallback createDocumentationPdfOperationCompleted;
 
        private System.Threading.SendOrPostCallback markConsignmentReadyToManifestOperationCompleted;
 
        private System.Threading.SendOrPostCallback markConsignmentAsPrintedOperationCompleted;
 
        private System.Threading.SendOrPostCallback appendParcelsToConsignmentOperationCompleted;
 
        /// <remarks/>
        public ConsignmentServiceService()
        {
            this.Url = "http://test1.metapack.com/dm/services/ConsignmentService";
        }
 
        /// <remarks/>
        public event createConsignmentsCompletedEventHandler createConsignmentsCompleted;
 
        /// <remarks/>
        public event updateConsignmentsCompletedEventHandler updateConsignmentsCompleted;
 
        /// <remarks/>
        public event deleteConsignmentCompletedEventHandler deleteConsignmentCompleted;
 
        /// <remarks/>
        public event createLabelsAsPdfCompletedEventHandler createLabelsAsPdfCompleted;
 
        /// <remarks/>
        public event createLabelsAsPdf1CompletedEventHandler createLabelsAsPdf1Completed;
 
        /// <remarks/>
        public event createBulkLabelsAsPdfCompletedEventHandler createBulkLabelsAsPdfCompleted;
 
        /// <remarks/>
        public event createDocumentationAsPdfCompletedEventHandler createDocumentationAsPdfCompleted;
 
        /// <remarks/>
        public event createBulkDocumentationAsPdfCompletedEventHandler createBulkDocumentationAsPdfCompleted;
 
        /// <remarks/>
        public event createDocumentationPdfCompletedEventHandler createDocumentationPdfCompleted;
 
        /// <remarks/>
        public event markConsignmentReadyToManifestCompletedEventHandler markConsignmentReadyToManifestCompleted;
 
        /// <remarks/>
        public event markConsignmentAsPrintedCompletedEventHandler markConsignmentAsPrintedCompleted;
 
        /// <remarks/>
        public event appendParcelsToConsignmentCompletedEventHandler appendParcelsToConsignmentCompleted;
 
        /// <remarks/>
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("createConsignmentsReturn")]
        public Consignment[] createConsignments(Consignment[] consignments)
        {
            object[] results = this.Invoke("createConsignments", new object[] {
                    consignments});
            return ((Consignment[])(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult BegincreateConsignments(Consignment[] consignments, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("createConsignments", new object[] {
                    consignments}, callback, asyncState);
        }
 
        /// <remarks/>
        public Consignment[] EndcreateConsignments(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((Consignment[])(results[0]));
        }
 
        /// <remarks/>
        public void createConsignmentsAsync(Consignment[] consignments)
        {
            this.createConsignmentsAsync(consignments, null);
        }
 
        /// <remarks/>
        public void createConsignmentsAsync(Consignment[] consignments, object userState)
        {
            if ((this.createConsignmentsOperationCompleted == null))
            {
                this.createConsignmentsOperationCompleted = new System.Threading.SendOrPostCallback(this.OncreateConsignmentsOperationCompleted);
            }
            this.InvokeAsync("createConsignments", new object[] {
                    consignments}, this.createConsignmentsOperationCompleted, userState);
        }
 
        private void OncreateConsignmentsOperationCompleted(object arg)
        {
            if ((this.createConsignmentsCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.createConsignmentsCompleted(this, new createConsignmentsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("updateConsignmentsReturn")]
        public Consignment[] updateConsignments(Consignment[] consignments)
        {
            object[] results = this.Invoke("updateConsignments", new object[] {
                    consignments});
            return ((Consignment[])(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult BeginupdateConsignments(Consignment[] consignments, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("updateConsignments", new object[] {
                    consignments}, callback, asyncState);
        }
 
        /// <remarks/>
        public Consignment[] EndupdateConsignments(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((Consignment[])(results[0]));
        }
 
        /// <remarks/>
        public void updateConsignmentsAsync(Consignment[] consignments)
        {
            this.updateConsignmentsAsync(consignments, null);
        }
 
        /// <remarks/>
        public void updateConsignmentsAsync(Consignment[] consignments, object userState)
        {
            if ((this.updateConsignmentsOperationCompleted == null))
            {
                this.updateConsignmentsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnupdateConsignmentsOperationCompleted);
            }
            this.InvokeAsync("updateConsignments", new object[] {
                    consignments}, this.updateConsignmentsOperationCompleted, userState);
        }
 
        private void OnupdateConsignmentsOperationCompleted(object arg)
        {
            if ((this.updateConsignmentsCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.updateConsignmentsCompleted(this, new updateConsignmentsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("deleteConsignmentReturn")]
        public bool deleteConsignment(string consignmentCode)
        {
            object[] results = this.Invoke("deleteConsignment", new object[] {
                    consignmentCode});
            return ((bool)(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult BegindeleteConsignment(string consignmentCode, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("deleteConsignment", new object[] {
                    consignmentCode}, callback, asyncState);
        }
 
        /// <remarks/>
        public bool EnddeleteConsignment(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((bool)(results[0]));
        }
 
        /// <remarks/>
        public void deleteConsignmentAsync(string consignmentCode)
        {
            this.deleteConsignmentAsync(consignmentCode, null);
        }
 
        /// <remarks/>
        public void deleteConsignmentAsync(string consignmentCode, object userState)
        {
            if ((this.deleteConsignmentOperationCompleted == null))
            {
                this.deleteConsignmentOperationCompleted = new System.Threading.SendOrPostCallback(this.OndeleteConsignmentOperationCompleted);
            }
            this.InvokeAsync("deleteConsignment", new object[] {
                    consignmentCode}, this.deleteConsignmentOperationCompleted, userState);
        }
 
        private void OndeleteConsignmentOperationCompleted(object arg)
        {
            if ((this.deleteConsignmentCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.deleteConsignmentCompleted(this, new deleteConsignmentCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("createLabelsAsPdfReturn")]
        public string createLabelsAsPdf(string consignmentCode)
        {
            object[] results = this.Invoke("createLabelsAsPdf", new object[] {
                    consignmentCode});
            return ((string)(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult BegincreateLabelsAsPdf(string consignmentCode, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("createLabelsAsPdf", new object[] {
                    consignmentCode}, callback, asyncState);
        }
 
        /// <remarks/>
        public string EndcreateLabelsAsPdf(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((string)(results[0]));
        }
 
        /// <remarks/>
        public void createLabelsAsPdfAsync(string consignmentCode)
        {
            this.createLabelsAsPdfAsync(consignmentCode, null);
        }
 
        /// <remarks/>
        public void createLabelsAsPdfAsync(string consignmentCode, object userState)
        {
            if ((this.createLabelsAsPdfOperationCompleted == null))
            {
                this.createLabelsAsPdfOperationCompleted = new System.Threading.SendOrPostCallback(this.OncreateLabelsAsPdfOperationCompleted);
            }
            this.InvokeAsync("createLabelsAsPdf", new object[] {
                    consignmentCode}, this.createLabelsAsPdfOperationCompleted, userState);
        }
 
        private void OncreateLabelsAsPdfOperationCompleted(object arg)
        {
            if ((this.createLabelsAsPdfCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.createLabelsAsPdfCompleted(this, new createLabelsAsPdfCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        [System.Web.Services.WebMethodAttribute(MessageName = "createLabelsAsPdf1")]
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("createLabelsAsPdfReturn")]
        public string createLabelsAsPdf(string consignmentCode, int parcelNumber)
        {
            object[] results = this.Invoke("createLabelsAsPdf1", new object[] {
                    consignmentCode,
                    parcelNumber});
            return ((string)(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult BegincreateLabelsAsPdf1(string consignmentCode, int parcelNumber, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("createLabelsAsPdf1", new object[] {
                    consignmentCode,
                    parcelNumber}, callback, asyncState);
        }
 
        /// <remarks/>
        public string EndcreateLabelsAsPdf1(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((string)(results[0]));
        }
 
        /// <remarks/>
        public void createLabelsAsPdf1Async(string consignmentCode, int parcelNumber)
        {
            this.createLabelsAsPdf1Async(consignmentCode, parcelNumber, null);
        }
 
        /// <remarks/>
        public void createLabelsAsPdf1Async(string consignmentCode, int parcelNumber, object userState)
        {
            if ((this.createLabelsAsPdf1OperationCompleted == null))
            {
                this.createLabelsAsPdf1OperationCompleted = new System.Threading.SendOrPostCallback(this.OncreateLabelsAsPdf1OperationCompleted);
            }
            this.InvokeAsync("createLabelsAsPdf1", new object[] {
                    consignmentCode,
                    parcelNumber}, this.createLabelsAsPdf1OperationCompleted, userState);
        }
 
        private void OncreateLabelsAsPdf1OperationCompleted(object arg)
        {
            if ((this.createLabelsAsPdf1Completed != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.createLabelsAsPdf1Completed(this, new createLabelsAsPdf1CompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("createBulkLabelsAsPdfReturn")]
        public string createBulkLabelsAsPdf(string[] consignmentCodes)
        {
            object[] results = this.Invoke("createBulkLabelsAsPdf", new object[] {
                    consignmentCodes});
            return ((string)(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult BegincreateBulkLabelsAsPdf(string[] consignmentCodes, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("createBulkLabelsAsPdf", new object[] {
                    consignmentCodes}, callback, asyncState);
        }
 
        /// <remarks/>
        public string EndcreateBulkLabelsAsPdf(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((string)(results[0]));
        }
 
        /// <remarks/>
        public void createBulkLabelsAsPdfAsync(string[] consignmentCodes)
        {
            this.createBulkLabelsAsPdfAsync(consignmentCodes, null);
        }
 
        /// <remarks/>
        public void createBulkLabelsAsPdfAsync(string[] consignmentCodes, object userState)
        {
            if ((this.createBulkLabelsAsPdfOperationCompleted == null))
            {
                this.createBulkLabelsAsPdfOperationCompleted = new System.Threading.SendOrPostCallback(this.OncreateBulkLabelsAsPdfOperationCompleted);
            }
            this.InvokeAsync("createBulkLabelsAsPdf", new object[] {
                    consignmentCodes}, this.createBulkLabelsAsPdfOperationCompleted, userState);
        }
 
        private void OncreateBulkLabelsAsPdfOperationCompleted(object arg)
        {
            if ((this.createBulkLabelsAsPdfCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.createBulkLabelsAsPdfCompleted(this, new createBulkLabelsAsPdfCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("createDocumentationAsPdfReturn")]
        public string createDocumentationAsPdf(string consignmentCode)
        {
            object[] results = this.Invoke("createDocumentationAsPdf", new object[] {
                    consignmentCode});
            return ((string)(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult BegincreateDocumentationAsPdf(string consignmentCode, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("createDocumentationAsPdf", new object[] {
                    consignmentCode}, callback, asyncState);
        }
 
        /// <remarks/>
        public string EndcreateDocumentationAsPdf(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((string)(results[0]));
        }
 
        /// <remarks/>
        public void createDocumentationAsPdfAsync(string consignmentCode)
        {
            this.createDocumentationAsPdfAsync(consignmentCode, null);
        }
 
        /// <remarks/>
        public void createDocumentationAsPdfAsync(string consignmentCode, object userState)
        {
            if ((this.createDocumentationAsPdfOperationCompleted == null))
            {
                this.createDocumentationAsPdfOperationCompleted = new System.Threading.SendOrPostCallback(this.OncreateDocumentationAsPdfOperationCompleted);
            }
            this.InvokeAsync("createDocumentationAsPdf", new object[] {
                    consignmentCode}, this.createDocumentationAsPdfOperationCompleted, userState);
        }
 
        private void OncreateDocumentationAsPdfOperationCompleted(object arg)
        {
            if ((this.createDocumentationAsPdfCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.createDocumentationAsPdfCompleted(this, new createDocumentationAsPdfCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("createBulkDocumentationAsPdfReturn")]
        public string createBulkDocumentationAsPdf(string[] consignmentCodes)
        {
            object[] results = this.Invoke("createBulkDocumentationAsPdf", new object[] {
                    consignmentCodes});
            return ((string)(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult BegincreateBulkDocumentationAsPdf(string[] consignmentCodes, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("createBulkDocumentationAsPdf", new object[] {
                    consignmentCodes}, callback, asyncState);
        }
 
        /// <remarks/>
        public string EndcreateBulkDocumentationAsPdf(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((string)(results[0]));
        }
 
        /// <remarks/>
        public void createBulkDocumentationAsPdfAsync(string[] consignmentCodes)
        {
            this.createBulkDocumentationAsPdfAsync(consignmentCodes, null);
        }
 
        /// <remarks/>
        public void createBulkDocumentationAsPdfAsync(string[] consignmentCodes, object userState)
        {
            if ((this.createBulkDocumentationAsPdfOperationCompleted == null))
            {
                this.createBulkDocumentationAsPdfOperationCompleted = new System.Threading.SendOrPostCallback(this.OncreateBulkDocumentationAsPdfOperationCompleted);
            }
            this.InvokeAsync("createBulkDocumentationAsPdf", new object[] {
                    consignmentCodes}, this.createBulkDocumentationAsPdfOperationCompleted, userState);
        }
 
        private void OncreateBulkDocumentationAsPdfOperationCompleted(object arg)
        {
            if ((this.createBulkDocumentationAsPdfCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.createBulkDocumentationAsPdfCompleted(this, new createBulkDocumentationAsPdfCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("createDocumentationPdfReturn")]
        public string createDocumentationPdf(string[] consignmentCodes, int parcelNumber, string printerType, string documentType)
        {
            object[] results = this.Invoke("createDocumentationPdf", new object[] {
                    consignmentCodes,
                    parcelNumber,
                    printerType,
                    documentType});
            return ((string)(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult BegincreateDocumentationPdf(string[] consignmentCodes, int parcelNumber, string printerType, string documentType, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("createDocumentationPdf", new object[] {
                    consignmentCodes,
                    parcelNumber,
                    printerType,
                    documentType}, callback, asyncState);
        }
 
        /// <remarks/>
        public string EndcreateDocumentationPdf(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((string)(results[0]));
        }
 
        /// <remarks/>
        public void createDocumentationPdfAsync(string[] consignmentCodes, int parcelNumber, string printerType, string documentType)
        {
            this.createDocumentationPdfAsync(consignmentCodes, parcelNumber, printerType, documentType, null);
        }
 
        /// <remarks/>
        public void createDocumentationPdfAsync(string[] consignmentCodes, int parcelNumber, string printerType, string documentType, object userState)
        {
            if ((this.createDocumentationPdfOperationCompleted == null))
            {
                this.createDocumentationPdfOperationCompleted = new System.Threading.SendOrPostCallback(this.OncreateDocumentationPdfOperationCompleted);
            }
            this.InvokeAsync("createDocumentationPdf", new object[] {
                    consignmentCodes,
                    parcelNumber,
                    printerType,
                    documentType}, this.createDocumentationPdfOperationCompleted, userState);
        }
 
        private void OncreateDocumentationPdfOperationCompleted(object arg)
        {
            if ((this.createDocumentationPdfCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.createDocumentationPdfCompleted(this, new createDocumentationPdfCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("markConsignmentReadyToManifestReturn")]
        public bool markConsignmentReadyToManifest(string consignmentCode)
        {
            object[] results = this.Invoke("markConsignmentReadyToManifest", new object[] {
                    consignmentCode});
            return ((bool)(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult BeginmarkConsignmentReadyToManifest(string consignmentCode, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("markConsignmentReadyToManifest", new object[] {
                    consignmentCode}, callback, asyncState);
        }
 
        /// <remarks/>
        public bool EndmarkConsignmentReadyToManifest(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((bool)(results[0]));
        }
 
        /// <remarks/>
        public void markConsignmentReadyToManifestAsync(string consignmentCode)
        {
            this.markConsignmentReadyToManifestAsync(consignmentCode, null);
        }
 
        /// <remarks/>
        public void markConsignmentReadyToManifestAsync(string consignmentCode, object userState)
        {
            if ((this.markConsignmentReadyToManifestOperationCompleted == null))
            {
                this.markConsignmentReadyToManifestOperationCompleted = new System.Threading.SendOrPostCallback(this.OnmarkConsignmentReadyToManifestOperationCompleted);
            }
            this.InvokeAsync("markConsignmentReadyToManifest", new object[] {
                    consignmentCode}, this.markConsignmentReadyToManifestOperationCompleted, userState);
        }
 
        private void OnmarkConsignmentReadyToManifestOperationCompleted(object arg)
        {
            if ((this.markConsignmentReadyToManifestCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.markConsignmentReadyToManifestCompleted(this, new markConsignmentReadyToManifestCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("markConsignmentAsPrintedReturn")]
        public bool markConsignmentAsPrinted(string consignmentCode)
        {
            object[] results = this.Invoke("markConsignmentAsPrinted", new object[] {
                    consignmentCode});
            return ((bool)(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult BeginmarkConsignmentAsPrinted(string consignmentCode, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("markConsignmentAsPrinted", new object[] {
                    consignmentCode}, callback, asyncState);
        }
 
        /// <remarks/>
        public bool EndmarkConsignmentAsPrinted(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((bool)(results[0]));
        }
 
        /// <remarks/>
        public void markConsignmentAsPrintedAsync(string consignmentCode)
        {
            this.markConsignmentAsPrintedAsync(consignmentCode, null);
        }
 
        /// <remarks/>
        public void markConsignmentAsPrintedAsync(string consignmentCode, object userState)
        {
            if ((this.markConsignmentAsPrintedOperationCompleted == null))
            {
                this.markConsignmentAsPrintedOperationCompleted = new System.Threading.SendOrPostCallback(this.OnmarkConsignmentAsPrintedOperationCompleted);
            }
            this.InvokeAsync("markConsignmentAsPrinted", new object[] {
                    consignmentCode}, this.markConsignmentAsPrintedOperationCompleted, userState);
        }
 
        private void OnmarkConsignmentAsPrintedOperationCompleted(object arg)
        {
            if ((this.markConsignmentAsPrintedCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.markConsignmentAsPrintedCompleted(this, new markConsignmentAsPrintedCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("appendParcelsToConsignmentReturn")]
        public Parcel[] appendParcelsToConsignment(string consignmentCode, Parcel[] parcels)
        {
            object[] results = this.Invoke("appendParcelsToConsignment", new object[] {
                    consignmentCode,
                    parcels});
            return ((Parcel[])(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult BeginappendParcelsToConsignment(string consignmentCode, Parcel[] parcels, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("appendParcelsToConsignment", new object[] {
                    consignmentCode,
                    parcels}, callback, asyncState);
        }
 
        /// <remarks/>
        public Parcel[] EndappendParcelsToConsignment(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((Parcel[])(results[0]));
        }
 
        /// <remarks/>
        public void appendParcelsToConsignmentAsync(string consignmentCode, Parcel[] parcels)
        {
            this.appendParcelsToConsignmentAsync(consignmentCode, parcels, null);
        }
 
        /// <remarks/>
        public void appendParcelsToConsignmentAsync(string consignmentCode, Parcel[] parcels, object userState)
        {
            if ((this.appendParcelsToConsignmentOperationCompleted == null))
            {
                this.appendParcelsToConsignmentOperationCompleted = new System.Threading.SendOrPostCallback(this.OnappendParcelsToConsignmentOperationCompleted);
            }
            this.InvokeAsync("appendParcelsToConsignment", new object[] {
                    consignmentCode,
                    parcels}, this.appendParcelsToConsignmentOperationCompleted, userState);
        }
 
        private void OnappendParcelsToConsignmentOperationCompleted(object arg)
        {
            if ((this.appendParcelsToConsignmentCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.appendParcelsToConsignmentCompleted(this, new appendParcelsToConsignmentCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        public new void CancelAsync(object userState)
        {
            base.CancelAsync(userState);
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void createConsignmentsCompletedEventHandler(object sender, createConsignmentsCompletedEventArgs e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class createConsignmentsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal createConsignmentsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public Consignment[] Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((Consignment[])(this.results[0]));
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void updateConsignmentsCompletedEventHandler(object sender, updateConsignmentsCompletedEventArgs e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class updateConsignmentsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal updateConsignmentsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public Consignment[] Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((Consignment[])(this.results[0]));
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void deleteConsignmentCompletedEventHandler(object sender, deleteConsignmentCompletedEventArgs e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class deleteConsignmentCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal deleteConsignmentCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public bool Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((bool)(this.results[0]));
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void createLabelsAsPdfCompletedEventHandler(object sender, createLabelsAsPdfCompletedEventArgs e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class createLabelsAsPdfCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal createLabelsAsPdfCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public string Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((string)(this.results[0]));
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void createLabelsAsPdf1CompletedEventHandler(object sender, createLabelsAsPdf1CompletedEventArgs e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class createLabelsAsPdf1CompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal createLabelsAsPdf1CompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public string Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((string)(this.results[0]));
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void createBulkLabelsAsPdfCompletedEventHandler(object sender, createBulkLabelsAsPdfCompletedEventArgs e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class createBulkLabelsAsPdfCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal createBulkLabelsAsPdfCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public string Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((string)(this.results[0]));
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void createDocumentationAsPdfCompletedEventHandler(object sender, createDocumentationAsPdfCompletedEventArgs e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class createDocumentationAsPdfCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal createDocumentationAsPdfCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public string Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((string)(this.results[0]));
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void createBulkDocumentationAsPdfCompletedEventHandler(object sender, createBulkDocumentationAsPdfCompletedEventArgs e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class createBulkDocumentationAsPdfCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal createBulkDocumentationAsPdfCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public string Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((string)(this.results[0]));
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void createDocumentationPdfCompletedEventHandler(object sender, createDocumentationPdfCompletedEventArgs e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class createDocumentationPdfCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal createDocumentationPdfCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public string Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((string)(this.results[0]));
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void markConsignmentReadyToManifestCompletedEventHandler(object sender, markConsignmentReadyToManifestCompletedEventArgs e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class markConsignmentReadyToManifestCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal markConsignmentReadyToManifestCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public bool Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((bool)(this.results[0]));
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void markConsignmentAsPrintedCompletedEventHandler(object sender, markConsignmentAsPrintedCompletedEventArgs e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class markConsignmentAsPrintedCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal markConsignmentAsPrintedCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public bool Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((bool)(this.results[0]));
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void appendParcelsToConsignmentCompletedEventHandler(object sender, appendParcelsToConsignmentCompletedEventArgs e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class appendParcelsToConsignmentCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal appendParcelsToConsignmentCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public Parcel[] Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((Parcel[])(this.results[0]));
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Web.Services.WebServiceBindingAttribute(Name = "ConsignmentSearchServiceSoapBinding", Namespace = "urn:DeliveryManager/services")]
    public partial class ConsignmentSearchServiceService : System.Web.Services.Protocols.SoapHttpClientProtocol
    {
        protected override System.Net.WebRequest GetWebRequest(Uri uri)
        {
            System.Net.HttpWebRequest req;
            req = (System.Net.HttpWebRequest)base.GetWebRequest(uri);
            req.ProtocolVersion = System.Net.HttpVersion.Version10;
            return req;
        }
 
        private System.Threading.SendOrPostCallback searchOperationCompleted;
 
        private System.Threading.SendOrPostCallback findConsignmentByConsignmentCodeOperationCompleted;
 
        private System.Threading.SendOrPostCallback findConsignmentsByOrderReferenceOperationCompleted;
 
        private System.Threading.SendOrPostCallback findConsignmentsByCarrierConsignmentCodeOperationCompleted;
 
        private System.Threading.SendOrPostCallback findConsignmentsByParcelCodeOperationCompleted;
 
        /// <remarks/>
        public ConsignmentSearchServiceService()
        {
            this.Url = "http://test1.metapack.com/dm/services/ConsignmentSearchService";
        }
 
        /// <remarks/>
        public event searchCompletedEventHandler searchCompleted;
 
        /// <remarks/>
        public event findConsignmentByConsignmentCodeCompletedEventHandler findConsignmentByConsignmentCodeCompleted;
 
        /// <remarks/>
        public event findConsignmentsByOrderReferenceCompletedEventHandler findConsignmentsByOrderReferenceCompleted;
 
        /// <remarks/>
        public event findConsignmentsByCarrierConsignmentCodeCompletedEventHandler findConsignmentsByCarrierConsignmentCodeCompleted;
 
        /// <remarks/>
        public event findConsignmentsByParcelCodeCompletedEventHandler findConsignmentsByParcelCodeCompleted;
 
        /// <remarks/>
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("searchReturn")]
        public ConsignmentSearchResult search(ConsignmentSearchParams parameters)
        {
            object[] results = this.Invoke("search", new object[] {
                    parameters});
            return ((ConsignmentSearchResult)(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult Beginsearch(ConsignmentSearchParams parameters, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("search", new object[] {
                    parameters}, callback, asyncState);
        }
 
        /// <remarks/>
        public ConsignmentSearchResult Endsearch(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((ConsignmentSearchResult)(results[0]));
        }
 
        /// <remarks/>
        public void searchAsync(ConsignmentSearchParams parameters)
        {
            this.searchAsync(parameters, null);
        }
 
        /// <remarks/>
        public void searchAsync(ConsignmentSearchParams parameters, object userState)
        {
            if ((this.searchOperationCompleted == null))
            {
                this.searchOperationCompleted = new System.Threading.SendOrPostCallback(this.OnsearchOperationCompleted);
            }
            this.InvokeAsync("search", new object[] {
                    parameters}, this.searchOperationCompleted, userState);
        }
 
        private void OnsearchOperationCompleted(object arg)
        {
            if ((this.searchCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.searchCompleted(this, new searchCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("findConsignmentByConsignmentCodeReturn")]
        public Consignment findConsignmentByConsignmentCode(string consignmentCode)
        {
            object[] results = this.Invoke("findConsignmentByConsignmentCode", new object[] {
                    consignmentCode});
            return ((Consignment)(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult BeginfindConsignmentByConsignmentCode(string consignmentCode, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("findConsignmentByConsignmentCode", new object[] {
                    consignmentCode}, callback, asyncState);
        }
 
        /// <remarks/>
        public Consignment EndfindConsignmentByConsignmentCode(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((Consignment)(results[0]));
        }
 
        /// <remarks/>
        public void findConsignmentByConsignmentCodeAsync(string consignmentCode)
        {
            this.findConsignmentByConsignmentCodeAsync(consignmentCode, null);
        }
 
        /// <remarks/>
        public void findConsignmentByConsignmentCodeAsync(string consignmentCode, object userState)
        {
            if ((this.findConsignmentByConsignmentCodeOperationCompleted == null))
            {
                this.findConsignmentByConsignmentCodeOperationCompleted = new System.Threading.SendOrPostCallback(this.OnfindConsignmentByConsignmentCodeOperationCompleted);
            }
            this.InvokeAsync("findConsignmentByConsignmentCode", new object[] {
                    consignmentCode}, this.findConsignmentByConsignmentCodeOperationCompleted, userState);
        }
 
        private void OnfindConsignmentByConsignmentCodeOperationCompleted(object arg)
        {
            if ((this.findConsignmentByConsignmentCodeCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.findConsignmentByConsignmentCodeCompleted(this, new findConsignmentByConsignmentCodeCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("findConsignmentsByOrderReferenceReturn")]
        public Consignment[] findConsignmentsByOrderReference(string orderReference)
        {
            object[] results = this.Invoke("findConsignmentsByOrderReference", new object[] {
                    orderReference});
            return ((Consignment[])(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult BeginfindConsignmentsByOrderReference(string orderReference, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("findConsignmentsByOrderReference", new object[] {
                    orderReference}, callback, asyncState);
        }
 
        /// <remarks/>
        public Consignment[] EndfindConsignmentsByOrderReference(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((Consignment[])(results[0]));
        }
 
        /// <remarks/>
        public void findConsignmentsByOrderReferenceAsync(string orderReference)
        {
            this.findConsignmentsByOrderReferenceAsync(orderReference, null);
        }
 
        /// <remarks/>
        public void findConsignmentsByOrderReferenceAsync(string orderReference, object userState)
        {
            if ((this.findConsignmentsByOrderReferenceOperationCompleted == null))
            {
                this.findConsignmentsByOrderReferenceOperationCompleted = new System.Threading.SendOrPostCallback(this.OnfindConsignmentsByOrderReferenceOperationCompleted);
            }
            this.InvokeAsync("findConsignmentsByOrderReference", new object[] {
                    orderReference}, this.findConsignmentsByOrderReferenceOperationCompleted, userState);
        }
 
        private void OnfindConsignmentsByOrderReferenceOperationCompleted(object arg)
        {
            if ((this.findConsignmentsByOrderReferenceCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.findConsignmentsByOrderReferenceCompleted(this, new findConsignmentsByOrderReferenceCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("findConsignmentsByCarrierConsignmentCodeReturn")]
        public Consignment[] findConsignmentsByCarrierConsignmentCode(string carrierConsignmentCode)
        {
            object[] results = this.Invoke("findConsignmentsByCarrierConsignmentCode", new object[] {
                    carrierConsignmentCode});
            return ((Consignment[])(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult BeginfindConsignmentsByCarrierConsignmentCode(string carrierConsignmentCode, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("findConsignmentsByCarrierConsignmentCode", new object[] {
                    carrierConsignmentCode}, callback, asyncState);
        }
 
        /// <remarks/>
        public Consignment[] EndfindConsignmentsByCarrierConsignmentCode(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((Consignment[])(results[0]));
        }
 
        /// <remarks/>
        public void findConsignmentsByCarrierConsignmentCodeAsync(string carrierConsignmentCode)
        {
            this.findConsignmentsByCarrierConsignmentCodeAsync(carrierConsignmentCode, null);
        }
 
        /// <remarks/>
        public void findConsignmentsByCarrierConsignmentCodeAsync(string carrierConsignmentCode, object userState)
        {
            if ((this.findConsignmentsByCarrierConsignmentCodeOperationCompleted == null))
            {
                this.findConsignmentsByCarrierConsignmentCodeOperationCompleted = new System.Threading.SendOrPostCallback(this.OnfindConsignmentsByCarrierConsignmentCodeOperationCompleted);
            }
            this.InvokeAsync("findConsignmentsByCarrierConsignmentCode", new object[] {
                    carrierConsignmentCode}, this.findConsignmentsByCarrierConsignmentCodeOperationCompleted, userState);
        }
 
        private void OnfindConsignmentsByCarrierConsignmentCodeOperationCompleted(object arg)
        {
            if ((this.findConsignmentsByCarrierConsignmentCodeCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.findConsignmentsByCarrierConsignmentCodeCompleted(this, new findConsignmentsByCarrierConsignmentCodeCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("findConsignmentsByParcelCodeReturn")]
        public Consignment[] findConsignmentsByParcelCode(string parcelCode)
        {
            object[] results = this.Invoke("findConsignmentsByParcelCode", new object[] {
                    parcelCode});
            return ((Consignment[])(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult BeginfindConsignmentsByParcelCode(string parcelCode, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("findConsignmentsByParcelCode", new object[] {
                    parcelCode}, callback, asyncState);
        }
 
        /// <remarks/>
        public Consignment[] EndfindConsignmentsByParcelCode(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((Consignment[])(results[0]));
        }
 
        /// <remarks/>
        public void findConsignmentsByParcelCodeAsync(string parcelCode)
        {
            this.findConsignmentsByParcelCodeAsync(parcelCode, null);
        }
 
        /// <remarks/>
        public void findConsignmentsByParcelCodeAsync(string parcelCode, object userState)
        {
            if ((this.findConsignmentsByParcelCodeOperationCompleted == null))
            {
                this.findConsignmentsByParcelCodeOperationCompleted = new System.Threading.SendOrPostCallback(this.OnfindConsignmentsByParcelCodeOperationCompleted);
            }
            this.InvokeAsync("findConsignmentsByParcelCode", new object[] {
                    parcelCode}, this.findConsignmentsByParcelCodeOperationCompleted, userState);
        }
 
        private void OnfindConsignmentsByParcelCodeOperationCompleted(object arg)
        {
            if ((this.findConsignmentsByParcelCodeCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.findConsignmentsByParcelCodeCompleted(this, new findConsignmentsByParcelCodeCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        public new void CancelAsync(object userState)
        {
            base.CancelAsync(userState);
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.SoapTypeAttribute(Namespace = "urn:DeliveryManager/types")]
    public partial class ConsignmentSearchParams
    {
 
        private string carrierCodeField;
 
        private string consignmentStatusField;
 
        private System.Nullable<System.DateTime> dateAllocatedAfterField;
 
        private System.Nullable<System.DateTime> dateAllocatedBeforeField;
 
        private System.Nullable<System.DateTime> dateCompletedAfterField;
 
        private System.Nullable<System.DateTime> dateCompletedBeforeField;
 
        private System.Nullable<System.DateTime> dateCreatedAfterField;
 
        private System.Nullable<System.DateTime> dateCreatedBeforeField;
 
        private System.Nullable<System.DateTime> dateDeliveryAfterField;
 
        private System.Nullable<System.DateTime> dateDeliveryBeforeField;
 
        private System.Nullable<System.DateTime> dateDespatchAfterField;
 
        private System.Nullable<System.DateTime> dateDespatchBeforeField;
 
        private System.Nullable<System.DateTime> dateModifiedAfterField;
 
        private System.Nullable<System.DateTime> dateModifiedBeforeField;
 
        private int pageNumberField;
 
        private int pageSizeField;
 
        private string transactionTypeField;
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string carrierCode
        {
            get
            {
                return this.carrierCodeField;
            }
            set
            {
                this.carrierCodeField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string consignmentStatus
        {
            get
            {
                return this.consignmentStatusField;
            }
            set
            {
                this.consignmentStatusField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public System.Nullable<System.DateTime> dateAllocatedAfter
        {
            get
            {
                return this.dateAllocatedAfterField;
            }
            set
            {
                this.dateAllocatedAfterField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public System.Nullable<System.DateTime> dateAllocatedBefore
        {
            get
            {
                return this.dateAllocatedBeforeField;
            }
            set
            {
                this.dateAllocatedBeforeField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public System.Nullable<System.DateTime> dateCompletedAfter
        {
            get
            {
                return this.dateCompletedAfterField;
            }
            set
            {
                this.dateCompletedAfterField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public System.Nullable<System.DateTime> dateCompletedBefore
        {
            get
            {
                return this.dateCompletedBeforeField;
            }
            set
            {
                this.dateCompletedBeforeField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public System.Nullable<System.DateTime> dateCreatedAfter
        {
            get
            {
                return this.dateCreatedAfterField;
            }
            set
            {
                this.dateCreatedAfterField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public System.Nullable<System.DateTime> dateCreatedBefore
        {
            get
            {
                return this.dateCreatedBeforeField;
            }
            set
            {
                this.dateCreatedBeforeField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public System.Nullable<System.DateTime> dateDeliveryAfter
        {
            get
            {
                return this.dateDeliveryAfterField;
            }
            set
            {
                this.dateDeliveryAfterField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public System.Nullable<System.DateTime> dateDeliveryBefore
        {
            get
            {
                return this.dateDeliveryBeforeField;
            }
            set
            {
                this.dateDeliveryBeforeField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public System.Nullable<System.DateTime> dateDespatchAfter
        {
            get
            {
                return this.dateDespatchAfterField;
            }
            set
            {
                this.dateDespatchAfterField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public System.Nullable<System.DateTime> dateDespatchBefore
        {
            get
            {
                return this.dateDespatchBeforeField;
            }
            set
            {
                this.dateDespatchBeforeField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public System.Nullable<System.DateTime> dateModifiedAfter
        {
            get
            {
                return this.dateModifiedAfterField;
            }
            set
            {
                this.dateModifiedAfterField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public System.Nullable<System.DateTime> dateModifiedBefore
        {
            get
            {
                return this.dateModifiedBeforeField;
            }
            set
            {
                this.dateModifiedBeforeField = value;
            }
        }
 
        /// <remarks/>
        public int pageNumber
        {
            get
            {
                return this.pageNumberField;
            }
            set
            {
                this.pageNumberField = value;
            }
        }
 
        /// <remarks/>
        public int pageSize
        {
            get
            {
                return this.pageSizeField;
            }
            set
            {
                this.pageSizeField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string transactionType
        {
            get
            {
                return this.transactionTypeField;
            }
            set
            {
                this.transactionTypeField = value;
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.SoapTypeAttribute(Namespace = "urn:DeliveryManager/types")]
    public partial class ConsignmentSearchResult
    {
 
        private Consignment[] consignmentsField;
 
        private int pageCountField;
 
        private int totalCountField;
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public Consignment[] consignments
        {
            get
            {
                return this.consignmentsField;
            }
            set
            {
                this.consignmentsField = value;
            }
        }
 
        /// <remarks/>
        public int pageCount
        {
            get
            {
                return this.pageCountField;
            }
            set
            {
                this.pageCountField = value;
            }
        }
 
        /// <remarks/>
        public int totalCount
        {
            get
            {
                return this.totalCountField;
            }
            set
            {
                this.totalCountField = value;
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void searchCompletedEventHandler(object sender, searchCompletedEventArgs e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class searchCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal searchCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public ConsignmentSearchResult Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((ConsignmentSearchResult)(this.results[0]));
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void findConsignmentByConsignmentCodeCompletedEventHandler(object sender, findConsignmentByConsignmentCodeCompletedEventArgs e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class findConsignmentByConsignmentCodeCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal findConsignmentByConsignmentCodeCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public Consignment Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((Consignment)(this.results[0]));
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void findConsignmentsByOrderReferenceCompletedEventHandler(object sender, findConsignmentsByOrderReferenceCompletedEventArgs e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class findConsignmentsByOrderReferenceCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal findConsignmentsByOrderReferenceCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public Consignment[] Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((Consignment[])(this.results[0]));
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void findConsignmentsByCarrierConsignmentCodeCompletedEventHandler(object sender, findConsignmentsByCarrierConsignmentCodeCompletedEventArgs e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class findConsignmentsByCarrierConsignmentCodeCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal findConsignmentsByCarrierConsignmentCodeCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public Consignment[] Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((Consignment[])(this.results[0]));
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void findConsignmentsByParcelCodeCompletedEventHandler(object sender, findConsignmentsByParcelCodeCompletedEventArgs e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class findConsignmentsByParcelCodeCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal findConsignmentsByParcelCodeCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public Consignment[] Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((Consignment[])(this.results[0]));
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Web.Services.WebServiceBindingAttribute(Name = "ConsignmentTrackingServiceSoapBinding", Namespace = "urn:DeliveryManager/services")]
    [System.Xml.Serialization.SoapIncludeAttribute(typeof(ParcelStatusHistory))]
    [System.Xml.Serialization.SoapIncludeAttribute(typeof(ParcelTrackingItem))]
    [System.Xml.Serialization.SoapIncludeAttribute(typeof(ParcelTrackingInfo))]
    [System.Xml.Serialization.SoapIncludeAttribute(typeof(ConsignmentTrackingInfo))]
    public partial class ConsignmentTrackingServiceService : System.Web.Services.Protocols.SoapHttpClientProtocol
    {
        protected override System.Net.WebRequest GetWebRequest(Uri uri)
        {
            System.Net.HttpWebRequest req;
            req = (System.Net.HttpWebRequest)base.GetWebRequest(uri);
            req.ProtocolVersion = System.Net.HttpVersion.Version10;
            return req;
        }
 
        private System.Threading.SendOrPostCallback findParcelTrackingByOrderReferenceOperationCompleted;
 
        private System.Threading.SendOrPostCallback findParcelTrackingByConsignmentCodeOperationCompleted;
 
        private System.Threading.SendOrPostCallback findAllParcelStatusesBetweenDatesOperationCompleted;
 
        /// <remarks/>
        public ConsignmentTrackingServiceService()
        {
            this.Url = "http://test1.metapack.com/dm/services/ConsignmentTrackingService";
        }
 
        /// <remarks/>
        public event findParcelTrackingByOrderReferenceCompletedEventHandler findParcelTrackingByOrderReferenceCompleted;
 
        /// <remarks/>
        public event findParcelTrackingByConsignmentCodeCompletedEventHandler findParcelTrackingByConsignmentCodeCompleted;
 
        /// <remarks/>
        public event findAllParcelStatusesBetweenDatesCompletedEventHandler findAllParcelStatusesBetweenDatesCompleted;
 
        /// <remarks/>
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("findParcelTrackingByOrderReferenceReturn")]
        public ConsignmentTrackingInfo[] findParcelTrackingByOrderReference(string orderReference)
        {
            object[] results = this.Invoke("findParcelTrackingByOrderReference", new object[] {
                    orderReference});
            return ((ConsignmentTrackingInfo[])(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult BeginfindParcelTrackingByOrderReference(string orderReference, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("findParcelTrackingByOrderReference", new object[] {
                    orderReference}, callback, asyncState);
        }
 
        /// <remarks/>
        public ConsignmentTrackingInfo[] EndfindParcelTrackingByOrderReference(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((ConsignmentTrackingInfo[])(results[0]));
        }
 
        /// <remarks/>
        public void findParcelTrackingByOrderReferenceAsync(string orderReference)
        {
            this.findParcelTrackingByOrderReferenceAsync(orderReference, null);
        }
 
        /// <remarks/>
        public void findParcelTrackingByOrderReferenceAsync(string orderReference, object userState)
        {
            if ((this.findParcelTrackingByOrderReferenceOperationCompleted == null))
            {
                this.findParcelTrackingByOrderReferenceOperationCompleted = new System.Threading.SendOrPostCallback(this.OnfindParcelTrackingByOrderReferenceOperationCompleted);
            }
            this.InvokeAsync("findParcelTrackingByOrderReference", new object[] {
                    orderReference}, this.findParcelTrackingByOrderReferenceOperationCompleted, userState);
        }
 
        private void OnfindParcelTrackingByOrderReferenceOperationCompleted(object arg)
        {
            if ((this.findParcelTrackingByOrderReferenceCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.findParcelTrackingByOrderReferenceCompleted(this, new findParcelTrackingByOrderReferenceCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("findParcelTrackingByConsignmentCodeReturn")]
        public ConsignmentTrackingInfo[] findParcelTrackingByConsignmentCode(string consignmentCode)
        {
            object[] results = this.Invoke("findParcelTrackingByConsignmentCode", new object[] {
                    consignmentCode});
            return ((ConsignmentTrackingInfo[])(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult BeginfindParcelTrackingByConsignmentCode(string consignmentCode, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("findParcelTrackingByConsignmentCode", new object[] {
                    consignmentCode}, callback, asyncState);
        }
 
        /// <remarks/>
        public ConsignmentTrackingInfo[] EndfindParcelTrackingByConsignmentCode(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((ConsignmentTrackingInfo[])(results[0]));
        }
 
        /// <remarks/>
        public void findParcelTrackingByConsignmentCodeAsync(string consignmentCode)
        {
            this.findParcelTrackingByConsignmentCodeAsync(consignmentCode, null);
        }
 
        /// <remarks/>
        public void findParcelTrackingByConsignmentCodeAsync(string consignmentCode, object userState)
        {
            if ((this.findParcelTrackingByConsignmentCodeOperationCompleted == null))
            {
                this.findParcelTrackingByConsignmentCodeOperationCompleted = new System.Threading.SendOrPostCallback(this.OnfindParcelTrackingByConsignmentCodeOperationCompleted);
            }
            this.InvokeAsync("findParcelTrackingByConsignmentCode", new object[] {
                    consignmentCode}, this.findParcelTrackingByConsignmentCodeOperationCompleted, userState);
        }
 
        private void OnfindParcelTrackingByConsignmentCodeOperationCompleted(object arg)
        {
            if ((this.findParcelTrackingByConsignmentCodeCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.findParcelTrackingByConsignmentCodeCompleted(this, new findParcelTrackingByConsignmentCodeCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("findAllParcelStatusesBetweenDatesReturn")]
        public ParcelStatusHistory[] findAllParcelStatusesBetweenDates(System.DateTime fromDate, System.DateTime toDate)
        {
            object[] results = this.Invoke("findAllParcelStatusesBetweenDates", new object[] {
                    fromDate,
                    toDate});
            return ((ParcelStatusHistory[])(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult BeginfindAllParcelStatusesBetweenDates(System.DateTime fromDate, System.DateTime toDate, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("findAllParcelStatusesBetweenDates", new object[] {
                    fromDate,
                    toDate}, callback, asyncState);
        }
 
        /// <remarks/>
        public ParcelStatusHistory[] EndfindAllParcelStatusesBetweenDates(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((ParcelStatusHistory[])(results[0]));
        }
 
        /// <remarks/>
        public void findAllParcelStatusesBetweenDatesAsync(System.DateTime fromDate, System.DateTime toDate)
        {
            this.findAllParcelStatusesBetweenDatesAsync(fromDate, toDate, null);
        }
 
        /// <remarks/>
        public void findAllParcelStatusesBetweenDatesAsync(System.DateTime fromDate, System.DateTime toDate, object userState)
        {
            if ((this.findAllParcelStatusesBetweenDatesOperationCompleted == null))
            {
                this.findAllParcelStatusesBetweenDatesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnfindAllParcelStatusesBetweenDatesOperationCompleted);
            }
            this.InvokeAsync("findAllParcelStatusesBetweenDates", new object[] {
                    fromDate,
                    toDate}, this.findAllParcelStatusesBetweenDatesOperationCompleted, userState);
        }
 
        private void OnfindAllParcelStatusesBetweenDatesOperationCompleted(object arg)
        {
            if ((this.findAllParcelStatusesBetweenDatesCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.findAllParcelStatusesBetweenDatesCompleted(this, new findAllParcelStatusesBetweenDatesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        public new void CancelAsync(object userState)
        {
            base.CancelAsync(userState);
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.SoapTypeAttribute(Namespace = "urn:DeliveryManager/types")]
    public partial class ConsignmentTrackingInfo
    {
 
        private string carrierConsignmentCodeField;
 
        private string consignmentCodeField;
 
        private ParcelTrackingInfo[] parcelsField;
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string carrierConsignmentCode
        {
            get
            {
                return this.carrierConsignmentCodeField;
            }
            set
            {
                this.carrierConsignmentCodeField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string consignmentCode
        {
            get
            {
                return this.consignmentCodeField;
            }
            set
            {
                this.consignmentCodeField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public ParcelTrackingInfo[] parcels
        {
            get
            {
                return this.parcelsField;
            }
            set
            {
                this.parcelsField = value;
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.SoapTypeAttribute(Namespace = "urn:DeliveryManager/types")]
    public partial class ParcelTrackingInfo
    {
 
        private string codeField;
 
        private ParcelTrackingItem[] itemsField;
 
        private int numberField;
 
        private string parcelStatusNameField;
 
        private string statusTextField;
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string code
        {
            get
            {
                return this.codeField;
            }
            set
            {
                this.codeField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public ParcelTrackingItem[] items
        {
            get
            {
                return this.itemsField;
            }
            set
            {
                this.itemsField = value;
            }
        }
 
        /// <remarks/>
        public int number
        {
            get
            {
                return this.numberField;
            }
            set
            {
                this.numberField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string parcelStatusName
        {
            get
            {
                return this.parcelStatusNameField;
            }
            set
            {
                this.parcelStatusNameField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string statusText
        {
            get
            {
                return this.statusTextField;
            }
            set
            {
                this.statusTextField = value;
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.SoapTypeAttribute(Namespace = "urn:DeliveryManager/types")]
    public partial class ParcelTrackingItem
    {
 
        private System.Nullable<System.DateTime> acheivedDateTimeField;
 
        private string parcelStatusNameField;
 
        private string statusTextField;
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public System.Nullable<System.DateTime> acheivedDateTime
        {
            get
            {
                return this.acheivedDateTimeField;
            }
            set
            {
                this.acheivedDateTimeField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string parcelStatusName
        {
            get
            {
                return this.parcelStatusNameField;
            }
            set
            {
                this.parcelStatusNameField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string statusText
        {
            get
            {
                return this.statusTextField;
            }
            set
            {
                this.statusTextField = value;
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.SoapTypeAttribute(Namespace = "urn:DeliveryManager/types")]
    public partial class ParcelStatusHistory
    {
 
        private System.Nullable<System.DateTime> achievedDateTimeField;
 
        private string carrierReasonCodeField;
 
        private string carrierStatusCodeField;
 
        private string consignmentCodeField;
 
        private string depotAchievingStatusField;
 
        private string parcelStatusDescField;
 
        private string parcelStatusTextField;
 
        private System.Nullable<System.DateTime> timeAppliedField;
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public System.Nullable<System.DateTime> achievedDateTime
        {
            get
            {
                return this.achievedDateTimeField;
            }
            set
            {
                this.achievedDateTimeField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string carrierReasonCode
        {
            get
            {
                return this.carrierReasonCodeField;
            }
            set
            {
                this.carrierReasonCodeField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string carrierStatusCode
        {
            get
            {
                return this.carrierStatusCodeField;
            }
            set
            {
                this.carrierStatusCodeField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string consignmentCode
        {
            get
            {
                return this.consignmentCodeField;
            }
            set
            {
                this.consignmentCodeField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string depotAchievingStatus
        {
            get
            {
                return this.depotAchievingStatusField;
            }
            set
            {
                this.depotAchievingStatusField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string parcelStatusDesc
        {
            get
            {
                return this.parcelStatusDescField;
            }
            set
            {
                this.parcelStatusDescField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string parcelStatusText
        {
            get
            {
                return this.parcelStatusTextField;
            }
            set
            {
                this.parcelStatusTextField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public System.Nullable<System.DateTime> timeApplied
        {
            get
            {
                return this.timeAppliedField;
            }
            set
            {
                this.timeAppliedField = value;
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void findParcelTrackingByOrderReferenceCompletedEventHandler(object sender, findParcelTrackingByOrderReferenceCompletedEventArgs e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class findParcelTrackingByOrderReferenceCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal findParcelTrackingByOrderReferenceCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public ConsignmentTrackingInfo[] Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((ConsignmentTrackingInfo[])(this.results[0]));
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void findParcelTrackingByConsignmentCodeCompletedEventHandler(object sender, findParcelTrackingByConsignmentCodeCompletedEventArgs e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class findParcelTrackingByConsignmentCodeCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal findParcelTrackingByConsignmentCodeCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public ConsignmentTrackingInfo[] Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((ConsignmentTrackingInfo[])(this.results[0]));
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void findAllParcelStatusesBetweenDatesCompletedEventHandler(object sender, findAllParcelStatusesBetweenDatesCompletedEventArgs e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class findAllParcelStatusesBetweenDatesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal findAllParcelStatusesBetweenDatesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public ParcelStatusHistory[] Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((ParcelStatusHistory[])(this.results[0]));
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Web.Services.WebServiceBindingAttribute(Name = "DeliveryOptionsServiceSoapBinding", Namespace = "urn:DeliveryManager/services")]
    [System.Xml.Serialization.SoapIncludeAttribute(typeof(DeliveryTime))]
    public partial class DeliveryOptionsServiceService : System.Web.Services.Protocols.SoapHttpClientProtocol
    {
        protected override System.Net.WebRequest GetWebRequest(Uri uri)
        {
            System.Net.HttpWebRequest req;
            req = (System.Net.HttpWebRequest)base.GetWebRequest(uri);
            req.ProtocolVersion = System.Net.HttpVersion.Version10;
            return req;
        }
 
        private System.Threading.SendOrPostCallback findDeliveryOptionsOperationCompleted;
 
        private System.Threading.SendOrPostCallback findDeliveryOptions1OperationCompleted;
 
        private System.Threading.SendOrPostCallback findDeliveryOptionsForConsignmentOperationCompleted;
 
        private System.Threading.SendOrPostCallback findCarrierServiceTypesOperationCompleted;
 
        private System.Threading.SendOrPostCallback findDeliveryOptionsForConsignmentCodeOperationCompleted;
 
        private System.Threading.SendOrPostCallback findDeliveryOptionsForConsignmentCode1OperationCompleted;
 
        private System.Threading.SendOrPostCallback findDeliveryTimesOperationCompleted;
 
        private System.Threading.SendOrPostCallback findDeliveryTimes1OperationCompleted;
 
        /// <remarks/>
        public DeliveryOptionsServiceService()
        {
            this.Url = "http://test1.metapack.com/dm/services/DeliveryOptionsService";
        }
 
        /// <remarks/>
        public event findDeliveryOptionsCompletedEventHandler1 findDeliveryOptionsCompleted;
 
        /// <remarks/>
        public event findDeliveryOptions1CompletedEventHandler findDeliveryOptions1Completed;
 
        /// <remarks/>
        public event findDeliveryOptionsForConsignmentCompletedEventHandler1 findDeliveryOptionsForConsignmentCompleted;
 
        /// <remarks/>
        public event findCarrierServiceTypesCompletedEventHandler findCarrierServiceTypesCompleted;
 
        /// <remarks/>
        public event findDeliveryOptionsForConsignmentCodeCompletedEventHandler findDeliveryOptionsForConsignmentCodeCompleted;
 
        /// <remarks/>
        public event findDeliveryOptionsForConsignmentCode1CompletedEventHandler findDeliveryOptionsForConsignmentCode1Completed;
 
        /// <remarks/>
        public event findDeliveryTimesCompletedEventHandler findDeliveryTimesCompleted;
 
        /// <remarks/>
        public event findDeliveryTimes1CompletedEventHandler findDeliveryTimes1Completed;
 
        /// <remarks/>
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("findDeliveryOptionsReturn")]
        public DeliveryOption[] findDeliveryOptions(string warehouseCode, string senderPostCode, string senderCountryCode, string recipientPostCode, string recipientCountryCode, int parcelCount, double consignmentWeight, double maximumDimension, string[] groupCodes)
        {
            object[] results = this.Invoke("findDeliveryOptions", new object[] {
                    warehouseCode,
                    senderPostCode,
                    senderCountryCode,
                    recipientPostCode,
                    recipientCountryCode,
                    parcelCount,
                    consignmentWeight,
                    maximumDimension,
                    groupCodes});
            return ((DeliveryOption[])(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult BeginfindDeliveryOptions(string warehouseCode, string senderPostCode, string senderCountryCode, string recipientPostCode, string recipientCountryCode, int parcelCount, double consignmentWeight, double maximumDimension, string[] groupCodes, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("findDeliveryOptions", new object[] {
                    warehouseCode,
                    senderPostCode,
                    senderCountryCode,
                    recipientPostCode,
                    recipientCountryCode,
                    parcelCount,
                    consignmentWeight,
                    maximumDimension,
                    groupCodes}, callback, asyncState);
        }
 
        /// <remarks/>
        public DeliveryOption[] EndfindDeliveryOptions(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((DeliveryOption[])(results[0]));
        }
 
        /// <remarks/>
        public void findDeliveryOptionsAsync(string warehouseCode, string senderPostCode, string senderCountryCode, string recipientPostCode, string recipientCountryCode, int parcelCount, double consignmentWeight, double maximumDimension, string[] groupCodes)
        {
            this.findDeliveryOptionsAsync(warehouseCode, senderPostCode, senderCountryCode, recipientPostCode, recipientCountryCode, parcelCount, consignmentWeight, maximumDimension, groupCodes, null);
        }
 
        /// <remarks/>
        public void findDeliveryOptionsAsync(string warehouseCode, string senderPostCode, string senderCountryCode, string recipientPostCode, string recipientCountryCode, int parcelCount, double consignmentWeight, double maximumDimension, string[] groupCodes, object userState)
        {
            if ((this.findDeliveryOptionsOperationCompleted == null))
            {
                this.findDeliveryOptionsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnfindDeliveryOptionsOperationCompleted);
            }
            this.InvokeAsync("findDeliveryOptions", new object[] {
                    warehouseCode,
                    senderPostCode,
                    senderCountryCode,
                    recipientPostCode,
                    recipientCountryCode,
                    parcelCount,
                    consignmentWeight,
                    maximumDimension,
                    groupCodes}, this.findDeliveryOptionsOperationCompleted, userState);
        }
 
        private void OnfindDeliveryOptionsOperationCompleted(object arg)
        {
            if ((this.findDeliveryOptionsCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.findDeliveryOptionsCompleted(this, new findDeliveryOptionsCompletedEventArgs1(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        [System.Web.Services.WebMethodAttribute(MessageName = "findDeliveryOptions1")]
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("findDeliveryOptionsReturn")]
        public DeliveryOption[] findDeliveryOptions(FindDeliveryOptionsParams parameters)
        {
            object[] results = this.Invoke("findDeliveryOptions1", new object[] {
                    parameters});
            return ((DeliveryOption[])(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult BeginfindDeliveryOptions1(FindDeliveryOptionsParams parameters, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("findDeliveryOptions1", new object[] {
                    parameters}, callback, asyncState);
        }
 
        /// <remarks/>
        public DeliveryOption[] EndfindDeliveryOptions1(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((DeliveryOption[])(results[0]));
        }
 
        /// <remarks/>
        public void findDeliveryOptions1Async(FindDeliveryOptionsParams parameters)
        {
            this.findDeliveryOptions1Async(parameters, null);
        }
 
        /// <remarks/>
        public void findDeliveryOptions1Async(FindDeliveryOptionsParams parameters, object userState)
        {
            if ((this.findDeliveryOptions1OperationCompleted == null))
            {
                this.findDeliveryOptions1OperationCompleted = new System.Threading.SendOrPostCallback(this.OnfindDeliveryOptions1OperationCompleted);
            }
            this.InvokeAsync("findDeliveryOptions1", new object[] {
                    parameters}, this.findDeliveryOptions1OperationCompleted, userState);
        }
 
        private void OnfindDeliveryOptions1OperationCompleted(object arg)
        {
            if ((this.findDeliveryOptions1Completed != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.findDeliveryOptions1Completed(this, new findDeliveryOptions1CompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("findDeliveryOptionsForConsignmentReturn")]
        public DeliveryOption[] findDeliveryOptionsForConsignment(Consignment consignment)
        {
            object[] results = this.Invoke("findDeliveryOptionsForConsignment", new object[] {
                    consignment});
            return ((DeliveryOption[])(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult BeginfindDeliveryOptionsForConsignment(Consignment consignment, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("findDeliveryOptionsForConsignment", new object[] {
                    consignment}, callback, asyncState);
        }
 
        /// <remarks/>
        public DeliveryOption[] EndfindDeliveryOptionsForConsignment(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((DeliveryOption[])(results[0]));
        }
 
        /// <remarks/>
        public void findDeliveryOptionsForConsignmentAsync(Consignment consignment)
        {
            this.findDeliveryOptionsForConsignmentAsync(consignment, null);
        }
 
        /// <remarks/>
        public void findDeliveryOptionsForConsignmentAsync(Consignment consignment, object userState)
        {
            if ((this.findDeliveryOptionsForConsignmentOperationCompleted == null))
            {
                this.findDeliveryOptionsForConsignmentOperationCompleted = new System.Threading.SendOrPostCallback(this.OnfindDeliveryOptionsForConsignmentOperationCompleted);
            }
            this.InvokeAsync("findDeliveryOptionsForConsignment", new object[] {
                    consignment}, this.findDeliveryOptionsForConsignmentOperationCompleted, userState);
        }
 
        private void OnfindDeliveryOptionsForConsignmentOperationCompleted(object arg)
        {
            if ((this.findDeliveryOptionsForConsignmentCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.findDeliveryOptionsForConsignmentCompleted(this, new findDeliveryOptionsForConsignmentCompletedEventArgs1(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("findCarrierServiceTypesReturn")]
        public string[] findCarrierServiceTypes(FindDeliveryOptionsParams parameters)
        {
            object[] results = this.Invoke("findCarrierServiceTypes", new object[] {
                    parameters});
            return ((string[])(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult BeginfindCarrierServiceTypes(FindDeliveryOptionsParams parameters, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("findCarrierServiceTypes", new object[] {
                    parameters}, callback, asyncState);
        }
 
        /// <remarks/>
        public string[] EndfindCarrierServiceTypes(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((string[])(results[0]));
        }
 
        /// <remarks/>
        public void findCarrierServiceTypesAsync(FindDeliveryOptionsParams parameters)
        {
            this.findCarrierServiceTypesAsync(parameters, null);
        }
 
        /// <remarks/>
        public void findCarrierServiceTypesAsync(FindDeliveryOptionsParams parameters, object userState)
        {
            if ((this.findCarrierServiceTypesOperationCompleted == null))
            {
                this.findCarrierServiceTypesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnfindCarrierServiceTypesOperationCompleted);
            }
            this.InvokeAsync("findCarrierServiceTypes", new object[] {
                    parameters}, this.findCarrierServiceTypesOperationCompleted, userState);
        }
 
        private void OnfindCarrierServiceTypesOperationCompleted(object arg)
        {
            if ((this.findCarrierServiceTypesCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.findCarrierServiceTypesCompleted(this, new findCarrierServiceTypesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("findDeliveryOptionsForConsignmentCodeReturn")]
        public DeliveryOption[] findDeliveryOptionsForConsignmentCode(string consignmentCode, string serviceTypeName)
        {
            object[] results = this.Invoke("findDeliveryOptionsForConsignmentCode", new object[] {
                    consignmentCode,
                    serviceTypeName});
            return ((DeliveryOption[])(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult BeginfindDeliveryOptionsForConsignmentCode(string consignmentCode, string serviceTypeName, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("findDeliveryOptionsForConsignmentCode", new object[] {
                    consignmentCode,
                    serviceTypeName}, callback, asyncState);
        }
 
        /// <remarks/>
        public DeliveryOption[] EndfindDeliveryOptionsForConsignmentCode(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((DeliveryOption[])(results[0]));
        }
 
        /// <remarks/>
        public void findDeliveryOptionsForConsignmentCodeAsync(string consignmentCode, string serviceTypeName)
        {
            this.findDeliveryOptionsForConsignmentCodeAsync(consignmentCode, serviceTypeName, null);
        }
 
        /// <remarks/>
        public void findDeliveryOptionsForConsignmentCodeAsync(string consignmentCode, string serviceTypeName, object userState)
        {
            if ((this.findDeliveryOptionsForConsignmentCodeOperationCompleted == null))
            {
                this.findDeliveryOptionsForConsignmentCodeOperationCompleted = new System.Threading.SendOrPostCallback(this.OnfindDeliveryOptionsForConsignmentCodeOperationCompleted);
            }
            this.InvokeAsync("findDeliveryOptionsForConsignmentCode", new object[] {
                    consignmentCode,
                    serviceTypeName}, this.findDeliveryOptionsForConsignmentCodeOperationCompleted, userState);
        }
 
        private void OnfindDeliveryOptionsForConsignmentCodeOperationCompleted(object arg)
        {
            if ((this.findDeliveryOptionsForConsignmentCodeCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.findDeliveryOptionsForConsignmentCodeCompleted(this, new findDeliveryOptionsForConsignmentCodeCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        [System.Web.Services.WebMethodAttribute(MessageName = "findDeliveryOptionsForConsignmentCode1")]
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("findDeliveryOptionsForConsignmentCodeReturn")]
        public DeliveryOption[] findDeliveryOptionsForConsignmentCode(string consignmentCode)
        {
            object[] results = this.Invoke("findDeliveryOptionsForConsignmentCode1", new object[] {
                    consignmentCode});
            return ((DeliveryOption[])(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult BeginfindDeliveryOptionsForConsignmentCode1(string consignmentCode, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("findDeliveryOptionsForConsignmentCode1", new object[] {
                    consignmentCode}, callback, asyncState);
        }
 
        /// <remarks/>
        public DeliveryOption[] EndfindDeliveryOptionsForConsignmentCode1(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((DeliveryOption[])(results[0]));
        }
 
        /// <remarks/>
        public void findDeliveryOptionsForConsignmentCode1Async(string consignmentCode)
        {
            this.findDeliveryOptionsForConsignmentCode1Async(consignmentCode, null);
        }
 
        /// <remarks/>
        public void findDeliveryOptionsForConsignmentCode1Async(string consignmentCode, object userState)
        {
            if ((this.findDeliveryOptionsForConsignmentCode1OperationCompleted == null))
            {
                this.findDeliveryOptionsForConsignmentCode1OperationCompleted = new System.Threading.SendOrPostCallback(this.OnfindDeliveryOptionsForConsignmentCode1OperationCompleted);
            }
            this.InvokeAsync("findDeliveryOptionsForConsignmentCode1", new object[] {
                    consignmentCode}, this.findDeliveryOptionsForConsignmentCode1OperationCompleted, userState);
        }
 
        private void OnfindDeliveryOptionsForConsignmentCode1OperationCompleted(object arg)
        {
            if ((this.findDeliveryOptionsForConsignmentCode1Completed != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.findDeliveryOptionsForConsignmentCode1Completed(this, new findDeliveryOptionsForConsignmentCode1CompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("findDeliveryTimesReturn")]
        public DeliveryTime[] findDeliveryTimes(FindDeliveryTimesParams parameters)
        {
            object[] results = this.Invoke("findDeliveryTimes", new object[] {
                    parameters});
            return ((DeliveryTime[])(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult BeginfindDeliveryTimes(FindDeliveryTimesParams parameters, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("findDeliveryTimes", new object[] {
                    parameters}, callback, asyncState);
        }
 
        /// <remarks/>
        public DeliveryTime[] EndfindDeliveryTimes(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((DeliveryTime[])(results[0]));
        }
 
        /// <remarks/>
        public void findDeliveryTimesAsync(FindDeliveryTimesParams parameters)
        {
            this.findDeliveryTimesAsync(parameters, null);
        }
 
        /// <remarks/>
        public void findDeliveryTimesAsync(FindDeliveryTimesParams parameters, object userState)
        {
            if ((this.findDeliveryTimesOperationCompleted == null))
            {
                this.findDeliveryTimesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnfindDeliveryTimesOperationCompleted);
            }
            this.InvokeAsync("findDeliveryTimes", new object[] {
                    parameters}, this.findDeliveryTimesOperationCompleted, userState);
        }
 
        private void OnfindDeliveryTimesOperationCompleted(object arg)
        {
            if ((this.findDeliveryTimesCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.findDeliveryTimesCompleted(this, new findDeliveryTimesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        [System.Web.Services.WebMethodAttribute(MessageName = "findDeliveryTimes1")]
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("findDeliveryTimesReturn")]
        public DeliveryTime[] findDeliveryTimes(string warehouseCode, string senderPostCode, string senderCountryCode, string recipientPostCode, string recipientCountryCode, string carrierServiceCode, int dateCount)
        {
            object[] results = this.Invoke("findDeliveryTimes1", new object[] {
                    warehouseCode,
                    senderPostCode,
                    senderCountryCode,
                    recipientPostCode,
                    recipientCountryCode,
                    carrierServiceCode,
                    dateCount});
            return ((DeliveryTime[])(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult BeginfindDeliveryTimes1(string warehouseCode, string senderPostCode, string senderCountryCode, string recipientPostCode, string recipientCountryCode, string carrierServiceCode, int dateCount, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("findDeliveryTimes1", new object[] {
                    warehouseCode,
                    senderPostCode,
                    senderCountryCode,
                    recipientPostCode,
                    recipientCountryCode,
                    carrierServiceCode,
                    dateCount}, callback, asyncState);
        }
 
        /// <remarks/>
        public DeliveryTime[] EndfindDeliveryTimes1(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((DeliveryTime[])(results[0]));
        }
 
        /// <remarks/>
        public void findDeliveryTimes1Async(string warehouseCode, string senderPostCode, string senderCountryCode, string recipientPostCode, string recipientCountryCode, string carrierServiceCode, int dateCount)
        {
            this.findDeliveryTimes1Async(warehouseCode, senderPostCode, senderCountryCode, recipientPostCode, recipientCountryCode, carrierServiceCode, dateCount, null);
        }
 
        /// <remarks/>
        public void findDeliveryTimes1Async(string warehouseCode, string senderPostCode, string senderCountryCode, string recipientPostCode, string recipientCountryCode, string carrierServiceCode, int dateCount, object userState)
        {
            if ((this.findDeliveryTimes1OperationCompleted == null))
            {
                this.findDeliveryTimes1OperationCompleted = new System.Threading.SendOrPostCallback(this.OnfindDeliveryTimes1OperationCompleted);
            }
            this.InvokeAsync("findDeliveryTimes1", new object[] {
                    warehouseCode,
                    senderPostCode,
                    senderCountryCode,
                    recipientPostCode,
                    recipientCountryCode,
                    carrierServiceCode,
                    dateCount}, this.findDeliveryTimes1OperationCompleted, userState);
        }
 
        private void OnfindDeliveryTimes1OperationCompleted(object arg)
        {
            if ((this.findDeliveryTimes1Completed != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.findDeliveryTimes1Completed(this, new findDeliveryTimes1CompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        public new void CancelAsync(object userState)
        {
            base.CancelAsync(userState);
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.SoapTypeAttribute(Namespace = "urn:DeliveryManager/types")]
    public partial class FindDeliveryOptionsParams
    {
 
        private string cardNumberField;
 
        private double consignmentWeightField;
 
        private string[] groupCodesField;
 
        private bool hazardousField;
 
        private bool liquidField;
 
        private double maximumDimensionField;
 
        private int parcelCountField;
 
        private Address recipientAddressField;
 
        private string recipientEmailField;
 
        private string recipientPhoneField;
 
        private Address senderAddressField;
 
        private string serviceTypeNameField;
 
        private string transactionTypeField;
 
        private bool twoManLiftRequiredField;
 
        private string warehouseCodeField;
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string cardNumber
        {
            get
            {
                return this.cardNumberField;
            }
            set
            {
                this.cardNumberField = value;
            }
        }
 
        /// <remarks/>
        public double consignmentWeight
        {
            get
            {
                return this.consignmentWeightField;
            }
            set
            {
                this.consignmentWeightField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string[] groupCodes
        {
            get
            {
                return this.groupCodesField;
            }
            set
            {
                this.groupCodesField = value;
            }
        }
 
        /// <remarks/>
        public bool hazardous
        {
            get
            {
                return this.hazardousField;
            }
            set
            {
                this.hazardousField = value;
            }
        }
 
        /// <remarks/>
        public bool liquid
        {
            get
            {
                return this.liquidField;
            }
            set
            {
                this.liquidField = value;
            }
        }
 
        /// <remarks/>
        public double maximumDimension
        {
            get
            {
                return this.maximumDimensionField;
            }
            set
            {
                this.maximumDimensionField = value;
            }
        }
 
        /// <remarks/>
        public int parcelCount
        {
            get
            {
                return this.parcelCountField;
            }
            set
            {
                this.parcelCountField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public Address recipientAddress
        {
            get
            {
                return this.recipientAddressField;
            }
            set
            {
                this.recipientAddressField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string recipientEmail
        {
            get
            {
                return this.recipientEmailField;
            }
            set
            {
                this.recipientEmailField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string recipientPhone
        {
            get
            {
                return this.recipientPhoneField;
            }
            set
            {
                this.recipientPhoneField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public Address senderAddress
        {
            get
            {
                return this.senderAddressField;
            }
            set
            {
                this.senderAddressField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string serviceTypeName
        {
            get
            {
                return this.serviceTypeNameField;
            }
            set
            {
                this.serviceTypeNameField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string transactionType
        {
            get
            {
                return this.transactionTypeField;
            }
            set
            {
                this.transactionTypeField = value;
            }
        }
 
        /// <remarks/>
        public bool twoManLiftRequired
        {
            get
            {
                return this.twoManLiftRequiredField;
            }
            set
            {
                this.twoManLiftRequiredField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string warehouseCode
        {
            get
            {
                return this.warehouseCodeField;
            }
            set
            {
                this.warehouseCodeField = value;
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.SoapTypeAttribute(Namespace = "urn:DeliveryManager/types")]
    public partial class DeliveryTime
    {
 
        private System.Nullable<System.DateTime> cutoffDateTimeField;
 
        private System.Nullable<System.DateTime> despatchDateTimeField;
 
        private System.Nullable<System.DateTime> earliestDeliveryDateTimeField;
 
        private System.Nullable<System.DateTime> guaranteedDeliveryDateTimeField;
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public System.Nullable<System.DateTime> cutoffDateTime
        {
            get
            {
                return this.cutoffDateTimeField;
            }
            set
            {
                this.cutoffDateTimeField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public System.Nullable<System.DateTime> despatchDateTime
        {
            get
            {
                return this.despatchDateTimeField;
            }
            set
            {
                this.despatchDateTimeField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public System.Nullable<System.DateTime> earliestDeliveryDateTime
        {
            get
            {
                return this.earliestDeliveryDateTimeField;
            }
            set
            {
                this.earliestDeliveryDateTimeField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public System.Nullable<System.DateTime> guaranteedDeliveryDateTime
        {
            get
            {
                return this.guaranteedDeliveryDateTimeField;
            }
            set
            {
                this.guaranteedDeliveryDateTimeField = value;
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.SoapTypeAttribute(Namespace = "urn:DeliveryManager/types")]
    public partial class FindDeliveryTimesParams
    {
 
        private string carrierServiceCodeField;
 
        private int dateCountField;
 
        private Address recipientAddressField;
 
        private Address senderAddressField;
 
        private string transactionTypeField;
 
        private string warehouseCodeField;
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string carrierServiceCode
        {
            get
            {
                return this.carrierServiceCodeField;
            }
            set
            {
                this.carrierServiceCodeField = value;
            }
        }
 
        /// <remarks/>
        public int dateCount
        {
            get
            {
                return this.dateCountField;
            }
            set
            {
                this.dateCountField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public Address recipientAddress
        {
            get
            {
                return this.recipientAddressField;
            }
            set
            {
                this.recipientAddressField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public Address senderAddress
        {
            get
            {
                return this.senderAddressField;
            }
            set
            {
                this.senderAddressField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string transactionType
        {
            get
            {
                return this.transactionTypeField;
            }
            set
            {
                this.transactionTypeField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string warehouseCode
        {
            get
            {
                return this.warehouseCodeField;
            }
            set
            {
                this.warehouseCodeField = value;
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void findDeliveryOptionsCompletedEventHandler1(object sender, findDeliveryOptionsCompletedEventArgs1 e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class findDeliveryOptionsCompletedEventArgs1 : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal findDeliveryOptionsCompletedEventArgs1(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public DeliveryOption[] Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((DeliveryOption[])(this.results[0]));
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void findDeliveryOptions1CompletedEventHandler(object sender, findDeliveryOptions1CompletedEventArgs e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class findDeliveryOptions1CompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal findDeliveryOptions1CompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public DeliveryOption[] Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((DeliveryOption[])(this.results[0]));
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void findDeliveryOptionsForConsignmentCompletedEventHandler1(object sender, findDeliveryOptionsForConsignmentCompletedEventArgs1 e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class findDeliveryOptionsForConsignmentCompletedEventArgs1 : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal findDeliveryOptionsForConsignmentCompletedEventArgs1(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public DeliveryOption[] Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((DeliveryOption[])(this.results[0]));
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void findCarrierServiceTypesCompletedEventHandler(object sender, findCarrierServiceTypesCompletedEventArgs e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class findCarrierServiceTypesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal findCarrierServiceTypesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public string[] Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((string[])(this.results[0]));
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void findDeliveryOptionsForConsignmentCodeCompletedEventHandler(object sender, findDeliveryOptionsForConsignmentCodeCompletedEventArgs e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class findDeliveryOptionsForConsignmentCodeCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal findDeliveryOptionsForConsignmentCodeCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public DeliveryOption[] Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((DeliveryOption[])(this.results[0]));
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void findDeliveryOptionsForConsignmentCode1CompletedEventHandler(object sender, findDeliveryOptionsForConsignmentCode1CompletedEventArgs e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class findDeliveryOptionsForConsignmentCode1CompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal findDeliveryOptionsForConsignmentCode1CompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public DeliveryOption[] Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((DeliveryOption[])(this.results[0]));
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void findDeliveryTimesCompletedEventHandler(object sender, findDeliveryTimesCompletedEventArgs e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class findDeliveryTimesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal findDeliveryTimesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public DeliveryTime[] Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((DeliveryTime[])(this.results[0]));
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void findDeliveryTimes1CompletedEventHandler(object sender, findDeliveryTimes1CompletedEventArgs e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class findDeliveryTimes1CompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal findDeliveryTimes1CompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public DeliveryTime[] Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((DeliveryTime[])(this.results[0]));
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Web.Services.WebServiceBindingAttribute(Name = "InformationServiceSoapBinding", Namespace = "urn:DeliveryManager/services")]
    [System.Xml.Serialization.SoapIncludeAttribute(typeof(CarrierService))]
    [System.Xml.Serialization.SoapIncludeAttribute(typeof(CodeName))]
    public partial class InformationServiceService : System.Web.Services.Protocols.SoapHttpClientProtocol
    {
        protected override System.Net.WebRequest GetWebRequest(Uri uri)
        {
            System.Net.HttpWebRequest req;
            req = (System.Net.HttpWebRequest)base.GetWebRequest(uri);
            req.ProtocolVersion = System.Net.HttpVersion.Version10;
            return req;
        }
 
        private System.Threading.SendOrPostCallback findTransactionTypesOperationCompleted;
 
        private System.Threading.SendOrPostCallback findConsignmentStatusesOperationCompleted;
 
        private System.Threading.SendOrPostCallback findManifestStatusesOperationCompleted;
 
        private System.Threading.SendOrPostCallback findWarehousesOperationCompleted;
 
        private System.Threading.SendOrPostCallback findCarriersOperationCompleted;
 
        private System.Threading.SendOrPostCallback findCarrierServiceTypesOperationCompleted;
 
        private System.Threading.SendOrPostCallback findGroupsOperationCompleted;
 
        private System.Threading.SendOrPostCallback findCarrierServicesOperationCompleted;
 
        private System.Threading.SendOrPostCallback getPODTypesOperationCompleted;
 
        /// <remarks/>
        public InformationServiceService()
        {
            this.Url = "http://test1.metapack.com/dm/services/InformationService";
        }
 
        /// <remarks/>
        public event findTransactionTypesCompletedEventHandler findTransactionTypesCompleted;
 
        /// <remarks/>
        public event findConsignmentStatusesCompletedEventHandler findConsignmentStatusesCompleted;
 
        /// <remarks/>
        public event findManifestStatusesCompletedEventHandler findManifestStatusesCompleted;
 
        /// <remarks/>
        public event findWarehousesCompletedEventHandler findWarehousesCompleted;
 
        /// <remarks/>
        public event findCarriersCompletedEventHandler findCarriersCompleted;
 
        /// <remarks/>
        public event findCarrierServiceTypesCompletedEventHandler1 findCarrierServiceTypesCompleted;
 
        /// <remarks/>
        public event findGroupsCompletedEventHandler findGroupsCompleted;
 
        /// <remarks/>
        public event findCarrierServicesCompletedEventHandler findCarrierServicesCompleted;
 
        /// <remarks/>
        public event getPODTypesCompletedEventHandler getPODTypesCompleted;
 
        /// <remarks/>
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("findTransactionTypesReturn")]
        public string[] findTransactionTypes()
        {
            object[] results = this.Invoke("findTransactionTypes", new object[0]);
            return ((string[])(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult BeginfindTransactionTypes(System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("findTransactionTypes", new object[0], callback, asyncState);
        }
 
        /// <remarks/>
        public string[] EndfindTransactionTypes(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((string[])(results[0]));
        }
 
        /// <remarks/>
        public void findTransactionTypesAsync()
        {
            this.findTransactionTypesAsync(null);
        }
 
        /// <remarks/>
        public void findTransactionTypesAsync(object userState)
        {
            if ((this.findTransactionTypesOperationCompleted == null))
            {
                this.findTransactionTypesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnfindTransactionTypesOperationCompleted);
            }
            this.InvokeAsync("findTransactionTypes", new object[0], this.findTransactionTypesOperationCompleted, userState);
        }
 
        private void OnfindTransactionTypesOperationCompleted(object arg)
        {
            if ((this.findTransactionTypesCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.findTransactionTypesCompleted(this, new findTransactionTypesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("findConsignmentStatusesReturn")]
        public string[] findConsignmentStatuses()
        {
            object[] results = this.Invoke("findConsignmentStatuses", new object[0]);
            return ((string[])(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult BeginfindConsignmentStatuses(System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("findConsignmentStatuses", new object[0], callback, asyncState);
        }
 
        /// <remarks/>
        public string[] EndfindConsignmentStatuses(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((string[])(results[0]));
        }
 
        /// <remarks/>
        public void findConsignmentStatusesAsync()
        {
            this.findConsignmentStatusesAsync(null);
        }
 
        /// <remarks/>
        public void findConsignmentStatusesAsync(object userState)
        {
            if ((this.findConsignmentStatusesOperationCompleted == null))
            {
                this.findConsignmentStatusesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnfindConsignmentStatusesOperationCompleted);
            }
            this.InvokeAsync("findConsignmentStatuses", new object[0], this.findConsignmentStatusesOperationCompleted, userState);
        }
 
        private void OnfindConsignmentStatusesOperationCompleted(object arg)
        {
            if ((this.findConsignmentStatusesCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.findConsignmentStatusesCompleted(this, new findConsignmentStatusesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("findManifestStatusesReturn")]
        public string[] findManifestStatuses()
        {
            object[] results = this.Invoke("findManifestStatuses", new object[0]);
            return ((string[])(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult BeginfindManifestStatuses(System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("findManifestStatuses", new object[0], callback, asyncState);
        }
 
        /// <remarks/>
        public string[] EndfindManifestStatuses(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((string[])(results[0]));
        }
 
        /// <remarks/>
        public void findManifestStatusesAsync()
        {
            this.findManifestStatusesAsync(null);
        }
 
        /// <remarks/>
        public void findManifestStatusesAsync(object userState)
        {
            if ((this.findManifestStatusesOperationCompleted == null))
            {
                this.findManifestStatusesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnfindManifestStatusesOperationCompleted);
            }
            this.InvokeAsync("findManifestStatuses", new object[0], this.findManifestStatusesOperationCompleted, userState);
        }
 
        private void OnfindManifestStatusesOperationCompleted(object arg)
        {
            if ((this.findManifestStatusesCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.findManifestStatusesCompleted(this, new findManifestStatusesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("findWarehousesReturn")]
        public CodeName[] findWarehouses()
        {
            object[] results = this.Invoke("findWarehouses", new object[0]);
            return ((CodeName[])(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult BeginfindWarehouses(System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("findWarehouses", new object[0], callback, asyncState);
        }
 
        /// <remarks/>
        public CodeName[] EndfindWarehouses(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((CodeName[])(results[0]));
        }
 
        /// <remarks/>
        public void findWarehousesAsync()
        {
            this.findWarehousesAsync(null);
        }
 
        /// <remarks/>
        public void findWarehousesAsync(object userState)
        {
            if ((this.findWarehousesOperationCompleted == null))
            {
                this.findWarehousesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnfindWarehousesOperationCompleted);
            }
            this.InvokeAsync("findWarehouses", new object[0], this.findWarehousesOperationCompleted, userState);
        }
 
        private void OnfindWarehousesOperationCompleted(object arg)
        {
            if ((this.findWarehousesCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.findWarehousesCompleted(this, new findWarehousesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("findCarriersReturn")]
        public CodeName[] findCarriers()
        {
            object[] results = this.Invoke("findCarriers", new object[0]);
            return ((CodeName[])(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult BeginfindCarriers(System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("findCarriers", new object[0], callback, asyncState);
        }
 
        /// <remarks/>
        public CodeName[] EndfindCarriers(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((CodeName[])(results[0]));
        }
 
        /// <remarks/>
        public void findCarriersAsync()
        {
            this.findCarriersAsync(null);
        }
 
        /// <remarks/>
        public void findCarriersAsync(object userState)
        {
            if ((this.findCarriersOperationCompleted == null))
            {
                this.findCarriersOperationCompleted = new System.Threading.SendOrPostCallback(this.OnfindCarriersOperationCompleted);
            }
            this.InvokeAsync("findCarriers", new object[0], this.findCarriersOperationCompleted, userState);
        }
 
        private void OnfindCarriersOperationCompleted(object arg)
        {
            if ((this.findCarriersCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.findCarriersCompleted(this, new findCarriersCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("findCarrierServiceTypesReturn")]
        public CodeName[] findCarrierServiceTypes()
        {
            object[] results = this.Invoke("findCarrierServiceTypes", new object[0]);
            return ((CodeName[])(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult BeginfindCarrierServiceTypes(System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("findCarrierServiceTypes", new object[0], callback, asyncState);
        }
 
        /// <remarks/>
        public CodeName[] EndfindCarrierServiceTypes(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((CodeName[])(results[0]));
        }
 
        /// <remarks/>
        public void findCarrierServiceTypesAsync()
        {
            this.findCarrierServiceTypesAsync(null);
        }
 
        /// <remarks/>
        public void findCarrierServiceTypesAsync(object userState)
        {
            if ((this.findCarrierServiceTypesOperationCompleted == null))
            {
                this.findCarrierServiceTypesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnfindCarrierServiceTypesOperationCompleted);
            }
            this.InvokeAsync("findCarrierServiceTypes", new object[0], this.findCarrierServiceTypesOperationCompleted, userState);
        }
 
        private void OnfindCarrierServiceTypesOperationCompleted(object arg)
        {
            if ((this.findCarrierServiceTypesCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.findCarrierServiceTypesCompleted(this, new findCarrierServiceTypesCompletedEventArgs1(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("findGroupsReturn")]
        public CodeName[] findGroups()
        {
            object[] results = this.Invoke("findGroups", new object[0]);
            return ((CodeName[])(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult BeginfindGroups(System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("findGroups", new object[0], callback, asyncState);
        }
 
        /// <remarks/>
        public CodeName[] EndfindGroups(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((CodeName[])(results[0]));
        }
 
        /// <remarks/>
        public void findGroupsAsync()
        {
            this.findGroupsAsync(null);
        }
 
        /// <remarks/>
        public void findGroupsAsync(object userState)
        {
            if ((this.findGroupsOperationCompleted == null))
            {
                this.findGroupsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnfindGroupsOperationCompleted);
            }
            this.InvokeAsync("findGroups", new object[0], this.findGroupsOperationCompleted, userState);
        }
 
        private void OnfindGroupsOperationCompleted(object arg)
        {
            if ((this.findGroupsCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.findGroupsCompleted(this, new findGroupsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("findCarrierServicesReturn")]
        public CarrierService[] findCarrierServices(string carrierCode)
        {
            object[] results = this.Invoke("findCarrierServices", new object[] {
                    carrierCode});
            return ((CarrierService[])(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult BeginfindCarrierServices(string carrierCode, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("findCarrierServices", new object[] {
                    carrierCode}, callback, asyncState);
        }
 
        /// <remarks/>
        public CarrierService[] EndfindCarrierServices(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((CarrierService[])(results[0]));
        }
 
        /// <remarks/>
        public void findCarrierServicesAsync(string carrierCode)
        {
            this.findCarrierServicesAsync(carrierCode, null);
        }
 
        /// <remarks/>
        public void findCarrierServicesAsync(string carrierCode, object userState)
        {
            if ((this.findCarrierServicesOperationCompleted == null))
            {
                this.findCarrierServicesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnfindCarrierServicesOperationCompleted);
            }
            this.InvokeAsync("findCarrierServices", new object[] {
                    carrierCode}, this.findCarrierServicesOperationCompleted, userState);
        }
 
        private void OnfindCarrierServicesOperationCompleted(object arg)
        {
            if ((this.findCarrierServicesCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.findCarrierServicesCompleted(this, new findCarrierServicesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("getPODTypesReturn")]
        public string[] getPODTypes()
        {
            object[] results = this.Invoke("getPODTypes", new object[0]);
            return ((string[])(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult BegingetPODTypes(System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("getPODTypes", new object[0], callback, asyncState);
        }
 
        /// <remarks/>
        public string[] EndgetPODTypes(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((string[])(results[0]));
        }
 
        /// <remarks/>
        public void getPODTypesAsync()
        {
            this.getPODTypesAsync(null);
        }
 
        /// <remarks/>
        public void getPODTypesAsync(object userState)
        {
            if ((this.getPODTypesOperationCompleted == null))
            {
                this.getPODTypesOperationCompleted = new System.Threading.SendOrPostCallback(this.OngetPODTypesOperationCompleted);
            }
            this.InvokeAsync("getPODTypes", new object[0], this.getPODTypesOperationCompleted, userState);
        }
 
        private void OngetPODTypesOperationCompleted(object arg)
        {
            if ((this.getPODTypesCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.getPODTypesCompleted(this, new getPODTypesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        public new void CancelAsync(object userState)
        {
            base.CancelAsync(userState);
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.SoapTypeAttribute(Namespace = "urn:DeliveryManager/types")]
    public partial class CodeName
    {
 
        private string codeField;
 
        private string nameField;
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string code
        {
            get
            {
                return this.codeField;
            }
            set
            {
                this.codeField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string name
        {
            get
            {
                return this.nameField;
            }
            set
            {
                this.nameField = value;
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.SoapTypeAttribute(Namespace = "urn:DeliveryManager/types")]
    public partial class CarrierService
    {
 
        private string codeField;
 
        private string nameField;
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string code
        {
            get
            {
                return this.codeField;
            }
            set
            {
                this.codeField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string name
        {
            get
            {
                return this.nameField;
            }
            set
            {
                this.nameField = value;
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void findTransactionTypesCompletedEventHandler(object sender, findTransactionTypesCompletedEventArgs e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class findTransactionTypesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal findTransactionTypesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public string[] Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((string[])(this.results[0]));
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void findConsignmentStatusesCompletedEventHandler(object sender, findConsignmentStatusesCompletedEventArgs e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class findConsignmentStatusesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal findConsignmentStatusesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public string[] Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((string[])(this.results[0]));
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void findManifestStatusesCompletedEventHandler(object sender, findManifestStatusesCompletedEventArgs e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class findManifestStatusesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal findManifestStatusesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public string[] Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((string[])(this.results[0]));
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void findWarehousesCompletedEventHandler(object sender, findWarehousesCompletedEventArgs e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class findWarehousesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal findWarehousesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public CodeName[] Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((CodeName[])(this.results[0]));
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void findCarriersCompletedEventHandler(object sender, findCarriersCompletedEventArgs e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class findCarriersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal findCarriersCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public CodeName[] Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((CodeName[])(this.results[0]));
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void findCarrierServiceTypesCompletedEventHandler1(object sender, findCarrierServiceTypesCompletedEventArgs1 e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class findCarrierServiceTypesCompletedEventArgs1 : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal findCarrierServiceTypesCompletedEventArgs1(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public CodeName[] Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((CodeName[])(this.results[0]));
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void findGroupsCompletedEventHandler(object sender, findGroupsCompletedEventArgs e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class findGroupsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal findGroupsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public CodeName[] Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((CodeName[])(this.results[0]));
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void findCarrierServicesCompletedEventHandler(object sender, findCarrierServicesCompletedEventArgs e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class findCarrierServicesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal findCarrierServicesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public CarrierService[] Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((CarrierService[])(this.results[0]));
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void getPODTypesCompletedEventHandler(object sender, getPODTypesCompletedEventArgs e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class getPODTypesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal getPODTypesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public string[] Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((string[])(this.results[0]));
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Web.Services.WebServiceBindingAttribute(Name = "ManifestServiceSoapBinding", Namespace = "urn:DeliveryManager/services")]
    [System.Xml.Serialization.SoapIncludeAttribute(typeof(ReadyToManifestInfo))]
    [System.Xml.Serialization.SoapIncludeAttribute(typeof(Manifest))]
    public partial class ManifestServiceService : System.Web.Services.Protocols.SoapHttpClientProtocol
    {
        protected override System.Net.WebRequest GetWebRequest(Uri uri)
        {
            System.Net.HttpWebRequest req;
            req = (System.Net.HttpWebRequest)base.GetWebRequest(uri);
            req.ProtocolVersion = System.Net.HttpVersion.Version10;
            return req;
        }
 
        private System.Threading.SendOrPostCallback sendManifestOperationCompleted;
 
        private System.Threading.SendOrPostCallback createManifestOperationCompleted;
 
        private System.Threading.SendOrPostCallback findConsignmentsOnManifestOperationCompleted;
 
        private System.Threading.SendOrPostCallback findManifestsOperationCompleted;
 
        private System.Threading.SendOrPostCallback findReadyToManifestRecordsOperationCompleted;
 
        private System.Threading.SendOrPostCallback createManifestAsPdfOperationCompleted;
 
        /// <remarks/>
        public ManifestServiceService()
        {
            this.Url = "http://test1.metapack.com/dm/services/ManifestService";
        }
 
        /// <remarks/>
        public event sendManifestCompletedEventHandler sendManifestCompleted;
 
        /// <remarks/>
        public event createManifestCompletedEventHandler createManifestCompleted;
 
        /// <remarks/>
        public event findConsignmentsOnManifestCompletedEventHandler findConsignmentsOnManifestCompleted;
 
        /// <remarks/>
        public event findManifestsCompletedEventHandler findManifestsCompleted;
 
        /// <remarks/>
        public event findReadyToManifestRecordsCompletedEventHandler findReadyToManifestRecordsCompleted;
 
        /// <remarks/>
        public event createManifestAsPdfCompletedEventHandler createManifestAsPdfCompleted;
 
        /// <remarks/>
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("sendManifestReturn")]
        public bool sendManifest(string manifestCode)
        {
            object[] results = this.Invoke("sendManifest", new object[] {
                    manifestCode});
            return ((bool)(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult BeginsendManifest(string manifestCode, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("sendManifest", new object[] {
                    manifestCode}, callback, asyncState);
        }
 
        /// <remarks/>
        public bool EndsendManifest(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((bool)(results[0]));
        }
 
        /// <remarks/>
        public void sendManifestAsync(string manifestCode)
        {
            this.sendManifestAsync(manifestCode, null);
        }
 
        /// <remarks/>
        public void sendManifestAsync(string manifestCode, object userState)
        {
            if ((this.sendManifestOperationCompleted == null))
            {
                this.sendManifestOperationCompleted = new System.Threading.SendOrPostCallback(this.OnsendManifestOperationCompleted);
            }
            this.InvokeAsync("sendManifest", new object[] {
                    manifestCode}, this.sendManifestOperationCompleted, userState);
        }
 
        private void OnsendManifestOperationCompleted(object arg)
        {
            if ((this.sendManifestCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.sendManifestCompleted(this, new sendManifestCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("createManifestReturn")]
        public string[] createManifest(string carrierCode, string warehouseCode, string transactionType)
        {
            object[] results = this.Invoke("createManifest", new object[] {
                    carrierCode,
                    warehouseCode,
                    transactionType});
            return ((string[])(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult BegincreateManifest(string carrierCode, string warehouseCode, string transactionType, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("createManifest", new object[] {
                    carrierCode,
                    warehouseCode,
                    transactionType}, callback, asyncState);
        }
 
        /// <remarks/>
        public string[] EndcreateManifest(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((string[])(results[0]));
        }
 
        /// <remarks/>
        public void createManifestAsync(string carrierCode, string warehouseCode, string transactionType)
        {
            this.createManifestAsync(carrierCode, warehouseCode, transactionType, null);
        }
 
        /// <remarks/>
        public void createManifestAsync(string carrierCode, string warehouseCode, string transactionType, object userState)
        {
            if ((this.createManifestOperationCompleted == null))
            {
                this.createManifestOperationCompleted = new System.Threading.SendOrPostCallback(this.OncreateManifestOperationCompleted);
            }
            this.InvokeAsync("createManifest", new object[] {
                    carrierCode,
                    warehouseCode,
                    transactionType}, this.createManifestOperationCompleted, userState);
        }
 
        private void OncreateManifestOperationCompleted(object arg)
        {
            if ((this.createManifestCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.createManifestCompleted(this, new createManifestCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("findConsignmentsOnManifestReturn")]
        public Consignment[] findConsignmentsOnManifest(string manifestCode)
        {
            object[] results = this.Invoke("findConsignmentsOnManifest", new object[] {
                    manifestCode});
            return ((Consignment[])(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult BeginfindConsignmentsOnManifest(string manifestCode, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("findConsignmentsOnManifest", new object[] {
                    manifestCode}, callback, asyncState);
        }
 
        /// <remarks/>
        public Consignment[] EndfindConsignmentsOnManifest(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((Consignment[])(results[0]));
        }
 
        /// <remarks/>
        public void findConsignmentsOnManifestAsync(string manifestCode)
        {
            this.findConsignmentsOnManifestAsync(manifestCode, null);
        }
 
        /// <remarks/>
        public void findConsignmentsOnManifestAsync(string manifestCode, object userState)
        {
            if ((this.findConsignmentsOnManifestOperationCompleted == null))
            {
                this.findConsignmentsOnManifestOperationCompleted = new System.Threading.SendOrPostCallback(this.OnfindConsignmentsOnManifestOperationCompleted);
            }
            this.InvokeAsync("findConsignmentsOnManifest", new object[] {
                    manifestCode}, this.findConsignmentsOnManifestOperationCompleted, userState);
        }
 
        private void OnfindConsignmentsOnManifestOperationCompleted(object arg)
        {
            if ((this.findConsignmentsOnManifestCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.findConsignmentsOnManifestCompleted(this, new findConsignmentsOnManifestCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("findManifestsReturn")]
        public Manifest[] findManifests(string carrierCode, string warehouseCode, string transactionType, System.DateTime dateFrom, System.DateTime dateTo)
        {
            object[] results = this.Invoke("findManifests", new object[] {
                    carrierCode,
                    warehouseCode,
                    transactionType,
                    dateFrom,
                    dateTo});
            return ((Manifest[])(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult BeginfindManifests(string carrierCode, string warehouseCode, string transactionType, System.DateTime dateFrom, System.DateTime dateTo, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("findManifests", new object[] {
                    carrierCode,
                    warehouseCode,
                    transactionType,
                    dateFrom,
                    dateTo}, callback, asyncState);
        }
 
        /// <remarks/>
        public Manifest[] EndfindManifests(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((Manifest[])(results[0]));
        }
 
        /// <remarks/>
        public void findManifestsAsync(string carrierCode, string warehouseCode, string transactionType, System.DateTime dateFrom, System.DateTime dateTo)
        {
            this.findManifestsAsync(carrierCode, warehouseCode, transactionType, dateFrom, dateTo, null);
        }
 
        /// <remarks/>
        public void findManifestsAsync(string carrierCode, string warehouseCode, string transactionType, System.DateTime dateFrom, System.DateTime dateTo, object userState)
        {
            if ((this.findManifestsOperationCompleted == null))
            {
                this.findManifestsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnfindManifestsOperationCompleted);
            }
            this.InvokeAsync("findManifests", new object[] {
                    carrierCode,
                    warehouseCode,
                    transactionType,
                    dateFrom,
                    dateTo}, this.findManifestsOperationCompleted, userState);
        }
 
        private void OnfindManifestsOperationCompleted(object arg)
        {
            if ((this.findManifestsCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.findManifestsCompleted(this, new findManifestsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("findReadyToManifestRecordsReturn")]
        public ReadyToManifestInfo[] findReadyToManifestRecords(string warehouseCode, string transactionType)
        {
            object[] results = this.Invoke("findReadyToManifestRecords", new object[] {
                    warehouseCode,
                    transactionType});
            return ((ReadyToManifestInfo[])(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult BeginfindReadyToManifestRecords(string warehouseCode, string transactionType, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("findReadyToManifestRecords", new object[] {
                    warehouseCode,
                    transactionType}, callback, asyncState);
        }
 
        /// <remarks/>
        public ReadyToManifestInfo[] EndfindReadyToManifestRecords(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((ReadyToManifestInfo[])(results[0]));
        }
 
        /// <remarks/>
        public void findReadyToManifestRecordsAsync(string warehouseCode, string transactionType)
        {
            this.findReadyToManifestRecordsAsync(warehouseCode, transactionType, null);
        }
 
        /// <remarks/>
        public void findReadyToManifestRecordsAsync(string warehouseCode, string transactionType, object userState)
        {
            if ((this.findReadyToManifestRecordsOperationCompleted == null))
            {
                this.findReadyToManifestRecordsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnfindReadyToManifestRecordsOperationCompleted);
            }
            this.InvokeAsync("findReadyToManifestRecords", new object[] {
                    warehouseCode,
                    transactionType}, this.findReadyToManifestRecordsOperationCompleted, userState);
        }
 
        private void OnfindReadyToManifestRecordsOperationCompleted(object arg)
        {
            if ((this.findReadyToManifestRecordsCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.findReadyToManifestRecordsCompleted(this, new findReadyToManifestRecordsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace = "urn:DeliveryManager/services", ResponseNamespace = "urn:DeliveryManager/services")]
        [return: System.Xml.Serialization.SoapElementAttribute("createManifestAsPdfReturn")]
        public string createManifestAsPdf(string manifestCode)
        {
            object[] results = this.Invoke("createManifestAsPdf", new object[] {
                    manifestCode});
            return ((string)(results[0]));
        }
 
        /// <remarks/>
        public System.IAsyncResult BegincreateManifestAsPdf(string manifestCode, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("createManifestAsPdf", new object[] {
                    manifestCode}, callback, asyncState);
        }
 
        /// <remarks/>
        public string EndcreateManifestAsPdf(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((string)(results[0]));
        }
 
        /// <remarks/>
        public void createManifestAsPdfAsync(string manifestCode)
        {
            this.createManifestAsPdfAsync(manifestCode, null);
        }
 
        /// <remarks/>
        public void createManifestAsPdfAsync(string manifestCode, object userState)
        {
            if ((this.createManifestAsPdfOperationCompleted == null))
            {
                this.createManifestAsPdfOperationCompleted = new System.Threading.SendOrPostCallback(this.OncreateManifestAsPdfOperationCompleted);
            }
            this.InvokeAsync("createManifestAsPdf", new object[] {
                    manifestCode}, this.createManifestAsPdfOperationCompleted, userState);
        }
 
        private void OncreateManifestAsPdfOperationCompleted(object arg)
        {
            if ((this.createManifestAsPdfCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.createManifestAsPdfCompleted(this, new createManifestAsPdfCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
 
        /// <remarks/>
        public new void CancelAsync(object userState)
        {
            base.CancelAsync(userState);
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.SoapTypeAttribute(Namespace = "urn:DeliveryManager/types")]
    public partial class Manifest
    {
 
        private string carrierCodeField;
 
        private int consignmentCountField;
 
        private System.Nullable<System.DateTime> createdDateTimeField;
 
        private string manifestCodeField;
 
        private string manifestStatusField;
 
        private System.Nullable<System.DateTime> sentDateTimeField;
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string carrierCode
        {
            get
            {
                return this.carrierCodeField;
            }
            set
            {
                this.carrierCodeField = value;
            }
        }
 
        /// <remarks/>
        public int consignmentCount
        {
            get
            {
                return this.consignmentCountField;
            }
            set
            {
                this.consignmentCountField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public System.Nullable<System.DateTime> createdDateTime
        {
            get
            {
                return this.createdDateTimeField;
            }
            set
            {
                this.createdDateTimeField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string manifestCode
        {
            get
            {
                return this.manifestCodeField;
            }
            set
            {
                this.manifestCodeField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string manifestStatus
        {
            get
            {
                return this.manifestStatusField;
            }
            set
            {
                this.manifestStatusField = value;
            }
        }
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public System.Nullable<System.DateTime> sentDateTime
        {
            get
            {
                return this.sentDateTimeField;
            }
            set
            {
                this.sentDateTimeField = value;
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.SoapTypeAttribute(Namespace = "urn:DeliveryManager/types")]
    public partial class ReadyToManifestInfo
    {
 
        private string carrierCodeField;
 
        private int consignmentCountField;
 
        private int parcelCountField;
 
        /// <remarks/>
        [System.Xml.Serialization.SoapElementAttribute(IsNullable = true)]
        public string carrierCode
        {
            get
            {
                return this.carrierCodeField;
            }
            set
            {
                this.carrierCodeField = value;
            }
        }
 
        /// <remarks/>
        public int consignmentCount
        {
            get
            {
                return this.consignmentCountField;
            }
            set
            {
                this.consignmentCountField = value;
            }
        }
 
        /// <remarks/>
        public int parcelCount
        {
            get
            {
                return this.parcelCountField;
            }
            set
            {
                this.parcelCountField = value;
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void sendManifestCompletedEventHandler(object sender, sendManifestCompletedEventArgs e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class sendManifestCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal sendManifestCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public bool Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((bool)(this.results[0]));
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void createManifestCompletedEventHandler(object sender, createManifestCompletedEventArgs e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class createManifestCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal createManifestCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public string[] Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((string[])(this.results[0]));
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void findConsignmentsOnManifestCompletedEventHandler(object sender, findConsignmentsOnManifestCompletedEventArgs e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class findConsignmentsOnManifestCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal findConsignmentsOnManifestCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public Consignment[] Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((Consignment[])(this.results[0]));
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void findManifestsCompletedEventHandler(object sender, findManifestsCompletedEventArgs e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class findManifestsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal findManifestsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public Manifest[] Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((Manifest[])(this.results[0]));
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void findReadyToManifestRecordsCompletedEventHandler(object sender, findReadyToManifestRecordsCompletedEventArgs e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class findReadyToManifestRecordsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal findReadyToManifestRecordsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public ReadyToManifestInfo[] Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((ReadyToManifestInfo[])(this.results[0]));
            }
        }
    }
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void createManifestAsPdfCompletedEventHandler(object sender, createManifestAsPdfCompletedEventArgs e);
 
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class createManifestAsPdfCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {
 
        private object[] results;
 
        internal createManifestAsPdfCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }
 
        /// <remarks/>
        public string Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((string)(this.results[0]));
            }
        }
    }
}