Adding Additional Fields

What are additional fields?

Additional fields are optional fields you can enable and populate when you need to store customer-specific or workflow-specific data that is not part of the default OpenTrack data model.

Additional field values can be provided by customers in two ways:

  • Bulk upload templates
  • API fields

Once enabled, these fields behave like first-class metadata and can be used for searching, filtering, reporting, and integrations.

Enabling additional fields for API use

Additional fields must be enabled on your account before they can be used via the API.

To enable fields for API usage:

  1. Go to Settings
  2. Select Additional fields
  3. Enable the fields you plan to send via the API
  4. Save your changes

If an additional field is sent via the API before it is enabled, it will be ignored.

Sending additional fields via the API

Additional fields are sent as key-value pairs using their Field ID.

Example payload

{
  "containerNumber": "OOLU9780604",
  "referenceNumbers": {
    "bookingDate": "01/01/25",
    "poNumber": "PO1234",
    "movementCost": 455.23,
    "factory": "ABC Co, Development Inc.",
    "hotContainer": "Yes"
  }
}

Notes:

  • Field IDs are case-sensitive
  • Values should match the expected data format
  • Fields must be enabled on the account to be accepted

Important: referenceNumbers vs customFields

OpenTrack supports two different “additional field” concepts in the API. They are similar in spirit, but they apply at different levels and should be used for different mapping needs.

Reference numbers

Reference numbers apply to the whole booking or master bill (MBL).

They should be used when the value applies to the shipment overall and should flow to all associated containers.

Example payload

{
  "masterBillNumber": "MEDUHW603714",
  "referenceNumbers": {
    "poNumber": "PO1234",
    "bookingDate": "01/01/25",
    "factory": "ABC Co, Development Inc.",
    "customer": "Customer1"
  }
}

Custom fields

Custom fields should only be sent only on the /containersendpoint and apply only to the container being created or updated.

Use these when the value is container-specific.

Example payload

{
  "containerNumber": "TEMU9663268",
  "customFields": {
    "confirmedSealNumber": "SEAL123",
    "confirmedChassisNumber": "AIMZ843024"
  }
}

Rule of thumb

  • If the field should be identical for every container tied to the booking or MBL, use reference numbers.
  • If the field can vary container by container, use custom fields.

Supported additional fields

NameField IDExample value
AMS House Bill of LadingamsHouseBillOfLadingCFIQCFI12388623
Beneficial Cargo OwnerbeneficialCargoOwnerCargo Owner1
Booking DatebookingDate01/01/25
Branch OfficebranchOfficeOffice
Cargo Due DatecargoDueDate01/01/25
Cargo Ready DatecargoReadyDate01/01/25
Cargowise Forwarding Container NumbercargowiseForwardingContainerNumberD00079917
Cargowise Transport Job NumbercargowiseTransportJobNumberT5000869
Carrier Contract NumbercarrierContractNumber1234567890
Carton CountcartonCount10
Carton Count ReceivedcartonCountReceived151
CommentscommentsComment...
Confirmed chassis numberconfirmedChassisNumberAIMZ843024
Confirmed Delivery Appointment DateconfirmedDeliveryAppointmentDate01/01/25
Confirmed Seal NumberconfirmedSealNumberSEAL123
ConsigneeconsigneeCompany 1
Container ReferencescontainerReferences[123123, 1232124]
CustomercustomerCustomer1, Customer2
Customer PO NumbercustomerPoNumberCN1234, CN2345, CN3456
Customs Entry NumbercustomsEntryNumberPO1234, PO2345, PO3456
Delivery Appointment StatusdeliveryAppointmentStatusPending
Delivery Order StatusdeliveryOrderStatusConfirmed
Destination AddressdestinationAddressPLACE, STREET CITY STATE ZIPCODE
Destination Container Freight StationdestinationContainerFreightStationCFS
Dispatched Trucking CarrierdispatchedTruckingCarrierHJBT
Distribution CenterdistributionCenterDCY2
Domestic Carrier Pro NumberdomesticCarrierProNumber123-123456
Expected Full Outgated DateexpectedFullOutgatedDate01/01/25
Expected port of discharge unlocodeexpectedPortOfDischargeUnlocodeUSLAX
Expected port of loading unlocodeexpectedPortOfLoadingUnlocodeUSLAX
FactoryfactoryABC Co, Development Inc.
ForwarderforwarderCompany1, Company2
Forwarder Reference NumberforwarderReferenceNumber12345
Freight BrokerfreightBrokerFREIGHT_BROKER 1
Freight CostfreightCost455.23
Hot ContainerhotContainerYes
House Bill of Lading NumberhouseBillOfLadingNumberPO1234, PO2345, PO3456
HTS CodehtsCode1234567890
Indexindex2351OOLU9780604
Invoiced YetinvoicedYetNo
Job NumberjobNumberJN1234, JN2345
LCL (Less than Container Load)lclYes
LCL Delivered DatelclDeliveredDate10/6/2025 11:30
Leased containerleasedYes
Load WeekloadWeek2351
Modelmodel75Q650G
Movement CostmovementCost455.23
Ocean Booking ServiceoceanBookingServiceNVOCC ABC
OEM NumberoemNumberWERWSDFS-12124233
Order NumberorderNumberORD12345
Origin Container Freight StationoriginContainerFreightStationCFS
OwnerownerOwner1, Owner2
Packing List SentpackingListSentYes
Packing StylepackingStyleFloor Loaded
Pallet CountpalletCount16
Piece CountpieceCount16
PO NumberpoNumberPO1234, PO2345, PO3456
ProgramprogramExpansion
Project NameprojectNameBlack Friday
ReeferreeferYes
Release NumberreleaseNumber123456
Sales OrdersalesOrderXX1234, XX2345, XX3456
SeasonseasonFall
Serial NumberserialNumber2342339s999X
Shipper Owned ContainershipperOwnedContainerYes
SKUskuJLM1111-111T1-EEE
SuppliersupplierOPULENT INTERNATIONAL GROUP LIMITED TAIWAN BRANCH
TransloadtransloadNo
Transload Arrived At DestinationtransloadArrivedAtDestination10/04/25
Transload CompletedtransloadCompleted10/04/25
Transload DepartedtransloadDeparted10/04/25
Transload ETA At DestinationtransloadEtaAtDestination10/04/25
Transload FacilitytransloadFacilityInter Logic
Transload ProvidertransloadProviderCH Robinson

Best practices

  • Enable only the fields you actively use
  • Keep naming consistent with upstream systems
  • Avoid overloading fields with multiple meanings
  • Use arrays or comma-separated values consistently for multi-value fields