REST Enabled Dock Scheduling Actions
This feature provides the first set of REST Service enabled Actions. The initial set of REST Service Enabled Actions are focused on supporting the evaluation of options and the setting of Dock Appointments by external applications. The Dock Appointment REST enable Actions are provided to support the requirements of the Scheduling Standards Consortium (SSC) which was formed to simplify the integration of systems between shippers, carriers and intermediaries with the goal of creating a more efficient appointment scheduling process.
The provided REST enabled Actions include the following:
- Appointment Options
- Schedule An Appointment
- Remove Appointment
You can use these REST Enabled actions to:
- Request the available appointment options using the Appointment Options Request
- Review and select from options provided in the Appointment Options Response and then Schedule An Appointment using the information provided in the Appointment Options Response
- Remove a scheduled appointment with Remove Appointment - to either simply remove the appointment, or as the first step in the process of modifying the appointment by removing the appointment and then re-running Appointment Options and the Schedule An Appointment APIs.
Appointment Options
The Appointments Options API is equivalent to the UI Action - Schedule Appointment.
The Request Input and Response Output are described below. Note that the API provides options for identifying your Shipment either by Shipment GID or Shipment Qualifier Value and the Shipment Stop using either Stop Number or Location ID.
Appointment Options Request
Name | Type | Description | Optional | Comments |
---|---|---|---|---|
Shipment Gid | String | Yes |
Request should come from either Shipment Gid or Shipment qualifier and value. |
|
Shipment Refnum Qualifier Gid | String | Yes but mandatory when refnum value is provided | ||
Shipment Refnum Value | String | Yes but mandatory when qualifier is provided | ||
Stop Number | Integer | Yes |
Request should contain either Stop Number or Location Gid. |
|
Location Gid | String | Yes | ||
Start Time | String | Yes |
If value is null then shipment estimated arrival time will be used. |
|
End Time | String | Yes | ||
Number of Options | Integer | Yes | ||
Sub Options | Boolean | Yes | Returns the options from all resources available at that particular start time. This is similar to View Group Resources Action from UI |
Appointment Options Response
Name | Description | |
---|---|---|
AppointmentOptionsResponse |
||
Options Count |
Number of Options returns by the API | |
appointmentOptionsList |
Appointment Options | |
Name | Type | |
Appointment Start Time | Date Time Stamp | |
Appointment End Time | Date Time Stamp | |
Feasibility | Boolean | |
Preference Level | Integer | |
Infeasibility Codes | Collection (List) | |
Location Resource Name | String | |
Location Group Name | String | |
Name | Type | |
AppointmentResponseStatus | isSuccess | Boolean |
statusMessage | String |
Appointment Options Response example, in this example the Number of Options in the Appointment Options Request was set to 2.
Appointment Options List 2 Responses
Schedule Full Appointment
Request
Name | Description | Optional | Comments |
---|---|---|---|
objectType | object type - SHIPMENT | Default value is SHIPMENT | |
objectGid | Shipment Id | Yes | Must include either Shipment Gid or/Value |
shipRefnumQualGid | Shipment Reference number Qualifier Gid | Yes but mandatory when refnum value is provided | Must include either objectGid or shipRefnumQual/Value |
shipRefnumValue | Shipment Reference number Value | Yes but mandatory when qualifier is provided |
Must include either objectGid or shipRefnumQual/Value |
stopNumber | stop number of a location for which appointment will be booked | Yes |
Must include either stopNumber or locationGid. |
locationGid | location of a shipment for which appointment will be booked | Yes | |
startTime | appointment start time | Yes | Format should be yyyy-MM-DD HH:mm:ss |
endTime | appointment end time | Yes | Format should be yyyy-MM-DD HH:mm:ss |
resourceGidFromPrimaryResourceType | location resource gid for primary resource type | Yes |
Door at which user want to book an appointment. |
resourceGidsFromSecondaryResourceTypes | location resource gids for secondary resource type | Yes |
Use this when there is multiple resource type for a the case where you want to schedule an appointment for Door, worker and slot timing etc. |
locationResourceGroupGid | Location Resource Group | Yes |
When multiple doors are associated with location resource group - to find best door then just pass location resource group with start and end time. |
Response
Name | Description | Comments | ||
---|---|---|---|---|
ScheduleAppointmentResponse | ||||
AppointmentResult | ||||
Name | Type | Description | Comments | |
List of booked appointments |
Appointment Gid | String | ||
Confirmation Number | String | |||
Pickup Appointment | Date Time Stamp | |||
Delivery Appointment | Date Time Stamp | |||
Appointment start time | Date Time Stamp | |||
Appointment end time | Date Time Stamp | |||
Appointment Duration | Duration (in secs) | |||
Resource Type Gid | String | |||
Location Resource Name | String | |||
Location Resource Gid | String | |||
Stop Number | String | |||
Name | Type | Description | Comments | |
AppointmentResponseStatus |
isSuccess | Boolean | ||
statusMessage | String |
Remove Appointment
This Remove Appointment API is used to remove Appointments and it returns a status message indicating whether the Appointment was deleted.
API - removeAppointment(AppointmentRequestParameters requestParams)
Request
Name | Description | Optional | Comments |
---|---|---|---|
appointmentGid | Appointment ID that should be removed | Yes | Pass either only Appointment ID or a valid combination of the Other parameters |
objectType | object type - SHIPMENT or SHIPMENT GROUP | Default value is SHIPMENT if user doesn't pass this. | |
objectGid | Shipment Id | Yes | With objectGid either stopNumber or locationGid is mandatory to pass |
stopNumber | stop number of a location at which appointment should be removed | Yes |
Request should come either from Stop Number or Location Gid. |
locationGid | location for shipment at which appointment should be removed | Yes | |
shipRefnumQualGid | Shipment Reference number Qualifier Gid | Yes but mandatory when refnum value is provided | Either stopNumber or locationGid is mandatory to pass |
shipRefnumValue | Shipment Reference number Value | Yes but mandatory when qualifier is provided | Either stopNumber or locationGid is mandatory to pass |
Response
Name | Description | |
---|---|---|
RemoveAppointmentResponse | ||
Name | Type | |
AppointmentResponseStatus |
isSuccess | Boolean |
statusMessage | String |
Example of a successful remove appointment response.
Business Benefit
This feature extends the Dock Appointment scheduling capabilities to external solutions allowing for a more collaborative and holistic appointment setting community model to exist. The provided functionality is designed to support the requirements of the Scheduling Standards Consortium (SSC) which was formed to simplify the integration of systems across the fragmented ecosystem between shippers, carriers and intermediaries and create a more efficient appointment scheduling process.
Steps to Enable
You don't need to do anything to enable this feature.
Tips And Considerations
NOTE: Currently API added to support SHIPMENT object type only.