Western Web Services API

External reference for WCService.asmx, covering the SOAP operations available to Western Carriers and Western Wine Services customers.

Last updated: 2025-11-22 Namespace: https://www3.westerncarriers.com/Webservices SOAP 1.1 | .NET Framework 4.8

Overview

The Western Web Services endpoint lets you submit transportation orders, review shipping activity, access live inventory positions, and coordinate inbound containers through SOAP requests. The service is multi-tenant: every request runs under the customer account identified by your authentication key.

What you can do

All responses are serialized using the data contracts documented later in this guide. Fields marked optional may be omitted or returned empty when not applicable.

Authentication & Lifecycle

Include your shared secret in every call using the SOAP header SecurityHeader with a single field AuthenticationKey. Requests without a readable key are rejected before any business logic runs.

Request pattern

Order numbers & prefixes

Order numbers (BOL numbers) are stored with a customer-specific prefix. When you submit a new order the service adds the prefix automatically if you omit it. Retrieval operations accept either format; if your account is configured to receive un-prefixed order numbers, responses strip the prefix for convenience.

Date and time values

SOAP clients should send DateTime values in ISO 8601 format (for example 2025-09-01T00:00:00). Responses follow the same convention. Legacy fields exposed as strings (such as Order.ActualShipDate) will keep the formatting used when the order was placed.

Operations

Operations are grouped by business area. Unless noted otherwise, all methods run in the context of the authenticated customer and return only that customer's data.

Important: Inbound-related information is alpha at this time and subject to change at any time without notice.
Orders

getOpenOrders

Order[] getOpenOrders()
SOAP Action: getOpenOrders Returns: Order[]

Returns the list of all open orders with basic information such as destination address. To retrieve a list of items for each order, a call to getOrder will be required.

ParameterTypeNotes
--No request body fields are required.
ResponseDescription
ArrayOfOrderOne element per open order. Order numbers are returned without your prefix when your profile requests that behaviour.

Faults

  • G0001 - unexpected server error.

Sample

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="https://www3.westerncarriers.com/Webservices">
  <soapenv:Header>
    <ws:SecurityHeader>
      <ws:AuthenticationKey>YOUR-KEY</ws:AuthenticationKey>
    </ws:SecurityHeader>
  </soapenv:Header>
  <soapenv:Body>
    <ws:getOpenOrders />
  </soapenv:Body>
</soapenv:Envelope>
<soapenv:Envelope ...>
  <soapenv:Body>
    <getOpenOrdersResponse>
      <getOpenOrdersResult>
        <Order>
          <OrderNumber>123456</OrderNumber>
          <Destination>ABC DISTRIBUTORS</Destination>
          <City>LOS ANGELES</City>
          <State>CA</State>
          <Carrier>XYZ TRUCKING</Carrier>
          <RequestedShipDate>2025-09-01</RequestedShipDate>
          <Status>OPEN</Status>
          <TotalCases>120</TotalCases>
          <TotalBottles>1440</TotalBottles>
        </Order>
        ...
      </getOpenOrdersResult>
    </getOpenOrdersResponse>
  </soapenv:Body>
</soapenv:Envelope>

getShippedOrders

Order[] getShippedOrders(DateTime from, DateTime to)
SOAP Action: getShippedOrders Returns: Order[]

Returns orders that shipped within the supplied window. The service enforces two limits: the range may cover at most 31 consecutive days, and the start date can be no more than six months in the past.

All dates should be standard .Net System.DateTime objects or otherwise a string conforming to ISO 8601

ParameterTypeNotes
pFromDateTimeStart of the time span (inclusive). If pFrom is later than pTo the values are swapped automatically.
pToDateTimeEnd of the time span (inclusive).
ResponseDescription
ArrayOfOrderEach order shows shipping metrics plus hold status suffixes where applicable.

Faults

  • BO001 - requested range exceeds 31 days or starts more than six months before today.
  • G0001 - unexpected server error.

checkOrderStatus

Order[] checkOrderStatus(ref List<Order> orders)
SOAP Action: checkOrderStatus Returns updated Order objects

Returns the status (OPEN,SHIPPED,ON_HOLD) of a list of orders. These status types may additionally be followed by a dash and more information e.g. ON_HOLD-DATE. Note that while an Order object is returned for each order, only the OrderNumber and Status fields should be checked. Please handle both, an item missing from the returned list OR an item returned with status NOT_FOUND as an order not being found

ElementTypeNotes
orders[i].OrderNumberstringRequired. Up to 13 characters excluding any customer prefix.
Response fieldDescription
StatusOPEN, SHIPPED, or NOTFOUND, optionally suffixed with a hold reason such as OPENSHORT.
ActualShipDate, Carrier, TotalCasesPopulated when available.

Faults

  • BO018 - at least one supplied order number is invalid for this account.
  • BO015 - none of the provided numbers match an order on file.

Sample

<ws:checkOrderStatus>
  <ws:pOrders>
    <Order>
      <OrderNumber>123456</OrderNumber>
    </Order>
    <Order>
      <OrderNumber>789012</OrderNumber>
    </Order>
  </ws:pOrders>
</ws:checkOrderStatus>

getOrder [Obsolete]

OrderDetail getOrder(string orderNumber)
SOAP Action: getOrder Returns: OrderDetail
Returns the order detail, including (OrderHeader) and line items (OrderItem) based on the order number passed as parameter. This function will continue to be supported but should not be used for new development. This function will not provide invoice information or misc charges for invoices. It will return information for invoiced orders, but it will be incomplete. Please use getOrder2_0 or getOrder3_0 instead.
ParameterTypeNotes
pOrderNumberstringRequired. Up to 13 characters without prefix; the service adds your prefix if missing.

Faults

  • BO015 - order number not located.
  • G0001 - unexpected server error.

getOrder2_0

OrderDetail2_0 getOrder2_0(string orderNumber)
SOAP Action: getOrder2_0 Returns: OrderDetail2_0

Returns the order detail based on the order number passed as parameter. This function will return any order, invoiced or not, with any items, and in the case of invoices, also any misc charges on the order. This function will also return delivery status information and any BOL comments if present. This function will not return the actual invoice or BOL document itself.

Faults

  • BO015 - order number not located.
  • G0001 - unexpected server error.

Sample excerpt

<getOrder2_0Response>
  <getOrder2_0Result>
    <OrderHeader>
      <Bol_num>123456</Bol_num>
      <Create_invoice>true</Create_invoice>
      <Shipto_address1>ABC DISTRIBUTORS</Shipto_address1>
      <Shipto_city>LOS ANGELES</Shipto_city>
      <Payment_terms>NET 30</Payment_terms>
      <Total_invoice_amount>1250.00</Total_invoice_amount>
    </OrderHeader>
    <Items>
      <OrderItem2_0>
        <CodeNumber>CAB123</CodeNumber>
        <Cases>50</Cases>
        <CasePrice>25.0000</CasePrice>
        <TransactionType>TR</TransactionType>
      </OrderItem2_0>
    </Items>
    <MiscCharges>
      <InvoiceMiscCharge>
        <ChargeDescription>Fuel Surcharge</ChargeDescription>
        <ChargeAmount>45.00</ChargeAmount>
      </InvoiceMiscCharge>
    </MiscCharges>
    <Comments>
      <HeadComments>Leave at dock 2</HeadComments>
      <EndComments>Signature required</EndComments>
    </Comments>
  </getOrder2_0Result>
</getOrder2_0Response>

getOrder3_0

OrderDetail2_0 getOrder3_0(string orderNumber)
SOAP Action: getOrder3_0 Returns: OrderDetail2_0 including RtsDeliveryInfo

Extends getOrder2_0 by also returning item-level tax status (e.g. an order for 10 cases of the same item, may show as 2 lines: 8 cases with “TaxPaid” status and 2 cases with “FTZ” tax status).

Faults

  • BO015 - order number not located.
  • G0001 - unexpected server error.

placeOrder2_0

void placeOrder2_0(ref Order2_0 order, ref List<OrderItem2_0> items, ref List<InvoiceMiscCharge> misc)
SOAP Action: placeOrder2_0 Recommended order submission method

Creates a new bill-of-lading and optionally an invoice. The request objects are returned with any server-populated fields (for example the auto-applied customer prefix). Validation happens before anything is committed; if one rule fails the whole order is rejected.

Key requirements

  • Identifiers: Bol_num required, maximum 13 characters (excluding prefix). Each call must supply a unique value.
  • Carrier name: required and must be no more than 40 characters in length..
  • Dates: Date_ship_requested required and cannot be in the past. Date_invoice_due required when Create_invoice is true.
  • Shipping address: Shipto_address1(max 30 characters), city (max 15 characters), state (max 2 characters), and postal code (5 digits for US deliveries) are mandatory. Optional Shipto_address2/3 must respect their length limits (40 characters each).
  • Shipto_zip and Soldto_zip:must be exactly 5 characters in length if within the United States.
  • Invoice address: When Create_invoice is true, provide all sold-to fields or leave them blank to reuse the ship-to address.
  • Special instructions: optional, have a maximum of 55 characters per field.
  • Customer PO Number: optional, has a maximum length of 20 characters.
  • Invoice payment terms: is required for invoiced orders and has a maximum length of 20 characters.
  • Invoice external license number: optional for invoiced orders and has a maximum length of 20 characters
  • Totals: When invoicing, Total_invoice_amount must match items plus miscellaneous charges; Payment_terms and (if used) External_license must respect their 20-character limit.
  • Date_invoice_due: Required for all invoices.
  • Order: Must contain at least one item. Misc charges/credits are optional for invoices and ignored for non-invoiced orders. For .NET, pass a null value for misc charges as required.
  • Prepaid_shipping: The order is considered prepaid when this field is true, and collect otherwise.
  • Item fields: Required fields are CodeNumber, Cases, and Bottles. For invoices, CasePrice and BottlePrice are also required. CasePrice is the price per case and BottlePrice per bottle. Include TransactionType (e.g., TR, TAXPAID, BR, TTBBOND, CR, CUSTOMSBOND) when known or required. For Western Wine Services customers, TransactionType is always required.
  • Invoice_form_num: Optional field used to specify an alternate invoice form for some customers. Use only if your account supports multiple invoice forms; omit if unsure.
  • Save_order_only: Optional flag to save an order to the database without placing it. Saved orders can later be modified via the website but cannot be loaded or placed through web services. If the order number is reused via web services, a new order number will be required.
  • Date fields: All date objects should be standard .NET System.DateTime objects or strings conforming to ISO 8601 format.
  • Contact & routing: Carrier required (<=40 characters). Prepaid_shipping sets Collect/Prepaid.
  • Line items: At least one OrderItem2_0. Each item needs CodeNumber, Cases or Bottles, and when invoicing the relevant unit prices.

Faults

Validation errors are returned as SoapException messages whose codes reflect the failing rule. Common examples:

  • MO002, BO002 - missing or overlength order number.
  • MO004, BO004 - carrier not provided or exceeds 40 characters.
  • MO005, BO005 etc. - ship-to address issues (required fields or length caps).
  • MI005, BI005 - sold-to requirements when invoicing.
  • MO001 - at least one line item required.
  • MI007, MI008, MI009 - invoice totals, due date, or payment terms missing.
  • BP014 - an item-level state code exceeds the 14-character limit.
  • AM004, AM005 - account lacks permission to place orders or invoices.
  • G0002 - invoices are temporarily disabled for your tenant.

Sample request (trimmed)

<ws:placeOrder2_0>
  <ws:pOrder>
    <Bol_num>123456</Bol_num>
    <Create_invoice>true</Create_invoice>
    <Carrier>XYZ TRUCKING</Carrier>
    <Date_ship_requested>2025-09-01T00:00:00</Date_ship_requested>
    <Payment_terms>NET 30</Payment_terms>
    <Shipto_address1>ABC DISTRIBUTORS</Shipto_address1>
    <Shipto_city>LOS ANGELES</Shipto_city>
    <Shipto_state>CA</Shipto_state>
    <Shipto_zip>90001</Shipto_zip>
    <Soldto_address1>ABC DISTRIBUTORS</Soldto_address1>
    <Total_invoice_amount>1250.00</Total_invoice_amount>
  </ws:pOrder>
  <ws:pItems>
    <OrderItem2_0>
      <CodeNumber>CAB123</CodeNumber>
      <Cases>50</Cases>
      <CasePrice>25.00</CasePrice>
      <TransactionType>TR</TransactionType>
    </OrderItem2_0>
  </ws:pItems>
  <ws:pMiscCharges>
    <InvoiceMiscCharge>
      <ChargeDescription>Fuel Surcharge</ChargeDescription>
      <ChargeAmount>45.00</ChargeAmount>
    </InvoiceMiscCharge>
  </ws:pMiscCharges>
</ws:placeOrder2_0>

On success the response body is empty. The service returns your order object (via the ref parameter) with the authoritative BOL number and any defaulted values. We recommend calling getOrder3_0 to confirm totals.

placeOrder [Obsolete]

bool placeOrder(ref OrderDetail order)

Version 1 submission that accepts an OrderDetail. It is retained for backward compatibility; new integrations should favour placeOrder2_0. Validation rules mirror the version 2 method but do not support invoice data or miscellaneous charges, as placeOrder2_0 does.

Faults

getBOLDocument

BOLDocument getBOLDocument(string orderNumber)
SOAP Action: getBOLDocument Returns: BOLDocument

Retrieves the Bill of Lading (BOL) PDF document for the specified order number. The PDF file is returned as a Base64-encoded string together with its filename and MIME type. Clients must decode the string and save or display the document locally. This method ensures interoperability with clients written in .NET, Java, Python, PHP, and other SOAP-compatible frameworks.

ParameterTypeDescription
pOrderNumberstringRequired. Unique identifier of the order (up to 13 characters without prefix). If omitted or invalid, a SoapException with code MO002 is raised.
ResponseDescription
BOLDocumentObject containing the Base64-encoded PDF, its file name, and MIME type (application/pdf).

Faults

  • MO002 – the order number was not provided.
  • BO015 – the specified order does not belong to the authenticated account or could not be found.
  • G0001 – general or unexpected server error.

Sample request

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="https://www3.westerncarriers.com/Webservices">
  <soapenv:Header>
    <ws:SecurityHeader>
      <ws:AuthenticationKey>YOUR-KEY</ws:AuthenticationKey>
    </ws:SecurityHeader>
  </soapenv:Header>
  <soapenv:Body>
    <ws:getBOLDocument>
      <ws:pOrderNumber>XXXYYYYZZZ</ws:pOrderNumber>
    </ws:getBOLDocument>
  </soapenv:Body>
</soapenv:Envelope>

Sample response

<soapenv:Envelope ...>
  <soapenv:Body>
    <getBOLDocumentResponse>
      <getBOLDocumentResult>
        <FileName>PZAM44523_BOL.pdf</FileName>
        <MimeType>application/pdf</MimeType>
        <Document>
          JVBERi0xLjQKJeLjz9MKNCAwIG9iago8PC9UeXBlIC9QYWdl...
          ... (Base64 PDF content truncated)
        </Document>
      </getBOLDocumentResult>
    </getBOLDocumentResponse>
  </soapenv:Body>
</soapenv:Envelope>

Clients must decode the Document field using a Base64 decoder. In .NET, call Convert.FromBase64String(); in Python, use base64.b64decode().

Inventory

getInventory

InventoryItem[] getInventory(DateTime asOfDate)
SOAP Action: getInventory Returns: InventoryItem[]

Returns a list of products with the available number of cases and bottles. The list does NOT include products with zero quantity of cases and bottles; therefore, if a product is not in the list, you should assume that you don't have that item in stock. Note that while there are quantity fields returned with this function, these do not take into account all factors such as allocated product. If you need detailed availability reports, you must use the getProductDetail function on each item specifically

Faults

  • G0001 - unexpected server error.
Products

getProductDetail

ProductDetail getProductDetail(string productCode)

Returns information for a product, such as # of duty paid cases and bottles, # of inbound cases and bottles, description, size, etc. This is the function to use if you need detailed inventory status for an item. It returns detailed item availability and allocation info. If using this function to get inventory numbers for a list of products, please query only one item at a time.

Faults

  • BP001 - the product code does not exist for this account.

getProduct2Detail

Product2Detail getProduct2Detail(string productCode)

Returns a ProductDetail record that includes in-bond and duty-paid quantities, allocation information, and descriptive data for the requested code as well as other useful information about the product such as block, tier, chill flag, etc. Use this when you need full details for a single item.

Faults

  • BP001 - product not found.
Inbound Containers

addInbound

string addInbound(ShippingContainer container)

Creates a new inbound container record together with its product line items. The returned string is the confirmed container number.

Key requirements

  • ContainerNumber must be unique (upper-case; hyphen and slash are accepted).
  • At minimum provide Carrier, PONumber, TaxStatus, and DateReceived.
  • LineItems should contain at least one Product2 entry with CodeNumber, Cases, and Bottles. Products must belong to the authenticated customer.

Faults

  • GO003 - the container could not be saved. The fault message includes additional context.

getInbound

ShippingContainer getInbound(string containerNumber)

Fetches the header and line items for a specific inbound container.

Faults

  • MO009 - the container number parameter was blank.
  • G0001 - container not found or another error occurred.

getOpenInbounds

ShippingContainer[] getOpenInbounds()

Lists all containers still marked open for the authenticated account. Each entry includes the header fields plus any product assignments.

Faults

  • G0001 - no open containers or general error.

getReceivedInbounds

ShippingContainer[] getReceivedInbounds(DateTime from, DateTime to)

Returns completed containers received between the supplied dates (inclusive). Dates should be provided in ISO 8601 format.

Faults

  • G0001 - no containers found or general error.

Change Log

Date Description
2025-11-22
  • Added documentation for the OrderInfo2_0 data contract.
  • Corrected OrderDetail2_0 documentation to show that OrderHeader is of type OrderInfo2_0.
  • Documented new properties PlannedArrivalTime and ActualArrivalTime in OrderInfo2_0.
2025-10-30
  • Reworked the legacy Word documentation into an HTML reference with deep links for every operation and data contract.
  • Documented the version 3 order detail payload (getOrder3_0).
  • Expanded submission guidance for placeOrder2_0, including field length limits and invoice-specific requirements.
  • Added coverage of the inbound container workflow (addInbound, getInbound, getOpenInbounds, getReceivedInbounds).
2025-11-03
  • Added getBOLDocument method.
2025-11-22
  • Added PlannedArrivalTime and ActualArrivalTime to OrderInfo2_0.

Error Handling

All validation failures and business rule violations produce a SoapException whose message begins with an error code and pipe-delimited description (for example BO001|Maximum timespan allowed ...). The table below lists the codes surfaced by external operations.

CodeMessageTriggered when...
AM001Authentication key is missing.The SOAP header omitted SecurityHeader.
AM002Unable to read authentication key.The header is present but malformed or encrypted incorrectly.
AM003Invalid configuration for authentication key.Your key is not associated with an active customer record.
AM004Web-service ordering is not enabled.The account is not authorised to place orders via the API.
AM005Account cannot place invoiced orders.Create_invoice was true but invoicing privileges are disabled.
BO001Maximum timespan allowed is 31 days.getShippedOrders window exceeds the permitted size.
BO002Order number exceeds the maximum length.Bol_num or OrderNumber longer than 13 characters.
BO003Customer PO number exceeds the limit.Customer_po longer than 20 characters.
BO004Carrier exceeds the limit.Carrier longer than 40 characters.
BO005Ship-to address line 1 exceeds the limit.Shipto_address1 longer than 40 characters.
BO006Ship-to address line 2 exceeds the limit.Shipto_address2 longer than 40 characters.
BO007Requested ship date is in the past.Date_ship_requested earlier than today.
BO008Invalid state value.Shipto_state contains more than two characters.
BO009Special instructions line 1 exceeds the limit.Special_instructions longer than 55 characters.
BO010Special instructions line 2 exceeds the limit.Special_instructions2 longer than 55 characters.
BO011Ship-to address line 3 exceeds the limit.Shipto_address3 longer than 40 characters.
BO012Ship-to city exceeds the limit.Shipto_city longer than 15 characters.
BO013Postal code exceeds the limit.Shipto_zip exceeds 5 characters.
BO014Postal code must be five digits.US postal code not supplied as five numeric digits.
BO015Order not found.Order number does not belong to the authenticated account.
BO018Order number already exists.checkOrderStatus or order placement received a duplicate.
BP001Product not found.Product code missing or not assigned to your account.
BP014State code exceeds the limit.An item's StateCode exceeds 14 characters.
BI005Sold-to address line 1 exceeds the limit.Soldto_address1 longer than 40 characters.
BI006Sold-to address line 2 exceeds the limit.Soldto_address2 longer than 40 characters.
BI008Sold-to state invalid.Soldto_state not two characters.
BI011Sold-to address line 3 exceeds the limit.Soldto_address3 longer than 40 characters.
BI012Sold-to city exceeds the limit.Soldto_city longer than 15 characters.
BI013Sold-to postal code exceeds the limit.Soldto_zip exceeds five characters.
BI014Payment terms exceed the limit.Payment_terms longer than 20 characters.
BI015External license exceeds the limit.External_license longer than 20 characters.
BI016Sold-to postal code must be five digits.Sold-to US postal code not supplied as five digits.
G0001General exception.Catch-all for unhandled errors; inspect the message for detail.
G0002Invoices are disabled and invoice flag was set.Tenant configuration does not allow invoiced orders.
GO003Container not added.AddInbound could not complete (see fault details).
MI005Sold-to address missing.Invoice orders require sold-to address information.
MI005Sold-to state missing.Same as above.
MI005Sold-to city missing.Same as above.
MI005Sold-to postal code missing.Same as above.
MI007Total invoice amount not specified.Total_invoice_amount missing when invoicing.
MI008Invoice due date not specified.Date_invoice_due missing when invoicing.
MI009Payment terms not specified.Payment_terms missing when invoicing.
MO001Order contains no items.No line items were supplied.
MO002Order number not specified.Bol_num blank.
MO003Prepaid/collect not specified.Legacy placeOrder omitted the freight indicator.
MO004Carrier not specified.Carrier blank.
MO005Ship-to name not specified.Shipto_address1 blank.
MO005Ship-to address not specified.Mandatory address fields missing.
MO005Ship-to city not specified.Shipto_city blank.
MO005Ship-to state not specified.Shipto_state blank.
MO005Ship-to postal code not specified.Shipto_zip blank.
MO006Ship date not specified.Date_ship_requested missing.
MO009Container number is required.GetInbound called without a container number.

Data Contracts

The following objects are part of the public SOAP surface. Any field not listed here is either internal or marked with [SoapIgnore] and will not appear on the wire.

SecurityHeader

PropertyTypeDescription
AuthenticationKeystringShared secret assigned by Western. Must be supplied on every request.

Order

Summary view returned by getOpenOrders, getShippedOrders, and checkOrderStatus.

PropertyTypeDescription
OrderNumberstringBOL number without your prefix when your profile strips it.
DestinationstringPrimary ship-to name.
CitystringShip-to city (upper case).
StatestringShip-to state (two characters).
CarrierstringRequested carrier.
EnteredDatestringDate the order was entered; formatted in the same style that was used when placing the order.
RequestedShipDatestringRequested ship date.
ActualShipDatestringActual ship date when available.
StatusstringOPEN, SHIPPED, NOTFOUND, optionally suffixed with hold reasons (OPENSHORT, OPENDATE, etc.).
TotalCasesintTotal number of cases planned for shipment.
TotalBottlesintTotal number of bottles planned for shipment.

OrderHeader

Extends Order with additional billing and contact information.

PropertyTypeDescription
PONumberstringCustomer purchase order reference.
TostringPrimary ship-to line.
Name2stringSecondary ship-to line.
StreetstringStreet address (line 3).
ZipstringPostal code.
Comments1stringSpecial instructions line 1 (max 55 characters).
Comments2stringSpecial instructions line 2.
EnteredBystringInitials of the user who placed the order.
PrepaidCollectstringP (prepaid) or C (collect) for legacy workflows.

OrderDetail

PropertyTypeDescription
OrderHeaderOrderHeaderHeader values.
ItemsList<OrderItem>Line items attached to the order.

OrderItem

Extends Product.

PropertyTypeDescription
CasesintNumber of cases.
BottlesintNumber of bottles (used when shipping less than a full case).
TransactionTypestringTax status (TR, TAXPAID, BR, CR, etc.).
TaxStatusstringHuman-readable tax status (server-populated).
LotstringLot reference when applicable.
WeightintWeight per case.
CommentstringOptional line-level comment.
StateCodestringOptional compliance code (<=14 characters).

Order2_0

Header used for version 2 order submission and detail retrieval.

PropertyTypeDescription / Constraints
Bol_numstringRequired. Max 13 characters; prefix added automatically if missing.
CarrierstringRequired. Max 40 characters.
CodboolSet to true for COD deliveries.
Create_invoiceboolFlag to create an invoice alongside the BOL.
Customer_postringOptional. Max 20 characters.
Date_invoice_dueDateTime?Required when Create_invoice is true.
Date_ship_requestedDateTimeRequired. Must be today or later.
External_licensestringOptional license value (max 20 characters).
Invoice_form_numint?Optional alternative invoice template number.
Payment_termsstringRequired when invoicing; max 20 characters.
Prepaid_shippingbooltrue = prepaid, false = collect.
Save_order_onlyboolWhen true the order is stored but not released.
Shipto_address1stringRequired. Max 40 characters.
Shipto_address2stringOptional. Max 40 characters.
Shipto_address3stringOptional. Max 40 characters.
Shipto_citystringRequired. Max 15 characters.
Shipto_statestringRequired. Two characters.
Shipto_zipstringRequired. Five digits for US addresses.
Soldto_address1/2/3stringOptional, but required (or left entirely blank) when invoicing.
Soldto_citystringSame requirement as sold-to address lines.
Soldto_statestringSame requirement as sold-to address lines.
Soldto_zipstringSame requirement as sold-to address lines.
Special_instructionsstringOptional. Max 55 characters.
Special_instructions2stringOptional. Max 55 characters.
Total_invoice_amountdecimal?Required when invoicing; must match detail totals.

OrderInfo2_0

Extends Order2_0 with additional status and date information, typically returned by getOrder operations.

PropertyTypeDescription
Date_enteredDateTimeThe date the order was entered into the system.
Date_shippedDateTime?The date the order was shipped. Null if not shipped.
OrderStatusstringRead-only property providing a string representation of the order status (e.g., "Open", "Shipped").
PlannedArrivalTimestringThe planned arrival time for the delivery. Formatted as a .NET TimeSpan string (e.g., "hh:mm:ss" or "d.hh:mm:ss").
ActualArrivalTimestringThe actual arrival time of the delivery. Formatted as a .NET TimeSpan string (e.g., "hh:mm:ss" or "d.hh:mm:ss").

OrderDetail2_0

PropertyTypeDescription
OrderHeaderOrderInfo2_0Header information, including status and shipping dates.
ItemsList<OrderItem2_0>Detail lines.
MiscChargesList<InvoiceMiscCharge>Additional charges or credits applied to the invoice.
CommentsBOLCommentsStored bill-of-lading comments.
DeliveryStatusInfoRtsDeliveryInfoOptional stop telemetry populated by getOrder3_0.
StopNamestringConvenience alias for OrderHeader.Shipto_address1.

OrderItem2_0

Extends OrderItem with pricing fields.

PropertyTypeDescription
CasePricedecimal?Price per case (required when invoicing).
BottlePricedecimal?Price per bottle (required when invoicing partial bottles).
CommentstringOptional item comment.
StateCodestringOptional compliance code (<=14 characters).

InvoiceMiscCharge

PropertyTypeDescription
ChargeDescriptionstringDescription shown on the invoice.
ChargeAmountdecimalPositive values add to the invoice; negative values create credits.

BOLComments

PropertyTypeDescription
BOLNumstringAssociated order number.
HeadCommentsstring[]Up to two header lines (55 characters each).
linesbolcomdet[]Line comments mapped by sequence; each element contains line and a data array of strings.
EndCommentsstring[]Up to two footer lines.

InventoryItem

Extends Product.

PropertyTypeDescription
CasesintCases available.
BottlesintBottles available (loose bottles).
WeightintTotal weight.

Product

PropertyTypeDescription
CodeNumberstringWarehouse item code.
DescriptionstringUppercase product description.
VintagelongVintage year when applicable.
SizestringPackage size (for example 750ML).
BottlesPerCaseintStandard pack size.
IsChillboolSet when the product requires refrigeration.
IsPOSboolIndicates point-of-sale material.
IsSuspendedboolTrue when the product is inactive.

ProductDetail

Extends Product with balance information.

PropertyTypeDescription
DutyPaidCasesintTotal duty-paid cases (free + in containers).
DutyPaidBottlesintTotal duty-paid bottles.
InBondCasesintTotal in-bond cases.
InBondBottlesintTotal in-bond bottles.
AllocatedCasesintCases reserved for pending orders.
AllocatedBottlesintBottles reserved for pending orders.

Product2

Extended product contract used by container workflows. Inherits Product.

PropertyTypeDescription
Cases, BottlesintQuantities associated with the container line item (when returned by inbound APIs).
BrandstringBrand code.
CustomerNumberintOwning customer.
WeightPerCaseintCase weight in pounds.
CasesPerTier, TiersPerPalletintPalletisation metrics.
ProductTypeintProduct classification (0 = undefined, 1 = imports, 2 = domestic).
BottleNotestringInternal note about bottle handling.
TaxCodeintTax code used for inbound processing.
UPCCase, UPCBottlestringUPC codes when available.
PONumberstringOptional reference number carried on inbound loads.
ShelfLifeInDaysintDeclared shelf life.

Additional diagnostic fields (such as batch numbers and high-value flags) may be populated but are not required for standard integrations.

Product2Detail

Extends Product2 with populated packaging values. Used by getProduct2Detail.

RtsDeliveryInfo

PropertyTypeDescription
ActualArrivalDateAndTimeDateTime?Actual arrival timestamp.
ActualDepartureDateAndTimeDateTime?Actual departure timestamp.
MinutesDelayedintTotal delay in minutes.
OrderIsDeliveredboolTrue when marked delivered.
DeliveryStatusTextstringStatus text (Delivered, In Progress, etc.).
RouteIdstringRoute identifier from the delivery system.
_upsItemsList<UPSItem>Per-item delivery metrics.

UPSItem

PropertyTypeDescription
IDstringItem identifier (product code).
DescriptionstringItem description.
PlannedCases, PlannedBottlesintPlanned quantities.
ActualCases, ActualBottlesintDelivered quantities.
OverCases, ShortCases, RefusedCases, DamagedCasesintVariance metrics.
DeliveryReason, OverReason, ShortReason, DamagedReason, PickupReasonstringReason codes supplied by the delivery system.

ShippingContainer

PropertyTypeDescription
ContainerNumberstringUnique container identifier (uppercase).
AdviceNumberstringOptional pre-advice reference.
CarrierstringInbound carrier.
PONumberstringPurchase order or reference number.
StatusstringOpen or Completed.
DateReceivedDateTimeActual receive date.
ArrivalDateDateTimePlanned arrival date when provided.
TaxStatusstringInbound tax code (T, B, C, etc.).
BondNumberstringBond number required for bonded freight.
Comment1, Comment2stringGeneral remarks.
LineItemsList<Product2>Products assigned to the container (each with quantities).

BOLDocument

Represents a Bill of Lading (BOL) PDF returned by the getBOLDocument operation. The PDF is Base64-encoded for safe SOAP transmission and must be decoded by the client.

PropertyTypeDescription
FileName string Suggested file name for the document (e.g., XXXYYYYZZZ_BOL.pdf).
Document string The PDF content encoded in Base64. Clients must decode this value using their platform’s Base64 utilities before saving or displaying it.
MimeType string The MIME type of the document. Defaults to application/pdf.