Skip to content

Latest commit

 

History

History
180 lines (156 loc) · 5.11 KB

shipment.md

File metadata and controls

180 lines (156 loc) · 5.11 KB

Introduction to Shipment Data Model

This document provides an overview of the Shipment data model, focusing on its core entities - Shipment, ShipmentItem, ShipmentPackage, and ShipmentRouteSegment. It describes the structure for managing both incoming and outgoing shipments, handling route segments, and tracking shipment packages. Additionally, we provide sample JSON data for shipment creation.

Shipment Data Model Overview

Example: John Doe orders a product from ABC Organization. The order is split into two packages and shipped via ground transport, with tracking for both packages and costs associated with each route segment.

Entities

1. Shipment

  • Description: Represents the overall shipment, tracking details such as the type of shipment, origin, destination, status, and costs.
  • Key Attribute: shipmentId
  • Example: Let's create a shipment record for an outgoing sales order.
{
  "Shipment": {
    "shipmentId": "SHIP001",
    "shipmentTypeEnumId": "SALES_SHIPMENT",
    "fromPartyId": "ORG456",
    "toPartyId": "PER123",
    "estimatedShipDate": "2024-09-16",
    "statusId": "PACKED",
    "estimatedShipCost": 15.00,
    "costUomId": "USD",
    "binLocationNumber": 10
  }
}

2. ShipmentItem

  • Description: Represents the items in a shipment, detailing the product and quantity being shipped.
  • Key Attributes: shipmentItemSeqId, productId
  • Example: Let's create shipment items for the shipment.
{
  "ShipmentItem": {
    "shipmentId": "SHIP001",
    "productId": "PROD20001",
    "quantity": 1
  }
}

3. ShipmentPackage

  • Description: Represents the packaging of items in a shipment. Each package may contain one or more shipment items.
  • Key Attributes: shipmentId, shipmentPackageSeqId
  • Example: Let's create shipment packages for the shipment.
{
  "ShipmentPackage": {
    "shipmentId": "SHIP001",
    "shipmentPackageSeqId": "00001",
    "weight": 5,
    "weightUomId": "LBS"
  }
}

4. ShipmentPackageContent

  • Description: Tracks the contents of each package, associating each shipment item with the package it is contained in.
  • Key Attributes: shipmentId, shipmentPackageSeqId, productId
  • Example: Let's track which items are in each package.
{
  "ShipmentPackageContent": {
    "shipmentId": "SHIP001",
    "shipmentPackageSeqId": "00001",
    "productId": "PROD20001",
    "quantity": "1"
  }
}

5. ShipmentRouteSegment

  • Description: Represents the route of the shipment, detailing the carrier, origin, and destination.
  • Key Attributes: shipmentId, shipmentRouteSegmentSeqId
  • Example: Let's create a route segment for the shipment.
{
  "ShipmentRouteSegment": {
    "shipmentId": "SHIP001",
    "shipmentRouteSegmentSeqId": "SEG001",
    "carrierPartyId": "CARRIER001",
    "shipmentMethodEnumId": "GROUND",
    "originPostalContactMechId": "LOC001",
    "destPostalContactMechId": "LOC002"
  }
}

6. ShipmentPackageRouteSeg

  • Description: Represents the route of the shipment, detailing the carrier, origin, and destination.
  • Key Attributes: shipmentId, shipmentPackageSeqId, shipmentRouteSegmentSeqId
  • Example: Let's create a route segment for the shipment.
{
  "ShipmentPackageRouteSeg": {
    "shipmentId": "SHIP001",
    "shipmentRouteSegmentSeqId": "SEG001",
    "shipmentPackageSeqId": "00001",
    "trackingCode": "4455667788",
    "labelImage": "/images/shippingLabel/4455667788.jpeg",
    "labelPrinted": "PRINTED"
  }
}

7. ShipmentItemSource

  • Description: Tracks the relationship between shipment items and their associated orders or returns.
  • Key Attributes: shipmentItemSeqId, orderId, orderItemSeqId
  • Example: Let's link the shipment items to their corresponding order items.
{
  "ShipmentItemSource": {
    "shipmentId": "SHIP001",
    "productId": "PROD20001",
    "quantity": 1,
    "orderId": "ORD789",
    "orderItemSeqId": "00001",
    "statusId": "PACKED"
  }
}

Complete JSON

Complete Shipment with Route Segments and Packages

{
  "Shipment": {
    "shipmentId": "SHIP001",
    "shipmentTypeEnumId": "SALES_SHIPMENT",
    "fromPartyId": "ORG456",
    "toPartyId": "PER123",
    "estimatedShipDate": "2024-09-16",
    "statusId": "PACKED",
    "estimatedShipCost": 15.00,
    "costUomId": "USD",
    "binLocationNumber": 10,
    "ShipmentItem": {
      "productId": "PROD20001",
      "quantity": 1
    },
    "ShipmentPackage": {
      "shipmentPackageSeqId": "00001",
      "weight": 5,
      "weightUomId": "LBS",
      "ShipmentPackageContent": {
        "productId": "PROD20001",
        "quantity": "1"
      }      
    },
    "ShipmentRouteSegment": {
      "shipmentRouteSegmentSeqId": "SEG001",
      "carrierPartyId": "CARRIER001",
      "shipmentMethodEnumId": "GROUND",
      "originPostalContactMechId": "LOC001",
      "destPostalContactMechId": "LOC002", 
      "ShipmentPackageRouteSeg": {
        "shipmentPackageSeqId": "00001",
        "trackingCode": "4455667788",
        "labelImage": "/images/shippingLabel/4455667788.jpeg",
        "labelPrinted": "PRINTED"
      }
    }
  }
}