Port Houston

Provider Information:

Id

port_houston

Type

terminal

Trace Type

API

Credentials

Uses username and password and it is Customer based

Limits

One Booking per request, 20k API request per day

Status

development

Doc Status

draft

Doc Version

1

URLs:

Type

URL

Environment

Request

https://lynxapi.porthouston.com/lynxservice.asmx/GetBookingInquirySQL

DEV/STG/PRD

Request

https://lynxapi.porthouston.com/lynxservice.asmx/GetVesselSchedule

DEV/STG/PRD

Sites:

Name

Site Id

Description

name

ern

the description

Request

POST https://lynxapi.porthouston.com/lynxservice.asmx/GetBookingInquirySQL

Note

  • This request needs in body: username, password, terminal code, and Booking number.

Terminal codes goes as follow:

Terminal Name

Terminal Code

Barbours Cut

PHABC

Bayport

PHA

headers should be as following.

Content-Type: application/x-www-form-urlencoded

body should be as following.

Body type needs to be x-www-form-urlencoded

UserName: <username>
PWD: <password>
TerminalCode: PHABC
Booking: 038NY1137543

Query Booking Request Response

POST https://lynxapi.porthouston.com/lynxservice.asmx/GetBookingInquirySQL

body should be as following.

UserName: <username>
PWD: <password>
TerminalCode: PHABC
Booking: 038NY1137543
<?xml version="1.0" encoding="utf-8"?>
<RESULTS>
    <TABLE>
        <GKEY>4388199</GKEY>
        <NBR>038NY1137543</NBR>
        <SHIPPINGLINE>MSC</SHIPPINGLINE>
        <SHIPPINGLINEDETAILS>Mediterranean Shipping Co. (USA)Inc</SHIPPINGLINEDETAILS>
        <VESSEL>ATH</VESSEL>
        <VESSELDETAILS>ATHENS GLORY</VESSELDETAILS>
        <VOYAGE>344S</VOYAGE>
        <CALL>1</CALL>
        <PORTOFLOAD>USHOU</PORTOFLOAD>
        <POLDESCRIPTION>Houston</POLDESCRIPTION>
        <PORTOFDISCHARGE>BRSSZ</PORTOFDISCHARGE>
        <PODDESCRIPTION>Santos</PODDESCRIPTION>
        <QUANTITY>1</QUANTITY>
        <TALLYIN>1</TALLYIN>
        <TALLYOUT>2</TALLYOUT>
        <ASSOCIATEDEQUIP>
            <EQTP>20GP86</EQTP>
            <QTY>1</QTY>
            <IN>1</IN>
            <OUT>0</OUT>
        </ASSOCIATEDEQUIP>
        <PRVNTEQSUB>false</PRVNTEQSUB>
        <VESSELPHASE>CLOSED</VESSELPHASE>
        <HAZFL>1</HAZFL>
    </TABLE>
</RESULTS>

If credentials of username and password are expired or they are invalid then the following response is returned.

POST https://lynxapi.porthouston.com/lynxservice.asmx/GetBookingInquirySQL

body should be as following.

UserName: INVALID
PWD: INVALID
TerminalCode: PHABC
Booking: 038NY1137543

Returned status code: 200 Ok

<?xml version="1.0" encoding="utf-8"?>
<NewDataSet>
    <Table1>
        <LoginError>Login Error</LoginError>
    </Table1>
</NewDataSet>

If TerminalCode is invalid, It returns the following response.

POST https://lynxapi.porthouston.com/lynxservice.asmx/GetBookingInquirySQL

body should be as following.

UserName: <username>
PWD: <password>
TerminalCode: INVALID
Booking: 038NY1137543

Returned status code: 500 Internal Server Error

Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index

If UserName, PWD, TerminalCode, or Booking is missing It returns the following response.

POST https://lynxapi.porthouston.com/lynxservice.asmx/GetBookingInquirySQL

body should be as following.

UserName: <username>
PWD: <password>
Booking: 038NY1137543

Returned status code: 500 Internal Server Error

Missing parameter: TerminalCode.

If booking is not found It returns the following response.

POST https://lynxapi.porthouston.com/lynxservice.asmx/GetBookingInquirySQL

body should be as following.

UserName: <username>
PWD: <password>
TerminalCode: PHA
Booking: NOT-FOUND-BOOKING

Returned status code: 200 OK

<?xml version="1.0" encoding="utf-8"?>
<RESULTS>Error:  No Booking Found</RESULTS>

Vessel/Voyage details Request Response

To return vessel/voyage details for vessels calling the terminal within a specified date range. This web service will return general details regarding the vessel visit and any associated cutoff information.

Note

Information returned from this API should match with GetBookingInquirySQL through the key VESSEL returned from both requests.

POST https://lynxapi.porthouston.com/lynxservice.asmx/GetVesselSchedule

Note

  • FromDate and ToDate are required in body, and they should be in MM/DD/YYYY format.

  • FromDate should be in range of 30 days prior to current date.

  • ToDate should be in range of 30 days after current date.

Content-Type: application/x-www-form-urlencoded

body should be as following.

UserName: <username>
PWD: <password>
TerminalCode: PHABC
FromDate: (MM/DD/YYYY)
ToDate: (MM/DD/YYYY)
<?xml version="1.0" encoding="utf-8"?>
<NewDataSet>
    <Table1>
        <VesselName>MSC BARCELONA</VesselName>
        <Vessel>MCB</Vessel>
        <InVoy>319N</InVoy>
        <OutVoy>322S</OutVoy>
        <Arrival>6/11/2023 5:10:00 AM</Arrival>
        <Departure>6/12/2023 6:05:00 PM</Departure>
        <EstArrival>6/11/2023 3:00:00 PM</EstArrival>
        <ActualArrival>6/11/2023 5:10:00 AM</ActualArrival>
        <EstDeparture>6/12/2023 1:00:00 PM</EstDeparture>
        <ActualDeparture>6/12/2023 6:05:00 PM</ActualDeparture>
        <FADate>6/2/2023 5:00:00 AM</FADate>
        <cargo_cutoff>6/8/2023 4:00:00 PM</cargo_cutoff>
        <reefer_cutoff>6/8/2023 4:00:00 PM</reefer_cutoff>
        <hazardous_cutoff>6/8/2023 4:00:00 PM</hazardous_cutoff>
        <line_id>MSC</line_id>
        <service_id>SCS</service_id>
        <visit_id>MCB-322S</visit_id>
        <facility>BCT</facility>
        <phase>CLOSED</phase>
    </Table1>
</NewDataSet>

If credentials of username and password are expired or they are invalid then the following response is returned.

POST https://lynxapi.porthouston.com/lynxservice.asmx/GetVesselSchedule

body should be as following.

UserName: INVALID
PWD: INVALID
TerminalCode: PHABC
FromDate: (MM/DD/YYYY)
ToDate: (MM/DD/YYYY)

Returned status code: 200 Ok

<?xml version="1.0" encoding="utf-8"?>
<NewDataSet>
    <Table1>
        <LoginError>Login Error</LoginError>
    </Table1>
</NewDataSet>

If TerminalCode is invalid, It returns the following response.

POST https://lynxapi.porthouston.com/lynxservice.asmx/GetVesselSchedule

body should be as following.

UserName: <username>
PWD: <password>
TerminalCode: INVALID
FromDate: (MM/DD/YYYY)
ToDate: (MM/DD/YYYY)

Returned status code: 500 Internal Server Error

Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index

If UserName, PWD, TerminalCode, FromDate, or ToDate is missing It returns the following response.

POST https://lynxapi.porthouston.com/lynxservice.asmx/GetVesselSchedule

body should be as following.

UserName: <username>
PWD: <password>
FromDate: (MM/DD/YYYY)
ToDate: (MM/DD/YYYY)

Returned status code: 500 Internal Server Error

Missing parameter: TerminalCode.
Data Mapping:

Property

Source Property

Description

id

NBR

The booking number being traced.

steamshipLine

ShippingLine

Steamship line identifier/SCAC

vessel

VesselName

Identifier of the vessel.

voyage

InVoy

Reference number for the voyage.

locationCode
PORTOFDISCHARGE
Terminal specific identifier of the location

etd

EstDeparture

Estimated time to departure.

eta

EstArrival

Estimated time to arrival.

arrived

Arrival

time to arrived.

cutoff

cargo_cutoff

General cargo cutoff date/time.

reeferCutoff

reefer_cutoff

Refrigerated cargo cutoff date/time.

hazmatCutoff

hazardous_cutoff

Hazmat cargo cutoff date/time.

totalContainers

QUANTITY

Total number of containers

loadedContainers

TALLYIN

Total number of loaded containers

emptyContainers

TALLYOUT

Total number of empty containers

tracedAt

DEFAULTED

Defaulted to time where the booking was traced