Tidemark Logistics — product requirements
Tidemark Logistics is a freight shipment console. Dispatchers sign in, browse and search shipments with status tabs and exception flags, open a detail page (route map, hub-local timeline, parcel weights, customs documents), cancel shipments, book new ones through a four-step wizard with service quotes and optional insurance, and print a shipping label. The console clock is fixed at 19 Oct 2026.
Problem. Dispatchers need to trust the tracking data they act on: which shipments are late or held, what a parcel is charged for, and what a booking will cost.
Users
- Dispatcher — Find a shipment fast, see whether it is late or held and resolve customs holds.
- Shipper — Book a shipment and know the price, ETA and insurance before confirming.
- Integration client — Sign in with a service key instead of a person.
Goals
- Weights, dimensional weight and prices are computed with one documented formula.
- Exceptions and Late flags appear only when they are actually open.
- The timeline always reads newest first, in each hub's local time.
- A booking cannot be made with invalid parties, parcels or insurance values.
Out of scope
- Real carrier integrations
- Payments
- Printing hardware
Contents
Sign-in
Email and password, or an API key.
- Heading "Sign in to Tidemark" with Email, Password and Sign in
- Sidebar shows "Mara Ellison" and "Dispatcher"
- "Email or password is incorrect"
- "Enter your work email and password"
- "That API key was not recognised"
- Valid key: sidebar shows "API client" and "Service key"
Shipments list
Tabs, search, sort and pagination over 30 seeded shipments.
- All 30, Booked 3, In transit 12, At customs 3, Out for delivery 3, Delivered 7, Cancelled 2, Exceptions 6
- "Page 1 of 3"; columns Tracking, Route, Service, Status, ETA, Weight; first row TMK-480601 (ETA 13 Oct 2026)
- Delivered: seven rows, all "Delivered", one page
- Cancelled: TMK-480466 and TMK-480656
- TMK-480377, TMK-480444, TMK-480523, TMK-480589, TMK-480623, TMK-480678
- TMK-480377 flag: "Held at customs: Commercial invoice missing"
- "480377" returns only TMK-480377 (At customs)
- "oakmere" returns TMK-480477 and TMK-480612 (Oakmere Stores)
- "zzz-none": "No shipments match your search"; clearing the box restores ten rows
- Ascending first row TMK-480601 (13 Oct 2026)
- Descending first row TMK-480433 (30 Oct 2026)
- TMK-480444 (ETA 17 Oct) is Late
- TMK-480589 (ETA 19 Oct, due today) is not Late
Shipment detail
Summary, route map and timeline.
- TMK-480411: In transit, Standard, ETA 21 Oct 2026, Keiran to Brannhaven
- Hubs in order KEI, QIN, SUN, HAL, ZEN, TAV, MRS, KLM, BRH; marker between ZEN and TAV
- TMK-480411 first entry "Departed Zenith Dry Port" (16 Oct), last "Shipment booked" (11 Oct)
- "Departed Zenith Dry Port": 16 Oct, 14:00 UTC+03:00
- "Shipment booked": 11 Oct, 15:00 UTC+09:00
Weights
kg/lb display and dimensional charging.
- TMK-480411 kg: 12.5, 8.0, 2.4; total 22.9
- lb: 27.6, 17.6, 5.3; total 50.5
- 60x40x30 = 14.4 kg; 70x70x25 = 24.5 kg; 100x50x40 = 40.0 kg
- Chargeable weight 78.9 kg; volumetric parcels tagged "Volumetric"
Customs documents and exceptions
Checklist, holds and exception lifecycle.
- TMK-480377: "2 of 3 required documents received"; Commercial invoice unchecked, Packing list and Certificate of origin checked, Dangerous goods declaration (optional) unchecked
- Banner "Held at customs: Commercial invoice missing"
- "3 of 3 required documents received"; banner gone
- Newest timeline entry "Customs documents received, clearance resumed"
- Exceptions tab shows five rows
- TMK-480211: Delivered, no banner, timeline still lists "Delayed: Storm closed the berth for 14 hours"
- Exceptions tab shows six rows without TMK-480211
- Checkboxes disabled; "Documents are locked once a shipment is delivered"
Cancellation
Cancel a shipment that has not been delivered.
- Dialog with "Keep shipment" and "Yes, cancel shipment"
- Status "Cancelled"; newest entry "Shipment cancelled by shipper"; Cancel button gone
- TMK-480305: tabs Cancelled 3, In transit 11
New shipment wizard
Four steps: sender, recipient, parcels, service.
- Sender Brannhaven Port to recipient Halvard Terminal, one 5 kg 40x30x20 cm parcel, Standard
- TMK-480901: Booked, route BRH, KLM, MRS, TAV, ZEN, HAL, ETA 23 Oct 2026, one entry "Shipment booked"
- List shows All 31, Booked 4
- "Sender: name must be 2 to 60 characters"
- "Sender: street address is required"
- "Origin and destination hubs must differ"; no shipment created
- 70 kg accepted
- 71 kg: "Parcel 1: weight exceeds the 70 kg limit"
- 35 kg parcel: Economy disabled with "Parcel 1 is over 30 kg; Economy accepts up to 30 kg per parcel"; Standard and Express selectable
Quotes and insurance
Price per service with fuel surcharge and optional insurance.
- 5 kg 40x30x20 cm: Economy ETA 26 Oct, Standard 23 Oct, Express 21 Oct 2026
- Standard: Freight $36.00, Fuel surcharge (8%) $2.88, Total $38.88
- Declared value 1500: insurance $22.50
- Totals Economy $48.42, Standard $61.38, Express $88.38
- 60000 and 0: "Declared value must be between $1 and $50,000"
- 50000 accepted; insurance row $750.00
Shipping label
Printable label for a shipment.
- TMK-480411: "KEI > BRH", Standard, 3 parcels, 22.9 kg (50.5 lb), ETA 21 Oct 2026
- Barcode number 9248041103
Non-functional requirements
- After cancelling TMK-480305 and resetting: All 30 and TMK-480305 In transit
Glossary and rules
| Chargeable weight | Per parcel, the greater of actual weight and dimensional weight; summed for the shipment. |
|---|---|
| Dimensional weight | Length x width x height in cm divided by 5000, in kg. |
| Exception | An open problem on an undelivered shipment, such as a customs hold. |