Reference implementation · cases 03 to 07
Five more situations. The same instrument in all of them.
Each exhibit proves one mechanism, in one place, under one named pressure, and each refuses at least one option. Three are the historical system in its own interface; two are the advanced PoC in ours. The stamp on every mount says which, because a reconstruction of something that ran and a prototype of something proposed are different promises and must never be confused.
Case 03 · policy as a number
Tallinn, old town edge. The authority chooses, and sees the price.
Escala de politica
| valor | etiqueta |
|---|---|
| 3 | Preferencia alta |
| 1 | Preferencia media |
| 0 | Preferencia neutra |
| -1 | Preferencia baja |
| -3 | Preferentemente No Usar |
| N | Evitar siempre que sea posible |
Politica por punto
| punto | transbordo |
|---|---|
| Viru gate | NT · no permite |
| Balti jaam | CT · centro salida |
| Rotermann | LO · locales |
| Kadriorg | FO · foraneos |
| Vabaduse | DIN · base dinamica |
| Toompea | NP · no es punto pickup |
Escenarios comparados
| peso | A | B |
|---|---|---|
| valor_puntualidad | 9 | 5 |
| valor_politicas | 3 | 9 |
| valor_ocupacion | 5 | 8 |
| valor_ahorro_unidades | 4 | 7 |
Coste registrado: 13 puntos de puntualidad.
Case 03 · Tallinn old town edge · access window 07:30–09:30 · policy as a number
Source: POLITICA_CHOICES +3 to N, POLITICA_TRANSBORDOS_CHOICES CT DIN FO LO NT NP, valor_politicas, valor_puntualidad, valor_ocupacion, valor_ahorro_unidades
The policy scale is not a switch. It runs from +3 to −5, and it is asymmetric on purpose: the penalty for an option we want avoided is heavier than the reward for one we prefer. That is how a city reasons about restriction, and it was in the constants a decade ago.
Every point carries its own transfer policy, including one that is not a pickup point at all. Toompea is refused, and the refusal is a policy value rather than an omission.
Two weightings are scored side by side and the authority takes B. Punctuality falls from 0.91 to 0.78. The cost is recorded next to the choice, because the decision has to survive being asked about in public, and a decision whose price was never written down cannot.
Case 04 · extra-capacity estimation
Barcelona, UPC. Not «insufficient capacity», but how much and from where.
Estimacion por destino
| destino | pax_actuales | prom_hora | prom_total | estimados |
|---|---|---|---|---|
| UPC Nord | 180 | 240 | 620 | 465 |
| Diagonal | 96 | 160 | 410 | 246 |
| Sants | 54 | 150 | 300 | 108 |
FRANJAS_ESTIMACION_RENTAS = 60min
Unidades requeridas por tipo
| tipo_unidad | plazas | ocupacion | unidades | origen |
|---|---|---|---|---|
| Autobus | 55 | 0.85 | 3 | refuerzo PT |
| Lanzadera | 28 | 0.80 | 4 | flota socia |
| Taxi/VTC | 6 | 0.75 | 5 | pool taxi |
| Minibus 19 | 19 | 0.80 | — | no disponible en franja |
Case 04 · Barcelona UPC · event surge · extra-capacity estimation
Source: estimar_rentas, pax_estimados_x_destinos, pax_promedio_hora, pax_promedio_totales, porcentaje_ocupacion_destino, tipo_unidad.plazas, num_unidades_x_escenarios, FRANJAS_ESTIMACION_RENTAS
Current demand is measured against the historical curve for that hour and destination, and the projection is turned into vehicles: three buses, four shuttles, five taxis, each sized by its own capacity and expected occupancy.
One vehicle type is refused. The nineteen-seat minibus would fit the arithmetic and is not available in the window, so it does not appear in the plan. A capacity estimate that ignores availability is a wish.
The output is not a warning. It is an instruction an events department can act on before the peak arrives, which is the difference between a dashboard that reports a problem and a system that hands you its solution in units.
Case 05 · the add-on boundary
Industrial park, shift change. Their console keeps the record.
Read from the incumbent
| process | object | rows | state |
|---|---|---|---|
| import_geotab_unidades | vehicles | 64 | ok |
| import_geotab_zonas | geofences | 18 | ok |
| import_sox_reservas | bookings | 411 | ok |
| import_sox_pasajeros | executed | 388 | ok |
| import_operadores | drivers | — | not exposed by incumbent |
Written back
| table | field | value |
|---|---|---|
| Operacion_detalle | reservacion_id | 3941393 |
| Operacion_detalle | unidad | BUS-17 |
| Operacion_regreso_detalle | reservacion_id | 3941402 |
| Operacion_regreso_detalle | unidad | SHT-04 |
Everything else moves inbound only.
Case 05 · industrial park · shift change, operator console · the add-on boundary
Source: import_geotab_unidades, import_geotab_zonas, import_sox_reservas, import_sox_pasajeros_transportados, and the outbound clause: Operacion_detalle → reservacion_id, unidad
Four processes read from the incumbent: vehicles, geofences, bookings, executed passengers. A fifth is refused, because the incumbent does not expose drivers, and the screen says so rather than hiding the gap.
And in the other direction, one field. The unit assigned to a reservation. That is the entire write-back, and it was specified that way in a versioned connectivity document in 2017, not decided later as a reassurance.
This is the answer to the fear an operator will not say out loud. The layer above does not want the customer, the record or the dispatch. It wants to read what you already have and hand back an assignment. Their console keeps the record, and the count of records created here is zero.
Case 06 · failure, priced
Port, weather disruption. The shared journey fails and somebody pays.
Fallback options
| option | capacity | eur | verdict |
|---|---|---|---|
| Carpool repair | 3 seats | 0.00 | FAIL · 9 affected |
| Public transport | line suspended | — | FAIL · weather |
| Partner shuttle | 19 seats | 142.00 | held · 40 min away |
| Taxi pool | 12 seats | 96.40 | SELECTED |
settlement_ledger · cost recovery
| contract | actor | rule | eur | state |
|---|---|---|---|---|
| MC-071 | operator | fallback split 60% | 57.84 | pending |
| MC-071 | authority | disruption subsidy 30% | 28.92 | pending |
| MC-071 | passengers | capped contribution 10% | 9.64 | cleared |
| recovered | 96.40 | = cost | ||
settlement_ledger · incentive
| MC-071 | driver | accepted detour reward | 4.80 | cleared |
Case 06 · port · weather disruption · fallback activation and settlement
Source: PoC model per Annex 05 sections 5.8 to 5.10; lineage in motivo_reasignacion and the historical fallback provider concept
Two options are refused and one is held. The carpool repair cannot take nine, the public line is suspended, and the partner shuttle is forty minutes away and stays on the bench. The taxi pool is taken at 96.40.
Then the interesting half: the cost splits four ways under a contract rule, and the four amounts reconcile exactly to the cost. Operator, authority, passengers at a capped contribution, and the driver who accepted the detour.
This is what a procurement officer actually worries about. Not whether the system optimises on a good day, but who pays when it does not, and whether the answer was agreed in advance or argued afterwards.
Case 07 · closed-loop control
Regional corridor. It measured, it decided, and it wrote the decision back.
Indices de saturacion y estado escrito
| hoja_ruta | num_unidades / andenes_max | pax_franja / pax_max | indice_franja | indice | status_hruta | hora |
|---|---|---|---|---|---|---|
| HR-REG-118 | 0.82 | 0.76 | 0.88 | 0.55 | VCO · Mantener velocidad promedio con seguridad | 08:22 |
| HR-REG-124 | 1.08 | 1.12 | 0.94 | 1.14 | VDI · Disminuir velocidad promedio con seguridad | 08:22 |
| HR-REG-131 | 0.51 | 0.44 | 0.79 | 0.18 | VAU · Aumentar velocidad promedio con seguridad | 08:22 |
| HR-REG-140 | 1.14 | 1.18 | 1.02 | 1.37 | VDI · Disminuir velocidad promedio con seguridad | 08:22 |
La formula
indice_saturacion_pasajeros = pax_franja / pax_max
indice = sat_pasajeros × sat_unidades × indice_franja
Estados escritos en la franja
Case 07 · regional corridor · saturation, 08:00–09:00 · closed-loop control
Source: indice_saturacion_unidades, indice_saturacion_pasajeros, indice_franja, andenes_max, pax_max, pax_franja, STATUS_CONTROL_VELOCIDAD_CHOICES VCO VAU VDI, status_hruta
Three pressures are multiplied into one number. Multiplied, not added, so trouble in two dimensions at once compounds instead of averaging away. Two sheets cross 1.00 and both are told to slow down; one is far below it and is told to speed up.
Read the instruction itself, because it is the strongest sentence we own: Aumentar velocidad promedio con seguridad. Increase average speed safely. All three values end that way. The system never told a driver to go faster; it issued an instruction to a person, carrying a duty of care, and stored it as a controlled vocabulary with a code and a readable label.
And the instruction is written to the route sheet, not shown on a screen for somebody to notice. Forty-three sheets receive nothing, because nothing was wrong with them. A dashboard measures. This measured, decided, and wrote the decision back into the operation.

