Merge pull request 'Charge weekly reservations for every claimed occurrence and confirm the whole series' (#81) from fix/recurring-payment-amount into main
CI / Tests (PHP 8.1) (push) Successful in 38s
CI / Coding Standards (push) Successful in 2m47s
CI / Tests (PHP 8.2) (push) Successful in 43s
CI / No Debug Code (push) Successful in 3s
CI / Tests (PHP 8.3) (push) Successful in 2m39s
CI / PHPStan (push) Successful in 2m51s
CI / Build Plugin Zip (push) Successful in 2m43s
CI / Tests (PHP 8.1) (push) Successful in 38s
CI / Coding Standards (push) Successful in 2m47s
CI / Tests (PHP 8.2) (push) Successful in 43s
CI / No Debug Code (push) Successful in 3s
CI / Tests (PHP 8.3) (push) Successful in 2m39s
CI / PHPStan (push) Successful in 2m51s
CI / Build Plugin Zip (push) Successful in 2m43s
Reviewed-on: #81
This commit was merged in pull request #81.
This commit is contained in:
@@ -44,8 +44,13 @@ slot_taken` if the freed time was booked by someone else in the meantime.
|
||||
## Weekly Reservations
|
||||
A weekly reservation creates one `series_id` shared across N lesson rows (one per
|
||||
week in the term) and reserves the matching availability windows. It is billed
|
||||
**full-term upfront** as a single payment (`billing_mode = full_term` on the
|
||||
offering).
|
||||
**upfront as a single payment** linked to the series' first (anchor) lesson:
|
||||
- `billing_mode = full_term` — the offering's price already covers the term and is charged once.
|
||||
- `billing_mode = one_time` — the per-lesson price is charged **once per occurrence actually claimed** (price × N).
|
||||
|
||||
Settling that payment (Stripe webhook, e-transfer confirmation, comp) confirms
|
||||
**every non-cancelled lesson in the series**
|
||||
(`BookingRepository::updateStatusForSeries()`), not just the anchor row.
|
||||
|
||||
## REST API
|
||||
| Method | Endpoint | Permission |
|
||||
|
||||
Reference in New Issue
Block a user