Glossary
Domain terms used throughout the wiki. Technical names stay in English because they match the codebase.
Platform
| Term | Meaning |
|---|---|
| EntityEvent | A business event saying an entity changed. |
| EntityType | Numeric type id for an entity such as Account, Attendee, Invoice, Employee. |
| NotificationJob | A stored unit of notification work before actual delivery. |
| EntityHistory | User-facing/audit history projection for an entity. |
| Idempotent | Safe to run more than once with the same result. |
| Deterministic key | A stable key derived from event identity, used to avoid duplicates. |
Communication
| Term | Meaning |
|---|---|
| NotificationScheduler | SQL queue record saying a notification job is ready to process. |
| Scheduler -> Generator -> Distributor | Three-stage message pipeline: schedule, render, deliver. |
| OutgoingMessage | One outbound message per recipient and channel. |
| UserMessage | In-app message record for a user. |
| Template | Subject/body content with placeholders resolved during rendering. |
Subscription
| Term | Meaning |
|---|---|
| Subscription | Product/template for recurring enrollment and billing. |
| Enrollment | A runtime customer/attendee subscription record. |
| BillingSchedule | Period-based billing plan. |
| Invoice | Bill generated from the billing schedule. |
| Add-on / Discount | Period-specific extra charge or discount. |
Booking (normal booking)
| Term | Meaning |
|---|---|
| TermBookingOrder | In-flight booking request (cart); status lifecycle Created→Submitted→… |
| TermBooking | Confirmed booking; confirm copies line/extra/discount from the order. |
| ConsumerBooking | Customer-side API/flow for normal booking (distinct from subscription's ConsumerEnrollment). |
| Discount rule | Automatic discount (sibling, early bird, attendee, profile); stacks per Highest/HighestEachType. |
| CombinedBookingOption | ProgramCategory config: combine same-ActionLogId bookings across courses for editing. |
| ActionLogId | Grouping key for bookings placed in the same action (used by combined edit). |
| Quote / Accept | Instead of immediate confirm: generate quote (Quote) → customer accepts (Accept) → confirm. |
| Billing Difference | Financial-delta review modal that gates confirm when editing a confirmed booking. |
| TermAttendance | Roll-call record created on confirm; deactivated on cancel/remove. |
Finance
| Term | Meaning |
|---|---|
| Billing | Charge context from Booking/Subscription; owns payment option and split context. |
| BillingPeriod | Financial period used to group lines, especially subscription billing schedules. |
| Invoice | Receivable document for an account/customer. |
| CreditNote | Negative adjustment document for cancellations, edits, or reductions. |
| FinanceTransaction | Search/read projection used by invoice manager and reconciliation flows. |
| InvoiceManager | Admin surface for filtering, locking, and processing invoices. |
| Preview Billing Difference | Read-only invoice/credit-note delta computation for confirmed booking edits. |
| Xero sync | Accounting-provider sync for finance documents. |
| SubsidyAcceptance | Per-attendee/date-range subsidy eligibility record. |
Payment
| Term | Meaning |
|---|---|
| PaymentOption | Customer/business payment method such as PayLater, PayNow, Direct Debit, or Deposit. |
| PayLater | Continue the flow while collection is pending or handled later. |
| PayNow | Immediate card/checkout payment. |
| Windcave | Card checkout provider using redirect/result/webhook flow. |
| DirectDebit | Automatic collection through customer token and debit batch. |
| Kiwi Direct Debit | Provider-specific Direct Debit flow with customer create and BU scoping. |
| Deposit | Partial upfront payment for booking; not full invoice settlement. |
| DirectPaymentBatch | Provider transaction group with status, reference, retry/error state. |
| AccountPaymentCustomer | Payment customer token scoped by account, BU, and provider. |
Master Data
| Term | Meaning |
|---|---|
| Enterprise | Top-level organization with custom URL and service-area policy. |
| BusinessUnit (BU) | Main data/configuration boundary. |
| Org / Site | Site/location under a BU where programs and sessions run. |
| Account | Family/customer account; does not own avatar. |
| Account Holder | Representative contact for an account; profile image belongs to Contact. |
| Attendee | Participant/child referenced by booking, subscription, finance, and incidents. |
| ProgramCategory | Program type such as Term Care, Holiday, Class, or Camp. |
| TermProgramSet (TPS) | Offering/course in a term with schedule, capacity, and pricing context. |
| TermProduct | Concrete session/slot selected by booking or referenced by schedules. |
| System image | Built-in or uploaded image governed by field-specific crop policy. |
Staff
| Term | Meaning |
|---|---|
| Roster | Staff work schedule. |
| Leave | Time off request/approval flow. |
| Timetable | Staff schedule display. |
| TrackingCode | Classification code, often Leave or Shift. |
| Availability | Staff-declared availability by weekday/time slot. |
Incident Management
| Term | Meaning |
|---|---|
| Incident / Accident / Illness | Three report types, FormTypeId 101/102/103. |
| IncidentFormInstance | A FormInstance whose FormCategoryId is Incident Management. |
| Affected attendee | Attendee linked to an incident with role, notes, and body marker data. |
| Body marker | JSON describing marked body locations for reports. |
| GeneratedAttachment | PDF report generated by the system and stored in Blob. |
| FormAcknowledgement | Contact/customer acknowledgement, sign, or notification-only record. |
Shared
| Term | Meaning |
|---|---|
| BusinessUnit (BU) | Business/data/configuration boundary. |
| Site | Location under a BU. |
| Aggregate | A group of entities treated as a consistency boundary. |
| Azure Table / Blob | Key-value storage and file storage used alongside SQL. |