Trapac
- Provider Information:
Id |
trapac |
Type |
terminal |
Trace Type |
API |
Credentials |
No credentials, Requires only whitelist IP |
Limits |
Maximum number of containers per request is 10 |
Status |
draft |
Doc Status |
draft |
Doc Version |
1 |
- URLs:
Type |
URL |
Environment |
---|---|---|
Request |
PRD |
|
Request |
DEV/STG |
- Sites:
Name |
Site Id |
Description |
---|---|---|
name |
ern |
the description |
Request
Query Containers Request
Query containers using the following request by adding the LocationCode and container numbers in the request url as following.
GET https://ws.trapac.com/TrapacAPI/api/Availabilities?terminal={locationCode}&list={ContainerNumbers}
Note
Trapac API supports 2 terminals, in order to query data related to one of them, the locationCode has to be provided ContainerNumbers in the request should be separated with commas.
Terminal Name |
Location Code |
---|---|
B136 Los Angeles |
LAX |
B30 Oakland |
OAK |
Responses
Query Containers Response
Next response is for three containers CAIU7668800, HDMU6510889 and GAOU6554952.
[
{
"availabilityType": "Container",
"number": "CAIU7668800",
"line": "TF",
"holdsLine": "Released",
"holdsCustoms": "Released",
"holdsUSDA": "Released",
"terminalHold": ["VESSEL WORKING AREA"],
"lfd": "N/A",
"amount": 0.0000,
"hold": "NO",
"yardDescription": "Delivered 03/16/2022 01:40",
"yardStatus": "",
"size": 40,
"cargoType": "SD",
"height": 96,
"vessel": "ZFJ",
"voyage": "003E",
"demurrageStatus": "No demurrage to display. Cargo has been delivered",
"demurrageSchedule": null,
"errorCode": 0,
"errorDescription": null
},
{
"availabilityType": "Container",
"number": "HDMU6510889",
"line": "ED",
"holdsLine": "HELD",
"holdsCustoms": "HELD",
"holdsUSDA": "HELD",
"terminalHold": ["PIERPASS TMF HOLD"],
"lfd": "N/A",
"amount": 0.0000,
"hold": "N/A",
"yardDescription": "In Yard (#B011 row) Grounded",
"yardStatus": "Grounded",
"size": 40,
"cargoType": "SD",
"height": 96,
"vessel": "CET",
"voyage": "080E",
"demurrageStatus": "No demurrage to display. Cargo has been delivered",
"demurrageSchedule": null,
"errorCode": 0,
"errorDescription": null
},
{
"availabilityType": null,
"number": "GAOU6554952",
"line": "",
"holdsLine": "N/A",
"holdsCustoms": "N/A",
"holdsUSDA": "N/A",
"terminalHold": null,
"lfd": null,
"amount": 0.0,
"hold": null,
"yardDescription": "N/A",
"yardStatus": "N/A",
"size": 0,
"cargoType": null,
"height": 0,
"vessel": "",
"voyage": "",
"demurrageStatus": "N/A (please check by individual container number)",
"demurrageSchedule": null,
"errorCode": 1,
"errorDescription": "No result found for the reference number: GAOU6554952"
}
]
Not found containers Response
If containers GAOU6554952 is given as not found container then API returns the next response.
[
{
"availabilityType": null,
"number": "GAOU6554952",
"line": "",
"holdsLine": "N/A",
"holdsCustoms": "N/A",
"holdsUSDA": "N/A",
"terminalHold": null,
"lfd": null,
"amount": 0.0,
"hold": null,
"yardDescription": "N/A",
"yardStatus": "N/A",
"size": 0,
"cargoType": null,
"height": 0,
"vessel": "",
"voyage": "",
"demurrageStatus": "N/A (please check by individual container number)",
"demurrageSchedule": null,
"errorCode": 1,
"errorDescription": "No result found for the reference number: GAOU6554952"
}
]
- Data Mapping:
Property |
Source Property |
Description |
---|---|---|
container_number |
containers[n].number |
The container reference number |
carrier.steamshipLine |
containers[n].line |
Carrier scac. |
carrier.vessel |
containers[n].vessel |
Carrier vessel number |
carrier.voyage |
containers[n].voyage |
Carrier voyage number |
destination.name |
locationCode |
Name of the location given in query request |
destination.type
|
Default
|
This is a static value represents where the
event happens and it is set to ‘terminal’.
|
event[n].code |
yard_description |
Eta event is created if estimated in yard_description |
event[n].code |
containers[n].yard_status |
Arrived event is created if grounded in yard_status |
event[n].code |
containers[n].yard_status |
Grounded event is created if grounded in yard_status |
event[n].code |
containers[n].lfd |
Lfd event is created if lfd has a date |
event[n].code |
containers[n].yard_description |
Outgated event is created if delivered in yard_description |
event[n].data.holdType |
containers[n].holds_line |
Hold event is created with hold type as Line Hold if it has HELD |
event[n].data.holdType |
containers[n].hold |
Hold event is created with hold type as Customs Hold if it has HELD |
event[n].data.holdType |
containers[n].holds_usda |
Hold event is created with hold type as USDA Hold if it has HELD |
event[n].data.holdType |
containers[n].terminal_hold |
Hold event is created with hold type as TMF Hold if it has ‘PierPass TMF Hold’ |
event[n].data.holdType |
containers[n].terminal_hold |
Hold event is created with hold type as CTF Hold if it has ‘Clean Trucks Fee’ |
event[n].data.holdType |
containers[n].amount |
Hold event is created with hold type as Demurage Hold if it has value not equal to 0 |
event[n].date |
Default |
Today date is a default date |
event[n].location.name |
locationCode |
Name of the location given in query request |
event[n].location.type |
Default |
Default value is Terminal. |
Eta Event Response
[
{
"availabilityType": "Container",
"number": "TTRL0000004",
"line": "TF",
"holdsLine": "Released",
"holdsCustoms": "Released",
"holdsUSDA": "Released",
"terminalHold": [
"None"
],
"lfd": "N/A",
"amount": 0.0000,
"hold": "N/A",
"yardDescription": "On-Board Vessel 05/16/2022 2nd Shift (Estimated)",
"yardStatus": "On-Board Vessel",
"size": 40,
"cargoType": "SD",
"height": 96,
"vessel": "ZFJ",
"voyage": "003E",
"demurrageStatus": "No Demurrage to Calculate<br>Last Free Date unknown. Vessel has not arrived",
"demurrageSchedule": null,
"errorCode": 0,
"errorDescription": null
}
]
Note
Eta event is created if estimated in yardDescription like the one in the previous response.
- ETA Event Data Mapping:
Property |
Source Property |
Description |
---|---|---|
event[n].code |
Default |
Value is defaulted to arrived |
event[n].date |
Default |
Today date is a default date |
event[n].location.name |
LocationCode |
Location used on request |
event[n].location.type |
Default |
Default value is Terminal. |
event[n].data.Eta |
containers[n].yardDescription |
Date of the Eta event. |
Arrived Event Response
[
{
"availabilityType": "Container",
"number": "TTRA1000004",
"line": "ED",
"holdsLine": "HELD",
"holdsCustoms": "HELD",
"holdsUSDA": "HELD",
"terminalHold": [
"PIERPASS TMF HOLD"
],
"lfd": "N/A",
"amount": 0.0000,
"hold": "N/A",
"yardDescription": "In Yard (#B011 row) Grounded",
"yardStatus": "Grounded",
"size": 40,
"cargoType": "SD",
"height": 96,
"vessel": "CET",
"voyage": "080E",
"demurrageStatus": "No demurrage to display. Cargo has been delivered",
"demurrageSchedule": null,
"errorCode": 0,
"errorDescription": null
}
]
Note
Arrived event is created if grounded in yardDescription like the one in the previous response.
- Arrived Event Data Mapping:
Property |
Source Property |
Description |
---|---|---|
event[n].code |
Default |
Value is defaulted to arrived |
event[n].date |
Default |
Today date is a default date |
event[n].location.name |
LocationCode |
Location used on request |
event[n].location.type |
Default |
Default value is Terminal. |
event[n].data.arrived |
Default |
Today date is a default date |
Grounded Event Response
[
{
"availabilityType": "Container",
"number": "TTRA1000004",
"line": "ED",
"holdsLine": "HELD",
"holdsCustoms": "HELD",
"holdsUSDA": "HELD",
"terminalHold": [
"PIERPASS TMF HOLD"
],
"lfd": "N/A",
"amount": 0.0000,
"hold": "N/A",
"yardDescription": "In Yard (#B011 row) Grounded",
"yardStatus": "Grounded",
"size": 40,
"cargoType": "SD",
"height": 96,
"vessel": "CET",
"voyage": "080E",
"demurrageStatus": "No demurrage to display. Cargo has been delivered",
"demurrageSchedule": null,
"errorCode": 0,
"errorDescription": null
}
]
Note
Grounded event is created if grounded in yardDescription like the one in the previous response.
- Grounded Event Data Mapping:
Property |
Source Property |
Description |
---|---|---|
event[n].code |
Default |
Value is defaulted to grounded |
event[n].date |
Default |
Today date is a default date |
event[n].location.name |
LocationCode |
Location used on request |
event[n].location.type |
Default |
Default value is Terminal. |
event[n].data.grounded |
Default |
Today date is a default date |
Lfd Event Response
[
{
"availabilityType": "Container",
"number": "UACU5547929",
"line": "HL",
"holdsLine": "Released",
"holdsCustoms": "Released",
"holdsUSDA": "Released",
"terminalHold": [
"None"
],
"lfd": "2022-05-19",
"amount": 0.0000,
"hold": "No",
"yardDescription": "In Yard (#B008 row) Grounded",
"yardStatus": "Grounded",
"size": 40,
"cargoType": "SD",
"height": 96,
"vessel": "YUQ",
"voyage": "053E",
"demurrageStatus": null,
"demurrageSchedule": null,
"errorCode": 0,
"errorDescription": null
}
]
Note
Lfd event is created if lfd has a date
- Lfd Event Data Mapping:
Property |
Source Property |
Description |
---|---|---|
event[n].code |
Default |
Value is defaulted to lfd |
event[n].date |
Default |
Today date is a default date |
event[n].location.name |
LocationCode |
Location used on request |
event[n].location.type |
Default |
Default value is Terminal. |
event[n].data.lfd |
containers[n].lfd |
Last free date for container |
Released Event Response
[
{
"availabilityType": "Container",
"number": "UACU5547929",
"line": "HL",
"holdsLine": "Released",
"holdsCustoms": "Released",
"holdsUSDA": "Released",
"terminalHold": [
"None"
],
"lfd": "2022-05-19",
"amount": 0.0000,
"hold": "No",
"yardDescription": "In Yard (#B008 row) Grounded",
"yardStatus": "Grounded",
"size": 40,
"cargoType": "SD",
"height": 96,
"vessel": "YUQ",
"voyage": "053E",
"demurrageStatus": null,
"demurrageSchedule": null,
"errorCode": 0,
"errorDescription": null
}
]
Note
Released event is created if lfd has a date
- Released Event Data Mapping:
Property |
Source Property |
Description |
---|---|---|
event[n].code |
Default |
Value is defaulted to released |
event[n].date |
Default |
Today date is a default date |
event[n].location.name |
LocationCode |
Location used on request |
event[n].location.type |
Default |
Default value is Terminal. |
event[n].data.released |
Default |
Date is defaulted to oday date |
Outgated Event Response
[
{
"availabilityType": "Container",
"number": "TTRA0000004",
"line": "TF",
"holdsLine": "Released",
"holdsCustoms": "Released",
"holdsUSDA": "Released",
"terminalHold": [
"VESSEL WORKING AREA"
],
"lfd": "N/A",
"amount": 0.0000,
"hold": "NO",
"yardDescription": "Delivered 03/16/2022 01:40",
"yardStatus": "",
"size": 40,
"cargoType": "SD",
"height": 96,
"vessel": "ZFJ",
"voyage": "003E",
"demurrageStatus": "No demurrage to display. Cargo has been delivered",
"demurrageSchedule": null,
"errorCode": 0,
"errorDescription": null
}
]
Note
Outgated event is created if Delivered in yardDescription like the one in the previous response.
- Outgated Event Data Mapping:
Property |
Source Property |
Description |
---|---|---|
event[n].code |
Default |
Value is defaulted to outgated |
event[n].date |
Default |
Today date is a default date |
event[n].location.name |
LocationCode |
Location used on request |
event[n].location.type |
Default |
Default value is Terminal. |
event[n].data.outgated |
containers[n].yardDescription |
Date of the outgated event. |
event[n].data.outgate_confirmed
|
Default
|
Value is set to True as it is
and indicator for event as
outgated or not
|
- Hold Event Data Mapping:
Property |
Source Property |
Description |
---|---|---|
event[n].code |
Default |
Hold is the default value for the event |
event[n].date |
Default |
Today date is the default date value |
event[n].location.name |
LocationCode |
Location used on request |
event[n].location.type |
Default |
Default value is Terminal. |
event[n].data.holdType |
containers[n].holds_line |
Hold event is created with hold type as Line Hold if it has HELD |
event[n].data.holdType |
containers[n].hold |
Hold event is created with hold type as Customs Hold if it has HELD |
event[n].data.holdType |
containers[n].holds_usda |
Hold event is created with hold type as USDA Hold if it has HELD |
event[n].data.holdType |
containers[n].terminal_hold |
Hold event is created with hold type as TMF Hold if it has ‘PierPass TMF Hold’ |
event[n].data.holdType |
containers[n].terminal_hold |
Hold event is created with hold type as CTF Hold if it has ‘Clean Trucks Fee’ |
event[n].data.holdType |
containers[n].amount |
Hold event is created with hold type as Demurage Hold if it has value not equal to 0 |
event[n].data.code |
Default |
Code is defaulted to Hold |