62 lines
3.0 KiB
Markdown
62 lines
3.0 KiB
Markdown
# Domain Glossary
|
|
|
|
This document records confirmed Court Pilot terminology and business rules. Agents must preserve these invariants and ask before defining additional rotation behavior.
|
|
|
|
## Confirmed terms
|
|
|
|
### Court official
|
|
|
|
A person maintained in the application roster. The persistence type is currently named `Umpire`, while parts of the UI use the broader label “Court Official.” A record contains first name, last name, country, and gender.
|
|
|
|
### Umpire
|
|
|
|
The primary official assigned to a court. An official can wait in the umpire queue, be assigned to a court as umpire, or be off duty.
|
|
|
|
### Service judge
|
|
|
|
An optional second role on a court. Service-judge behavior can be enabled or disabled globally in settings. The same official records are used for both umpire and service-judge roles.
|
|
|
|
### Court
|
|
|
|
A numbered play area. Courts are generated from `1` through the configured `numberOfCourts`; the default is five.
|
|
|
|
### Waiting queue
|
|
|
|
An ordered FIFO list of officials awaiting assignment. Umpires and service judges have separate queues and numeric order values. The lowest `order` value is assigned next. Officials may be reordered with drag and drop.
|
|
|
|
### Not on duty / rest
|
|
|
|
An official who is not found in either waiting queue or in either kind of court assignment. The code derives this state rather than persisting it separately.
|
|
|
|
### Send to court
|
|
|
|
Assign the first eligible waiting official or officials to a selected court. With service judges enabled, one official is taken from each role-specific queue.
|
|
|
|
### Remove from court
|
|
|
|
Remove assigned officials from a court and return them to waiting duty. With service judges enabled, roles intentionally swap when re-queuing: the prior service judge enters the umpire queue and the prior umpire enters the service-judge queue.
|
|
|
|
## Domain invariants
|
|
|
|
- “Court official” is the umbrella term; “umpire” and “service judge” are roles.
|
|
- Every official must be in exactly one state: not on duty, one waiting queue, or one active court role.
|
|
- An official must never occupy multiple queues or assignments at the same time.
|
|
- Queue assignment is FIFO by numeric `order`; the lowest value is next.
|
|
- Removing a court assignment with service judges enabled swaps the officials' role queues.
|
|
- Reducing `numberOfCourts` removes assignments above the new court count. Those officials become not on duty; they are not automatically added to a waiting queue.
|
|
|
|
## Current settings
|
|
|
|
- `numberOfCourts` — number of numbered courts shown
|
|
- `withServiceJudge` — whether service-judge assignments are active
|
|
- `showAlert` — whether quick court actions require confirmation
|
|
- language — stored separately in local storage; currently English or Hungarian
|
|
|
|
## Still-undecided behavior
|
|
|
|
Ask the maintainer before a task depends on any of these questions:
|
|
|
|
1. How should malformed queue data—duplicate or conflicting order values—be repaired?
|
|
2. Are gender and country free-form values, fixed choices, or governed by tournament data?
|
|
3. Will Court Pilot continue to manage one tournament/session at a time, or support multiple events later?
|