> For the complete documentation index, see [llms.txt](https://developer.esw.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.esw.com/api-reference/package-api/package.md).

# Package

## Get packages information by request.

> This GET method retrieves the package information for a package using Brand Code, Order Reference and Package Reference from the request parameters.

```json
{"openapi":"3.0.4","info":{"title":"Package API","version":"2.0.1395.0"},"tags":[{"name":"Package"}],"servers":[{"url":"https://logistics-package-api.sandbox.eshopworld.com/"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","description":"Please insert JWT with Bearer into field","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"Package.Model.DTO.V4.Package":{"required":["brandCode","orderReference","orderType","packageReference","weight"],"type":"object","properties":{"brandCode":{"minLength":1,"type":"string","description":"eShopWorld’s unique three letter identifier for the retailer's brand. This will be used to identify the brand and cannot be updated."},"orderReference":{"minLength":1,"type":"string","description":"Retailer’s unique reference for the order to which this package relates. This will be used to identify the order and cannot be updated."},"packageReference":{"minLength":1,"type":"string","description":"Retailer’s unique reference for this package.  This will be used to identify the package and cannot be updated."},"eShopPackageReference":{"maxLength":50,"minLength":0,"type":"integer","description":"Gets or sets the eShopWorld unique package reference.","format":"int64"},"parentOrderReference":{"maxLength":30,"minLength":0,"type":"string","description":"Parent order reference number. Used where the package is a back-order package or the shipped order\nreference is different, for example, a child order number. The ParentOrderReference is required to\nlink the packages to a single original parent order.","nullable":true},"orderType":{"$ref":"#/components/schemas/Package.Model.Common.V4.OrderType"},"creationTime":{"type":"string","description":"The DateTime the package was created in the eShopWorld system.","format":"date-time","nullable":true},"carrierId":{"type":"string","description":"The identifier for the Carrier handling the package.","nullable":true},"carrierName":{"type":"string","description":"The carrier name for the package.","nullable":true},"carrierReference":{"maxLength":50,"minLength":0,"type":"string","description":"Unique reference of carrier of this package.","nullable":true},"parcelCarrierReference":{"type":"string","description":"Parcel Carrier reference number which we will use to track the package.","nullable":true},"barcodeReference":{"type":"string","description":"Barcode reference","nullable":true},"weight":{"$ref":"#/components/schemas/Package.Model.Domain.V4.WeightInfo"},"shippingStatus":{"$ref":"#/components/schemas/Package.Model.Common.V4.ShippingStatus"},"shippingInfo":{"$ref":"#/components/schemas/Package.Model.Domain.Price"},"goodsDescription":{"maxLength":100,"minLength":0,"type":"string","description":"The package content's description.","nullable":true},"serviceLevel":{"$ref":"#/components/schemas/Package.Model.Common.V4.ServiceLevel"},"dangerousGoods":{"type":"boolean","description":"Indicates whether the package contains any items that are Dangerous/Hazardous.","nullable":true},"dimensions":{"$ref":"#/components/schemas/Package.Model.Domain.V4.DimensionInfo"},"holdReleaseStatus":{"$ref":"#/components/schemas/Package.Model.Common.V4.HoldReleaseStatus"},"palletId":{"type":"string","description":"Gets or sets the pallet identifier.","nullable":true},"distributionCentre":{"type":"string","description":"Gets or sets the distribution centre.","nullable":true},"hubCode":{"maxLength":10,"minLength":0,"type":"string","description":"(Optional) Hub code used to identify a hub for processing the package.\n            This is a hub that has been configured on the eShopWorld platform and eShopWorld will provide the accepted hub code.","nullable":true},"trackingUrl":{"maxLength":500,"minLength":0,"type":"string","description":"Link to Tracking information for the package.","nullable":true},"labelUrl":{"maxLength":500,"minLength":0,"type":"string","description":"URL to retrieve the shipping label documentation using a secure token.","nullable":true},"additionalCarrierData":{"$ref":"#/components/schemas/Package.Model.DTO.V4.AdditionalCarrierData"},"additionalImportInformation":{"maxLength":200,"minLength":0,"type":"string","description":"Additional information/Documents produced/Certificates and authorizations.","nullable":true},"consignee":{"$ref":"#/components/schemas/Package.Model.Domain.Consignee"},"packageItems":{"type":"array","items":{"$ref":"#/components/schemas/Package.Model.DTO.V4.PackageItem"},"description":"Attributes that describe the package item(s). If not supplied, it will be assumed that all\nitems in the order are contained in the Package.","nullable":true},"shippingDocumentation":{"type":"array","items":{"$ref":"#/components/schemas/Package.Model.DTO.V4.ShippingDocumentation"},"description":"The shipping documents.","nullable":true},"returnsDocumentation":{"type":"array","items":{"$ref":"#/components/schemas/Package.Model.DTO.V4.ReturnsDocumentation"},"description":"The returns documents.","nullable":true},"metadata":{"description":"Gets or sets the metadata information.  This can be any custom data that is\nseen as pass-through.","nullable":true}},"additionalProperties":false,"description":"Details of the package."},"Package.Model.Common.V4.OrderType":{"enum":["CHECKOUT","NONCHECKOUT","RETURN","OFFLINE","NONCHECKOUTECOMMERCE"],"type":"string","description":"Type of order.\n\n0 Checkout orders.\n\n1 Non-checkout orders.\n\n2 Return orders.\n\n3 Offline orders\n\n8 Non-checkout ecommerce orders"},"Package.Model.Domain.V4.WeightInfo":{"type":"object","properties":{"weight":{"type":"number","description":"(Required) Total weight of the package.","format":"double","nullable":true},"weightUnit":{"$ref":"#/components/schemas/Package.Model.Common.V4.WeightUnit"}},"additionalProperties":false,"description":"(Required) Attributes that describe the package weight data."},"Package.Model.Common.V4.WeightUnit":{"enum":["KG","LB"],"type":"string","description":"Unit of measurement for the items in the package. Allowed values are: 0 or KG for Kilograms and 1 or LB for Pounds."},"Package.Model.Common.V4.ShippingStatus":{"enum":["Complete","Pending"],"type":"string","description":"Shipping status - Indicates the Status of the Package. If not provided, Shipped/Complete is assumed. (Both integers and strings are accepted)\n\n 0 or \"Complete\" or \"Shipped\" - indicates that the Package is ready for Shipping and no further updates(PUT) can be processed;\n\n 1 or \"Pending\" or \"NotShipped\" - indicates that the Package is not yet ready for Shipping. eShopWorld will expect to receive an update (PUT) on the ShippingStatus when it is ready for Shipping;"},"Package.Model.Domain.Price":{"type":"object","properties":{"amount":{"type":"number","description":"(Optional) The total amount cost of shipping the package.","format":"double"},"currency":{"type":"string","description":"(Optional) ISO 4217 code of the transaction currency, for example, USD for US Dollars. Currency can be in either Shopper Currency or Retailer Currency.","nullable":true}},"additionalProperties":false,"description":"Price"},"Package.Model.Common.V4.ServiceLevel":{"enum":["POST","EXP1","EXP2","RussiaExpress","Standard","Pudo"],"type":"string","description":"Service Levels.\n\n 1 - POST: same as Standard\n\n 2 - EXP1: DEFERRED EXPRESS\n\n 3 - EXP2: EXPRESS\n\n 4 - RussiaExpress: not used\n\n 5 - Standard: same as Post\n\n 6 - Pudo: only used by Selected Retailers"},"Package.Model.Domain.V4.DimensionInfo":{"type":"object","properties":{"dimHeight":{"type":"string","description":"Height of package.","nullable":true},"dimLength":{"type":"string","description":"Width of package.","nullable":true},"dimWidth":{"type":"string","description":"Length of package.","nullable":true},"dimWeight":{"type":"string","description":"Weight of package.","nullable":true},"dimMeasurementUnit":{"$ref":"#/components/schemas/Package.Model.Common.V4.DimensionUnit"}},"additionalProperties":false,"description":"Dimensions is an optional parameter unless dimensions are specified in the request.  Once specified each parameter is required to have a value."},"Package.Model.Common.V4.DimensionUnit":{"enum":["IN","CM"],"type":"string","description":"Unit of measurement for the package dimensions.\nBoth IN and INCH have a value of 0.  CM (Centimeters) has a value of 1.\nInteger or String can be passed as the parameter value."},"Package.Model.Common.V4.HoldReleaseStatus":{"enum":["Release","Hold","ReturnToRetailer"],"type":"string","description":"HoldReleaseStatus"},"Package.Model.DTO.V4.AdditionalCarrierData":{"type":"object","properties":{"additionalCarrierData1":{"type":"string","description":"Addition data field one, available for carrier specific data.","nullable":true},"additionalCarrierData2":{"type":"string","description":"Addition data field two, available for carrier specific data.","nullable":true},"additionalCarrierData3":{"type":"string","description":"Addition data field three, available for carrier specific data.","nullable":true},"additionalCarrierData4":{"type":"string","description":"Addition data field four, available for carrier specific data.","nullable":true},"additionalCarrierData5":{"type":"string","description":"Addition data field five, available for carrier specific data.","nullable":true}},"additionalProperties":false,"description":"(Optional) Any additional carrier specific information (data generated as part of label, routing etc).\n\n This is normally supplied by the Broker (Centiro), not by the Retailer. We cater for 5 different pieces of Additional Data which must be agreed with eShopWorld beforehand. i.e. MPS Id can be stored in AdditionalCarrierData1"},"Package.Model.Domain.Consignee":{"required":["address1","city","country","email","firstName","lastName","postalCode","telephone"],"type":"object","properties":{"name":{"type":"string","description":"Used for purposes of ShipToStore - EG Store Name","nullable":true},"firstName":{"minLength":1,"type":"string","description":"First name of the recipient."},"lastName":{"minLength":1,"type":"string","description":"Last name of the recipient."},"address1":{"minLength":1,"type":"string","description":"Address Line 1 of the address."},"address2":{"type":"string","description":"Address Line 2 of the address.","nullable":true},"address3":{"type":"string","description":"Address Line 3 of the address.","nullable":true},"city":{"minLength":1,"type":"string","description":"City of the address."},"postalCode":{"minLength":1,"type":"string","description":"Postal code or zip code of the address."},"poBox":{"type":"string","description":"Postal order box address of the address.","nullable":true},"region":{"type":"string","description":"Region, province, state, or county of the address. ISO can be provided, if available.","nullable":true},"country":{"minLength":1,"type":"string","description":"ISO 3166 two-letter country code of the address."},"gender":{"type":"string","description":"Gender of the recipient.","nullable":true},"email":{"minLength":1,"type":"string","description":"Email Address of the recipient."},"telephone":{"minLength":1,"type":"string","description":"Phone number of the recipient."},"unit":{"type":"string","description":"Unit Number of the recipient.","nullable":true}},"additionalProperties":false,"description":"(Optional) Attributes that describe the contact details for the shopper."},"Package.Model.DTO.V4.PackageItem":{"required":["productCode","quantity","weight"],"type":"object","properties":{"productCode":{"minLength":1,"type":"string","description":"The Retailer's unique identification code or SKU for the order article."},"lineItemId":{"type":"integer","description":"(Optional) The LineItemId as provided on Checkout.","format":"int32","nullable":true},"quantity":{"type":"integer","description":"(Required) Number of items of the productCode.\nThe quantity can be greater than one only if productCode and unitPrice match.\nIf there are two items in the package with the same productCode but different prices, then each item must have its own individual PackageItems parameter.","format":"int32"},"productDescription":{"maxLength":500,"minLength":0,"type":"string","description":"Description of the product. This is required for non-checkout orders and optional for checkout, return and offline orders.","nullable":true},"productCustomsDescription":{"maxLength":500,"minLength":0,"type":"string","description":"Description of the product, including material composition for customs purpose. This is optional for checkout, required for non-checkout orders.","nullable":true},"countryOfOrigin":{"maxLength":2,"minLength":0,"type":"string","description":"Two-letter manufacturing country of origin of the product in the ISO 3166-1 alpha-2 format. This is optional for checkout, required for non-checkout orders.","nullable":true},"weight":{"$ref":"#/components/schemas/Package.Model.Domain.V4.WeightInfo"},"unitPrice":{"$ref":"#/components/schemas/Package.Model.Domain.Price"},"hsCode":{"maxLength":20,"minLength":0,"type":"string","description":"Harmonized System (HS) code of the product. This is optional for checkout, required for non-checkout orders.","nullable":true},"fta":{"type":"boolean","description":"Indicates if the item is covered under the free trade agreement.","nullable":true},"dangerousGoods":{"type":"boolean","description":"Indicates whether the package item contains any items that are Dangerous/Hazardous (The articles or substances that pose a risk to people, property or the environment, due to their chemical or physical properties. These products are classified as dangerous goods and are prohibited from being stored on the airplane).","nullable":true},"serialNumber":{"maxLength":50,"minLength":0,"type":"string","description":"The serial number of the package item.","nullable":true},"warrantyId":{"maxLength":50,"minLength":0,"type":"string","description":"The warranty ID of the package item.","nullable":true}},"additionalProperties":false,"description":"Package item information."},"Package.Model.DTO.V4.ShippingDocumentation":{"type":"object","properties":{"Document":{"type":"string","description":"The document in base64 format. Note: All documents are in base64 format.","nullable":true},"type":{"$ref":"#/components/schemas/Package.Model.Common.V4.DocumentationType"},"format":{"type":"string","description":"Document format. ZIP or PDF","nullable":true},"link":{"type":"string","description":"The document resource uri.","nullable":true},"documentStatus":{"$ref":"#/components/schemas/Package.Model.Common.V4.DocumentStatus"}},"additionalProperties":false,"description":"Package shipping documentation information."},"Package.Model.Common.V4.DocumentationType":{"enum":["SHIPPING_LABEL","SUPPORTING_DOCUMENTATION","PACKING_SLIP","ORDER_SALES_INVOICE","ORDER_SALES_INVOICE_COPY","RETURN_LABEL"],"type":"string","description":"The type of the document.\n            \nSHIPPING_LABEL - Shipping label documentation to attach to Package (shipping)\n            \nSUPPORTING_DOCUMENTATION - Any additional documentation , for example a Commercial Invoice (shipping)\n            \nPACKING_SLIP - Document listing all items in Package (shipping)\n            \nORDER_SALES_INVOICE - Order sales invoice documentation (shipping)\n            \nORDER_SALES_INVOICE_COPY - Order sales invoice documentation copy (same as ORDER_SALES_INVOICE) - is normally sent to the Customer by the Retailer. (shipping)\n            \nRETURN_LABEL - Documentation for the Customer to include in Return Package if returning any items (returns)"},"Package.Model.Common.V4.DocumentStatus":{"enum":["Created","Error"],"type":"string","description":"Document creation status"},"Package.Model.DTO.V4.ReturnsDocumentation":{"type":"object","properties":{"returnTrackingNumber":{"type":"string","description":"Return Tracking number","nullable":true},"returnShipmentNo":{"type":"string","description":"Return ShipmentNo","nullable":true},"returnTrackingUrl":{"type":"string","description":"Return Tracking URL","nullable":true},"Document":{"type":"string","description":"The document in base64 format. Note: All documents are in base64 format.","nullable":true},"type":{"$ref":"#/components/schemas/Package.Model.Common.V4.DocumentationType"},"format":{"type":"string","description":"Document format. ZIP or PDF","nullable":true},"link":{"type":"string","description":"The document resource uri.","nullable":true},"documentStatus":{"$ref":"#/components/schemas/Package.Model.Common.V4.DocumentStatus"}},"additionalProperties":false,"description":"Package returns documentation information."},"Package.Model.Exceptions.Error":{"type":"object","properties":{"message":{"type":"string","description":"Error message:\n\n\nBrand is not configured for Ship from Store;\n\nFromDate must be less than ToDate;\n\nInvalid PageNumber;\n\nInvalid PageSize;\n\nInvalid OrderId;\n\nInvalid TenantCode;\n\nAt least one OrderArticleId is required;\n\nHublocation is required;\n\nThis Tenants BrandCode Doesn't Exist;\n\nLabel GET Failed for Order {OrderId};\n\nInvalid value {Quantity} supplied;\n\n{PropertyName} is required;\n\n{PropertyName} has invalid length;\n\n{PropertyName} has invalid field value;\n\nPackageRequestMustBeSet: Request is not valid/well-formed;","nullable":true},"code":{"type":"integer","description":"Error code","format":"int32"}},"additionalProperties":false,"description":"Error information."}}},"paths":{"/api/v4/Package":{"get":{"tags":["Package"],"summary":"Get packages information by request.","description":"This GET method retrieves the package information for a package using Brand Code, Order Reference and Package Reference from the request parameters.","operationId":"GetPackageV4","parameters":[{"name":"OrderReference","in":"query","description":"(Optional) Retailer’s unique reference for the order to which this package relates.","schema":{"type":"string"}},{"name":"BrandCode","in":"query","description":"(Required) eShopWorld’s unique three-letter identifier for the retailer's brand.","required":true,"schema":{"type":"string"}},{"name":"PackageReference","in":"query","description":"(Required) Retailer’s unique reference for this package.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Package found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Package.Model.DTO.V4.Package"}}}},"400":{"description":"Validation failure","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Package.Model.Exceptions.Error"}}}}},"401":{"description":"The request failed as a bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Package.Model.Exceptions.Error"}}}},"403":{"description":"The request is forbidden"},"404":{"description":"Package not found","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Package.Model.Exceptions.Error"}}}}},"default":{"description":"Error","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Package.Model.Exceptions.Error"}}}}}}}}}}
```

## Posts the order information to create a package.

> This POST method retrieves the order information and uses it to create a corresponding package.

```json
{"openapi":"3.0.4","info":{"title":"Package API","version":"2.0.1395.0"},"tags":[{"name":"Package"}],"servers":[{"url":"https://logistics-package-api.sandbox.eshopworld.com/"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","description":"Please insert JWT with Bearer into field","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"Package.Model.DTO.V4.PackageCreate":{"required":["brandCode","orderReference","orderType","packageReference","weight"],"type":"object","properties":{"brandCode":{"maxLength":3,"minLength":0,"type":"string","description":"eShopWorld’s unique three letter identifier for the retailer's brand.\nThis will be used to identify the brand and cannot be updated."},"orderReference":{"maxLength":50,"minLength":0,"type":"string","description":"Retailer’s unique reference for the order to which this package relates.\nThis will be used to identify the order and cannot be updated."},"packageReference":{"maxLength":50,"minLength":0,"type":"string","description":"Retailer’s unique reference for this package.\nThis will be used to identify the package and cannot be updated."},"orderType":{"$ref":"#/components/schemas/Package.Model.Common.V4.OrderType"},"weight":{"$ref":"#/components/schemas/Package.Model.Domain.V4.WeightInfo"},"shippingDocumentationRequested":{"type":"boolean","description":"Indicates whether Shipping Documentation should be requested and returned in the response. If not provided, false is assumed."},"returnDocumentationRequested":{"type":"boolean","description":"(Optional) - Retailer Specific - Indicates whether Return Documentation (Return Label) should be requested and returned in the response. If not provided, false is assumed.\n\nReturn Documentation can include Labels for the Customer to attach to any Return Packages or Document for the Customer to include in any Return Packages. This documentation must be agreed in advance with eShopWorld."},"shippingStatus":{"$ref":"#/components/schemas/Package.Model.Common.V4.ShippingStatus"},"parentOrderReference":{"maxLength":30,"minLength":0,"type":"string","description":"Parent order reference number. Used where the package is a back-order package or the shipped order\nreference is different, for example, a child order number. The ParentOrderReference is required to\nlink the packages to a single original parent order.","nullable":true},"carrierId":{"type":"integer","description":"(Optional) The eShopWorld identifier for the Last Mile Carrier handling the package. If the CarrierId is known, the Retailer can supply the Id, however in most cases the Carrier is provided by eShopWorld\n\n List of Carrier Ids:\n\n 1 DHL Paket\n\n 2 DPD Switzerland\n\n 3 TNT\n\n 4 An Post\n\n 5 Selektvracht\n\n 6 Royal Mail\n\n 7 DHL Express\n\n 8 Asendia\n\n 9 Aramex\n\n 10 DAI\n\n 11 USPS\n\n 13 Seur\n\n 14 Colissimo\n\n 15 Yamato\n\n 16 eShopWorld\n\n 17 PostNord\n\n 18 DPD Europe\n\n 19 DPD Group\n\n 20 CanadaPost\n\n 21 Estafeta\n\n 22 Skypostal\n\n 23 PTS\n\n 24 Aramex\n\n 25 CAS AU\n\n 26 CAS NZ\n\n 27 DAI Australia\n\n 28 SDA Italy\n\n 29 Asendia EU\n\n 30 Colissimo International\n\n 1000 None\n\n 1001 Expeditors\n\n 1002 United\n\n 1003 KWE\n\n 1004 American Airlines\n\n 1005 DPD Russia\n\n 1006 DPD Netherlands\n\n 1007 Sing Post\n\n 1008 Yamato TW\n\n 1009 IBC IMEX\n\n 1010 Singapore Post Quantum\n\n 1011 StarTrack\n\n 1012 Boxberry\n\n 1013 Newgistics\n\n 1014 UPS\n\n 1015 DHL Global Mail\n\n 1016 Pilot\n\n 1017 Courier IT\n\n 1020 wnDirect\n\n 1021 Purolator\n\n 1022 test\n\n 1023 None1\n\n 1024 Hellmann\n\n 1025 DHL Global Mail - WS\n\n 1026 DHL Global Mail US - WS\n\n 1027 Aramex SGP\n\n 1028 Asendia Shipping WS\n\n 1029 Belgian Post Group\n\n 1030 La Post\n\n 1031 Russian post\n\n 1032 Swiss Post\n\n 1033 DHL WeltPaket\n\n 1034 Ferrari\n\n 1035 GLS Export Business Parcel\n\n 1036 Correos 72H Parcel\n\n 1037 Nova Poshta\n\n 1038 FedEx\n\n 1039 Ninjavan\n\n 1040 Kerry\n\n 1041 Yamato HK\n\n 1042 SEKO\n\n 1043 SF Express","format":"int32"},"carrierReference":{"maxLength":50,"minLength":0,"type":"string","description":"Unique reference from the carrier for this Package. If the CarrierReference is known, the Retailer can supply it, however in most cases the CarrierReference is provided by eShopWorld.","nullable":true},"distributionCentre":{"maxLength":200,"type":"string","description":" Distribution Centre from where the package will be shipped. Examples: IEDUB, AUCOW, HKHKG, FRPAR, USASD, NOTIS, CHZUR, CACAN, TRPTS, MXEST, etc\n\nNOTE: These must be agreed in advance with eShopWorld. eShopWorld will create the Distribution Centre(s) and will supply the Retailer with a unique identifier for each to pass in the API 'DistributionCentre' field","nullable":true},"hubCode":{"maxLength":10,"minLength":0,"type":"string","description":"(Optional) Hub code used to identify a hub for processing the package. Used by selected retailers only.\n            This is a hub that has been configured on the eShopWorld platform and eShopWorld will provide the accepted hub code.","nullable":true},"additionalImportInformation":{"maxLength":200,"minLength":0,"type":"string","description":"Additional information/Documents produced/Certificates and authorizations.","nullable":true},"isBackOrder":{"type":"boolean","description":"Indicates whether the package is the first package shipped for the order. If not provided, false is assumed."},"dangerousGoods":{"type":"boolean","description":"Indicates whether the package contains any items that are Dangerous/Hazardous. Items that are deemed to be hazardous or dangerous as agreed between eShopWorld's Trade Compliance team and the Retailer's Catalog"},"dangerousGoodsClassificationCode":{"type":"string","description":"Package Dangerous Goods classification code.","nullable":true},"dangerousGoodsUNNumber":{"type":"string","description":"Package Dangerous Goods UN Number.","nullable":true},"consignee":{"$ref":"#/components/schemas/Package.Model.Domain.Consignee"},"shippingInfo":{"$ref":"#/components/schemas/Package.Model.Domain.Price"},"insuranceAmount":{"$ref":"#/components/schemas/Package.Model.Domain.Price"},"dimensions":{"$ref":"#/components/schemas/Package.Model.Domain.V4.DimensionInfo"},"goodsDescription":{"maxLength":100,"minLength":0,"type":"string","description":"(Optional) The package contents description.\n            If this is not supplied we will use the description of the first order article in the package","nullable":true},"serviceLevel":{"$ref":"#/components/schemas/Package.Model.Common.V4.ServiceLevel"},"packageItems":{"type":"array","items":{"$ref":"#/components/schemas/Package.Model.DTO.V4.PackageItem"},"description":"Attributes that describe the package item(s). If not supplied, it will be assumed that all\nitems in the order are contained in the Package.","nullable":true},"additionalCarrierData":{"$ref":"#/components/schemas/Package.Model.DTO.V4.AdditionalCarrierData"},"palletId":{"type":"string","description":"Gets or sets the pallet identifier.","nullable":true},"metadata":{"description":"Gets or sets the metadata information.  This can be any custom data that is\nseen as pass-through.","nullable":true}},"additionalProperties":false,"description":"Details of the package update."},"Package.Model.Common.V4.OrderType":{"enum":["CHECKOUT","NONCHECKOUT","RETURN","OFFLINE","NONCHECKOUTECOMMERCE"],"type":"string","description":"Type of order.\n\n0 Checkout orders.\n\n1 Non-checkout orders.\n\n2 Return orders.\n\n3 Offline orders\n\n8 Non-checkout ecommerce orders"},"Package.Model.Domain.V4.WeightInfo":{"type":"object","properties":{"weight":{"type":"number","description":"(Required) Total weight of the package.","format":"double","nullable":true},"weightUnit":{"$ref":"#/components/schemas/Package.Model.Common.V4.WeightUnit"}},"additionalProperties":false,"description":"(Required) Attributes that describe the package weight data."},"Package.Model.Common.V4.WeightUnit":{"enum":["KG","LB"],"type":"string","description":"Unit of measurement for the items in the package. Allowed values are: 0 or KG for Kilograms and 1 or LB for Pounds."},"Package.Model.Common.V4.ShippingStatus":{"enum":["Complete","Pending"],"type":"string","description":"Shipping status - Indicates the Status of the Package. If not provided, Shipped/Complete is assumed. (Both integers and strings are accepted)\n\n 0 or \"Complete\" or \"Shipped\" - indicates that the Package is ready for Shipping and no further updates(PUT) can be processed;\n\n 1 or \"Pending\" or \"NotShipped\" - indicates that the Package is not yet ready for Shipping. eShopWorld will expect to receive an update (PUT) on the ShippingStatus when it is ready for Shipping;"},"Package.Model.Domain.Consignee":{"required":["address1","city","country","email","firstName","lastName","postalCode","telephone"],"type":"object","properties":{"name":{"type":"string","description":"Used for purposes of ShipToStore - EG Store Name","nullable":true},"firstName":{"minLength":1,"type":"string","description":"First name of the recipient."},"lastName":{"minLength":1,"type":"string","description":"Last name of the recipient."},"address1":{"minLength":1,"type":"string","description":"Address Line 1 of the address."},"address2":{"type":"string","description":"Address Line 2 of the address.","nullable":true},"address3":{"type":"string","description":"Address Line 3 of the address.","nullable":true},"city":{"minLength":1,"type":"string","description":"City of the address."},"postalCode":{"minLength":1,"type":"string","description":"Postal code or zip code of the address."},"poBox":{"type":"string","description":"Postal order box address of the address.","nullable":true},"region":{"type":"string","description":"Region, province, state, or county of the address. ISO can be provided, if available.","nullable":true},"country":{"minLength":1,"type":"string","description":"ISO 3166 two-letter country code of the address."},"gender":{"type":"string","description":"Gender of the recipient.","nullable":true},"email":{"minLength":1,"type":"string","description":"Email Address of the recipient."},"telephone":{"minLength":1,"type":"string","description":"Phone number of the recipient."},"unit":{"type":"string","description":"Unit Number of the recipient.","nullable":true}},"additionalProperties":false,"description":"(Optional) Attributes that describe the contact details for the shopper."},"Package.Model.Domain.Price":{"type":"object","properties":{"amount":{"type":"number","description":"(Optional) The total amount cost of shipping the package.","format":"double"},"currency":{"type":"string","description":"(Optional) ISO 4217 code of the transaction currency, for example, USD for US Dollars. Currency can be in either Shopper Currency or Retailer Currency.","nullable":true}},"additionalProperties":false,"description":"Price"},"Package.Model.Domain.V4.DimensionInfo":{"type":"object","properties":{"dimHeight":{"type":"string","description":"Height of package.","nullable":true},"dimLength":{"type":"string","description":"Width of package.","nullable":true},"dimWidth":{"type":"string","description":"Length of package.","nullable":true},"dimWeight":{"type":"string","description":"Weight of package.","nullable":true},"dimMeasurementUnit":{"$ref":"#/components/schemas/Package.Model.Common.V4.DimensionUnit"}},"additionalProperties":false,"description":"Dimensions is an optional parameter unless dimensions are specified in the request.  Once specified each parameter is required to have a value."},"Package.Model.Common.V4.DimensionUnit":{"enum":["IN","CM"],"type":"string","description":"Unit of measurement for the package dimensions.\nBoth IN and INCH have a value of 0.  CM (Centimeters) has a value of 1.\nInteger or String can be passed as the parameter value."},"Package.Model.Common.V4.ServiceLevel":{"enum":["POST","EXP1","EXP2","RussiaExpress","Standard","Pudo"],"type":"string","description":"Service Levels.\n\n 1 - POST: same as Standard\n\n 2 - EXP1: DEFERRED EXPRESS\n\n 3 - EXP2: EXPRESS\n\n 4 - RussiaExpress: not used\n\n 5 - Standard: same as Post\n\n 6 - Pudo: only used by Selected Retailers"},"Package.Model.DTO.V4.PackageItem":{"required":["productCode","quantity","weight"],"type":"object","properties":{"productCode":{"minLength":1,"type":"string","description":"The Retailer's unique identification code or SKU for the order article."},"lineItemId":{"type":"integer","description":"(Optional) The LineItemId as provided on Checkout.","format":"int32","nullable":true},"quantity":{"type":"integer","description":"(Required) Number of items of the productCode.\nThe quantity can be greater than one only if productCode and unitPrice match.\nIf there are two items in the package with the same productCode but different prices, then each item must have its own individual PackageItems parameter.","format":"int32"},"productDescription":{"maxLength":500,"minLength":0,"type":"string","description":"Description of the product. This is required for non-checkout orders and optional for checkout, return and offline orders.","nullable":true},"productCustomsDescription":{"maxLength":500,"minLength":0,"type":"string","description":"Description of the product, including material composition for customs purpose. This is optional for checkout, required for non-checkout orders.","nullable":true},"countryOfOrigin":{"maxLength":2,"minLength":0,"type":"string","description":"Two-letter manufacturing country of origin of the product in the ISO 3166-1 alpha-2 format. This is optional for checkout, required for non-checkout orders.","nullable":true},"weight":{"$ref":"#/components/schemas/Package.Model.Domain.V4.WeightInfo"},"unitPrice":{"$ref":"#/components/schemas/Package.Model.Domain.Price"},"hsCode":{"maxLength":20,"minLength":0,"type":"string","description":"Harmonized System (HS) code of the product. This is optional for checkout, required for non-checkout orders.","nullable":true},"fta":{"type":"boolean","description":"Indicates if the item is covered under the free trade agreement.","nullable":true},"dangerousGoods":{"type":"boolean","description":"Indicates whether the package item contains any items that are Dangerous/Hazardous (The articles or substances that pose a risk to people, property or the environment, due to their chemical or physical properties. These products are classified as dangerous goods and are prohibited from being stored on the airplane).","nullable":true},"serialNumber":{"maxLength":50,"minLength":0,"type":"string","description":"The serial number of the package item.","nullable":true},"warrantyId":{"maxLength":50,"minLength":0,"type":"string","description":"The warranty ID of the package item.","nullable":true}},"additionalProperties":false,"description":"Package item information."},"Package.Model.DTO.V4.AdditionalCarrierData":{"type":"object","properties":{"additionalCarrierData1":{"type":"string","description":"Addition data field one, available for carrier specific data.","nullable":true},"additionalCarrierData2":{"type":"string","description":"Addition data field two, available for carrier specific data.","nullable":true},"additionalCarrierData3":{"type":"string","description":"Addition data field three, available for carrier specific data.","nullable":true},"additionalCarrierData4":{"type":"string","description":"Addition data field four, available for carrier specific data.","nullable":true},"additionalCarrierData5":{"type":"string","description":"Addition data field five, available for carrier specific data.","nullable":true}},"additionalProperties":false,"description":"(Optional) Any additional carrier specific information (data generated as part of label, routing etc).\n\n This is normally supplied by the Broker (Centiro), not by the Retailer. We cater for 5 different pieces of Additional Data which must be agreed with eShopWorld beforehand. i.e. MPS Id can be stored in AdditionalCarrierData1"},"Package.Model.DTO.V4.LogisticApi.PackageCreateResponse":{"type":"object","properties":{"outcome":{"$ref":"#/components/schemas/Package.Model.DTO.V3.LabelApi.PackageResponseOutcome"},"statusMessage":{"type":"string","description":"Status Message (i.e. Success, ReturnPackageCreated)","nullable":true},"additionalStatusMessage":{"type":"string","description":"Additional Status Message (will only be poplated from calls to logistics-packagemanagement-api)","nullable":true},"package":{"$ref":"#/components/schemas/Package.Model.DTO.V4.Package"}},"additionalProperties":false,"description":"Package Create Response"},"Package.Model.DTO.V3.LabelApi.PackageResponseOutcome":{"enum":["PackageAndLabelCreated","PackageCreated","PackageCreatedAndLabelError","PackageCreatedAndLabelOnHold","PackageCreatedAndCancelLabelError","PackageNotCreated","PackageUpdatedAndLabelError","PackageUpdated","PackageAndLabelUpdated","PackageNotUpdated","PackageNotUpdatedAsAlreadyComplete","PackageUpdatedAndLabelOnHold"],"type":"string","description":"Package Response Outcome Enums\n\n1: PackageAndLabelCreated\n\n2: PackageCreated\n\n3: PackageCreatedAndLabelError\n\n4: PackageCreatedAndLabelOnHold\n\n5: PackageCreatedAndCancelLabelError\n\n6: PackageNotCreated\n\n7: PackageUpdatedAndLabelError\n\n8: PackageUpdated\n\n9: PackageAndLabelUpdated\n\n10: PackageNotUpdated\n\n11: PackageNotUpdatedAsAlreadyComplete\n\n12: PackageUpdatedAndLabelOnHold \n"},"Package.Model.DTO.V4.Package":{"required":["brandCode","orderReference","orderType","packageReference","weight"],"type":"object","properties":{"brandCode":{"minLength":1,"type":"string","description":"eShopWorld’s unique three letter identifier for the retailer's brand. This will be used to identify the brand and cannot be updated."},"orderReference":{"minLength":1,"type":"string","description":"Retailer’s unique reference for the order to which this package relates. This will be used to identify the order and cannot be updated."},"packageReference":{"minLength":1,"type":"string","description":"Retailer’s unique reference for this package.  This will be used to identify the package and cannot be updated."},"eShopPackageReference":{"maxLength":50,"minLength":0,"type":"integer","description":"Gets or sets the eShopWorld unique package reference.","format":"int64"},"parentOrderReference":{"maxLength":30,"minLength":0,"type":"string","description":"Parent order reference number. Used where the package is a back-order package or the shipped order\nreference is different, for example, a child order number. The ParentOrderReference is required to\nlink the packages to a single original parent order.","nullable":true},"orderType":{"$ref":"#/components/schemas/Package.Model.Common.V4.OrderType"},"creationTime":{"type":"string","description":"The DateTime the package was created in the eShopWorld system.","format":"date-time","nullable":true},"carrierId":{"type":"string","description":"The identifier for the Carrier handling the package.","nullable":true},"carrierName":{"type":"string","description":"The carrier name for the package.","nullable":true},"carrierReference":{"maxLength":50,"minLength":0,"type":"string","description":"Unique reference of carrier of this package.","nullable":true},"parcelCarrierReference":{"type":"string","description":"Parcel Carrier reference number which we will use to track the package.","nullable":true},"barcodeReference":{"type":"string","description":"Barcode reference","nullable":true},"weight":{"$ref":"#/components/schemas/Package.Model.Domain.V4.WeightInfo"},"shippingStatus":{"$ref":"#/components/schemas/Package.Model.Common.V4.ShippingStatus"},"shippingInfo":{"$ref":"#/components/schemas/Package.Model.Domain.Price"},"goodsDescription":{"maxLength":100,"minLength":0,"type":"string","description":"The package content's description.","nullable":true},"serviceLevel":{"$ref":"#/components/schemas/Package.Model.Common.V4.ServiceLevel"},"dangerousGoods":{"type":"boolean","description":"Indicates whether the package contains any items that are Dangerous/Hazardous.","nullable":true},"dimensions":{"$ref":"#/components/schemas/Package.Model.Domain.V4.DimensionInfo"},"holdReleaseStatus":{"$ref":"#/components/schemas/Package.Model.Common.V4.HoldReleaseStatus"},"palletId":{"type":"string","description":"Gets or sets the pallet identifier.","nullable":true},"distributionCentre":{"type":"string","description":"Gets or sets the distribution centre.","nullable":true},"hubCode":{"maxLength":10,"minLength":0,"type":"string","description":"(Optional) Hub code used to identify a hub for processing the package.\n            This is a hub that has been configured on the eShopWorld platform and eShopWorld will provide the accepted hub code.","nullable":true},"trackingUrl":{"maxLength":500,"minLength":0,"type":"string","description":"Link to Tracking information for the package.","nullable":true},"labelUrl":{"maxLength":500,"minLength":0,"type":"string","description":"URL to retrieve the shipping label documentation using a secure token.","nullable":true},"additionalCarrierData":{"$ref":"#/components/schemas/Package.Model.DTO.V4.AdditionalCarrierData"},"additionalImportInformation":{"maxLength":200,"minLength":0,"type":"string","description":"Additional information/Documents produced/Certificates and authorizations.","nullable":true},"consignee":{"$ref":"#/components/schemas/Package.Model.Domain.Consignee"},"packageItems":{"type":"array","items":{"$ref":"#/components/schemas/Package.Model.DTO.V4.PackageItem"},"description":"Attributes that describe the package item(s). If not supplied, it will be assumed that all\nitems in the order are contained in the Package.","nullable":true},"shippingDocumentation":{"type":"array","items":{"$ref":"#/components/schemas/Package.Model.DTO.V4.ShippingDocumentation"},"description":"The shipping documents.","nullable":true},"returnsDocumentation":{"type":"array","items":{"$ref":"#/components/schemas/Package.Model.DTO.V4.ReturnsDocumentation"},"description":"The returns documents.","nullable":true},"metadata":{"description":"Gets or sets the metadata information.  This can be any custom data that is\nseen as pass-through.","nullable":true}},"additionalProperties":false,"description":"Details of the package."},"Package.Model.Common.V4.HoldReleaseStatus":{"enum":["Release","Hold","ReturnToRetailer"],"type":"string","description":"HoldReleaseStatus"},"Package.Model.DTO.V4.ShippingDocumentation":{"type":"object","properties":{"Document":{"type":"string","description":"The document in base64 format. Note: All documents are in base64 format.","nullable":true},"type":{"$ref":"#/components/schemas/Package.Model.Common.V4.DocumentationType"},"format":{"type":"string","description":"Document format. ZIP or PDF","nullable":true},"link":{"type":"string","description":"The document resource uri.","nullable":true},"documentStatus":{"$ref":"#/components/schemas/Package.Model.Common.V4.DocumentStatus"}},"additionalProperties":false,"description":"Package shipping documentation information."},"Package.Model.Common.V4.DocumentationType":{"enum":["SHIPPING_LABEL","SUPPORTING_DOCUMENTATION","PACKING_SLIP","ORDER_SALES_INVOICE","ORDER_SALES_INVOICE_COPY","RETURN_LABEL"],"type":"string","description":"The type of the document.\n            \nSHIPPING_LABEL - Shipping label documentation to attach to Package (shipping)\n            \nSUPPORTING_DOCUMENTATION - Any additional documentation , for example a Commercial Invoice (shipping)\n            \nPACKING_SLIP - Document listing all items in Package (shipping)\n            \nORDER_SALES_INVOICE - Order sales invoice documentation (shipping)\n            \nORDER_SALES_INVOICE_COPY - Order sales invoice documentation copy (same as ORDER_SALES_INVOICE) - is normally sent to the Customer by the Retailer. (shipping)\n            \nRETURN_LABEL - Documentation for the Customer to include in Return Package if returning any items (returns)"},"Package.Model.Common.V4.DocumentStatus":{"enum":["Created","Error"],"type":"string","description":"Document creation status"},"Package.Model.DTO.V4.ReturnsDocumentation":{"type":"object","properties":{"returnTrackingNumber":{"type":"string","description":"Return Tracking number","nullable":true},"returnShipmentNo":{"type":"string","description":"Return ShipmentNo","nullable":true},"returnTrackingUrl":{"type":"string","description":"Return Tracking URL","nullable":true},"Document":{"type":"string","description":"The document in base64 format. Note: All documents are in base64 format.","nullable":true},"type":{"$ref":"#/components/schemas/Package.Model.Common.V4.DocumentationType"},"format":{"type":"string","description":"Document format. ZIP or PDF","nullable":true},"link":{"type":"string","description":"The document resource uri.","nullable":true},"documentStatus":{"$ref":"#/components/schemas/Package.Model.Common.V4.DocumentStatus"}},"additionalProperties":false,"description":"Package returns documentation information."},"Package.Model.Exceptions.Error":{"type":"object","properties":{"message":{"type":"string","description":"Error message:\n\n\nBrand is not configured for Ship from Store;\n\nFromDate must be less than ToDate;\n\nInvalid PageNumber;\n\nInvalid PageSize;\n\nInvalid OrderId;\n\nInvalid TenantCode;\n\nAt least one OrderArticleId is required;\n\nHublocation is required;\n\nThis Tenants BrandCode Doesn't Exist;\n\nLabel GET Failed for Order {OrderId};\n\nInvalid value {Quantity} supplied;\n\n{PropertyName} is required;\n\n{PropertyName} has invalid length;\n\n{PropertyName} has invalid field value;\n\nPackageRequestMustBeSet: Request is not valid/well-formed;","nullable":true},"code":{"type":"integer","description":"Error code","format":"int32"}},"additionalProperties":false,"description":"Error information."}}},"paths":{"/api/v4/Package":{"post":{"tags":["Package"],"summary":"Posts the order information to create a package.","description":"This POST method retrieves the order information and uses it to create a corresponding package.","operationId":"CreatePackageV4","requestBody":{"description":"The package information to create.","content":{"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/Package.Model.DTO.V4.PackageCreate"}},"application/json":{"schema":{"$ref":"#/components/schemas/Package.Model.DTO.V4.PackageCreate"}},"text/json":{"schema":{"$ref":"#/components/schemas/Package.Model.DTO.V4.PackageCreate"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Package.Model.DTO.V4.PackageCreate"}}}},"responses":{"200":{"description":"Package created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Package.Model.DTO.V4.LogisticApi.PackageCreateResponse"}}}},"400":{"description":"Validation failure","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Package.Model.Exceptions.Error"}}}}},"401":{"description":"The request failed as a bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Package.Model.Exceptions.Error"}}}},"403":{"description":"The request is forbidden"},"404":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Package.Model.Exceptions.Error"}}}}},"409":{"description":"Conflict - package already exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Package.Model.Exceptions.Error"}}}}},"422":{"description":"Validation failure","content":{"application/json":{"schema":{"type":"string"}}}},"default":{"description":"Error","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Package.Model.Exceptions.Error"}}}}}}}}}}
```

## Update an existing package's information.

> Update a package from a PackageUpdate request. Note: A Package can only be updated if its current Shipping Status is "Pending"

```json
{"openapi":"3.0.4","info":{"title":"Package API","version":"2.0.1395.0"},"tags":[{"name":"Package"}],"servers":[{"url":"https://logistics-package-api.sandbox.eshopworld.com/"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","description":"Please insert JWT with Bearer into field","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"Package.Model.DTO.V4.PackageUpdate":{"required":["brandCode","orderReference","packageReference"],"type":"object","properties":{"brandCode":{"minLength":1,"type":"string","description":"eShopWorld’s unique three letter identifier for the retailer's brand. This will be used to identify the brand and cannot be updated."},"orderReference":{"minLength":1,"type":"string","description":"Retailer’s unique reference for the order to which this package relates. This will be used to identify the order and cannot be updated."},"packageReference":{"minLength":1,"type":"string","description":"Retailer’s unique reference for this package.  This will be used to identify the package and cannot be updated."},"shippingStatus":{"$ref":"#/components/schemas/Package.Model.Common.V4.ShippingStatus"},"weight":{"$ref":"#/components/schemas/Package.Model.Domain.V4.WeightInfo"},"carrierId":{"type":"integer","description":"The identifier for the Carrier handling the package.","format":"int32"},"carrierReference":{"type":"string","description":"Unique reference of carrier of this package.","nullable":true},"carrierServiceDescription":{"type":"string","description":"Describes the Carrier.","nullable":true},"distributionCentre":{"type":"string","description":"Distribution Centre from where the package will be shipped.","nullable":true},"consignee":{"$ref":"#/components/schemas/Package.Model.DTO.V4.ConsigneeUpdate"},"dimensions":{"$ref":"#/components/schemas/Package.Model.Domain.V4.DimensionInfo"},"serviceLevel":{"$ref":"#/components/schemas/Package.Model.Common.V4.ServiceLevel"},"palletId":{"type":"string","description":"Id of the Pallet on which the Package is contained.","nullable":true},"additionalCarrierData":{"$ref":"#/components/schemas/Package.Model.DTO.V4.AdditionalCarrierData"},"clientType":{"$ref":"#/components/schemas/Package.Model.Common.V4.ClientType"}},"additionalProperties":false,"description":"Details of the package to update."},"Package.Model.Common.V4.ShippingStatus":{"enum":["Complete","Pending"],"type":"string","description":"Shipping status - Indicates the Status of the Package. If not provided, Shipped/Complete is assumed. (Both integers and strings are accepted)\n\n 0 or \"Complete\" or \"Shipped\" - indicates that the Package is ready for Shipping and no further updates(PUT) can be processed;\n\n 1 or \"Pending\" or \"NotShipped\" - indicates that the Package is not yet ready for Shipping. eShopWorld will expect to receive an update (PUT) on the ShippingStatus when it is ready for Shipping;"},"Package.Model.Domain.V4.WeightInfo":{"type":"object","properties":{"weight":{"type":"number","description":"(Required) Total weight of the package.","format":"double","nullable":true},"weightUnit":{"$ref":"#/components/schemas/Package.Model.Common.V4.WeightUnit"}},"additionalProperties":false,"description":"(Required) Attributes that describe the package weight data."},"Package.Model.Common.V4.WeightUnit":{"enum":["KG","LB"],"type":"string","description":"Unit of measurement for the items in the package. Allowed values are: 0 or KG for Kilograms and 1 or LB for Pounds."},"Package.Model.DTO.V4.ConsigneeUpdate":{"type":"object","properties":{"address1":{"type":"string","description":"Address Line 1 of the address.","nullable":true},"address2":{"type":"string","description":"Address Line 2 of the address.","nullable":true},"address3":{"type":"string","description":"Address Line 3 of the address.","nullable":true},"city":{"type":"string","description":"City of the address.","nullable":true},"postalCode":{"type":"string","description":"Postal code or zip code of the address.","nullable":true},"poBox":{"type":"string","description":"Postal order box address of the address.","nullable":true},"region":{"type":"string","description":"Region, province, state, or county of the address. ISO can be provided, if available.","nullable":true}},"additionalProperties":false,"description":"Update contact details for the shopper (consignee)."},"Package.Model.Domain.V4.DimensionInfo":{"type":"object","properties":{"dimHeight":{"type":"string","description":"Height of package.","nullable":true},"dimLength":{"type":"string","description":"Width of package.","nullable":true},"dimWidth":{"type":"string","description":"Length of package.","nullable":true},"dimWeight":{"type":"string","description":"Weight of package.","nullable":true},"dimMeasurementUnit":{"$ref":"#/components/schemas/Package.Model.Common.V4.DimensionUnit"}},"additionalProperties":false,"description":"Dimensions is an optional parameter unless dimensions are specified in the request.  Once specified each parameter is required to have a value."},"Package.Model.Common.V4.DimensionUnit":{"enum":["IN","CM"],"type":"string","description":"Unit of measurement for the package dimensions.\nBoth IN and INCH have a value of 0.  CM (Centimeters) has a value of 1.\nInteger or String can be passed as the parameter value."},"Package.Model.Common.V4.ServiceLevel":{"enum":["POST","EXP1","EXP2","RussiaExpress","Standard","Pudo"],"type":"string","description":"Service Levels.\n\n 1 - POST: same as Standard\n\n 2 - EXP1: DEFERRED EXPRESS\n\n 3 - EXP2: EXPRESS\n\n 4 - RussiaExpress: not used\n\n 5 - Standard: same as Post\n\n 6 - Pudo: only used by Selected Retailers"},"Package.Model.DTO.V4.AdditionalCarrierData":{"type":"object","properties":{"additionalCarrierData1":{"type":"string","description":"Addition data field one, available for carrier specific data.","nullable":true},"additionalCarrierData2":{"type":"string","description":"Addition data field two, available for carrier specific data.","nullable":true},"additionalCarrierData3":{"type":"string","description":"Addition data field three, available for carrier specific data.","nullable":true},"additionalCarrierData4":{"type":"string","description":"Addition data field four, available for carrier specific data.","nullable":true},"additionalCarrierData5":{"type":"string","description":"Addition data field five, available for carrier specific data.","nullable":true}},"additionalProperties":false,"description":"(Optional) Any additional carrier specific information (data generated as part of label, routing etc).\n\n This is normally supplied by the Broker (Centiro), not by the Retailer. We cater for 5 different pieces of Additional Data which must be agreed with eShopWorld beforehand. i.e. MPS Id can be stored in AdditionalCarrierData1"},"Package.Model.Common.V4.ClientType":{"enum":["Unspecified","Retailer","Broker"],"type":"string","description":"Client Types."},"Package.Model.DTO.V4.Package":{"required":["brandCode","orderReference","orderType","packageReference","weight"],"type":"object","properties":{"brandCode":{"minLength":1,"type":"string","description":"eShopWorld’s unique three letter identifier for the retailer's brand. This will be used to identify the brand and cannot be updated."},"orderReference":{"minLength":1,"type":"string","description":"Retailer’s unique reference for the order to which this package relates. This will be used to identify the order and cannot be updated."},"packageReference":{"minLength":1,"type":"string","description":"Retailer’s unique reference for this package.  This will be used to identify the package and cannot be updated."},"eShopPackageReference":{"maxLength":50,"minLength":0,"type":"integer","description":"Gets or sets the eShopWorld unique package reference.","format":"int64"},"parentOrderReference":{"maxLength":30,"minLength":0,"type":"string","description":"Parent order reference number. Used where the package is a back-order package or the shipped order\nreference is different, for example, a child order number. The ParentOrderReference is required to\nlink the packages to a single original parent order.","nullable":true},"orderType":{"$ref":"#/components/schemas/Package.Model.Common.V4.OrderType"},"creationTime":{"type":"string","description":"The DateTime the package was created in the eShopWorld system.","format":"date-time","nullable":true},"carrierId":{"type":"string","description":"The identifier for the Carrier handling the package.","nullable":true},"carrierName":{"type":"string","description":"The carrier name for the package.","nullable":true},"carrierReference":{"maxLength":50,"minLength":0,"type":"string","description":"Unique reference of carrier of this package.","nullable":true},"parcelCarrierReference":{"type":"string","description":"Parcel Carrier reference number which we will use to track the package.","nullable":true},"barcodeReference":{"type":"string","description":"Barcode reference","nullable":true},"weight":{"$ref":"#/components/schemas/Package.Model.Domain.V4.WeightInfo"},"shippingStatus":{"$ref":"#/components/schemas/Package.Model.Common.V4.ShippingStatus"},"shippingInfo":{"$ref":"#/components/schemas/Package.Model.Domain.Price"},"goodsDescription":{"maxLength":100,"minLength":0,"type":"string","description":"The package content's description.","nullable":true},"serviceLevel":{"$ref":"#/components/schemas/Package.Model.Common.V4.ServiceLevel"},"dangerousGoods":{"type":"boolean","description":"Indicates whether the package contains any items that are Dangerous/Hazardous.","nullable":true},"dimensions":{"$ref":"#/components/schemas/Package.Model.Domain.V4.DimensionInfo"},"holdReleaseStatus":{"$ref":"#/components/schemas/Package.Model.Common.V4.HoldReleaseStatus"},"palletId":{"type":"string","description":"Gets or sets the pallet identifier.","nullable":true},"distributionCentre":{"type":"string","description":"Gets or sets the distribution centre.","nullable":true},"hubCode":{"maxLength":10,"minLength":0,"type":"string","description":"(Optional) Hub code used to identify a hub for processing the package.\n            This is a hub that has been configured on the eShopWorld platform and eShopWorld will provide the accepted hub code.","nullable":true},"trackingUrl":{"maxLength":500,"minLength":0,"type":"string","description":"Link to Tracking information for the package.","nullable":true},"labelUrl":{"maxLength":500,"minLength":0,"type":"string","description":"URL to retrieve the shipping label documentation using a secure token.","nullable":true},"additionalCarrierData":{"$ref":"#/components/schemas/Package.Model.DTO.V4.AdditionalCarrierData"},"additionalImportInformation":{"maxLength":200,"minLength":0,"type":"string","description":"Additional information/Documents produced/Certificates and authorizations.","nullable":true},"consignee":{"$ref":"#/components/schemas/Package.Model.Domain.Consignee"},"packageItems":{"type":"array","items":{"$ref":"#/components/schemas/Package.Model.DTO.V4.PackageItem"},"description":"Attributes that describe the package item(s). If not supplied, it will be assumed that all\nitems in the order are contained in the Package.","nullable":true},"shippingDocumentation":{"type":"array","items":{"$ref":"#/components/schemas/Package.Model.DTO.V4.ShippingDocumentation"},"description":"The shipping documents.","nullable":true},"returnsDocumentation":{"type":"array","items":{"$ref":"#/components/schemas/Package.Model.DTO.V4.ReturnsDocumentation"},"description":"The returns documents.","nullable":true},"metadata":{"description":"Gets or sets the metadata information.  This can be any custom data that is\nseen as pass-through.","nullable":true}},"additionalProperties":false,"description":"Details of the package."},"Package.Model.Common.V4.OrderType":{"enum":["CHECKOUT","NONCHECKOUT","RETURN","OFFLINE","NONCHECKOUTECOMMERCE"],"type":"string","description":"Type of order.\n\n0 Checkout orders.\n\n1 Non-checkout orders.\n\n2 Return orders.\n\n3 Offline orders\n\n8 Non-checkout ecommerce orders"},"Package.Model.Domain.Price":{"type":"object","properties":{"amount":{"type":"number","description":"(Optional) The total amount cost of shipping the package.","format":"double"},"currency":{"type":"string","description":"(Optional) ISO 4217 code of the transaction currency, for example, USD for US Dollars. Currency can be in either Shopper Currency or Retailer Currency.","nullable":true}},"additionalProperties":false,"description":"Price"},"Package.Model.Common.V4.HoldReleaseStatus":{"enum":["Release","Hold","ReturnToRetailer"],"type":"string","description":"HoldReleaseStatus"},"Package.Model.Domain.Consignee":{"required":["address1","city","country","email","firstName","lastName","postalCode","telephone"],"type":"object","properties":{"name":{"type":"string","description":"Used for purposes of ShipToStore - EG Store Name","nullable":true},"firstName":{"minLength":1,"type":"string","description":"First name of the recipient."},"lastName":{"minLength":1,"type":"string","description":"Last name of the recipient."},"address1":{"minLength":1,"type":"string","description":"Address Line 1 of the address."},"address2":{"type":"string","description":"Address Line 2 of the address.","nullable":true},"address3":{"type":"string","description":"Address Line 3 of the address.","nullable":true},"city":{"minLength":1,"type":"string","description":"City of the address."},"postalCode":{"minLength":1,"type":"string","description":"Postal code or zip code of the address."},"poBox":{"type":"string","description":"Postal order box address of the address.","nullable":true},"region":{"type":"string","description":"Region, province, state, or county of the address. ISO can be provided, if available.","nullable":true},"country":{"minLength":1,"type":"string","description":"ISO 3166 two-letter country code of the address."},"gender":{"type":"string","description":"Gender of the recipient.","nullable":true},"email":{"minLength":1,"type":"string","description":"Email Address of the recipient."},"telephone":{"minLength":1,"type":"string","description":"Phone number of the recipient."},"unit":{"type":"string","description":"Unit Number of the recipient.","nullable":true}},"additionalProperties":false,"description":"(Optional) Attributes that describe the contact details for the shopper."},"Package.Model.DTO.V4.PackageItem":{"required":["productCode","quantity","weight"],"type":"object","properties":{"productCode":{"minLength":1,"type":"string","description":"The Retailer's unique identification code or SKU for the order article."},"lineItemId":{"type":"integer","description":"(Optional) The LineItemId as provided on Checkout.","format":"int32","nullable":true},"quantity":{"type":"integer","description":"(Required) Number of items of the productCode.\nThe quantity can be greater than one only if productCode and unitPrice match.\nIf there are two items in the package with the same productCode but different prices, then each item must have its own individual PackageItems parameter.","format":"int32"},"productDescription":{"maxLength":500,"minLength":0,"type":"string","description":"Description of the product. This is required for non-checkout orders and optional for checkout, return and offline orders.","nullable":true},"productCustomsDescription":{"maxLength":500,"minLength":0,"type":"string","description":"Description of the product, including material composition for customs purpose. This is optional for checkout, required for non-checkout orders.","nullable":true},"countryOfOrigin":{"maxLength":2,"minLength":0,"type":"string","description":"Two-letter manufacturing country of origin of the product in the ISO 3166-1 alpha-2 format. This is optional for checkout, required for non-checkout orders.","nullable":true},"weight":{"$ref":"#/components/schemas/Package.Model.Domain.V4.WeightInfo"},"unitPrice":{"$ref":"#/components/schemas/Package.Model.Domain.Price"},"hsCode":{"maxLength":20,"minLength":0,"type":"string","description":"Harmonized System (HS) code of the product. This is optional for checkout, required for non-checkout orders.","nullable":true},"fta":{"type":"boolean","description":"Indicates if the item is covered under the free trade agreement.","nullable":true},"dangerousGoods":{"type":"boolean","description":"Indicates whether the package item contains any items that are Dangerous/Hazardous (The articles or substances that pose a risk to people, property or the environment, due to their chemical or physical properties. These products are classified as dangerous goods and are prohibited from being stored on the airplane).","nullable":true},"serialNumber":{"maxLength":50,"minLength":0,"type":"string","description":"The serial number of the package item.","nullable":true},"warrantyId":{"maxLength":50,"minLength":0,"type":"string","description":"The warranty ID of the package item.","nullable":true}},"additionalProperties":false,"description":"Package item information."},"Package.Model.DTO.V4.ShippingDocumentation":{"type":"object","properties":{"Document":{"type":"string","description":"The document in base64 format. Note: All documents are in base64 format.","nullable":true},"type":{"$ref":"#/components/schemas/Package.Model.Common.V4.DocumentationType"},"format":{"type":"string","description":"Document format. ZIP or PDF","nullable":true},"link":{"type":"string","description":"The document resource uri.","nullable":true},"documentStatus":{"$ref":"#/components/schemas/Package.Model.Common.V4.DocumentStatus"}},"additionalProperties":false,"description":"Package shipping documentation information."},"Package.Model.Common.V4.DocumentationType":{"enum":["SHIPPING_LABEL","SUPPORTING_DOCUMENTATION","PACKING_SLIP","ORDER_SALES_INVOICE","ORDER_SALES_INVOICE_COPY","RETURN_LABEL"],"type":"string","description":"The type of the document.\n            \nSHIPPING_LABEL - Shipping label documentation to attach to Package (shipping)\n            \nSUPPORTING_DOCUMENTATION - Any additional documentation , for example a Commercial Invoice (shipping)\n            \nPACKING_SLIP - Document listing all items in Package (shipping)\n            \nORDER_SALES_INVOICE - Order sales invoice documentation (shipping)\n            \nORDER_SALES_INVOICE_COPY - Order sales invoice documentation copy (same as ORDER_SALES_INVOICE) - is normally sent to the Customer by the Retailer. (shipping)\n            \nRETURN_LABEL - Documentation for the Customer to include in Return Package if returning any items (returns)"},"Package.Model.Common.V4.DocumentStatus":{"enum":["Created","Error"],"type":"string","description":"Document creation status"},"Package.Model.DTO.V4.ReturnsDocumentation":{"type":"object","properties":{"returnTrackingNumber":{"type":"string","description":"Return Tracking number","nullable":true},"returnShipmentNo":{"type":"string","description":"Return ShipmentNo","nullable":true},"returnTrackingUrl":{"type":"string","description":"Return Tracking URL","nullable":true},"Document":{"type":"string","description":"The document in base64 format. Note: All documents are in base64 format.","nullable":true},"type":{"$ref":"#/components/schemas/Package.Model.Common.V4.DocumentationType"},"format":{"type":"string","description":"Document format. ZIP or PDF","nullable":true},"link":{"type":"string","description":"The document resource uri.","nullable":true},"documentStatus":{"$ref":"#/components/schemas/Package.Model.Common.V4.DocumentStatus"}},"additionalProperties":false,"description":"Package returns documentation information."},"Package.Model.Exceptions.Error":{"type":"object","properties":{"message":{"type":"string","description":"Error message:\n\n\nBrand is not configured for Ship from Store;\n\nFromDate must be less than ToDate;\n\nInvalid PageNumber;\n\nInvalid PageSize;\n\nInvalid OrderId;\n\nInvalid TenantCode;\n\nAt least one OrderArticleId is required;\n\nHublocation is required;\n\nThis Tenants BrandCode Doesn't Exist;\n\nLabel GET Failed for Order {OrderId};\n\nInvalid value {Quantity} supplied;\n\n{PropertyName} is required;\n\n{PropertyName} has invalid length;\n\n{PropertyName} has invalid field value;\n\nPackageRequestMustBeSet: Request is not valid/well-formed;","nullable":true},"code":{"type":"integer","description":"Error code","format":"int32"}},"additionalProperties":false,"description":"Error information."}}},"paths":{"/api/v4/Package":{"put":{"tags":["Package"],"summary":"Update an existing package's information.","description":"Update a package from a PackageUpdate request. Note: A Package can only be updated if its current Shipping Status is \"Pending\"","operationId":"UpdatePackageV4","requestBody":{"description":"The information to update on an existing package.","content":{"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/Package.Model.DTO.V4.PackageUpdate"}},"application/json":{"schema":{"$ref":"#/components/schemas/Package.Model.DTO.V4.PackageUpdate"}},"text/json":{"schema":{"$ref":"#/components/schemas/Package.Model.DTO.V4.PackageUpdate"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Package.Model.DTO.V4.PackageUpdate"}}}},"responses":{"201":{"description":"Package information updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Package.Model.DTO.V4.Package"}}}},"400":{"description":"Validation failure","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Package.Model.Exceptions.Error"}}}}},"401":{"description":"The request failed as a bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Package.Model.Exceptions.Error"}}}},"403":{"description":"The request is forbidden"},"404":{"description":"Could not find package","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Package.Model.Exceptions.Error"}}}}},"409":{"description":"Package is not in a valid state for updating","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Package.Model.Exceptions.Error"}}}}},"default":{"description":"Error","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Package.Model.Exceptions.Error"}}}}}}}}}}
```

## Deletes the requested package.

> Delete an exiting package using unique identifiers.

```json
{"openapi":"3.0.4","info":{"title":"Package API","version":"2.0.1395.0"},"tags":[{"name":"Package"}],"servers":[{"url":"https://logistics-package-api.sandbox.eshopworld.com/"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","description":"Please insert JWT with Bearer into field","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"Package.Model.Exceptions.Error":{"type":"object","properties":{"message":{"type":"string","description":"Error message:\n\n\nBrand is not configured for Ship from Store;\n\nFromDate must be less than ToDate;\n\nInvalid PageNumber;\n\nInvalid PageSize;\n\nInvalid OrderId;\n\nInvalid TenantCode;\n\nAt least one OrderArticleId is required;\n\nHublocation is required;\n\nThis Tenants BrandCode Doesn't Exist;\n\nLabel GET Failed for Order {OrderId};\n\nInvalid value {Quantity} supplied;\n\n{PropertyName} is required;\n\n{PropertyName} has invalid length;\n\n{PropertyName} has invalid field value;\n\nPackageRequestMustBeSet: Request is not valid/well-formed;","nullable":true},"code":{"type":"integer","description":"Error code","format":"int32"}},"additionalProperties":false,"description":"Error information."}}},"paths":{"/api/v4/Package":{"delete":{"tags":["Package"],"summary":"Deletes the requested package.","description":"Delete an exiting package using unique identifiers.","operationId":"DeletePackageV4","parameters":[{"name":"BrandCode","in":"query","description":"(Required) eShopWorld’s unique three-letter identifier for the retailer's brand.","required":true,"schema":{"type":"string"}},{"name":"OrderReference","in":"query","description":"(Required) Retailer’s unique reference for the order to which this package relates.","required":true,"schema":{"type":"string"}},{"name":"PackageReference","in":"query","description":"(Required) Retailer’s unique reference for this package.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Package deleted"},"400":{"description":"Validation failure","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Package.Model.Exceptions.Error"}}}}},"401":{"description":"The request failed as a bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Package.Model.Exceptions.Error"}}}},"403":{"description":"The request is forbidden"},"404":{"description":"Could not find package","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Package.Model.Exceptions.Error"}}}}},"409":{"description":"Package is not in a valid state for deletion","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Package.Model.Exceptions.Error"}}}}},"default":{"description":"Error","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Package.Model.Exceptions.Error"}}}}}}}}}}
```

## POST /api/v4/Package/PopulateBlacklist

>

```json
{"openapi":"3.0.4","info":{"title":"Package API","version":"2.0.1395.0"},"tags":[{"name":"Package"}],"servers":[{"url":"https://logistics-package-api.sandbox.eshopworld.com/"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","description":"Please insert JWT with Bearer into field","scheme":"bearer","bearerFormat":"JWT"}}},"paths":{"/api/v4/Package/PopulateBlacklist":{"post":{"tags":["Package"],"operationId":"PopulateBlacklist","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"csvFile":{"type":"string","format":"binary"}}},"encoding":{"csvFile":{"style":"form"}}}}},"responses":{"200":{"description":"Populate blacklist","content":{"application/json":{"schema":{"type":"boolean"}}}},"401":{"description":"The request is unauthorized"},"403":{"description":"The request is forbidden"}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://developer.esw.com/api-reference/package-api/package.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
