Skip to content

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