Discovery
Discovery is the second service in the .proto, alongside
AllocationBooking. It is read-only: the consumer browses — within their permissions —
which Repositories exist and the availability inside them.
Grouper / Group trees
Section titled “Grouper / Group trees”Segmentation is a tree (parent / is_parent + a metadata map), at two levels:
- Repository level — segments events (competition, stadium, date, round…).
- Bucket level — segments availability inside an event (sector, type…). The leaf bucket-group is the Bucket itself.
A symmetric trio at each level: Grouper → Group → Repository ‖ Grouper → Group → Bucket.
The RPCs
Section titled “The RPCs”| RPC | Returns |
|---|---|
ListRepositoryGroupers | grouping dimensions for events (competition, stadium…). |
ListRepositoryGroups | values within a grouper (e.g. grouper Competition → Brasileirão). |
ListRepositories | the event summaries themselves. |
ListBucketGroupers | grouping dimensions for availability within a Repository. |
ListBuckets | the leaf buckets + their availability count (the browse-side “Check-per-Bucket”). |
ListUnits | the individual seats of one Bucket — for reserved seating / a seat map. |
ListUnits is open (read), scoped to one Bucket at a time (bounds the payload). A
QUANTITATIVE Bucket has no addressable Unit, so it is browsed by count only.