Skip to content
Bookelio / Documentation
Guides by topic

Training courses

Every training discount scenario

Compare every training discount type, condition and combination through worked examples presented in tables.

On this page

How to read the tables on this page

This page covers every type of condition that you can configure under Dashboard → Training courses → Pricing groups. Amounts are fictional examples excluding VAT. A course must be linked to the pricing group containing the rule; otherwise, none of that group's rules can apply.

Unless stated otherwise, the examples use a course costing €200 excluding VAT, held on 15 October 2026, with a registration made on 1 September 2026, which is 44 calendar days in advance.

A rule must contain at least one condition based on history, early registration or the course cut-off date. These are the seven possible combinations:

HistoryAdvanceCut-off dateExample ruleOutcome in the example
YesNoNo10% after 2 paid datesApplied if the customer has at least 2 eligible dates
NoYesNo10% at least 30 days in advanceApplied: 44 days in advance
NoNoYes10% for a course no later than 31 October 2026Applied: 15 October is included
YesYesNo€20 after 2 dates and at least 30 days in advanceApplied only when both conditions are true
YesNoYes€20 after 2 dates and by 31 October 2026Applied only when both conditions are true
NoYesYes€20 at least 30 days in advance and by 31 October 2026Applied only when both conditions are true
YesYesYes€30 after 2 dates, 30 days in advance and by 31 October 2026Applied only when all three conditions are true

Leaving all three conditions empty does not create a general discount: that configuration is rejected.

Choosing a percentage or fixed amount

Both discount forms apply to the unit price for the date. A date-specific price replaces the general course price when one has been entered.

TypeFictional settingCalculation on €200 excluding VATDiscounted unit price
Percentage15%€200 × 15% = €30€170 excluding VAT
Fixed amount€30€200 − €30€170 excluding VAT
Maximum percentage100%€200 discount€0 excluding VAT
Fixed amount above the price€250Discount capped at €200€0 excluding VAT

The percentage must be positive and cannot exceed 100%. A fixed amount must be positive. A discount never makes the price negative and does not apply to a zero or negative target price.

Deciding which courses are counted

History is found through the billing customer's email address, ignoring case, within the current organisation. The participant's email is not used. Several customer records carrying the same billing email may therefore contribute to the same history.

The same date is counted once, even when several participants or registrations are associated with it. The date currently being priced is always excluded. Both past and future dates may be counted when they pass the rule's filters.

The required payment

A historical registration must be linked to a payment request containing at least one payment with Completed status. The calculation checks for that status, not full settlement of the balance, the amount paid, attendance or the course price.

Historical course or registrationLinked paymentCounted before the other filters?Explanation
Paid course, settled in fullAt least one Completed paymentYesThe required payment evidence is present
Instalments, only the deposit paidCompleted deposit, unpaid balanceYesOne completed payment is enough
Payment request created but unpaidNo payment, or Pending paymentNoA request alone is not enough
Failed paymentFailed payment onlyNoOnly Completed status is accepted
Free €0 courseNo completed paymentNoBeing free does not replace payment evidence
Free €0 course with a linked completed payment recordCompleted payment, even for €0YesThe engine does not require a positive amount
Price manually reduced to €0No completed paymentNoThe manual amount does not make the date eligible
Completed payment later refundedThe payment retains Completed statusYesRefunds and the net amount are not checked
Waitlisted registrationLinked Completed paymentYesRegistration status is not filtered
Attendance recorded without completed paymentNo Completed paymentNoAttendance is not payment evidence
Several participants on the same dateCompleted payment linked to their registrationsYes, once onlyDates are deduplicated by training date
Target date already present in historyCompleted paymentNoThe target date is always excluded from itself
Future date already paidCompleted paymentYesThe time window may subsequently exclude it
Course from another organisationCompleted paymentNoHistory is limited to the current organisation

A date passing this first check must still satisfy the rule's time window and pricing-group scope. “Counted” therefore does not mean “settled in full”, “attended” or “completed”.

The three counting methods

Assume three eligible dates: 2 days and 14 hours, 1 day and 7 hours, then 1 day and 7 hours.

History criterionCalculated valueFictional thresholdEligible rule?
Number of courses3 distinct dates3Yes
Number of days2 + 1 + 1 = 4 days4Yes
Number of hours14 + 7 + 7 = 28 hours30No

For days and hours, the date-specific duration takes priority, followed by the course duration. A missing duration contributes zero; it is not derived from the start and end times. Once the payment condition is met, the price — even zero — does not change the duration counted.

The three group scopes

Assume one date in the same pricing group, one in another group and one with no group.

Rule optionSame groupOther groupNo groupCounted total
Neither option selectedYesYesYes3
Same pricing groupYesNoNo1
Only activities with a pricing groupYesYesNo2

The two scope options are mutually exclusive: they cannot be enabled together.

The four time windows

The window is centred on the course date being priced, here 15 October. Both boundaries are inclusive and an empty field means “unlimited” on that side. The fictional history contains 1 September, 1 October and 20 October.

Past daysFuture daysEligible periodCounted dates
EmptyEmptyUnlimited before and after1 September, 1 October and 20 October
30015 September through 15 October, inclusive1 October
01015 through 25 October, inclusive20 October
451031 August through 25 October, inclusiveAll three dates

Entering only Past days does not remove future dates because the future boundary remains unlimited. Use zero to close one side of the window explicitly.

Using a condition without history

Select No history criterion when a discount depends only on the registration timing or the course date.

ScenarioFictional settingExampleOutcome
Early registration acceptedAt least 30 days beforeRegistration on 1 September for 15 October: 44 daysApplied
Early registration rejectedAt least 30 days beforeRegistration on 20 September for 15 October: 25 daysNot applied
Cut-off date includedCourse by 15 October 2026Course on 15 OctoberApplied
Cut-off date exceededCourse by 14 October 2026Course on 15 OctoberNot applied

The cut-off concerns the course date, not the day on which the customer registers. An advance threshold of zero is met by a registration on the day of the course, but not by a later registration.

Combining several conditions in one rule

Conditions within one rule use AND logic. Consider a €30 fixed discount, a minimum history of 2 dates, 30 days' advance and a cut-off of 31 October 2026.

Eligible datesDays in advanceCourse dateAre all three conditions true?Discount
24415 October 2026Yes€30
14415 October 2026No: insufficient history€0
22515 October 2026No: insufficient advance€0
2441 November 2026No: cut-off date exceeded€0

Time-window and group filters are applied to the history before its value is compared with the threshold.

Resolving several rules

Eligible rules are never cumulative. Bookelio calculates their values from the same unit price and keeps the financially largest discount, irrespective of which rule has the highest threshold. If values tie, the rule listed first wins.

Rule on €200Calculated discountOutcome
Eligible loyalty rule: 10%€20Not selected
Eligible campaign rule: fixed €25€25Selected
Eligible early-registration rule: 12.5%€25Not selected because it follows the fixed discount
Old rule: fixed €40, inactive€40Ignored

In this example, the discounted price is €175 excluding VAT, not €130: the €20, €25 and €25 discounts are not added together.

Moving from unit price to registration total

The rule first produces a suggested price per participant. That result is multiplied by the participant count, after which the customer's VAT is calculated. An excluding-VAT amount entered manually by a manager replaces the suggested total; it does not alter the rule or history.

Scenario with a €200 price and 10% discountParticipantsInitial total excl. VATSuggested discountTotal excl. VATVAT at 21%Total incl. VAT
Individual registration1€200€20€180€37.80€217.80
Group registration2€400€40€360€75.60€435.60
Manual adjustment to €350 excl. VAT for 2 people2€400€40 suggested€350€73.50€423.50

The new participant count multiplies the awarded discount; it does not help reach a history threshold. Ten participants registered together still represent a single date in a future history calculation.

Recognising every no-discount scenario

SituationWhy no automatic discount is applied
Course without a pricing groupNo rule is associated with the course
Zero or negative target unit priceThe engine does not reduce a non-positive price
Inactive ruleIt is retained but ignored
No condition configuredThe rule is invalid and cannot be saved
History criterion without a thresholdThe configuration is incomplete
Threshold not metThe counted value is below the threshold
Insufficient advanceToo few days separate registration and course
Course date after the cut-offThe final boundary has been exceeded
History without a completed paymentThe relevant registrations are ineligible
Missing or different billing emailThe same customer's history is not found
Dates outside the window or group scopeThey are removed before the threshold is calculated
Several eligible rulesOnly the best is applied; the others are not added

Reproducing a scenario in the simulator

Open the discount simulator from Training courses, choose the customer and target date, then set the registration date. Select the history dates to test and inspect each rule's counted value, window, group, days in advance, and acceptance or rejection reason.

The option that treats dates as paid is only a simulator assumption. It records no payment. For the detailed operation of the tool and real history, read Understanding and testing training discounts.