Cancellations & Problem Reservations¶
Cancellation Types¶
stateDiagram-v2
[*] --> Pending : Created (awaiting payment)
Pending --> Valid : Payment confirmed
Valid --> Cancelled : Customer cancels\n(before deadline)
Valid --> LastMinuteCancelled : Customer cancels\n(after deadline)
Valid --> Deleted : Club cancels\n(business reasons)
| Status | ID | Hungarian Label | Triggered by |
|---|---|---|---|
| Cancelled | 2 | Ugyfel altal lemondva | Customer (before deadline) |
| LastMinuteCancelled | 3 | Keson lemondott | Customer (after deadline), processed by club |
| Deleted | 4 | Klub altal torolve | Club (e.g., bad weather, maintenance) |
Pending Status¶
Pending (ID=5) is a temporary state for reservations awaiting payment confirmation (via IPN callback) or cash payment at reception. Once confirmed, the status transitions to Valid (1).
Cancellation Deadlines¶
Deadlines are configurable in System Settings (Rendszer beallitasok):
| Customer Type | Deadline | System Parameter |
|---|---|---|
| Casual visitor | 24 hours | MinReservationCancellationCasualVisitor_Hours=24 |
| Club member | 24 hours | MinReservationCancellationClubMember_Hours=24 |
Configurable per club
Both deadline values can be adjusted independently in the system settings to match club policy.
Status Reason¶
When changing a reservation's status, staff can provide an optional explanation in the ReservationStatusReason field (max 200 characters).
Problem Reservation Flags¶
NoShow¶
The Reservation.NoShow column tracks customers who did not attend their booked slot. This is independent of the reservation status -- a reservation can be Valid but flagged as NoShow.
SpecialAttention¶
The Reservation.SpecialAttention column marks reservations requiring staff follow-up. These appear in the Figyelmet igenylo (Needs Attention) list view (mode=6).
Reservation History¶
On every modification, the system automatically creates a ReservationHistory record containing the original values (before the change). This is implemented in SCMContext.Partial.cs via a SaveChanges() override.
Audit trail
The history table preserves a complete audit trail of all changes, storing the state before each modification.
Webhook Integration¶
The ReservationCallout stored procedure fires on status changes, enabling external system integration.
Parameters:
| Parameter | Description |
|---|---|
| Method | The type of change |
| Reservation_ID | Affected reservation |
| RecurringReservation_ID | Parent recurring reservation (if applicable) |