Gate Operations
Gate Operations in Opendock enables facilities to streamline the carrier check-in process through self-service mobile capabilities. When carriers arrive at your facility, they can scan a QR code with their mobile device, input required information, and complete the check-in process — all without manual intervention from gate personnel.
Understanding Gate Management
The Gate Management system sits between dock scheduling and yard management, providing a bridge that handles both planned and unplanned arrivals. This independence from the traditional dock scheduling system offers flexibility in managing diverse arrival scenarios.
Check-in Process
When a driver arrives at your facility and initiates check-in:
- QR Code Scan: The driver scans a location-specific QR code displayed at the gate
- Information Input: The driver provides required information through a mobile-optimized interface
- Link Detection: The system attempts to link the check-in to an existing appointment using reference numbers or confirmation numbers
- Asset Visit Creation: An Asset Visit record is created, capturing the arrival details
Planned vs. Unplanned Arrivals
The check-in process supports two scenarios:
- Planned Arrival: If the driver provides a valid reference number or confirmation number that matches an existing appointment, the check-in is linked to that appointment via the
appointmentIdfield. - Unplanned Arrival: If no matching appointment is found, the system creates a standalone Asset Visit record, capturing the arrival as an unplanned visit.
Asset Visit data is stored independently from appointment records, even when linked. This separation ensures yard management operations can function independently while maintaining optional connections to the scheduling system.
Asset Visits
An Asset Visit represents a physical arrival at your facility and serves as the core entity for gate operations. Each visit can have:
- Basic Information: License plate, DOT number, driver phone, company details
- Visit Type: One of
Live,Drop,PickUp,DropHook, orUnknown - Events: A timeline of events such as
NotArrived,Arrived,Docked,Departed,Canceled,Attached,Detached,AppointmentLinked, andAppointmentUnlinked - Containers: Associated asset containers that can be attached or detached during the visit
- Custom Form Data: Additional fields configured for your facility's specific needs
Common API Operations
Listing Asset Visits
Retrieve asset visits along with their associated containers and events.
API Endpoint:
GET /asset-visit?join[]=assetContainers&join[]=assetVisitEvents
Example Response:
{
"data": [
{
"id": "e594240e-9882-43fa-a206-77dc0b60cef0",
"createDateTime": "2024-10-29T17:41:03.348Z",
"warehouseId": "746a7b37-9592-45db-8a58-656c7727603d",
"appointmentId": "80862efd-ac23-49e0-a307-d493bd0e2de7",
"secondaryAppointmentId": null,
"licensePlate": "ABC123",
"dotNumber": "1212",
"companyId": null,
"phone": "+12485056144",
"isPlanned": false,
"companyHint": "Opendock",
"driverNotes": null,
"driverAppointmentIdentifier": null,
"visitType": "PickUp",
"checkInAcknowledged": true,
"assetContainers": [],
"assetVisitEvents": [
{
"id": "4fa1c49b-4dfe-4a9d-95bc-e1cae7040d17",
"createDateTime": "2024-10-29T17:41:03.362Z",
"assetContainerId": null,
"eventType": "Arrived"
},
{
"id": "138405b9-16af-41c0-8e06-03e5074438f6",
"createDateTime": "2024-10-29T17:53:11.955Z",
"assetContainerId": null,
"eventType": "Docked"
},
{
"id": "4e12b26f-a185-4ed3-8c5e-61e4b5edd5f4",
"createDateTime": "2025-02-20T22:07:38.558Z",
"assetContainerId": "d47c4497-2b58-40a3-96e3-43faaa886092",
"eventType": "Detached"
},
{
"id": "5094127e-ca5a-4448-9de8-e22af0c29329",
"createDateTime": "2025-05-13T17:14:31.322Z",
"assetContainerId": "d47c4497-2b58-40a3-96e3-43faaa886092",
"eventType": "Attached"
},
{
"id": "0cf4d494-dc70-41e7-b132-34c35901d3a2",
"createDateTime": "2025-05-13T17:14:57.613Z",
"assetContainerId": "d47c4497-2b58-40a3-96e3-43faaa886092",
"eventType": "Detached"
},
{
"id": "dbb66854-49a8-4588-af0d-f891857b11aa",
"createDateTime": "2025-05-13T17:14:58.377Z",
"assetContainerId": null,
"eventType": "Departed"
}
]
}
],
"entity": "AssetVisit",
"action": "read",
"count": 1,
"total": 1,
"page": 1,
"pageCount": 1
}
Filtering Asset Visits
You can use the search parameter (s) to filter asset visits based on various criteria. For more information about search syntax, see our Sorting and Filtering guide.
Common Search Parameters:
appointmentId: Filter to asset visits linked to a specific appointmentwarehouseId: Filter to arrivals at a specific warehouse locationcreateDateTime: Filter by arrival time using$gt(greater than) and$lt(less than) operatorsisActive: Filter active vs. soft-deleted recordsisPlanned: Distinguish between planned and unplanned arrivalsvisitType: Filter by visit type (e.g., "PickUp", "DropOff")
Example: Get arrivals within a specific time window
GET /asset-visit?join[]=assetContainers&join[]=assetVisitEvents&s={"isActive":true,"warehouseId":"746a7b37-9592-45db-8a58-656c7727603d","createDateTime":{"$gt":"2024-10-01T00:00:00.000Z","$lt":"2024-10-31T23:59:59.999Z"}}
This query returns all active asset visits for a specific warehouse that arrived during October 2024.
Example: Get asset visit linked to an appointment
GET /asset-visit?join[]=assetContainers&join[]=assetVisitEvents&s={"appointmentId":"80862efd-ac23-49e0-a307-d493bd0e2de7"}
This query retrieves the asset visit associated with a specific appointment, useful for connecting dock scheduling data with gate operations.
Example: Get unplanned arrivals
GET /asset-visit?join[]=assetContainers&join[]=assetVisitEvents&s={"isPlanned":false,"warehouseId":"746a7b37-9592-45db-8a58-656c7727603d"}
This query returns all unplanned arrivals (walk-ins) for a specific warehouse.
Retrieving Custom Form Data
Asset visits can have custom fields attached to capture additional information during the check-in process, such as driver's license photos, seal numbers, or facility-specific identifiers. This data is stored separately from the core Asset Visit record.
API Endpoint:
GET /custom-forms/form-data?s={"objectId":"{assetVisitId}"}
Example Request:
GET /custom-forms/form-data?s={"objectId":"e594240e-9882-43fa-a206-77dc0b60cef0"}
Example Response:
{
"data": [
{
"id": "63a2aab8-44d9-43b7-98b8-c81f6b455637",
"createDateTime": "2024-10-29T17:41:03.381Z",
"lastChangedDateTime": "2024-10-29T17:41:03.381Z",
"objectId": "e594240e-9882-43fa-a206-77dc0b60cef0",
"entityName": "assetvisit",
"label": "Container Number",
"value": 123123,
"type": "int",
"triggerId": "dee1bb68-d30b-4c61-9752-51e75a3159e7",
"formField": null
},
{
"id": "d169d00a-3993-4ca8-ba83-6d1a76c90a3a",
"createDateTime": "2024-10-29T17:41:03.381Z",
"lastChangedDateTime": "2024-10-29T17:41:03.381Z",
"objectId": "e594240e-9882-43fa-a206-77dc0b60cef0",
"entityName": "assetvisit",
"label": "Vendor",
"value": [
"Central Asia"
],
"type": "dropdownmultiselect",
"triggerId": "dee1bb68-d30b-4c61-9752-51e75a3159e7",
"formField": null
}
],
"entity": "CustomFormData",
"action": "read",
"count": 2,
"total": 2,
"page": 1,
"pageCount": 1
}
To get a complete picture of a gate check-in, you'll typically need to make two API calls: one to retrieve the Asset Visit record (with events and containers), and another to retrieve any associated custom form data. This separation allows for flexible data modeling and efficient queries.
Understanding Asset Visit Events
Asset Visit Events provide a chronological timeline of what happens during a visit. Event types include:
- NotArrived: The container is expected to arrive but hasn't yet, for example, within the appointment perspective
- Arrived: The carrier has checked in at the gate
- Docked: The trailer has been assigned to a dock door
- Departed: The carrier has left the facility
- Canceled: The visit has been canceled
- Attached: A container has been attached to the trailer
- Detached: A container has been detached from the trailer
- AppointmentLinked: The visit has been linked to an appointment
- AppointmentUnlinked: The visit has been unlinked from an appointment
Each event includes:
- Timestamp (
createDateTime) - Event type (
eventType) - Associated container reference (
assetContainerId), when applicable
These events help facilities track the complete lifecycle of a visit and provide visibility into yard operations.
Integration Workflow
A typical integration workflow for gate operations might include:
- Poll for New Arrivals: Periodically query for new asset visits using the
createDateTimefilter - Retrieve Visit Details: For each new visit, get the complete information including events and containers
- Fetch Custom Data: If your facility collects custom form data, retrieve it using the asset visit ID
- Link to Appointments: Use the
appointmentIdfield to connect gate operations with your dock scheduling system - Process Updates: Monitor asset visit events to track progress through your facility
Need more help?
For more information about setting up custom forms for gate check-in, see our Creating a Load Type Form guide.
Check out our Warehouses API Reference for complete documentation of all available endpoints.
Please reach out to our support team to get help with any questions, or join our API Slack Workspace.