{"items":[{"type":"link","label":"Data Services API","link":"/data-services/swagger","routeSlug":"/data-services/swagger","content":{"contentType":"overview","meta":{"name":"Data Services API"},"children":[{"nodeType":"container","panels":[{"title":"Download OpenAPI description","titleTranslationKey":"download.description.title","children":[{"kind":"download","label":"swagger.json","url":"/_bundle/data-services/swagger.json?download"},{"kind":"download","label":"swagger.yaml","url":"/_bundle/data-services/swagger.yaml?download"}]},{"title":"Overview","titleTranslationKey":"info.title","children":[]},{"title":"Languages","titleTranslationKey":"languages.title","children":[{"kind":"languages","options":[{"key":"curl","title":"curl","lang":"curl"},{"key":"javascript","title":"JavaScript","lang":"JavaScript"},{"key":"node","title":"Node.js","lang":"Node.js"},{"key":"python","title":"Python","lang":"Python"},{"key":"java","title":"Java","lang":"Java"},{"key":"csharp","title":"C#","lang":"C#"},{"key":"php","title":"PHP","lang":"PHP"},{"key":"go","title":"Go","lang":"Go"},{"key":"ruby","title":"Ruby","lang":"Ruby"},{"key":"r","title":"R","lang":"R"},{"key":"payload","title":"Payload","lang":"Payload"}]}]},{"title":"Servers","titleTranslationKey":"servers.title","children":[{"kind":"servers","servers":[{"url":"/_mock/data-services/swagger","description":"Mock server","isMockServer":true},{"url":"/api","description":"Server"}],"mode":"default"}]}],"children":[{"nodeType":"overview-section-wrapper","children":[{"nodeType":"header","level":1,"label":"Data Services API (v1)","showPageActions":true},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This document outlines instructions for retrieving various datasets from the eModal lakehouse for various ports and terminals. The data is made available via REST API calls for the following datasets:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Information about the available terminals for the port."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Appointment availability information in a specific terminal."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Aggregated container dwell statistics in a specific terminal."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Appointment performance metrics for a specific terminal."},"children":[]}]}]}]}]}],"sectionId":"/data-services/swagger"}],"sectionId":"/data-services/swagger"}]}]}},{"type":"group","label":"TerminalMetrics","link":"/data-services/swagger/terminalmetrics","routeSlug":"/data-services/swagger/terminalmetrics","items":[{"label":"Retrieve Information About Terminals","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/data-services/swagger/terminalmetrics/terminals","routeSlug":"/data-services/swagger/terminalmetrics/terminals","metadata":{"seo":{"title":"Retrieve Information About Terminals","description":"This endpoint returns information about individual terminals including terminal name/code/ID, supported move types (pickup, drop off, etc.), and appointment type (slot vs pre-advice). This information is required to query specific terminal appointment availability or dwell statistics."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"Terminals","name":"Retrieve Information About Terminals","isWebhook":false,"pointer":"/paths/~1terminalmetrics~1v{version}~1terminals/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Retrieve Information About Terminals","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"This endpoint returns information about individual terminals including terminal name/code/ID, supported move types (pickup, drop off, etc.),\r\nand appointment type (slot vs pre-advice). This information is required to query specific terminal appointment availability or dwell statistics."},{"nodeType":"security","requirements":[{"schemes":[{"name":"apikey","scopes":[],"type":"apiKey","in":"header","paramName":"X-API-KEY"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"version","in":"path","schemaId":"schema_34","required":true}],"pointer":"/paths/~1terminalmetrics~1v{version}~1terminals/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/terminalmetrics/v{version}/terminals","servers":[{"url":"/_mock/data-services/swagger","description":"Mock server","isMockServer":true},{"url":"/api","description":"Server"}],"parameters":{"path":[{"name":"version","in":"path","required":true,"schemaId":"schema_34"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"apikey","type":"apiKey","name":"X-API-KEY","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","403","500"],"pointer":"/terminalmetrics/v{version}/terminals","href":"terminalmetrics/terminals","openApiOperationId":"Terminals","summary":"Retrieve Information About Terminals"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/data-services/swagger","description":"Mock server","isMockServer":true},{"url":"/api","description":"Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"terminals retrieved.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/TerminalMoveTypeModel"}},"schemaId":"components/schemas/TerminalMoveTypeModel"},{"code":"400","description":"Bad request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden"},{"code":"500","description":"Server error occured"}],"pointer":"/paths/~1terminalmetrics~1v{version}~1terminals/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/TerminalMoveTypeModel","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/TerminalMoveTypeModel"}}},{"code":"400"},{"code":"401"},{"code":"403"},{"code":"500"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/terminalmetrics/terminals"}],"panels":[]}]},"httpPath":"/terminalmetrics/v{version}/terminals"},{"label":"Retrieve Metrics About Appointment Availability","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/data-services/swagger/terminalmetrics/terminals/{terminal_id}/apptavailability","routeSlug":"/data-services/swagger/terminalmetrics/terminals/{terminal_id}/apptavailability","metadata":{"seo":{"title":"Retrieve Metrics About Appointment Availability","description":"This API endpoint returns appointment availability statistics for time slotted appointments. This API returns data only for the time slotted appointment move types and does not include pre-advice information as it is not applicable as an appointment availability statistic. The response will contain appointment availability data starting with the current date and 7 days into the future and contain a listing of available and booked appointments by move type and time slot for a specific terminal."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"terminals/{terminal_id}/apptavailability","name":"Retrieve Metrics About Appointment Availability","isWebhook":false,"pointer":"/paths/~1terminalmetrics~1v{version}~1terminals~1{terminal_id}~1apptavailability/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Retrieve Metrics About Appointment Availability","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"This API endpoint returns appointment availability statistics for time slotted appointments. This API returns data only for the time slotted appointment move types and does not include pre-advice information\r\nas it is not applicable as an appointment availability statistic.\r\nThe response will contain appointment availability data starting with the current date and 7 days into the future and contain a listing of\r\navailable and booked appointments by move type and time slot for a specific terminal."},{"nodeType":"security","requirements":[{"schemes":[{"name":"apikey","scopes":[],"type":"apiKey","in":"header","paramName":"X-API-KEY"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"terminal_id","in":"path","schemaId":"schema_35","description":"The input is the terminal GUID received from the first API call and embed it along the URL to get the details of the specific terminal.","required":true},{"name":"version","in":"path","schemaId":"schema_34","required":true}],"pointer":"/paths/~1terminalmetrics~1v{version}~1terminals~1{terminal_id}~1apptavailability/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/terminalmetrics/v{version}/terminals/{terminal_id}/apptavailability","servers":[{"url":"/_mock/data-services/swagger","description":"Mock server","isMockServer":true},{"url":"/api","description":"Server"}],"parameters":{"path":[{"name":"terminal_id","in":"path","required":true,"schemaId":"schema_35"},{"name":"version","in":"path","required":true,"schemaId":"schema_34"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"apikey","type":"apiKey","name":"X-API-KEY","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","403","500"],"pointer":"/terminalmetrics/v{version}/terminals/{terminal_id}/apptavailability","href":"terminalmetrics/terminals/{terminal_id}/apptavailability","openApiOperationId":"terminals/{terminal_id}/apptavailability","summary":"Retrieve Metrics About Appointment Availability"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/data-services/swagger","description":"Mock server","isMockServer":true},{"url":"/api","description":"Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"appointments by specific terminal ID retrieved.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/TerminalMetricsModelDTOV2"}},"schemaId":"components/schemas/TerminalMetricsModelDTOV2"},{"code":"400","description":"Bad request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden"},{"code":"500","description":"Server error occured"}],"pointer":"/paths/~1terminalmetrics~1v{version}~1terminals~1{terminal_id}~1apptavailability/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/TerminalMetricsModelDTOV2","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/TerminalMetricsModelDTOV2"}}},{"code":"400"},{"code":"401"},{"code":"403"},{"code":"500"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/terminalmetrics/terminals/{terminal_id}/apptavailability"}],"panels":[]}]},"httpPath":"/terminalmetrics/v{version}/terminals/{terminal_id}/apptavailability"},{"label":"Retrieve Information About Terminal Dwell Statistics","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/data-services/swagger/terminalmetrics/containerdwelltime","routeSlug":"/data-services/swagger/terminalmetrics/containerdwelltime","metadata":{"seo":{"title":"Retrieve Information About Terminal Dwell Statistics","description":"This API endpoint provides information about container dwell time in a specific terminal. The dwelling time is calculated as an average dwell within the specified date range. Dwell time is average time spent in hours on the terminal between containers discharge date and gate out date or from discharge to current dwell time on terminal."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"containerdwelltime","name":"Retrieve Information About Terminal Dwell Statistics","isWebhook":false,"pointer":"/paths/~1terminalmetrics~1v{version}~1terminals~1{terminal_id}~1containerdwelltime/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Retrieve Information About Terminal Dwell Statistics","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"This API endpoint provides information about container dwell time in a specific terminal. The dwelling time is calculated as an average dwell within the specified date range.\r\nDwell time is average time spent in hours on the terminal between containers discharge date and gate out date or from discharge to current dwell time on terminal."},{"nodeType":"security","requirements":[{"schemes":[{"name":"apikey","scopes":[],"type":"apiKey","in":"header","paramName":"X-API-KEY"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"terminal_id","in":"path","schemaId":"schema_35","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"terminal GUID(terminal_id) retrieved from the terminal API call."},"children":[]}]}]}],"required":true},{"name":"version","in":"path","schemaId":"schema_34","required":true}],"pointer":"/paths/~1terminalmetrics~1v{version}~1terminals~1{terminal_id}~1containerdwelltime/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"start_date","in":"query","schemaId":"schema_36","description":"Include all containers discharged after this date/time in dwell aggregation (Format: yyyy-MM-ddTHH:mm:ss).","required":true},{"name":"end_date","in":"query","schemaId":"schema_36","description":"Include all containers discharged prior to this date/time in dwell aggregation (Format: yyyy-MM-ddTHH:mm:ss).","required":true},{"name":"dwell_option","in":"query","schemaId":"schema_34","description":[{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"on_terminal_only:"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve dwell statistics only for containers which are on terminal."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"off_terminal_only:"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve dwell statistics only for containers that have already left the terminal."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"all:"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve dwell statistics for all containers that are in yard inventory as well as containers that have already left the terminal."},"children":[]}]}]}]}],"required":true},{"name":"trade_type","in":"query","schemaId":"schema_34","description":[{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"import:"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve dwell statistics only for containers with import trade type."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"export:"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve dwell statistics only for containers with export trade type."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If trade type is empty, dwell statistics for all trade types (import and export) will be retrieved."},"children":[]}]}]}]}],"pointer":"/paths/~1terminalmetrics~1v{version}~1terminals~1{terminal_id}~1containerdwelltime/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/terminalmetrics/v{version}/terminals/{terminal_id}/containerdwelltime","servers":[{"url":"/_mock/data-services/swagger","description":"Mock server","isMockServer":true},{"url":"/api","description":"Server"}],"parameters":{"path":[{"name":"terminal_id","in":"path","required":true,"schemaId":"schema_35"},{"name":"version","in":"path","required":true,"schemaId":"schema_34"}],"query":[{"name":"start_date","in":"query","required":true,"schemaId":"schema_36"},{"name":"end_date","in":"query","required":true,"schemaId":"schema_36"},{"name":"dwell_option","in":"query","required":true,"schemaId":"schema_34"},{"name":"trade_type","in":"query","schemaId":"schema_34"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"apikey","type":"apiKey","name":"X-API-KEY","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","403","500"],"pointer":"/terminalmetrics/v{version}/terminals/{terminal_id}/containerdwelltime","href":"terminalmetrics/containerdwelltime","openApiOperationId":"containerdwelltime","summary":"Retrieve Information About Terminal Dwell Statistics"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/data-services/swagger","description":"Mock server","isMockServer":true},{"url":"/api","description":"Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Information about terminal dwell statistics retrieved.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ContainerDwellTime"}},"schemaId":"components/schemas/ContainerDwellTime"},{"code":"400","description":"Bad request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden"},{"code":"500","description":"Server error occured"}],"pointer":"/paths/~1terminalmetrics~1v{version}~1terminals~1{terminal_id}~1containerdwelltime/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/ContainerDwellTime","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ContainerDwellTime"}}},{"code":"400"},{"code":"401"},{"code":"403"},{"code":"500"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/terminalmetrics/containerdwelltime"}],"panels":[]}]},"httpPath":"/terminalmetrics/v{version}/terminals/{terminal_id}/containerdwelltime"},{"label":"Retrieves Appointment Performance Metrics for a Specific Terminal within a Given Date Range.","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/data-services/swagger/terminalmetrics/apptperformance","routeSlug":"/data-services/swagger/terminalmetrics/apptperformance","metadata":{"seo":{"title":"Retrieves Appointment Performance Metrics for a Specific Terminal within a Given Date Range.","description":"This endpoint returns aggregated appointment performance data for the specified terminal and date range. The response includes appointment counts and related statistics."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"apptperformance","name":"Retrieves Appointment Performance Metrics for a Specific Terminal within a Given Date Range.","isWebhook":false,"pointer":"/paths/~1terminalmetrics~1v{version}~1terminals~1{terminal_id}~1apptperformance/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Retrieves Appointment Performance Metrics for a Specific Terminal within a Given Date Range.","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"This endpoint returns aggregated appointment performance data for the specified terminal and date range.\r\nThe response includes appointment counts and related statistics."},{"nodeType":"security","requirements":[{"schemes":[{"name":"apikey","scopes":[],"type":"apiKey","in":"header","paramName":"X-API-KEY"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"terminal_id","in":"path","schemaId":"schema_35","description":"The unique identifier (GUID) of the terminal for which appointment performance is requested.","required":true},{"name":"version","in":"path","schemaId":"schema_34","required":true}],"pointer":"/paths/~1terminalmetrics~1v{version}~1terminals~1{terminal_id}~1apptperformance/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"start_date","in":"query","schemaId":"schema_36","description":"The start date of the range for which appointment performance is to be retrieved (format: yyyy-MM-dd).","required":true},{"name":"end_date","in":"query","schemaId":"schema_36","description":"The end date of the range for which appointment performance is to be retrieved (format: yyyy-MM-dd).","required":true},{"name":"scac_cd","in":"query","schemaId":"schema_34","description":"Optional. The Standard Carrier Alpha Code (SCAC) to filter appointments by carrier."},{"name":"user_id","in":"query","schemaId":"schema_35","description":"Optional. The unique identifier (GUID) of the user to filter appointments by user."}],"pointer":"/paths/~1terminalmetrics~1v{version}~1terminals~1{terminal_id}~1apptperformance/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/terminalmetrics/v{version}/terminals/{terminal_id}/apptperformance","servers":[{"url":"/_mock/data-services/swagger","description":"Mock server","isMockServer":true},{"url":"/api","description":"Server"}],"parameters":{"path":[{"name":"terminal_id","in":"path","required":true,"schemaId":"schema_35"},{"name":"version","in":"path","required":true,"schemaId":"schema_34"}],"query":[{"name":"start_date","in":"query","required":true,"schemaId":"schema_36"},{"name":"end_date","in":"query","required":true,"schemaId":"schema_36"},{"name":"scac_cd","in":"query","schemaId":"schema_34"},{"name":"user_id","in":"query","schemaId":"schema_35"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"apikey","type":"apiKey","name":"X-API-KEY","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","403","500"],"pointer":"/terminalmetrics/v{version}/terminals/{terminal_id}/apptperformance","href":"terminalmetrics/apptperformance","openApiOperationId":"apptperformance","summary":"Retrieves Appointment Performance Metrics for a Specific Terminal within a Given Date Range."},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/data-services/swagger","description":"Mock server","isMockServer":true},{"url":"/api","description":"Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Appointment performance data retrieved successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Appointments"}},"schemaId":"components/schemas/Appointments"},{"code":"400","description":"Bad request, such as invalid terminal ID or date range."},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden"},{"code":"500","description":"Server error occurred while processing the request."}],"pointer":"/paths/~1terminalmetrics~1v{version}~1terminals~1{terminal_id}~1apptperformance/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/Appointments","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Appointments"}}},{"code":"400"},{"code":"401"},{"code":"403"},{"code":"500"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/terminalmetrics/apptperformance"}],"panels":[]}]},"httpPath":"/terminalmetrics/v{version}/terminals/{terminal_id}/apptperformance"}],"content":{"contentType":"group","meta":{"name":"TerminalMetrics"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"TerminalMetrics","showPageActions":true}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/terminalmetrics/v{version}/terminals","summary":"Retrieve Information About Terminals","prefix":{"name":"get","color":"get"},"badges":[],"link":"/terminalmetrics/terminals","deprecated":false},{"title":"/terminalmetrics/v{version}/terminals/{terminal_id}/apptavailability","summary":"Retrieve Metrics About Appointment Availability","prefix":{"name":"get","color":"get"},"badges":[],"link":"/terminalmetrics/terminals/{terminal_id}/apptavailability","deprecated":false},{"title":"/terminalmetrics/v{version}/terminals/{terminal_id}/containerdwelltime","summary":"Retrieve Information About Terminal Dwell Statistics","prefix":{"name":"get","color":"get"},"badges":[],"link":"/terminalmetrics/containerdwelltime","deprecated":false},{"title":"/terminalmetrics/v{version}/terminals/{terminal_id}/apptperformance","summary":"Retrieves Appointment Performance Metrics for a Specific Terminal within a Given Date Range.","prefix":{"name":"get","color":"get"},"badges":[],"link":"/terminalmetrics/apptperformance","deprecated":false}]}]}]}]}}],"store":{"schemaStore":{"components/schemas/AppointmentCounts":{"id":"components/schemas/AppointmentCounts","kind":"json-schema","title":"AppointmentCounts","data":{"type":"object","properties":{"appointment_type":{"type":"string","nullable":true},"canceled":{"type":"integer","format":"int64"},"completed":{"type":"integer","format":"int64"},"missed":{"type":"integer","format":"int64"},"rescheduled":{"type":"integer","format":"int64"},"rebooked":{"type":"integer","format":"int64"},"inprogress":{"type":"integer","format":"int64"},"confimed":{"type":"integer","format":"int64"},"pending":{"type":"integer","format":"int64"},"error":{"type":"integer","format":"int64"},"trouble":{"type":"integer","format":"int64"},"feesDue":{"type":"integer","format":"int64"},"total":{"type":"integer","format":"int64"}},"additionalProperties":false}},"components/schemas/Appointments":{"id":"components/schemas/Appointments","kind":"json-schema","title":"Appointments","data":{"type":"object","properties":{"date_aggregated_dttm":{"type":"string","format":"date-time"},"terminal_cd":{"type":"string","nullable":true},"terminal_name":{"type":"string","nullable":true},"terminal_id":{"type":"string","nullable":true},"scac_cd":{"type":"string","nullable":true},"user_id":{"type":"string","format":"uuid","nullable":true},"appointments":{"type":"array","items":{"$ref":"#/components/schemas/AppointmentCounts"},"nullable":true},"start_dttm":{"type":"string","nullable":true},"end_dttm":{"type":"string","nullable":true}},"additionalProperties":false}},"components/schemas/ContainerDwellTime":{"id":"components/schemas/ContainerDwellTime","kind":"json-schema","title":"ContainerDwellTime","data":{"type":"object","properties":{"terminal_id":{"type":"string","description":"The terminal ID refers to the unique identifier of the terminal for which the dwell time is being calculated.","format":"uuid"},"start_dttm":{"type":"string","format":"date-time"},"end_dttm":{"type":"string","description":"Include all containers discharged  prior to this date/time in dwell aggregation","format":"date-time"},"container_count":{"type":"integer","description":"Number of containers counted in dwell aggregation","format":"int32"},"avg_dwell_time":{"type":"number","description":"Average dwell time in hours","format":"double"},"teu":{"type":"number","description":"Total TEU of all containers matching search criteria","format":"double"},"date_aggregated_dttm":{"type":"string","description":"Date represents last modification date of records","format":"date-time","nullable":true}},"additionalProperties":false}},"components/schemas/DataMetricsV2DTO":{"id":"components/schemas/DataMetricsV2DTO","kind":"json-schema","title":"DataMetricsV2DTO","data":{"type":"object","properties":{"date_aggregated_dttm":{"type":"string","description":"Request date and time in UTC time zone","format":"date-time"},"date":{"type":"string","description":"Appointment business date","nullable":true},"move_type":{"type":"array","items":{"type":"string"},"description":"Appointment move type\r\nIP Import Container Pickup,\r\nMD Drop Empty Container, \r\nMP Pickup Empty Container,\r\nXD Drop Export Container, \r\nXP Pickup Dray (Export) Container, \r\nID Drop Dray (Import) Container, \r\nBD Drop Bare Chassis,\r\nBP Pickup Bare Chassis         ///","nullable":true},"move_type_desc":{"type":"array","items":{"type":"string"},"description":"Full description of the move type","nullable":true},"slot_desc":{"type":"string","description":"Appointment time slot description","nullable":true},"slot_start_dttm":{"type":"string","description":"Appointment slot start date time","format":"date-time"},"slot_end_dttm":{"type":"string","description":"Appointment slot end date time","format":"date-time"},"total_appointments":{"type":"integer","description":"Total appointments made available by the terminal for this time slot and move type","format":"int32"},"allocated_appointments":{"type":"integer","description":"Number of appointments booked/consumed for this time slot and move type. This includes all the appointments in pending, confirmed, and completed statuses.","format":"int32"},"blocked_flag":{"type":"string","description":"An indicator if the time slot is blocked for future appointments.","nullable":true}},"additionalProperties":false}},"components/schemas/TerminalMetricsModelDTOV2":{"id":"components/schemas/TerminalMetricsModelDTOV2","kind":"json-schema","title":"TerminalMetricsModelDTOV2","data":{"type":"object","properties":{"appointments":{"type":"array","items":{"$ref":"#/components/schemas/DataMetricsV2DTO"},"nullable":true}},"additionalProperties":false}},"components/schemas/TerminalMoveTypeDetail":{"id":"components/schemas/TerminalMoveTypeDetail","kind":"json-schema","title":"TerminalMoveTypeDetail","data":{"type":"object","properties":{"terminal_name":{"type":"string","description":"Terminal official name","nullable":true,"example":"HUSKY"},"terminal_cd":{"type":"string","description":"Unique code assigned to the terminal","nullable":true},"terminal_id":{"type":"string","description":"Unique GUID identifier for the terminal","nullable":true},"move_type":{"type":"string","description":"Appointment move type offered by the terminal (IP, MD, MP, XD, etc. Please refer to the table below.) \r\nIP Import Container Pickup,\r\nMD Drop Empty Container, \r\nMP Pickup Empty Container,\r\nXD Drop Export Container, \r\nXP Pickup Dray (Export) Container, \r\nID Drop Dray (Import) Container, \r\nBD Drop Bare Chassis,\r\nBP Pickup Bare Chassis","nullable":true},"appointment_type":{"type":"string","description":"Appointment type set for above move type (slot vs preadvice)","nullable":true,"example":"slot"}},"additionalProperties":false}},"components/schemas/TerminalMoveTypeModel":{"id":"components/schemas/TerminalMoveTypeModel","kind":"json-schema","title":"TerminalMoveTypeModel","data":{"type":"object","properties":{"terminals":{"type":"array","items":{"$ref":"#/components/schemas/TerminalMoveTypeDetail"},"nullable":true}},"additionalProperties":false}},"schema_34":{"kind":"json-schema","data":{"type":"string"},"id":"schema_34"},"schema_35":{"kind":"json-schema","data":{"type":"string","format":"uuid"},"id":"schema_35"},"schema_36":{"kind":"json-schema","data":{"type":"string","format":"date-time"},"id":"schema_36"}},"exampleStore":{},"securitySchemeStore":{"apikey":{"id":"apikey","type":"apiKey","in":"header","paramName":"X-API-KEY"}},"servers":[{"url":"/_mock/data-services/swagger","isMockServer":true,"description":"Mock server"},{"url":"/api","description":"Server"}]},"options":{"hideSidebar":true,"mockServer":{"url":"/_mock/data-services/swagger","position":"first","description":"Mock server"},"disableRouter":true,"downloadUrls":[{"url":"/_bundle/data-services/swagger.json?download"},{"url":"/_bundle/data-services/swagger.yaml?download"}],"excludeFromSearch":false,"specType":"openapi","markdocOptions":{"tags":{},"nodes":{},"components":{}},"metadata":{"title":"Data Services API","description":"This document outlines instructions for retrieving various datasets from the eModal lakehouse for various ports and terminals. The data is made available via REST API calls for the following datasets:\r\n- Information about the available terminals for the port.\r\n- Appointment availability information in a specific terminal.\r\n- Aggregated container dwell statistics in a specific terminal.\r\n- Appointment performance metrics for a specific terminal."}},"baseSlug":"/data-services/swagger","routesMapping":{}}