Baza Booking Calendar Referral Programme

The referral programme lets members bring new clients through a personal link and earn a bonus for qualifying bookings. It is available on the Pro plan under the referral-programme licence key.

What it is and who it is for

A member shares https://site.com/?bbc_ref=<code>. When a visitor follows the link and makes a qualifying booking, the member receives the bonus.

  • Percent: a percentage of the counted order amount.
  • Fixed: a fixed amount for a qualifying booking.
  • Once: only the first order from each referred client.
  • Each: every qualifying order from that client.

Example: at 5% and a counted order amount of 200, the member earns 10.

[screenshot: referral programme summary in the member account]

Enable and configure the programme

Go to Baza Booking → General Settings → Referral → Settings.

  • Enable the referral programme. Default: off. Turning it off keeps all rows and metadata but stops links, cookies, bonuses and the account tab.
  • Bonus type and Bonus value. Default: percent and 5%. You can use a percentage or a fixed amount.
  • When the bonus is paid. Default: once, for the first order from each referred client. The alternative is every qualifying order.
  • Minimum order for a bonus. Default: 100. Orders below this amount do not earn a bonus.
  • Count only the slots of the order. Default: on. On uses booking_price, so extras and surcharges are excluded. Off uses the full amount from baza_bc_get_booking_total().
  • Minimum payout. Default: 100. A member cannot request a payout before the available balance reaches it.
  • Bonus lifetime. Default: 0, which means the bonus never expires. Set a number of days to limit it.
  • Fields of the application. The documented fields are email, phone and name.
  • Approve applications automatically. Default: off. Otherwise an administrator reviews each application in Members.
  • Approve payout requests automatically. Default: off. Otherwise an administrator reviews each payout request.
  • Tell members about every bonus. Default: on. A member can turn these emails off in the account.

Example: with slots-only enabled, slots worth 100 and extras worth 50 produce a counted amount of 100. With it disabled, the counted amount is 150.

[screenshot: Referral Settings with all fields]

Member journey

  • Open the Membership tab in the account.
  • A non-member sees the programme description and application form.
  • After approval, the member receives a personal link with a Copy button.
  • A valid link sets the bbc_ref cookie for 30 days.
  • The booking stores the member in bbc_referrer_id.
  • When the booking becomes booked or completed, the plugin checks all conditions and accrues the bonus.
  • A daily event expires bonuses whose lifetime has ended.

The cookie is not set for an administrator, a manager or a member, in admin or AJAX requests, or for the link of an inactive member. A member cannot earn from their own booking.

Example: a client follows the link, books within 30 days and the member receives the bonus after the booking is confirmed.

[screenshot: Membership tab with the link, balance and history]

Button generator

Click “Generate a button”, then set the text, colours, border, corner radius and size. Copy the generated code and paste it where the button should appear on your site.

Example: enter “Book here”, adjust the design and paste the code into an HTML block.

[screenshot: button generator and generated code]

Payouts

The member sees the available bonus, payout form and history. A request becomes available after the balance reaches Minimum payout.

  • pending: waiting for a decision.
  • approved: approved.
  • rejected: rejected.

Payout deductions use the oldest accruals first.

Example: with a minimum payout of 100 and an available balance of 120, the member can submit a request.

[screenshot: payout form and transaction history]

Administration

The Referral area contains Settings, Members and Payouts.

  • Members: approve or reject applications, block or unblock members, and remove them from the programme.
  • Payouts: approve or reject payout requests.

A blocked member can still make ordinary bookings but earns no new bonuses. This is not the client blacklist.

Example: review an application in Members and click “Approve” or “Reject”.

[screenshot: Members and Payouts administration]

Frequently asked questions

Why was no bonus added?

The programme and plan must be active, the member must be active and not blocked, the booking must belong to the referrer and not the member, the booking must be confirmed with booked or completed status, no bonus may already exist for it, the once or each rule must pass, the minimum order must be reached, and both the counted amount and filtered bonus must be above zero.

Example: in once mode, a second order from the same referred client does not create another bonus.

What happens when a member is blocked?

The member earns no new bonuses but may continue to book as a client.

What happens when the programme is disabled?

All saved data remains, but links, cookies, bonuses, the account tab and other programme actions stop. Uninstalling the plugin removes the option, referral data and daily event.

What do administrators and managers see?

Administrators manage settings, members, applications and payouts. The referral cookie is not set for administrators or managers.

[screenshot: a blocked member and disabled programme]

For developers

  • baza_bc_referral_calculate: starts bonus calculation.
  • baza_bc_referral_accrue: adds the amount to the balance and writes the ledger row.
  • baza_bc_referral_deduct: deducts for expire or payout using baza_bc_referral_deduct( $user, $amount, 'expire'|'payout', $ref ).
  • baza_bc_referral_amount: filters the calculated bonus.
  • baza_bc_referral_cookie_days: filters the 30-day cookie lifetime.

Tables: {prefix}bbc_referral_ledger, {prefix}bbc_referral_balance and {prefix}bbc_referral_payouts. User meta: bbc_is_member, bbc_member_url, bbc_member_blocked, bbc_member_application and bbc_member_notify_off. Booking meta: bbc_referrer_id.

The internal plan key is referral_programme, the licence key is referral-programme, and modules/referral is not included in the free or WordPress.org build.

Example: use baza_bc_referral_cookie_days to change the default cookie lifetime.

[screenshot: referral hook used in a custom plugin]

Last Modified: 24.10.2026