Capabilities
Baseleg is organized around eight operational capabilities, each corresponding to a bounded context. The v1 spine (People, Aircraft, Scheduling) is the primary focus; the remaining capabilities are intentionally lite until the spine is stable.
People
Manage everyone associated with the organisation.
- Person management: Register and maintain profiles for everyone associated with the organisation, including contact details, types, and status.
- Type assignment: A person can be a Student, an Instructor, Staff, or any combination of these.
- Instructor management: Track instructor authorisations and assign instructors to bookings.
- Student management: Track student enrolment and link training records.
Aircraft
Manage the fleet and its operational state.
- Aircraft registry: Maintain a record of every aircraft in the fleet with registration, type, and details.
- Airworthiness state: Track whether each aircraft is available or grounded.
- Grounded protection: A grounded aircraft cannot be booked or flown. Grounding requires a reason and can only be cleared by authorised personnel.
- Fleet visibility: At-a-glance view of which aircraft are available, grounded, or out of service.
Scheduling
Coordinate bookings across people and aircraft.
- Booking creation: Create a booking allocating an aircraft (and optionally an instructor) to a person for a time range.
- Conflict detection: The system automatically prevents overlapping bookings for the same aircraft or instructor.
- Grounded-aircraft protection: Attempting to book a grounded aircraft is rejected at the domain layer.
- Calendar view: View bookings in list and calendar formats, filterable by aircraft, instructor, and person.
- Booking management: Cancel or amend bookings with appropriate notifications.
- Checkout: Dispatch the aircraft, record start meter readings, and open a Flight when a booking’s aircraft is taken. Fully implemented and D1-persisted; no UI screen calls it yet.
- Return: Release the aircraft, record end meter readings, report a defect (auto-grounds the aircraft), and complete the Flight and Booking. Fully implemented and D1-persisted; no UI screen calls it yet.
Training (v1 lite)
Record and track training activity.
- Lesson records: Log ground and flight lessons associated with a student and instructor.
- Flight logging: Record actual flown events, linked to a booking or lesson.
- Training progression: Track endorsements and training milestones over time.
v1 provides basic lesson and flight records. Full progression tracking and syllabus management come later.
Compliance (v1 lite)
Monitor currency and compliance requirements.
- Currency tracking: Record and monitor time-sensitive compliance requirements (e.g. flight review, medical, check ride).
- Compliance alerts: Notify relevant parties when a requirement is approaching expiry or has lapsed.
- Document expiry: Track expiry dates for certificates and authorisations.
v1 provides basic alerts and currency tracking. Automated rule evaluation and complex compliance workflows come later.
Billing (stub)
Currently just a raw-data stub — enough for the MVP, not charge tracking or invoicing.
- Usage events: Hours flown (Hobbs/tach) are recorded automatically as a raw, unpriced fact every time a Flight completes — the future input to charge calculation.
Charge items, invoice drafts, and the invoice lifecycle are designed (see billing.md) but not implemented — no domain type, use case, or schema exists for them yet.
Notifications (v1 lite)
Deliver communication events to people.
- Email notifications: Send booking confirmations, compliance alerts, and operational updates via email.
- SMS notifications: Deliver time-sensitive alerts via SMS where configured.
- In-app notifications: Surface relevant events inside the Baseleg interface.
Notifications is an adapter context — it delivers events raised by other contexts rather than having its own domain logic.
Reporting (v1 lite)
Produce operational summaries and exports.
- Operational reports: Summarise bookings, utilisation, and activity across a time period.
- Person reports: Produce per-person activity and training summaries.
- Data exports: Export booking, flight, and financial data in standard formats (CSV).
v1 provides basic reports and exports. Complex analytics and custom reporting come later.