Skip to main content

Beta Status: Pro Shop: Customizing Notifications

Choose Which Demo and Stringing Notifications Are Sent and Personalize Their Wording

Written by Mari Bern

Introduction

Feature Summary: Pro Shop notifications let you choose which demo and stringing messages are sent to players and staff, and rewrite the wording of each one. You can add tokens to your wording. A token is a placeholder, like [%CustomerName%], that CourtReserve replaces with a real detail, like the player’s name, the return date, or the job number, when the message is sent. Customizing is optional. If you don’t change anything, CourtReserve’s default wording is sent.

Use Cases:

  • Add your club's drop-off steps to demo return reminders

  • Put the due date or job number in the email subject line

  • Turn off notifications your club doesn't use

  • Choose whether recipients are subscribed to email, text, and push notifications by default

  • Restore CourtReserve's default wording after making changes


Overview

Demos and Stringing each have their own notifications tab in Pro Shop Settings. Each tab only appears if your club uses that module.

Note: You don't have to customize anything. Every notification comes with CourtReserve's default wording, ready to use. Customize only the notifications where you want to add your club's details, like return instructions or pickup hours.

Tab

Where to Find It

Appears When

Demo Notifications

Pro Shop > Settings > Demos settings > Demo Notifications

Your club uses Racquet / Paddle Demos

Stringing Notifications

Pro Shop > Settings > Stringing settings > Stringing Notifications

Your club uses Stringing

Each notifications tab has two sub-tabs:

  • Player Notifications - notifications sent to players

  • System User Notifications - notifications sent to staff

Note: All demo notifications go to players, so the System User Notifications sub-tab on the Demo Notifications tab is empty.

Each notification is listed with a short description of when it's sent. For each channel (Email, Text, and Push), you can set:

  • Active - whether the notification is sent on that channel

  • Subscribed - whether recipients receive it on that channel by default

Note: The Text and Push columns only appear if your club uses text messages or push notifications.

Custom wording applies to your club only, and you can return to CourtReserve's default wording at any time.

Note: Only full admins can view or change these tabs. Sub-admins can't, even with Pro Shop permissions.


Navigation

  1. In the admin panel, go to Pro Shop > Settings.

  2. Click a notifications card:

    • Under Demos settings, click Demo Notifications.

    • Under Stringing settings, click Stringing Notifications.


Customize a Notification

  1. Select the Player Notifications or System User Notifications tab.
    ​

  2. Click Edit on the notification’s row. The Customize window opens.
    ​

  3. Make sure Use my custom content for this notification is checked. It’s checked by default.

  4. Click into each box and edit the wording. Each box already shows CourtReserve’s default wording, so you only need to change the parts you want. You can edit these fields:

    • Email Subject

    • Email Body - click into the email and edit the text the same way you would in any email. It supports formatting and buttons.

    • Text (SMS) Content

    • Push Notification Title and Push Notification Body

  5. Keep any tokens you still want, like [%CustomerName%], and delete or add others as needed. See How Tokens Work below.
    ​

  6. Click Save changes.

After you save, the notification shows a Customized tag next to its name in the list.

Note: Be sure to scroll down in the Customize window to see the Text (SMS) Content and Push Notification fields.

Note: Email Subject and Email Body can’t be blank. Leave a text or push field blank to keep CourtReserve’s default wording for that channel. When Use my custom content for this notification is unchecked, every channel uses the default wording, but your custom wording stays saved.

Note: To leave without saving, click Cancel. Your changes aren’t kept.

Reset a Notification to the Default Wording

  1. Click Edit on the notification’s row.

  2. Click Reset to default.

  3. Confirm the reset.

This removes all custom wording for that notification, across every channel.

Example: Customize the Demo Late Fee Warning

A club’s pro shop manager kept getting calls from players who didn’t know where to return overdue demo racquets, especially after the shop closed. She opened Demo Late Fee Warning and made small changes to each section of the default wording to add the club’s return instructions:

  • Email Subject - added the club’s name so players recognize the message right away.

  • Email Body - kept the greeting, the return date, and the late fee line, and added two return options: the front desk during open hours, and the return box by the main entrance after hours. She also added a line asking players to reply if they’ve already returned the racquets.

  • Text (SMS) Content - shortened the same return instructions to fit a text message, and kept the order link.

  • Push Notification - kept the title short and added “Return it to the front desk” to the body.

She kept [%LateFeeLine%] and [%LateFeeSmsLine%] so players still see the late fee, and left the View Order Details button as it was. Here’s what she entered:

Email Subject: Your demo from [%OrgName%] is overdue

Email Body:

Hi [%CustomerName%],

Thanks for trying out a demo with us! Your demo racquets were due back on [%DemoReturnDate%].

How to return your demo:

  • Drop it off at the pro shop front desk during open hours.

  • After hours, use the return box by the main entrance.

Already returned it? Reply to this email and we'll check on it.

[%LateFeeLine%]

The default View Order Details button and backup link stay below the text.

Text (SMS) Content:

Hi [%CustomerName%], your [%OrgName%] demo was due back [%DemoReturnDate%]. [%LateFeeSmsLine%] Drop it at the front desk or the return box by the entrance. Details: [%OrderLink%]

Push Notification Title: Demo overdue: please return

Push Notification Body: Your demo was due back [%DemoReturnDate%]. [%LateFeeSmsLine%] Return it to the front desk.


How Tokens Work

A token is a placeholder that CourtReserve replaces with real details when the message is sent.

For example: Hi [%CustomerName%], is sent as “Hi Jordan,”.

Add a Token

  • Email Body - click where you want the token to go, then insert it from the email editor’s toolbar.

  • Email Subject, Text (SMS) Content, and Push Notification fields - click a token under Available tokens to copy it. Then click in the box where you want the token to go and paste it (Ctrl+V on Windows, Cmd+V on Mac).

Token Rules

  • Edit around tokens, not inside them. You can change the words around a token, but don’t change the text between its brackets. For example: [%CustomerName%] works, but [%Customer Name%] doesn’t.

  • Use either bracket style. The editor shows most tokens with square brackets and percent signs, like [%CustomerName%], and a few with double curly braces, like {{ToEmail}}. Either style works for any token listed for that notification, and capitalization doesn’t matter. Include the brackets or braces.

  • Use only the tokens listed for that notification. A token from a different notification isn’t filled in, so the recipient sees the token text instead.

  • Keep email-only tokens in the Email Body. Tokens that add a formatted section, like [%PolicyBlock%] and [%ReviewCta%], only work in email. In Text (SMS) Content and push notifications, use their short versions, like [%PolicySmsLine%] and [%ReviewSmsLine%].

  • Keep tokens that only appear when they apply. Some tokens are blank when there’s nothing to show. For example: [%PolicyBlock%] only shows if the player accepted a demo policy. When it’s blank, it disappears without leaving a gap. If you remove it, players never see that information, even when it applies.

How Dates and Amounts Appear

  • Time zone - date tokens use your club’s time zone.

  • Demo dates - demo date tokens always appear as month-day-year, like 11-14-26.

  • Billing and policy dates - [%BillingBlock%] and [%PolicyBlock%] use your club’s regional date and time format, like 11/14/2026 5 PM.

  • Amounts - amounts use your club’s currency format, like $10.00.


Tokens Used Across Notifications

These tokens mean the same thing wherever they appear. The demo and stringing sections below list which notifications include them.

Token

What It Shows

Example

[%CustomerName%]

The player's name. Demo notifications use the first name only. Stringing notifications use the first and last name.

Jordan (demos) or Jordan Lee (stringing)

[%OrgName%]

Your club's name

SportsPlex

[%OrderLink%]

A link to the player's demo order or stringing job on the member portal

A web link

[%JobNumber%]

The stringing job number the player gives at the counter

1042

[%RacquetName%]

The demo racquet's brand and model

Selkirk Boomstik Elongated

Tokens Available on Every Notification

The editor lists these tokens on every notification. Most clubs only need [%ToFirstName%].

Token

What It Shows

Example

[%ToFirstName%]

The first name of the person receiving the message. Use it where [%CustomerName%] isn't available, like Stringing Job Completed and staff notifications.

Jordan

[%ToLastName%]

The last name of the person receiving the message

Lee

{{ToEmail}}

The email address of the person receiving the message

[%NotificationPreferencesLink%]

A link to the recipient's notification settings, where they can change what they receive

A web link

[%ReplyTo%]

Your club's reply-to email address, if one is set

[%LogoFullPath%]

The web address of your club's logo image

A web link

[%OrgId%]

Your club's CourtReserve ID number

12345

[%MemberEntityName%], [%CourtEntityName%], [%ResourceEntityName%], [%GroupsEntityName%], [%AlternateEventName%]

The terms your club uses for members, courts, resources, groups, and events. If your club hasn't changed them, they read Member, Court, Resource, Group, and Event.

Player


Demo Notifications

All 11 demo notifications go to players. Each one includes [%CustomerName%], [%OrgName%], and [%OrderLink%], plus the tokens listed below.

Notification

Sent When

Additional Tokens

Demo Order Placed

Staff create a demo order, or a player places one on the member portal

[%BillingBlock%], [%PolicyBlock%], [%PolicySmsLine%], [%WaitlistJoinedLine%]

Demo Return Reminder

One hour before the return time. If your club has Enable Program Reminder Hour turned on and the demo program has a Reminder Hour (1 to 12), an extra reminder is also sent that many hours after the order is created.

[%DemoReturnDate%]

Demo Late Fee Warning

The grace period after the return time ends, which is when late fees start. Sent even if the program has no late fee.

[%DemoReturnDate%], [%DemoLateFeeAmount%], [%LateFeeLine%], [%LateFeeSmsLine%]

Demo Late Fee Charged

Each time a late fee is charged to the card on file

[%DemoLateFeeAmount%]

Demo Full Charge Warning

At the same time as Demo Late Fee Warning, if the full charge is more than 36 hours away. It's the first warning that unreturned racquets will be charged their full price. Not sent if full-price charging is off or nothing is owed.

[%DemoFullAmount%], [%DemoLateFullChargeDate%]

Demo Full Charge Final Warning

24 hours before the full charge. Not sent if full-price charging is off or nothing is owed.

[%DemoFullAmount%], [%DemoLateFullChargeDate%]

Demo Refund Issued

Staff refund a demo

{{RefundAmount}}, [%RefundDate%]

Demo Returned

Staff click Mark Finished, unless the player bought or kept every racquet. Sent even when demo reviews are off, without the review section.

[%ReviewCta%], [%ReviewSmsLine%]

Demo Purchased

A player buys the demo racquet they were trying. Only sent when demo reviews are on and the player hasn't already reviewed that racquet.

[%RacquetName%], [%ReviewLink%]

Demo Waitlist Available

A racquet the player was waiting for is returned and held for them

[%RacquetName%], [%HoldExpiresTime%]

Demo Waitlist Unavailable

A racquet the player was waiting for is sold or removed

[%RacquetName%]

Demo Token Reference

Token

What It Shows

Example

[%DemoReturnDate%]

The date the demo is due back

11-14-26

[%DemoLateFeeAmount%]

The late fee per charge, set in the demo program

$5.00

[%LateFeeLine%]

Email only. A sentence explaining the late fee, or asking for the racquets back when no fee will be charged.

A late fee of $5.00 will be charged for each day the racquet(s) remain out, starting today, for up to 3 days.

[%LateFeeSmsLine%]

Text only. A shorter version of the late fee sentence.

A late fee of $5.00 will be charged each day, for up to 3 days.

[%DemoFullAmount%]

The full price that will be charged for unreturned racquets

$189.00

[%DemoLateFullChargeDate%]

The date the full price will be charged

11-20-26

{{RefundAmount}}

The amount refunded and where it went

$25.00 to your card ending in 4242

[%RefundDate%]

The date of the refund

11-11-26

[%BillingBlock%]

Email only. The due-back date and time and how the charge adds up. A flat charge shows only the due-back line.

Due back: 11/14/2026 5:00 PM, then 7 days x $10.00 = $70.00

[%PolicyBlock%]

Email only. A Demo Rental Policy section with your policy text and when the player accepted it. Blank if no policy was accepted.

Your policy wording, then "Demo policy terms and conditions were accepted at..."

[%PolicySmsLine%]

Text only. One sentence saying when the player accepted the policy. Blank if no policy was accepted.

Demo policy terms were accepted at 11/11/2026 2:15 PM.

[%WaitlistJoinedLine%]

A sentence listing racquets the player is also waitlisted for. Blank if none.

You're also on the waitlist for Babolat Pure Aero — we'll text you when they're returned.

[%ReviewCta%]

Email only. A Rate Your Demo section with a button and a backup link. Blank when reviews are off or the recipient didn't rent the demo.

A Rate Your Demo button

[%ReviewSmsLine%]

Text only. A short review invitation with a link. Blank in the same cases as [%ReviewCta%].

— rate your demo at (link)

[%ReviewLink%]

A link to review the racquet the player bought

A web link

[%HoldExpiresTime%]

The time today when the hold ends, in your club's time format

9 PM


Stringing Notifications

Six stringing notifications go to players and two go to staff. Each one includes [%OrgName%], plus the tokens listed below.

Notification

Sent To

Sent When

Additional Tokens

Stringing Order Placed

Player

Staff create a job with Notify player upon creation checked in the New Stringing Job window, or a player submits a request on the member portal

[%CustomerName%], [%OrderLink%], [%JobNumber%], [%RacquetCount%], [%NextStep%], [%StringsSummary%]

Stringing Request Accepted

Player

Your shop accepts the player's request

[%CustomerName%], [%OrderLink%], [%JobNumber%]

Stringing Request Declined

Player

Your shop declines the player's request

[%CustomerName%], [%OrderLink%], [%JobNumber%], [%DeclineReason%]

Stringing Order Updated

Player

Staff save a change with Notify player of this change checked on the job's detail page, and the change affects something the player sees

[%CustomerName%], [%OrderLink%], [%JobNumber%], [%Changes%]

Stringing Job Completed

Player

Staff complete the job

[%JobNumber%], [%Receipt%], [%PayNowButton%], {{CustomEmailMessageTop}}, {{CustomEmailMessageBottom}}, {{AdditionalMessage}}

Stringing Order Cancelled

Player

Staff delete a job that's past Draft status. Not sent for declined requests.

[%CustomerName%], [%OrderLink%], [%JobNumber%], [%RacquetCount%]

New Player Stringing Request

Every admin with an email address

A player submits a stringing request on the member portal

[%PlayerName%], [%JobNumber%], [%RequestSummary%], [%ManageLink%]

Stringing Job Assignment

Newly assigned stringer

A job is assigned to the stringer

{{RacquetOwner}}, {{RacquetsNumber}}, {{RequestedOnDisplay}}, {{RushJob}}, [%JobNumber%]

Stringing Token Reference

Token

What It Shows

Example

[%RacquetCount%]

How many racquets are on the job

1 racquet, 3 racquets

[%NextStep%]

What happens next. Depends on whether your shop reviews player requests. Jobs created by staff always show the second example.

The shop will review your request and confirm it. / Your request is on the shop's stringing board.

[%StringsSummary%]

Each racquet with its strings and tension

Racquet 1 (Old Faithful): Babolat RPM Blast, 55 lbs; Racquet 2: your own strings

[%DeclineReason%]

The reason staff entered when declining. Always filled in, because a reason is required.

We're closed for the holiday weekend.

[%Changes%]

What changed, with the old and new values. Covers the due date, rush job, each racquet's strings and tension, and the total.

Due: Nov 12, 2026 3:00 PM → Nov 13, 2026 10:00 AM; Total: $25.00 → $30.00

[%Receipt%]

Email only. A receipt section with the job's charges and payments.

The receipt table

[%PayNowButton%]

Email only. A green Pay Now button. Only appears when players pay online once the job is ready and there's an unpaid balance.

A Pay Now button

{{CustomEmailMessageTop}}, {{CustomEmailMessageBottom}}

Email only. Where your club's custom email text appears, at the top or bottom of the email. They're already in the default email, so leave them where they are.

Your custom text, or blank if none is set

{{AdditionalMessage}}

Not currently used. Always blank.

(blank)

[%PlayerName%]

The name of the player who sent the request

Jordan Lee

[%RequestSummary%]

Who sent the request, how many racquets, and whether it's waiting for a decision

Jordan Lee submitted a stringing request for 2 racquets. It is waiting for you to accept or decline it.

[%ManageLink%]

A link to the job on your stringing board in Pro Shop

A web link

{{RacquetOwner}}

The player's first and last name

Jordan Lee

{{RacquetsNumber}}

The number of racquets on the job

2

{{RequestedOnDisplay}}

The requested date and time for the job, in your club's format. Blank if none was set.

11/12/2026 3:00 PM

{{RushJob}}

The words "Rush Job" when the job is a rush. Blank otherwise.

Rush Job


Tips for Customizing Notifications

Goal

Try This

Put the key detail where players see it first

Add it to the Email Subject, like Your demo is due back [%DemoReturnDate%] or Stringing job #[%JobNumber%] is ready

Explain how to return a demo

In Demo Order Placed or Demo Return Reminder, add your drop-off steps, like "Return racquets to the front desk. After hours, use the drop box by the entrance."

Tell players where and when to pick up

In Demo Waitlist Available, add Pick up at the pro shop before [%HoldExpiresTime%] today. In Stringing Request Accepted, add your pickup hours.

Make late charges clear

Keep [%DemoLateFeeAmount%], [%DemoFullAmount%], and [%DemoLateFullChargeDate%] in the late fee and full charge messages, so players see the exact amount and date.

Greet players by name

In demo notifications, [%CustomerName%] is the first name, so Hi [%CustomerName%], reads naturally. In stringing notifications, it's the full name.

Greet the reader where there's no customer name token

Stringing Job Completed, Stringing Job Assignment, and New Player Stringing Request don't include [%CustomerName%]. Use Hi [%ToFirstName%], instead.

Keep text messages short

Text messages over the length limit can arrive split into several parts. Tokens like [%OrderLink%], [%StringsSummary%], and [%Changes%] can add a lot of characters.

What to Avoid

  • Removing tokens that only show when they apply, like [%BillingBlock%], [%PolicyBlock%], [%WaitlistJoinedLine%], [%ReviewCta%], or [%PayNowButton%]. Without them, players never see that information, even when it applies.

  • Adding email-only tokens to a text or push message. They're formatted for email only.

  • Adding [%OrderLink%] to Stringing Order Cancelled. The job has been deleted, so the link has nothing to show.


Frequently Asked Questions

Why does my notification show token text like [%CustomerName%] instead of the player's name?

The token isn't available for that notification, or it wasn't copied exactly. Use only the tokens listed under Available tokens in the Customize window, and include the brackets or braces.

How do I go back to CourtReserve's default wording?

Click Edit on the notification's row, then click Reset to default and cnfirm. To use the default wording for only the text or push message, clear that field and save.

Does my custom wording affect other clubs?

No. Custom wording applies to your club only.

Why don't I see the Text or Push columns?

These columns only appear if your club uses text messages or push notifications.

How do I stop a notification from being sent?

Uncheck Active for each channel you want to stop, on the Player Notifications or System User Notifications tab.

Why did a player get two Demo Return Reminders?

The standard reminder goes out one hour before the return time. If your club has Enable Program Reminder Hour turned on and the demo program has a Reminder Hour, a second reminder goes out that many hours after the order is created.

Why did a player get a late fee warning and a full charge warning at the same time?

When the grace period ends, Demo Late Fee Warning is sent. If the full charge is more than 36 hours away, Demo Full Charge Warning is sent at the same moment.

Why didn't a player get a Demo Purchased notification?

Demo Purchased is only sent when demo reviews are on and the player hasn't already reviewed that racquet.

I deleted a token by mistake. How do I get it back?

Click the token under Available tokens to copy it, then paste it back where it was. Or click Cancel to leave without saving, then reopen the notification and start again.

Did this answer your question?