Skip to main content
Booking Restrictions

Booking Restrictions allow you to use a remote URL to validate who can and can not make bookings; using membership IDs or email addresses.

Daniel Nethersole avatar
Written by Daniel Nethersole
Updated over a month ago

Overview

Booking Restrictions allows you to limit who can complete bookings on your booking form. This feature enables you to validate bookings against either a local list of member IDs or a remote URL endpoint.

Settings

Basic Configuration

  • Restriction Enabled?

    • Toggles the entire restriction system on/off

    • When enabled, only users with valid keys can complete bookings

  • Restriction Title

    • The title displayed to customers on the booking form

    • Example: "Member Verification Required"

  • Restriction Message

    • The message shown to customers explaining the restriction

    • Example: "Please enter your member ID to continue"

  • Restriction Failure Message

    • Custom message displayed when validation fails

    • Example: "The member ID you entered is not valid"

Advanced Options

  • Check URL

    • URL endpoint for remote key validation

    • Must return JSON response

    • More details in "Remote Validation" section below

  • Skip Payments

    • When enabled, successful validations bypass the payment step

    • Useful for member-only free bookings

  • Use Credit

    • Enables the credit system for validated bookings

    • When enabled and a credit amount has been returned from the Check URL - the system will deduct the total cost by how much credit the user has.

    • Type: Boolean checkbox

  • Enable Skipping

    • Allows guests to bypass the member key requirement

    • Continues to regular booking process

Remote Validation (Check URL)

How It Works

  1. When a user submits a restriction key, the system sends a POST request to your specified Check URL

  2. The request includes: { "restriction_key": "user_entered_key" }

  3. Your endpoint should process the key and return a JSON response

Expected Response Format

{
"success": true,
"message": "Optional message",
"name": "Optional user name",
"email": "Optional user email",
"phone": "Optional user phone",
"credit": "Optional credit amount"
}

Response Fields

  • success: (Required) Boolean indicating if the key is valid

  • message: (Optional) Custom message to display to the user upon failure

  • name: (Optional) Pre-fills the booking form name field

  • email: (Optional) Pre-fills the booking form email field

  • phone: (Optional) Pre-fills the booking form phone field

  • credit: (Optional) Amount to subtract from the booking total

Credit System

When the credit field is returned and "Use Credit" is enabled:

  • The credit amount is automatically subtracted from the booking total

  • If the credit exceeds the booking amount, the remaining balance is 0

  • Credit can be any positive number with up to 2 decimal places

Validation Flow

  1. System first checks local restriction values

  2. If no local match is found, checks remote URL (if configured)

  3. If both checks fail, displays the failure message

  4. If either check passes, continues to booking process with any provided user data

Error Handling

If validation fails, return:

{ "success": false, "message": "Custom error message" }
Did this answer your question?