F01
F07
F15
F16
reference
Status Lifecycles & Enums
This page documents all status enumerations and their allowed transitions in HellaBooking. Each lifecycle includes a Mermaid state diagram showing valid state changes.
Reservation Status
ID
Name
Description
1
Valid
Active, confirmed reservation
2
Cancelled
Cancelled by customer before deadline
3
LastMinuteCancelled
Cancelled after the cancellation deadline
4
Deleted
Removed by club admin
5
Pending
Awaiting payment confirmation
stateDiagram-v2
[*] --> Pending : Customer books
Pending --> Valid : Payment confirmed
Valid --> Cancelled : Customer cancels\n(before deadline)
Valid --> LastMinuteCancelled : Customer cancels\n(after deadline)
Valid --> Deleted : Admin deletes
Cancelled --> [*]
LastMinuteCancelled --> [*]
Deleted --> [*]
The cancellation deadline is controlled by MinReservationCancellationCasualVisitor_Hours and MinReservationCancellationClubMember_Hours system parameters. Cancellations before the deadline produce status 2 (Cancelled); cancellations after produce status 3 (LastMinuteCancelled).
Payment Status
ID
Name
Description
1
PrePaid
Pre-paid via credit or season pass (terminal state)
2
Created
Payment record created, not yet billed
3
Billed
Invoice generated, awaiting payment
4
Storno
Reversed/voided payment
5
Paid
Payment received and confirmed
6
Unsuccessful
Payment attempt failed
7
Deleted
Payment record deleted
stateDiagram-v2
[*] --> PrePaid : Paid by credit/pass
[*] --> Created : Payment initiated
Created --> Billed : Invoice generated
Created --> Unsuccessful : Payment fails
Created --> Storno : Voided
Billed --> Paid : Payment received
Billed --> Storno : Reversed
Storno --> Deleted : Cleanup
PrePaid --> [*]
Paid --> [*]
Unsuccessful --> [*]
Deleted --> [*]
Attendance Status
ID
Name
Description
1
Waiting
On waiting list for the training session
2
Pending
Enrollment pending confirmation
3
Subscribed
Confirmed enrollment in the session
4
Attended
Marked as attended after session
5
No show
Did not attend the session
6
Deleted
Attendance record removed
stateDiagram-v2
[*] --> Waiting : Waitlisted
Waiting --> Pending : Spot opens
[*] --> Pending : Customer subscribes
Pending --> Subscribed : Confirmed
Subscribed --> Attended : Present at session
Subscribed --> NoShow : Absent
Subscribed --> Deleted : Unsubscribed
Pending --> Deleted : Cancelled
Attended --> [*]
NoShow --> [*]
Deleted --> [*]
Subscription Status
ID
Name
Description
1
Pending
Subscription request submitted
2
Active
Active subscription
3
Suspended
Temporarily suspended
4
Cancelled
Cancelled by user or admin
5
Deleted
Permanently removed
stateDiagram-v2
[*] --> Pending : Request submitted
Pending --> Active : Approved/Paid
Active --> Suspended : Temporarily paused
Suspended --> Active : Reactivated
Active --> Cancelled : User/admin cancels
Suspended --> Deleted : Permanently removed
Cancelled --> Deleted : Cleanup
Deleted --> [*]
User Status
ID
Name
Description
1
Registered
Account created, not yet approved
2
Active
Fully active account
3
Suspended
Temporarily blocked
4
Deleted
Account deleted
5
Approvable
Awaiting admin approval
6
Anonymized
GDPR-anonymized account
stateDiagram-v2
[*] --> Registered : Self-registration
Registered --> Approvable : Email confirmed
Approvable --> Active : Admin approves
Registered --> Active : Auto-approved\n(CustomerRegistrationApproval=NO)
Active --> Suspended : Admin suspends
Suspended --> Active : Admin reactivates
Active --> Deleted : Admin deletes
Deleted --> Anonymized : GDPR request
Anonymized --> [*]
When CustomerRegistrationApproval=NO, users skip the Approvable state and go directly to Active.
Video Recording Status
ID
Name
Description
1
Scheduled
Recording planned for a future time slot
2
Pending
Waiting for camera to become available
3
Starting
Camera initialization in progress
4
Started
Recording is actively in progress
5
Stopping
Camera shutdown in progress
6
Finished
Recording complete, awaiting processing
7
Ready
Recording processed and available for playback
8
Failed
Recording failed at any stage
stateDiagram-v2
[*] --> Scheduled : Booking created
Scheduled --> Pending : Time slot begins
Pending --> Starting : Camera allocated
Starting --> Started : Camera rolling
Started --> Stopping : Time slot ends
Stopping --> Finished : Camera stopped
Finished --> Ready : Processing complete
Scheduled --> Failed : Error
Pending --> Failed : Error
Starting --> Failed : Error
Started --> Failed : Error
Stopping --> Failed : Error
Ready --> [*]
Failed --> [*]
Enum Reference Tables
ReservationType_Enum
ID
Name
Description
1
Hourly
Time-slot based booking with hourly pricing
2
Daily
Full-day booking with daily pricing
PaymentType_Enum
ID
Name
Description
1
Other
Services like small repairs, sale of customary items
2
Credit
Purchase of credits for later payments
3
Enrollment
Package enrollment fee
4
Rent
Sports field rental portion of a reservation
5
Trainer
Trainer fee portion of a reservation
6
ConvenienceFee
Fee charged for receptionist actions
7
TrainingCredit
Purchase of training credits
8
Expenditure
Expenditure
PaymentMethod_Enum
ID
Name
Notes
0
ClubWithoutPayment
Code only — club-side booking without payment
1
Bank transfer
Wire transfer
2
Payment provider
Online payment via SimplePay or Stripe
3
Cash
In-person cash payment
4
Card
In-person card payment
5
Credit
Paid from prepaid credit balance
6
SZEPCard
Code only — Hungarian SZÉP card
100
PendingPayment
Code only — deferred payment
101
ReceiptCash
Code only — receipt-based cash
Note
IDs 0, 6, 100, 101 exist only in code (PaymentMethodEnum.cs) and are not rows in the database table.
AttendanceType_Enum
ID
Name
1
Private
2
Semi-private
3
Group
SportsFieldType_Enum
ID
Name
ReservationType
ServiceType
1
Tennis court
Hourly
Generic
2
Padel
Hourly
Generic
Note
Values are club-specific and configured per installation.
UserType_Enum
ID
Name
1
Casual visitor
2
Club member
3
Trainer
4
Receptionist
5
Club manager
6
Janitor
7
Guest coach
8
Technical
CreditTransactionType_Enum
ID
Name
1
Purchase Credit
2
Update Booking
3
Cancel Booking
4
Delete Booking
5
Add Credit
6
Sell Credit
7
Booking
TrainingPackageTransactionType_Enum
ID
Name
1
Add Attendance
2
Update Training Credit
3
Subscribe
4
Unsubscribe
5
Cancel
6
Delete
7
Purchase Training Credit
8
Remove Attendance
9
Sell Training Credit
10
Supplement
11
Storno
TrainerPayGrade_Enum
ID
Name
1
Trainee coach
2
Assistant coach
3
Junior coach
4
Senior coach
5
Head coach
InvoiceAccountType_Enum
ID
Name
1
Szamlazz.hu
2
Billingo
PaymentProviderType_Enum
ID
Name
1
SimplePay
2
Stripe
CashRegisterOperationType_Enum
ID
Name
1
Opening
2
Closing
WifiRelayType_Enum
ID
Name
1
Heating
2
Lighting
VideoRecordingType_Enum
ID
Name
1
Local Recording
2
Cloud Recording
3
Live Streaming