Ship Doc

Ship Doc Object

Ship Doc is a transaction involved in the sales cycle.    Like all transactions it is comprised of a Doc portion (Ship Doc) and one or more Line Items (ShipDocLineItem).  ShipDocLineItem may optionally include one or mode Details.    

End Point

/lead

GET, POST,  DELETE

GET and DELETE requests expect parameter docNo of type Int32.

Properties - Ship Doc

PropertyCaptionData TypeRequired
CustomerRefCustomerEntityRefTrue
ShipToRefShip ToEntityRefFalse
DocNoNo.Int32False
CustomerPOCustomer POString (25)False
DateDateDateTimeTrue
StatusRefStatusEntityRefFalse
TrackingNoTracking No.String (50)
False
TotalPackages
Total Packages
Int32
False
ClassRefClassEntityRefFalse
ContactRefContactEntityRefFalse
CurrencyRefCurrencyEntityRefFalse
FOBFOBString (50)False
InternalNotesInternal NotesString (4000)False
MemoMemoString (4000)False
LocationRefLocationEntityRefFalse
ItemSalesTaxRefSales TaxEntityRefFalse
DiscountRefDiscountEntityRefFalse
DiscountAmountDiscount AmountDecimalFalse
DiscountSalesTaxCodeRefDiscount Tax CodeEntityRefFalse
ShipMethodRefShipping MethodEntityRefFalse
ShipAmount
Shipping AmountDecimal
False
ShipSalesTaxCodeRefShipping Tax CodeEntityRefFalse
SalesRepRefSales RepEntityRefFalse
TermRefTermsEntityRefFalse
ExchangeRateExchange RateDecimalFalse
BillAddressBill AddressCustomerAddressFalse
ShipAddressShip AddressCustomerAddressFalse
LineItemsItemsArray of ShipDocLineItemFalse
CustomFieldsCustom FieldsArray of CustomFieldDataFalse

Properties - Ship Doc Line Item

PropertyCaptionData TypeRequiredRead Only
$typeThis property MUST be included to tell the API what type of item is being added.
The value should be "AOLib7.ShipDocLineItem, AOLib7"
IdIdInt32FalseTrue
LineNoLine NoInt16FalseTrue
ItemRefItemEntityRefTrueFalse
DescriptionDescriptionString (4000)FalseFalse
LineInstructionsLine InstructionsString (4000)FalseFalse
SalesTaxCodeRefTax CodeEntityRefFalseFalse
UomRefUOMEntityRefFalseFalse
UomConversionRateUOM Conversion RateDecimalFalseFalse
PricePriceDecimalTrueFalse
QuantityQuantityDecimalTrueFalse
StdCostStd. CostDecimalFalseTrue
StdPriceStd. PriceDecimalFalseTrue
CustomerPartNoCustomer Part NoString (50)FalseFalse
LinkedInfoLinksLinkedLineItemInfoFalseFalse
CustomFieldsCustom FieldsArray of CustomFieldDataFalseFalse
DetailsLine Item DetailsArray of FillBinBaseFalseFalse
The LinkedInfo property of type LinkedLineItemInfo is the way in which you link a sales order line item to a ship doc line item.  The PromiseDate property is also included to account for Sales Orders that have multiple Promise Dates.    
PropertyCaptionData Type
TranTypeTran TypeRecordTypeEnum
DocNoDoc NoInt32
LineNoLine NoInt16
PromiseDatePromise DateDateTime

Properties - Ship Doc Line Item - Details

The Details node is comprised of Line Item Details.   If you have used the Form Designer,  you know that you can add details to show the Bins and Lot or Serial No data for inventoried items.   Only inventoried items comprising of Part and Assembly items need Details.   Details for non-inventoried items will be ignored.     You only need to include Details if you want to specifically identify the bins and / or lot and serial numbers being included,  otherwise you can omit the Details section and Order Time will automatically fill the ship doc line item with available inventory 1.   If you include Details for one Ship Doc Line item then you must do so for all inventoried Ship Doc Line Items and visa versa.  You cannot have some inventoried Ship Doc Line Items with Details and some without.   

Line Item Details are comprised of an Array of FillBinBase.     FillBinBase can morph into either FillBin or DocFillLotOrSerial.  DocFillLotOrSerial is used when the item has TrackLotOrSerial set to true and FillBin is used otherwise. 

PropertyCaptionData TypeRequiredRead OnlyApplied to
$typeThis property MUST be included to tell the API what type of Detail is being added.
The value should be "AOLib7.FillBin, AOLib7" or "AOLib7.DocFillLotOrSerial, AOLib7"
IdIdInt32FalseTrueBoth
BinRefBinEntityRefTrueFalseBoth
LotOrSerialNoLot Or Serial NoString (50)TrueFalseDocFillLotOrSerial
ExpirationDateExpiration DateDateTimeTrueFalseDocFillLotOrSerial
QuantityQuantityDecimalTrueFalseBoth
DescriptionDescriptionString (4000)FalseFalseDocFillLotOrSerial
WarrantyTypeRefWarrantyEntityRefFalseFalseDocFillLotOrSerial
WarrantyDaysWarranty DaysInt32FalseFalseDocFillLotOrSerial
CustomFieldsCustom FieldsArray of CustomFieldDataFalseFalseDocFillLotOrSerial

Json Sample

{
    "CustomerRef": {
        "Id": 32
    },
    "ShipToRef": {
        "Id": 1
    },
    "Date": "2018-11-05T00:00:00",
    "LineItems": [
        {
            "$type": "AOLib7.ShipDocLineItem, AOLib7",
            "ItemRef": {
                "Id": 30
            },
            "LineNo": 1,
            "Quantity": 2,
            "LinkedInfo": {
                "LineNo": 1,
                "PromiseDate": "2018-11-14T00:00:00",
                "DocNo": 18,
                "TranType": 7
            },
            "Details": [
                {
                    "$type": "AOLib7.FillBin, AOLib7",
                    "Id": 1091,
                    "BinRef": {
                        "Id": 8,
                        "Name": "Floor"
                    },
                    "Quantity": 2
                    
                }
                ],
            "CustomFields": []
        },
        {
            "$type": "AOLib7.ShipDocLineItem, AOLib7",
            "Id": 33,
            "ItemRef": {
                "Id": 37
            },
            "Quantity": 1,
            "LinkedInfo": {
                "LineNo": 2,
                "PromiseDate": "2018-11-14T00:00:00",
                "DocNo": 18,
                "TranType": 7
            }, 
            "Details": [
               
                {
                    "$type": "AOLib7.DocFillLotOrSerial, AOLib7",
                    "BinRef": {
                        "Id": 8,
                        "Name": "Floor"
                    },
                    "Quantity": 1,
                    "LotOrSerialNo": "1253215235"
                }
                ]
           
        }
    ],
    "StatusRef": {
        "Id": 0,
        "Name": "Shipped"
    },
     "LocationRef": {
        "Id": 10,
        "Name": "HQ"
    }
}

Top

1 - When Details are not included Order Time will attempt to fill the sales order using its business rules and Company Preferences.