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, PUT,  DELETE

GET and DELETE requests expect parameter docNo of type Int32.

Properties - Ship Doc

PropertyCaptionData TypeRequiredCan Update with PUT
CustomerRefCustomerEntityRefTrueFalse
ShipToRefShip ToEntityRefFalseFalse
DocNoNo.Int32FalseFalse
CustomerPOCustomer POString (25)FalseFalse
DateDateDateTimeTrueFalse
StatusRefStatusEntityRefFalseTrue
TrackingNoTracking No.String (50)
FalseFalse
TotalPackages
Total Packages
Int32
FalseFalse
ClassRefClassEntityRefFalseFalse
ContactRefContactEntityRefFalseFalse
CurrencyRefCurrencyEntityRefFalseFalse
FOBFOBString (50)FalseTrue
InternalNotesInternal NotesString (4000)FalseTrue
MemoMemoString (4000)FalseTrue
LocationRefLocationEntityRefFalseFalse
ItemSalesTaxRefSales TaxEntityRefFalseFalse
DiscountRefDiscountEntityRefFalseFalse
DiscountAmountDiscount AmountDecimalFalseFalse
DiscountSalesTaxCodeRefDiscount Tax CodeEntityRefFalseFalse
ShipMethodRefShipping MethodEntityRefFalseTrue
ShipAmount
Shipping AmountDecimal
False
True
ShipSalesTaxCodeRefShipping Tax CodeEntityRefFalseTrue
SalesRepRefSales RepEntityRefFalseFalse
TermRefTermsEntityRefFalseFalse
ExchangeRateExchange RateDecimalFalseFalse
BillAddressBill AddressCustomerAddressFalseFalse
ShipAddressShip AddressCustomerAddressFalseFalse
LineItemsItemsArray of ShipDocLineItemFalseFalse
CustomFieldsCustom FieldsArray of CustomFieldDataFalseTrue

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.