Service type is derived
A lane to a terminal is CY; a lane to a zone's doors is SD. It is read from the endpoints and never chosen from a list.
How it works
Five steps, one set of records. Each step starts from what the last one saved.
Step 1
Add the ports and cities you serve by UN/LOCODE, the terminals at each port, the shipping lines that call there, and the lanes between them.
Step 2
Price a lane or a spot move, add container lines and charges, and send it. A quote past its valid-until date is flagged, never silently expired.
Step 3
Convert an accepted quote to a booking. Its pending charges move with it, and container numbers are advised as they arrive.
Step 4
Dispatch works each container against the booking's lane and terminals, with gate hours and appointment systems on the record.
Step 5
By default each completed move bills on its own. Accounting raises the invoice and Communications delivers it.
Rules the app keeps
A lane to a terminal is CY; a lane to a zone's doors is SD. It is read from the endpoints and never chosen from a list.
Booking a quote re-parents its pending charges and records where they came from, so a retried conversion never doubles a line.
Once Accounting invoices a charge, the line belongs to the invoice. Editing the booking cannot change what was billed.
A demo walks through a quote, a booking and an invoice using ports and terminals you work with.