Lets carriers book dock slots against inbound orders and dock capacity, checks trucks in at the gate, re-slots late arrivals and posts the goods receipt from the dock.
Today carriers phone the warehouse for a slot, the dock planner keeps the calendar in a spreadsheet, and trucks that arrive late wait in the yard until a dock frees up. The receiving team posts receipts at the end of the shift from paper delivery notes.
The app reads the purchase order lines with a supplier-confirmed date in the coming days and the outbound deliveries with a planned goods issue, and offers carriers the free slots on the portal screen, sized by the dock capacity in pallets per hour. The dock planner confirms or moves bookings on a calendar, and the gate checks each truck in on a mobile screen against its slot; a truck more than 30 minutes late goes to the next free slot. The receiving team counts on the dock and posts the goods receipt against the order line from the same mobile screen, and the carrier and the supplier see the receipt on the portal within a minute.
| Lane | Does |
|---|---|
| Carrier | books a slot on the portal screen for an order or delivery, gives truck and driver details, updates the arrival time |
| Dock planner | sets dock capacity, confirms and moves bookings, handles late arrivals |
| Gate | checks trucks in on the mobile screen and sends them to a dock or the yard |
| Receiving team | unloads, counts and posts the goods receipt from the dock |
Every screen renders for desktop and mobile; portal screens are the same screens delivered to an outside login.
| Screen | What is on it |
|---|---|
| S01 Carrier booking | portal screen: order or delivery number, pallets, truck type, driver and plate; free slots for the week by dock; submit |
| S02 Dock calendar | docks by hour with booked and free slots, capacity in pallets per hour, trucks in the yard; drag to move; confirm and refuse buttons |
| S03 Booking detail | order lines expected with quantities, supplier, carrier, driver, truck; documents; confirm, move, refuse with reason |
| S04 Gate check-in | mobile screen: plate number, arrival time against the slot, dock assigned or yard position, waiting time |
| S05 Receiving | mobile screen: lines on the order, counted quantity, batch, damage note, photos; post goods receipt button; material document number returned |
| S06 Board | slots used per dock per day, trucks arrived within 30 minutes of the slot, waiting time at the gate, receipts posted within 2 hours of unloading |
The first object is the main one; each system page shows the real table or resource behind every handler.
| Object | Why the app reads it | See it on |
|---|---|---|
| Purchase order line | inbound order lines: confirmed date, open quantity, supplier, plant | S/4HANA · Oracle Fusion · Snowflake · Databricks |
| Delivery | outbound deliveries with planned goods issue, carrier and route, for the outbound docks | S/4HANA · Oracle Fusion · Snowflake · Databricks |
| Goods receipt | receipts posted against the order lines from the dock | S/4HANA · Oracle Fusion · Snowflake · Databricks |
| Supplier master | supplier contacts and their carriers | S/4HANA · Oracle Fusion · Snowflake · Databricks |
| Object | What changes |
|---|---|
| Goods receipt | goods receipt posted against the order line from the receiving screen, with counted quantity and batch; material document number stored |
| Purchase order line | shipping notification confirmation with the booked arrival date added to the order line |
Start: An open order line with a supplier-confirmed date within the next 5 days, or an outbound delivery with a planned goods issue within 2 days; the carrier books a slot against it on the portal screen.
# start criterion, in canonical fields; each system page shows it in that system's fields
{po.confirmed_date} <= today + 5 and {po.received_qty} < {po.qty}| Step | Moves when |
|---|---|
| Slot requested | carrier picks a free slot for the order; pallets within the slot's capacity |
| Slot confirmed | dock planner confirms, or the app confirms by rule when the dock has capacity and the supplier is known |
| Truck arrived | gate check-in within 30 minutes of the slot keeps the dock; later than 30 minutes moves the truck to the next free slot and informs the planner |
| Unloaded | dock assigned; unloading start and end recorded; damage noted |
| Receipt posted | goods receipt created against the order line; material document number stored; carrier and supplier see it on the portal; booking closed |
| Component | Trigger → action → outcome |
|---|---|
| cal_slots | on load → read order lines with a confirmed date in the week and the bookings taken → show free capacity per dock and hour on S01 and S02 |
| btn_book | on click → check the pallets against the free capacity of the slot → create the booking, send the confirmation and gate instructions to the carrier |
| btn_checkin | on tap → compare the arrival time with the slot → assign the dock, or move the truck to the next free slot and notify the planner |
| btn_post_gr | on tap → call the goods movement interface with the counted quantities and batch → store the material document number, close the booking, refresh S06 |
| Step | Time limit and escalation |
|---|---|
| Booking confirmation | 4 working hours, then the dock planner is reminded and the slot is held for the carrier |
| Arrival | 30 minutes after the slot start, then the truck is re-slotted and the planner informed |
| Receipt posting | 2 hours after unloading, then the receiving lead is reminded |
Names, places and figures are illustrative; the pattern is the catalogue's.
At 06:30 the dock calendar for the Łódź warehouse showed 42 bookings across 6 docks for the day. A carrier for the packaging supplier had booked 08:00 the evening before; its truck checked in at 08:41, so the app moved it to 09:30 and gave dock 4 to the next truck in the yard. Marek, the dock planner, saw the change on the calendar, and the receiving team posted 38 receipts before 14:00 from the dock screens. The supplier saw each receipt on the portal within a minute, and the board showed 91 percent of trucks inside their slot that week.
The objects with their real names, the criteria in that system's fields, the write interface and what to set up first.
Purchase order line read from EKKO · EKPO · EKET · EKBE; also on SAP ECC.
Open the S/4HANA page →Purchase order line read from Procurement REST: purchaseOrders · lines · schedules; also on Oracle E-Business Suite.
Open the Oracle Fusion page →Purchase order line read from CONFORMED.PURCHASE_ORDER_LINE · HISTORY.PO_LINE_VERSIONS; lakehouse.
Open the Snowflake page →Purchase order line read from silver.purchase_order_line · gold.po_line_versions; lakehouse.
Open the Databricks page →Other systems connect through the same handlers; see how SmartApps connect.
About 30 minutes to a first running screen on your live rows, and 6 working days to the production-grade version described here, most of it spent agreeing screens and criteria with the process owner.
Any of SAP S/4HANA, Oracle Fusion Cloud, Snowflake, Databricks, with the objects read in place; the pages above show the objects and the write path for each. Two systems at once is one handler per object per system.
Roles on portal screens see only the rows the access policy allows, and their steps are logged like everyone else's.
Every step, value, decision, notification and write-back acknowledgement of every instance, with the version of the app, append-only.
Bring the process and the systems it touches. In the first session we register the data handlers, draw the levels or the lanes and run the first screen on your live rows.