> ## Documentation Index
> Fetch the complete documentation index at: https://developer.orchestro.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Standard Event Format

**Description:**
Carriers need to submit tracking events to the Orchestro network using the format below. Status codes can be provided in the carrier’s native code specification. Orchestro automatically translates these codes to the network status code upon event ingestion.

## Root Object

<ParamField body="trackingid" type="string" required>
  Barcode attached to the parcel
</ParamField>

<ParamField body="containerTrackingid" type="string">
  ID when event applies to a container
</ParamField>

<ParamField body="carrierTrackingNumber" type="string">
  Carrier tracking number is applicable for vertically integrated networks such as UPS
</ParamField>

<ParamField body="carrierCode" type="string">
  Identification code for the carrier tracking number
</ParamField>

<ParamField body="uspsTrackingNumber" type="string">
  This is also applicable for vertically integrated networks
</ParamField>

### Account Object

<ParamField body="accounts" type="object" required>
  <Expandable title="properties">
    <ParamField body="accountNumber" type="string" required>
      Account Number
    </ParamField>

    <ParamField body="accountType" type="string" required>
      The Account Type (ex: Shipper / Carrier / RSE)
    </ParamField>
  </Expandable>
</ParamField>

### Event Object

<ParamField body="event" type="object" required>
  <Expandable title="properties">
    <ParamField body="comments" type="string">
      Comments
    </ParamField>

    <ParamField body="status" type="string" required>
      Event Status tracking in carrier’s preferred format
    </ParamField>

    <ParamField body="alternateStatusCode" type="string">
      Alternate Status Code
    </ParamField>

    <ParamField body="deliverySignature" type="string">
      Delivery Signature
    </ParamField>

    <ParamField body="timestamp" type="timestamp">
      Timestamp
    </ParamField>

    <ParamField body="timezone" type="string">
      Timezone
    </ParamField>

    <ParamField body="latitude" type="double" required>
      Coordinates of scan event
    </ParamField>

    <ParamField body="longitude" type="string" required>
      Coordinates of scan event
    </ParamField>

    <ParamField body="city" type="string">
      City
    </ParamField>

    <ParamField body="state" type="string">
      State Code ( 2 digit) eg : CA
    </ParamField>

    <ParamField body="zip" type="string">
      Zip Code
    </ParamField>

    #### Pod Object

    <ParamField body="pod" type="object">
      <Expandable title="properties">
        <ParamField body="otherDeliveryInfo" type="string">
          Additional notes about delivery
        </ParamField>

        <ParamField body="signatureName" type="string">
          Text of consignee name
        </ParamField>

        #### Image Object

        <ParamField body="images" type="array object">
          <Expandable title="properties">
            <ParamField body="imageType" type="string" required>
              Either POD or SIGNATURE
            </ParamField>

            <ParamField body="imageUrl" type="string" required>
              Url where image can be downloaded
            </ParamField>

            <ParamField body="expiration" type="date">
              Image expiration if known
            </ParamField>
          </Expandable>
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField body="standardNetworkFormat" type="boolean">
      When true, the networkTrackCode is mandatory and status is optional.  Outbound transmissions will always be
      true
    </ParamField>

    <ParamField body="networkTrackCode" type="string">
      Contains the standard Orchestro network track status code
    </ParamField>

    <ParamField body="alternateNetworkTrackCode" type="string">
      Contains the standard Orchestro network status alternate code
    </ParamField>
  </Expandable>
</ParamField>

### Attributes Update Object

<ParamField body="phyAttributesUpdate" type="object">
  <Expandable title="properties">
    <ParamField body="updates" type="array object">
      Dimension Update Object
    </ParamField>
  </Expandable>
</ParamField>

#### Dimension Update Object

<ParamField body="attribute" type="string" required>
  One of length, width, height, weight
</ParamField>

<ParamField body="newValue" type="number" required>
  New measured value
</ParamField>

<ParamField body="unit" type="string" required>
  Unit for measured value, usually in or lb
</ParamField>

## Example One (Partner/Carrier sends their track code)

```json theme={null}
{
  "trackingId": "P55435VK",
  "accountNumber": "CARRIER_ACCOUNTNUM",
  "carrierCode": "ABC",
  "event": {
    "status": "DELIVERED",
    "modifiers": null,
    "latitude": 36.325196,
    "longitude": -119.351611,
    "deliverySignature": "No",
    "comments": "possession",
    "timestamp": "2024-06-04T15:35:00",
    "timezone": "PST",
    "city": "Visallia",
    "state": "CA",
    "zip": "95121",
    "networkCodeLookupFailed": true,
    "networkStatusCode": "DONR",
  "pod": {
            "otherDeliveryInfo": "Front Door",
            "signatureName": "Front Door",
            "images": [
                {
                    "imageType": "POD",
                    "imageUrl": "image",
                    "expiration": null
                },
        {
                    "imageType": "SIGNATURE",
                    "imageUrl": "image",
                    "expiration": null
                }
            ]
        }
  },
  "correlationId": "b35e2fa5-6abf-484a-9844-9789203328f2",
  "networkCode": "OCN",
  "interestedParties": [
    "ABC"
  ],
  "newMachineState": "label"
}


```

## Example Two (Tracking Code from Orchestro to shipper)

```json theme={null}
"trackingCodeFromShipper":{
  "trackingId": "test_tracking_number1",
  "carrierTrackingNumber": "1ZXXXXXXXXXXXXXXXX",
  "carrierCode": "UPSSP",
  "uspsTrackingNumber": "92612903541618541475002472",
  "accounts": [
    {
      "accountNumber": "TEST_ACCOUNT_1",
      "accountType": "CARRIER"
    }
  ],
  "event": {
    "comments": "Delivered",
    "standardNetworkFormat": true,
    "networkTrackCode": "DDEL",
    "alternateNetworkTrackCode": "",
    "deliverySignature": "Yes",
    "timestamp": "2024-06-12T20:51:40-04:00",
    "timezone": "CST",
    "city": "Roxbury",
    "state": "CT",
    "zip": "06783",
    "latitude": -72.669701,
    "longitude": 41.93792,
    "pod": {
      "otherDeliveryInfo": "",
      "signatureName": "Palanivel M",
      "images": [
        {
          "imageType": "POD",
          "imageUrl": "https://geoabcd.com/sites/default/files/2022/Adobe%20Stock_11322_1920x1080.jpg",
          "expiration": "2024-06-12T20:51:40-04:00"
        },
        {
          "imageType": "SIGNATURE",
          "imageUrl": "https://abcdefilroom.com/wp-content/uploads/2018/12/deliv300x199.jpg",
          "expiration": "2024-06-12T20:51:40-04:00"
        }
      ]
    }
  },
  "phyAttributesUpdate": {
    "updates": [
      {
        "attribute": "length",
        "newValue": 11.7,
        "unit": "inch"
      }
    ]
  }
}

```
