Five modules. One ledger. No spreadsheet on the side.
liverybook is dispatch, bookings, CRM, billing and a white-label customer portal that share one record of every ride. A quote in the CRM becomes a booking with legs, the legs appear on the run board, the completed leg becomes an invoice line, and the client sees all of it on your subdomain. Forty-eight tables, 231 API routes, one tenant per row.
- 01DispatchThe run board shows every trip for the day in 16 columns, updates over a WebSocket, and lets a dispatcher assign a driver or farm out a trip without leaving the row.
- 02BookingsA booking is the order; each leg is a trip with its own driver, vehicle, status and timezone. Recurring bookings, proposals and flight verification feed the same ledger.
- 03CRMLeads move across a pipeline board, proposals convert to bookings in one atomic step, and account health is recomputed nightly from the trips you actually ran.
- 04BillingRate lists by vehicle class, rate groups that rotate by season, billing accounts and groups, invoices that build themselves as legs complete, and card collection through Stripe.
- 05Customer portalYour clients book on your subdomain in your colours: a four-step wizard with guest checkout, round trips, multiple vehicles, seasonal rates, auto-confirm and loyalty points.
What every module shares.
One record of the ride
A booking with its legs is the record. Dispatch, the CRM, billing and the portal read and write the same rows; there is no sync, because there is nothing to sync.
Status machines, not free text
Seven booking statuses, eleven leg statuses, 25 allowed transitions. The run board, the API and the affiliate driver's link all go through the same check.
Per-leg timezones
Stored in UTC, displayed in the pickup location's zone, leg by leg. The manifest date follows the pickup's local date, not the server's.
Your own sending domain
Nine transactional templates go out through your Postmark or SendGrid account, with credentials encrypted at rest, so the confirmation comes from you.
Configurable lookups
Account types, service types, vehicle classes and the rest are tables you edit, not enums we ship.
A real API
Everything the app does is a REST call under /api/v1 with OpenAPI docs, API keys with scopes and outbound webhooks with retries.
Both themes, one app.

Looking for something specific? Start with dispatch, or read how operators switch.
Run your fleet by the book.
Thirty minutes. We load your rates and drivers and show you your day.
