Overview
ABP is a protocol to book the allocation of a scarce seat to a holder: a credentialed Channel takes a finite unit of a Bucket (the contested availability — a stand, a GA sector), plugs it to an owner (Allocation), under high contention and without accidental oversell (overbooking is deliberate and configurable), with an ephemeral reservation (hold/TTL) and a full lifecycle (confirm → pay → fulfill → use / refund).
The usage band is the family “finite seat/slot tied to an owner”: an event seat, a parking space, an access credential, a calendar slot. It is not general commerce nor “any resource” (that would smell of cloud/provisioning).
It is the shape of EPP (registrars provisioning domains in a central registry) applied to ephemeral, high-contention resources.
Lineage
Section titled “Lineage”- EPP (RFC 5730+) — prior art for concurrent provisioning. Same uniqueness: just as two registrars can’t register the same domain, two buyers can’t take the same seat.
- EHUB / PlugHub (legacy) — the first-version implementation from the Ligatech park,
glued to tickets. Its
sp_ehub_booking_*façade already proved, in production, a neutral contract (Repository/Item/Group/Booking) over three different engines. ABP lifts that rehearsal into a named, implementation-independent protocol — but PlugHub is not the reference implementation. - The cdigital in-database FSM — the
tickets_booking_transitions()matrix + audit + named side-effect handlers is the reference model for the FSM, lifted from a DB trigger into a service.
The three layers
Section titled “The three layers”| Layer | What it is | Where |
|---|---|---|
| ABP (the protocol) | the open consumption surface: vocabulary, commands, FSM, guarantees — open by default, no auth, no producer/tenant, no admin | this spec + the .proto |
| Reservations (reference implementation) | the Eventheca product/module (Kotlin/gRPC), owner of the commercial state | nanpos/eventheca-apis |
| Catalog (domain modules) | Tickets / Accreditation / Parking — they materialize Units and Push them to Reservations | per-domain modules |
ABP/Reservations is domain-agnostic. The seat may be a seat (Tickets), a credential (Accreditation) or a space (Parking) — to the protocol it is all Bucket. The meaning (rich schema, the names Seat/GA) lives in the Catalog; the allocation mechanics (FSM, contention, oversell control) live in Reservations.
Open standard
Section titled “Open standard”The spec + the .proto are public under Apache-2.0 (with a patent grant: “you may
implement”). Anyone can build a conformant server on any stack. The control does not
come from locking the license — it comes from owning the reference implementation
(Reservations, closed), the conformance suite (the stamp “is this ABP?”), and
operating registries.