Promo codes in online booking

How customers can apply promo codes during online booking

Promo Codes in Online Booking

Customers can apply promo codes during the online booking process. The system validates all promo code settings before allowing redemption.

Enabling Online Booking

To allow promo codes in online booking:

  1. Edit the promo code
  2. In the Settings section, enable "Allow Online Booking"
  3. Save the code

How Customers Apply Codes

During the booking flow, customers can:

  1. Proceed to the Payment step
  2. Enter their promo code in the "Promo Code" field
  3. Click "Apply" to validate
  4. See the discount applied to their total

Validation Rules Checked

When a customer applies a code online, the system validates:

Basic Validation

  • Code exists and is active (not paused, expired, or depleted)
  • Code is within validity date range
  • Code allows online booking channel

Usage Validation

  • Total usage limit not exceeded
  • Per-customer usage limit not exceeded (if customer logged in)

Customer Validation

  • All Customers - Anyone can use
  • VIP Only - Customer must be marked as VIP
  • Tagged Only - Customer must have specific tags
  • New Customers Only - Must be first-time customer
  • First-Time Only - Must be customer's first booking

Service Validation

  • If service restrictions are set, the selected services must match
  • If category restrictions are set, selected services must be in allowed categories

Staff Validation

  • If staff restrictions are set, the selected staff member must be allowed

Amount Validation

  • If minimum purchase amount is set, cart total must meet the threshold

Date Validation

  • If appointment date range is set, the booking date must fall within range

Redemption on Completion

When the booking is completed:

  1. The promo code is automatically redeemed
  2. A PromoCodeRedemption record is created
  3. Discount is applied to the appointment price
  4. Redemption is tracked with:
    • Customer information
    • Original and final amounts
    • Channel marked as "ONLINE_BOOKING"
    • Link to the created appointment

Error Messages

If validation fails, customers see relevant error messages:

  • "This code is not valid for online booking"
  • "This code has reached its usage limit"
  • "You have already used this code the maximum number of times"
  • "This code is only for new customers"
  • "Minimum purchase of [amount] required"
  • "This code is not valid for the selected services"
  • "This code is not valid for the selected staff"

Use case scenarios

Scenario 1: Customer types code online

Customer books online for haircut, types "WELCOME20", presses Apply. System validates, shows 20% off, saves customer 1,500 Ft. Customer happy, books immediately.

Scenario 2: Code rejected with helpful message

Customer types expired code. System shows "This code has expired". Customer tries another, "WINTER15", works. Clear messaging prevents customer frustration.

Scenario 3: Auto-apply from email link

Customer clicks promo email link. URL contains ?code=SUMMER25. Booking page auto-applies code. Customer doesn't even have to type.

Scenario 4: Service-restricted code

Customer types "COLOR15" but is booking a haircut. System shows "This code is not valid for the selected services". Customer either changes service or accepts no discount.

Tips

  • Make codes shareable: short, easy to type on mobile.
  • Use auto-apply links: ?code=X in marketing emails removes friction.
  • Test all error messages: customer needs to understand what went wrong.
  • Show savings prominently: "you save 1,500 Ft" is more motivating than "20% off".
#online booking#redemption#customers#public booking
💬

Have a question? Ask the AI assistant

The Bookinda AI knows the entire help center and can answer in seconds.

B

Bookinda AI Assistant

Ask anything about features, settings, or integrations.

Hi! I'm the Bookinda assistant. I can answer questions about features, billing, integrations, and more. What would you like to know?

Still need help?

Get in touch with our support team.

Contact us