openapi: 3.0.0 info: title: APM Terminals Track and Trace - Terminal Vessel Schedule. description: >- APM Terminals Track and Trace - Terminal Vessel Schedule API. contact: name: APM Terminals API Management Team email: apmtapistore@apmterminals.com url: https://developer.apmterminals.com license: url: https://developer.apmterminals.com/terms-and-conditions name: APM Terminals 1.0 version: 1.0.0 x-release-notes: NA x-proxy-name: vessel-schedules x-availability-status: General Availability x-layer: Experience x-category: Operational x-avg-data-currency-mins: 40 x-brand: APM Terminals x-api-consumers: - Customer servers: - url: https://api-sandbox.apmterminals.com description: Sanbox environment - url: https://api.apmterminals.com description: Production environment tags: - name: all-vessel-schedules description: >- A complete list of vessels and their schedule of a terminal within fixed time range. security: - bearerAuth: [] paths: /all-vessel-schedules: get: tags: - all-vessel-schedules summary: >- List of all vessels and their schedule for given terminal and within fixed timerange. description: >- Provides the list of all vessels and their schedule for given terminal and within timerange of -6 Days and +14 days relative to current day at terminal(timezone). operationId: get-all-vessel-schedules parameters: - $ref: '#/components/parameters/ConsumerKeyRequestHeader' - $ref: '#/components/parameters/Terminal' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AllVesselSchedulesRes' '400': description: Bad Request. content: application/json: schema: $ref: '#/components/schemas/ApiError' '401': description: The user is not authenticated in the system content: application/json: schema: $ref: '#/components/schemas/ApiError' '403': description: The user does not have permissions to access this endpoint content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Bad URL. content: application/json: schema: $ref: '#/components/schemas/ApiError' '500': description: Internal server error. content: application/json: schema: $ref: '#/components/schemas/ApiError' components: schemas: AllVesselSchedulesRes: type: object properties: terminalDateTimeLocalStamp: type: string format: date-time description: The date and time the of All Vessel details fetched. vesselSchedule: type: array description: The list of all Vessel visits for a terminal. items: type: object properties: vesselName: type: string description: Name of the vessel vesselLloydsCode: type: string description: Lloyds code of the vessel. vesselOperator: type: string description: Shipping line operator code. inboundVoyageNumber: type: string description: Vessel voyage inbound number for this visit. outboundVoyageNumber: type: string description: Vessel voyage outbound number for this visit. scheduledArrivalDateTimeLocal: type: string format: date-time description: >- Scheduled or published expected date time when vessel will depart the port (also called Scheduled ETD). Represented in localtime at terminal. estimatedArrivalDateTimeLocal: type: string format: date-time description: >- Estimated arrival date time when vessel will arrive at the port (also called Latest ETA). Represented in localtime at terminal. actualArrivalDateTimeLocal: type: string format: date-time description: >- Actual arival date time when vessel has arrived at the port (also called Latest ATA). Represented in localtime at terminal. firstAvailableDateTimeLocal: type: string format: date-time description: >- Earliest date time when import containers are available for collection for this visit. Represented in localtime at terminal. startReceiveDateTimeLocal: type: string format: date-time description: >- Earliest date time when export container will be accepted by terminal for this visit. Represented in localtime at terminal. scheduledDepartureDateTimeLocal: type: string format: date-time description: >- Scheduled or published expected date time when vessel will depart the port (also called Scheduled ETD). Represented in localtime at terminal. estimatedDepartureDateTimeLocal: type: string format: date-time description: >- Estimated expected date time when vessel will depart from the port (also called Latest ETD). Represented in localtime at terminal. actualDepartureDateTimeLocal: type: string format: date-time description: >- Actual date time when vessel has departed from the port (also called Latest ATD). Represented in localtime at terminal. cargoCutoffDateTimeLocal: type: string format: date-time description: >- Cutoff date time for general cargo by the terminal. Represented in localtime at terminal. reeferCutoffDateTimeLocal: type: string format: date-time description: >- Cutoff date time for refrigerated units by the terminal. Represented in localtime at terminal. hazardousCutoffDateTimeLocal: type: string format: date-time description: >- Cutoff date time for hazardous cargo by the terminal. Represented in localtime at terminal. shippingLines: type: array description: >- List of shipping line operator codes whose containers are onboard. items: type: string description: Shipping line operator code whose containers are onboard. berthName: type: string description: Berth where a vessel is loaded or discharged for this visit. vesselStatus: type: string description: >- Vessel visit phase for this visit e.g. working, departed, inbound. required: - vesselName - vesselLloydsCode - vesselOperator - inboundVoyageNumber - outboundVoyageNumber - scheduledArrivalDateTimeLocal - estimatedArrivalDateTimeLocal - actualArrivalDateTimeLocal - firstAvailableDateTimeLocal - startReceiveDateTimeLocal - scheduledDepartureDateTimeLocal - estimatedDepartureDateTimeLocal - actualDepartureDateTimeLocal - cargoCutoffDateTimeLocal - reeferCutoffDateTimeLocal - hazardousCutoffDateTimeLocal - shippingLines - berthName - vesselStatus required: - terminalDateTimeLocalStamp - vesselSchedule ApiError: type: object description: >- Default error model used to respond to requests that went in to error. This error model is used for all HTTP code errors instead of individually declaring HTTP responses for errors. additionalProperties: false properties: method: type: string description: The request method type e.g. GET, POST. example: GET requestUri: type: string description: The request URI as it was sent by the consumer example: URI link status: type: string description: The textual representation of the response status. example: OK timestamp: description: The date and time the error occurred. type: string format: date-time example: '2021-07-16T03:23:23Z' message: description: High level error message type: string example: The supplied data could not be accepted debugMessage: description: Detailed error message type: string example: The supplied data could not be accepted subErrors: type: array description: List of detailed errors, e.g. fields that could not pass validation minItems: 1 items: type: object description: Detailed error message of fields that caused errors to occur additionalProperties: false properties: field: type: string description: The field that caused the error, e.g. a failed validation. example: terminal rejectedValue: type: string description: The value that of the field that caused the error. example: string message: type: string description: The reason and advice for why the error occured. example: Empty terminal code not allowed. required: - field - rejectedValue - message required: - method - requestUri - status - timestamp - message - debugMessage parameters: ConsumerKeyRequestHeader: description: | Consumer-Key(ClientId) received during the consumer app registration. in: header name: Consumer-Key schema: type: string example: 8Weebakh8HNooJoKsEklGz required: true Terminal: name: terminal in: query description: > The Terminal UN Location Code to search, only accepts a single Terminal Code. Possible values are USLAX (Los Angeles, US), USMOB (Mobile, US), USNWK (Port Elizabeth, US), SEGOT (Gothenburg, Sweden), ITVDL (Vado, Italy) NGAPP (Apapa, Nigeria), BHKBS (Bahrain), USMIA (Miami, US) , ARBUE (Buenos Aires, Argentina), CRPMN(Moin,Costa Rica), EGSPD(Suez Canal Container Terminals - SCCT, Egypt), LRMLW(Monrovia, Liberia), MXLZC(Lázaro Cárdenas, Mexico), MXPGO(Yucatán, Mexico), MATNG(Medport Tangier ,Morocco), MAPTM(Tangier, Morocco), NGONN(Onne, Nigeria), NLMSV(Maasvlakte II, Rotterdam), ESALG(Algeciras, Spain), ESVLC(Valencia, Spain), INNSA (Mumbai, India), INPAV (Pipavav, India), JOAQB (Aqaba, Jordan) and DKAAR (Aarhus, Denmark). required: true schema: type: string pattern: ^[A-Z]{5}$ securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT