None of this belongs on a quote form. A quote form carries what changes per quote — addresses, dates, vehicle, dates of hire. Everything here changes per deployment or per business line, and a value a booking clerk can retype per quote is not a rate, it is an override nobody reviewed.
The three tabs are the three scopes. Shared is what both engines depend on. B2B and B2C are two different engines on two different documents, so each owns its own rates and neither can move the other's.
A segment names the engine that prices it and the ruleset it prices on.
B2B is the cost-to-serve engine on this document, where a segment is a named set of
overrides on top of the shared values. B2C is a separate revenue-management engine on
config/ruleset_b2c.json: it starts at a rate card
and moves it between a cost floor and a market ceiling, so it cannot be expressed as an
override of a cost build-up and its override bag stays empty. Either way a segment that
cannot be priced here returns 409 from
/api/price rather than a number — a plausible
price nobody can distinguish from a real one is worse than an error. This page edits the B2B
ruleset only; the B2C coefficients are read from file at startup in the PoC.
Loading segments…
Marking a segment quotable is not a switch on this page on purpose. With no overrides behind it, a segment flipped on would quote the B2B coefficients under a consumer label. It is set in the JSON below, deliberately, once a model exists to put behind it.
Every rate, coefficient, vehicle class, duty profile, speed band and margin the
engine prices on. Saving validates the whole document, bumps the version and persists it —
the same path as PUT /api/config. Nothing here
changes code.
The fields above are the values that change most often; this is the same
document in full. The two stay in step — edit either one. Sections like
vehicle_classes,
congestion and
road_duty_profiles are only reachable here.
What the B2C quote form no longer asks for. Rate cards, cost book, demand sensitivity, market position and the guardrails are decisions somebody signs off once, so they live here and take effect on the next booking priced. Saving validates the whole document, bumps the version and persists it.
Capital and residual are the primitives for every product, so no two products can disagree about what the same vehicle is worth.
The same document in full. The tables above and this stay in step — edit either one. The month curve, the utilization ladder, the congestion zones, the tariff catalogues and the lead-time bands are only reachable here.