Dispatch & scheduling

Propose, accept, and schedule delivery appointments

A delivery appointment in Conterminal is a date and time window agreed between the drayage carrier and the receiving facility for one container. It can be set three ways: from the emailed link with no account, from the appointments queue inside Conterminal, or from the scheduling panel on the shipment itself.

7 minute read · Updated July 26, 2026

Warehouse workspaces have to reach the queue by URL.

The appointments page reads delivery_orders.warehouse_id and works for any workspace that is the receiving org, but the navigation entry for “Delivery Appointments” is shown only when the workspace variant is Importer (BCO) — in the sidebar, the command list, and the mobile bar. If you sign in to a warehouse workspace, bookmark /protected/appointments directly. Related gap: on a warehouse workspace the per-shipment scheduling panel is also suppressed on the container page, so the “Counter / details” and “Book / propose” links from the queue land on a page with no scheduling controls. Use the inline Accept button or the emailed link until that is fixed.

Who owns the schedule

Every receiving organization carries one stored preference that decides who names the delivery time. The carrier sets it per receiver under Operations → Scheduling → Settings, on the Receivers list. New receivers default to carrier-owned.

Trucker sets (carrier-owned)
The carrier records the delivery time directly on the shipment. Designated contacts at the receiver get an FYI email whose button reads “View in Conterminal.” Nothing is waiting on the receiver.
Warehouse sets (receiver-owned)
The carrier can only suggest. A pending proposal is written and contacts get an accept-request email whose button reads “Respond — no login needed.” The receiver accepts, counters, or declines.

The toggle is enforced server-side, not just in the interface. If a carrier tries to write a delivery time directly on a receiver-owned shipment, the action fails with “This receiver owns its delivery schedule — send a suggestion instead.” On the scheduling board card, the same case is narrated as “Delivery times go through Suggest” and the action button becomes Suggest time (or Re-suggest once one is outstanding).

Who receives the email

Only the receiver's designated scheduling contacts are mailed. They are managed on the same settings screen under Scheduling contacts. The scheduling board card shows the current list under Invited · accept request to or Invited · FYI to; when it is empty it says “No one at [receiver] is invited yet — add contacts.” No contacts means no email goes out at all, even though the proposal is still written and still shows in the app.

Setting a delivery appointment never books a terminal gate appointment. Those are separate. Where the pickup terminal has a published booking URL, the shipment's Setup Menu offers Open terminal appointment link and Copy terminal appointment link.

Responding from the email with no account

This is the path most receiving contacts actually use. The accept-request email contains a link unique to your address. It needs no login, no password, and no Conterminal account.

  1. Open the link. The page is headed Delivery appointment suggestion and shows the container number, the destination, who it came from, and the address it was sent to. The suggested slot is printed as a date and a window, with the carrier's note underneath if there was one.
  2. Accept. Select Accept this time. On success the card is replaced with “Confirmed — [date and window]. See you then.” and “You can close this page. A confirmation went to your carrier.”
  3. Or choose another response. Select Choose another response to reveal Suggest a different time and Decline appointment. Back to acceptance returns you to the first screen.
  4. Counter with a specific window. Suggest a different time asks for Date, a Time window typed as 08:00-12:00, and an optional Note. Both the date and the window are required. Submit with Send time suggestion; the confirmation reads “Counter sent — your carrier will confirm or reply.”
  5. Or decline. Decline appointment asks “Decline this appointment?” and warns “Your carrier will be notified that this time does not work.” Confirming returns “Declined — your carrier has been notified.”

The time window must be typed as two 24-hour clock times separated by a dash, with the end after the start. Anything else is rejected with “Pick a date and a window like 08:00-12:00 to counter.”

The link is single-use and expires.

Each link is minted for one recipient address, is consumed the moment you accept, counter, or decline, and stops working 14 days after it was sent. Revisiting a used link shows the outcome instead of buttons. An expired link shows “This link has expired” and tells you the suggested time may still be open. Do not forward the link to a colleague — it acts on this container for your company, and whoever opens it first spends it.

Responding inside Conterminal

Delivery Appointments is the receiver's front door. It is scoped to your active organization as the receiving party and covers inbound containers that have not yet been delivered or returned. It is split into three lists.

Needs your response
Pending suggestions from the other side. Accept works inline; “Counter / details” opens the shipment. Empty state: “Nothing waiting on you.”
Upcoming deliveries
Containers with a confirmed appointment dated today or later, newest date last. Empty state: “No confirmed appointments yet.”
Needs a delivery time
Containers with no appointment and no pending proposal, each with a “Book / propose” action. A separate chip counts anything “awaiting carrier.”

A proposal your own side raised does not appear under Needs your response — it is counted in the awaiting carrier chip instead. That is why a container you just countered on disappears from the top list rather than staying there.

The queue lists the containers where your organization is recorded as the receiving party. If a container you expect is missing, the receiving party on that shipment is a different organization — that is a data question for whoever created the delivery order, not a permissions setting you can change here.

Proposing or booking from a shipment

Open a container and find the Delivery Scheduling · Appointment Coordination panel. It shows the carrier, the destination site, and a badge with your role on this shipment: carrier, consignee, or coordinator. If your organization is none of those three on this delivery order, the panel does not render at all.

Propose a time

  1. Select Propose Time — it reads Reschedule once an appointment is already confirmed. The button is disabled when the site has no open day in the next two weeks.
  2. In Propose Delivery Time, pick a date on the calendar. Only dates with an open slot are selectable.
  3. Choose a slot under Available Slots. Each slot shows its window and how many are still open.
  4. Add Notes if useful — 280 characters maximum — and select Submit Proposal.

Book instead of propose

Booking skips the round trip: it writes and accepts in one step against published capacity. It appears only when the ownership preference and the published capacity line up.

Book Slot (receiver booking)
Shown to the receiving org when the schedule is carrier-owned and the carrier has published delivery windows. Books into the carrier's windows.
Book Open Slot (carrier booking)
Shown to the carrier when the schedule is receiver-owned and the destination site has enabled dock rules. Books into the receiver's dock slots.

If the window fills between the page loading and your click, the dialog answers “That window just filled up — pick another slot.” The database is the referee here, not the picker.

Responding to someone else's proposal

Each entry in Proposal History carries its own actions. A pending proposal from the other side offers Accept, Counter, and Reject. Your own pending proposal offers Cancel Proposal instead — you cannot accept your own. A coordinator can propose, counter, and reject but cannot accept on the carrier's or the receiver's behalf.

A shipment can hold exactly one pending proposal at a time. Countering supersedes the one you are replying to; proposing fresh while another is open fails with “Delivery order already has a pending scheduling proposal.” Cancel or answer the open one first.

When the site has no rules

If the shipment has no destination site linked, the panel shows Setup Required “Set the Deliver To site before scheduling.” If a site is linked but has no enabled rules, the panel shows Manual Customer Appointment and offers a plain form: Date, Time / Window (free text — 09:00-11:00 or AM are both accepted), Notes, then Record Appointment. A manually recorded appointment is labelled · Manual wherever it is displayed.

Publishing your dock rules

My delivery slots, at the bottom of the appointments page, is where a receiver publishes what carriers may book into. One card per active location.

  1. Confirm the location exists. If the section reads “No dock locations yet — one is created automatically the first time your carrier schedules a delivery here”, there is nothing to configure yet. The first scheduling action on one of your containers creates it.
  2. Set the receiving days. Toggle Mon through Sun. At least one day is required, otherwise the save fails with “Pick at least one operating day.”
  3. Set hours and slot length. From and To take clock times and the end must be after the start. Slot offers 30, 60, 90, or 120 minutes. Slots are generated end to end across the open hours, so 08:00–16:00 at 60 minutes gives eight slots.
  4. Set capacity. Trucks/slot is how many deliveries may overlap one window. It must be at least 1.
  5. Save. Select Save slots; Saved appears next to the button. Clear Accepting appointments to stop new bookings at that location entirely.

The seeded default is not a real dock schedule.

When a location is created automatically it is seeded wide open — every day, 00:00 to 23:59, 99 trucks per slot — so scheduling records rather than constrains. That is a placeholder, not a configuration. Until you tighten it, a carrier can book any hour of any day. The editor helps by pre-filling Mon–Fri, 08:00–16:00, 60-minute slots and 2 trucks per slot the first time you open a location still on the 99 default.

Verifying a booking took effect

  1. On the shipment, the panel should show the green Confirmed Appointment banner with the date and window. Pending Proposal means it is still waiting on the other side.
  2. On Delivery Appointments, the container should have moved out of Needs your response or Needs a delivery time and into Upcoming deliveries with a green date chip.
  3. In Proposal History, the entry should read accepted. A superseded entry is normal — it is the proposal your counter replaced.
  4. If you answered from the emailed link, reopen it. It should now state Confirmed: [date and window] along with the current appointment on the container.

A pending suggestion from the carrier does not reserve dock capacity. Only an accepted appointment, or a pending proposal raised by the receiving side that has not yet timed out, counts against the trucks-per-slot limit. Two carriers can therefore both be looking at the same open slot until one of them is accepted.

Troubleshooting

The buttons on the emailed link are gone

The suggestion has already been answered or replaced. The page shows the outcome instead: confirmed with the agreed time, declined, or “A different time was proposed afterward — check the latest email.” Acting on it again returns “This link was already used.” or “This suggestion was already resolved — refresh to see the outcome.”

The link says it is not valid or has expired

Links stop working 14 days after they are sent, and a revoked or mistyped one is not recognized at all. Ask the carrier to re-send the suggestion; the slot itself may still be open.

The scheduling panel is missing on a shipment

The panel renders only for organizations recorded on that delivery order as the carrier, the consignee (receiving party), or the coordinator. It is also suppressed for warehouse workspaces. If you are none of those, the same actions are still available from the appointments queue or the emailed link.

The appointments queue is empty

The queue lists containers where your active organization is the receiving party, and only while they are undelivered and unreturned. If the receiving party on those orders is a different organization, nothing will show — check the shipment record rather than your permissions.

There is no “Delivery Appointments” item in the nav

The nav entry is shown only for Importer (BCO) workspaces. The page itself works for any receiving workspace, so go to /protected/appointments directly and bookmark it.

A proposal is rejected as outside the schedule

“Selected date is outside operating days” and “Selected time is outside operating hours” both come from the destination site's dock rules. Widen the days or hours under My delivery slots, or pick a slot the picker already offers.

The slot filled up while you were responding

Accepting returns “That slot just filled up — suggest a different time below or contact your carrier,” and booking returns “That window just filled up — pick another slot.” Capacity is settled at write time, so pick another window and resubmit.

A carrier cannot set the delivery time directly

“This receiver owns its delivery schedule — send a suggestion instead.” means that receiver is set to Warehouse sets. Use Suggest time on the scheduling board, or change the ownership toggle in Operations → Scheduling → Settings.

The suggestion was sent but nobody was emailed

Only designated scheduling contacts are mailed. If the receiver has none, the proposal is still recorded and visible in the app but no email leaves. Add contacts under Scheduling settings and re-suggest.