Punch Cards, Session Packs & Booking Bundles: What They Are and How They Help Racquet Clubs

A pop-up card displays a purchase option for “10 Drop-Ins” at a price of $100.00 for 10 punches as an example of a Package. A green “Buy” button with a clicking hand icon is prominently featured. The background shows a darkened view of outdoor courts, emphasizing the offer in the foreground.

Processing individual payments for every clinic or court booking can add up — in both admin time and transaction fees. Packages offer a more efficient way to manage repeat visits by letting players prepay for sessions in advance.

This guide breaks down everything you need to know about the Package feature and explores how tennis and pickleball clubs use Packages to increase revenue, retain players, and deliver a better player experience across the board.

Let’s crack into it.

Skip ahead:
Types of Packages
How Packages work in CourtReserve
How bundled services improve club operations (Benefits)
Best practices for setting up Packages at your tennis or pickleball club

Packages explained: Prepaid access for racquet and paddle clubs

Packages allow tennis and pickleball clubs to sell prepaid access to lessons, clinics, event registrations, or court reservations. Think of them like digital punch cards: players purchase a bundle — say, 10 clinic sessions — and use those sessions over time, without having to pay for each one individually.

If you’ve ever offered “Buy 10, get 1 free” promotions or sold physical punch cards for lessons — the Package feature is the modern, virtual version of that experience. 

Some other common terms for this feature include:

  • Punch cards or punches
  • Bundles
  • Passes
  • Packs
  • Credits

This feature is typically available within a club management or court reservation software such as CourtReserve.

CourtReserve expert tip 

The Package tool is included with our Grow, Scale, and Enterprise plans. We recommend this feature to clubs that process frequent payments. By bundling services into one upfront transaction, you save on credit card fees, reduce admin time, and create a smoother booking experience for staff and players alike.

Instead of processing five individual payments, you process one package — which means fewer fees and an easier checkout experience for everyone.

Josh Willey, CourtReserve Product Team

Types of Packages to offer at your racquet club

Tennis and pickleball clubs can create Packages to meet a variety of goals — from boosting trial sign-ups to encouraging repeat participation or promoting seasonal events.

Below are common Package types that tennis and pickleball clubs use:

  • Session-based Packages

Let players prepay for a specific number of lessons, clinics, or drop-ins. Perfect for ongoing programming and weekly sessions, this format reduces per-transaction overhead and keeps your programs full.

  • Trial or intro packs

Offer a low-commitment option for new players to sample your club experience. These are ideal for onboarding and lead conversion.

  • Seasonal or event bundles

Create themed Packages for summer, holidays, or special events — great for driving engagement during high-traffic periods.

  • Flexible credit packs

Allow players to use punches across multiple categories (court reservations, clinics, events, etc.). A strong fit for multi-sport or multi-service facilities.

  • Perk-based bundles

Use Packages as value-adds for premium memberships (Example: 10 free drop-ins per month or bonus access to special events).

  • Gift packages

Make your programs giftable by bundling lessons or sessions into credit packs that players can buy for friends or family.

Graphic titled “Types of Packages to offer at your racquet club.” It shows six types of packages in a 2x3 grid with short descriptions under each heading.

How Packages work in CourtReserve

The CourtReserve Package tool is flexible, easy to manage, and valuable for both clubs and players. Here’s a quick breakdown of how this feature works from start to finish.

Prefer to see it in action? Watch the webinar below for a full walkthrough of how the Package feature works in CourtReserve — plus advanced admin tips and real-world club examples.

Video Transcript
(0:00) hello everyone happy Friday it’s Ashley
(0:03) and Josh uh from Court Reserve we’re
(0:06) super excited to spend some time with
(0:07) you today and talk about packages and
(0:09) Punch Cards virtual Punch Cards and I’m
(0:13) really happy you’re here because we’ve
(0:14) made such a great Improvement on our
(0:16) packages uh part of Court Reserve
(0:18) because now members can actually
(0:20) purchase those packages on the player
(0:22) member side which makes your life easier
(0:24) as an admin and so Josh is going to take
(0:26) us through everything today this will be
(0:29) recorded we’re going to put it in the
(0:30) court Reserve YouTube channel so give us
(0:33) a little bit of time after this and then
(0:34) you can go out if you are not subscribed
(0:36) to the YouTube channel it really just
(0:38) helps you know when we put up new videos
(0:41) so that you can watch them in your own
(0:42) time uh we are planning our next
(0:45) Catalyst user conference I believe it’s
(0:48) going to be in December of this year uh
(0:49) we’re still working on it I know Josh is
(0:51) excited to teach and spend time with you
(0:53) guys so be on the lookout for that and
(0:56) then if you have questions today uh Josh
(0:58) is going to go through we’re going to
(0:59) answer questions at the end because I
(1:01) feel like this will be a pretty quick
(1:02) webinar um so make sure you put your
(1:05) questions in the Q&A and we will answer
(1:07) those at the end so Josh happy Friday
(1:10) thanks for joining us of course let me
(1:13) get started I can share my screen
(1:16) here all right great so hello everybody
(1:21) uh today we will be going over packages
(1:23) and just everything about packages in
(1:25) the system I know some of you may be
(1:28) familiar with packages and are are using
(1:30) them some of you may be familiar with
(1:33) the with the feature but aren’t using it
(1:35) in your organization yet so let’s kind
(1:37) of go back to the basics here and go
(1:40) over what are packages packages are
(1:43) virtual Punch Cards that members can use
(1:45) to pay for reservations lessons or
(1:48) events and when you are creating
(1:50) packages in the system you as an
(1:53) organization will be able to decide
(1:55) which reservation types which lesson
(1:57) types and which event categor this
(2:00) package is eligible to be used for some
(2:03) of the main benefits for using packages
(2:06) is from an organization point of you you
(2:08) can really cut down on the transaction
(2:11) fees that you are paying your payment
(2:13) provider so if I’m a member and I’m not
(2:16) using packages and I book five
(2:18) reservations there is that percentage
(2:21) plus that 30 cents for each transaction
(2:24) that is processed if I’m not using
(2:27) packages we are paying that 30 cents for
(2:30) each reservation that that member is
(2:32) booking but if I’m using a package we
(2:34) are only paying that 30 cents for the
(2:37) package itself and then from there the
(2:39) member is going to be using that virtual
(2:41) punch card and using those punches to
(2:44) pay for those reservations so they are a
(2:47) great way for you organizations to sort
(2:49) of cut down on those transaction fees
(2:51) that you need to
(2:53) pay packages will be an additional
(2:55) feature that we have so to get started
(2:57) here we will need to enable this feature
(3:00) so we can get started by going to
(3:02) settings on the
(3:04) sidebar if we scroll down to the bottom
(3:07) row here we’re going to have the
(3:08) additional features or the add-on row
(3:11) and then we’re going to have the
(3:12) additional features page right now my
(3:16) account is under the new pricing
(3:17) structure that we have so this page may
(3:19) look a little bit different on your end
(3:21) but regardless we’re going to navigate
(3:23) to this page to enable the packages
(3:27) feature once we have that enabled to
(3:30) actually start creating packages in the
(3:32) system we’ll want to go to settings on
(3:34) the sidebar and we’ll want to scroll
(3:36) down to the billing settings row and
(3:39) here we are going to have the package
(3:41) categories and also the packages page
(3:44) package G categories are really just a
(3:47) way that we can group specific packages
(3:49) that we have in our organization so if I
(3:52) am going to create a group of packages
(3:55) that are just for lessons or just for
(3:57) events or maybe I have some
(4:00) mixed packages that have a little bit of
(4:02) everything we can create these different
(4:05) categories here create a name for them
(4:08) and then once it comes to package
(4:10) reporting we’ll be able to easily filter
(4:13) by these different categories that we
(4:15) have but once we have the category set
(4:18) up we can go back to the settings page
(4:21) and under billing settings we can then
(4:23) go to the packages page to get
(4:26) started so like I said at the beginning
(4:28) when we are Crea creating a package we
(4:31) are going to be able to choose which
(4:33) reservation types lesson types and event
(4:35) categories that package is eligible to
(4:38) be used for so we can create packages
(4:41) that are just for private lessons just
(4:44) for open Play We can create a beginner
(4:47) Essentials package that has a little bit
(4:49) of everything in it we’ll be able to
(4:51) really customize what members are going
(4:53) to be using each package for in the
(4:56) system so let me go to the create page
(4:59) here and we can get
(5:01) started first we’ll be creating the name
(5:04) and the price for that package and then
(5:06) we can choose a or we can type out a
(5:09) package description if we choose to sell
(5:12) packages on the member portal members
(5:14) will be able to see this description
(5:16) here so if you just want to give a
(5:19) little bit more information on what this
(5:21) package can be used for we can always
(5:23) add that description here and then we
(5:26) can allow package to be used while
(5:28) unpaid so if we want to give members the
(5:31) ability to start using these punches
(5:33) before they even pay for the package we
(5:36) can enable this setting here and I will
(5:38) point out that if we are selling
(5:40) packages on the member portal and we are
(5:43) not allowing packages to be used while
(5:45) unpaid that will require the member to
(5:48) go through The Upfront payment process
(5:50) and they will need to pay for that
(5:52) package in 15 minutes or that package
(5:54) will be deleted from their account and
(5:56) they would have to go through the
(5:58) purchase process again
(6:01) from here if we are using package
(6:03) categories we can choose a category for
(6:06) this specific package and if we are
(6:08) using tax rates or Revenue categories we
(6:11) can also include those here when we are
(6:14) creating or editing a
(6:16) package so next we are going to
(6:19) optionally be able to decide if this
(6:22) package does have a start date or an end
(6:24) date here so if we want to maybe have a
(6:27) package that’s only eligible for
(6:31) 2024 we can choose a start date here and
(6:34) say you know I don’t want members to
(6:35) start using this package until a
(6:38) specific date and if we are going to add
(6:41) an expiration date we have two different
(6:43) options here so we can expire on a
(6:46) specific date again if we’re doing that
(6:49) 2024 package we can have it expire on
(6:52) December
(6:53) 31st or we can use a dynamic expiration
(6:56) date so we can say after one month we
(6:59) want this package to no longer be active
(7:02) on this member’s account um it’s really
(7:04) just going to depend on the way that you
(7:06) would like to set up this package but
(7:08) just know that you do have both of those
(7:10) options
(7:12) there then we can choose the total
(7:14) amount of punches that this package is
(7:16) going to have
(7:18) here we can choose if the package is
(7:20) going to be active in the system or not
(7:23) and then we can choose if this package
(7:25) is going to be eligible to be sold on
(7:27) the portal SLA so once we have one
(7:31) package that is eligible to be sold on
(7:33) the portal SLA there will be a new
(7:36) purchase package button that shows on
(7:38) the package page on the member portal
(7:40) and once we go over this setup I I will
(7:42) show you what that looks like from the
(7:44) members
(7:46) end once we allow this package to be
(7:48) sold on the member portal we can choose
(7:50) a purchase start date and end date very
(7:53) similar to the setup that we have for
(7:55) memberships so this is not going to
(7:58) impact when the package is actually
(8:01) active in the system here we are
(8:03) choosing the date range that this
(8:05) package is going to be visible on the
(8:07) member portal for the member to see as
(8:10) an
(8:11) option so if we are doing a package
(8:13) that’s only eligible in
(8:15) 2024 maybe we want to stop showing this
(8:17) to members at the end or the beginning
(8:20) of November since you know there’s not
(8:22) too much time before the end of the year
(8:25) or maybe we want to set up a package
(8:28) beforehand in the system but we don’t
(8:30) really want it to show to members until
(8:33) say September 1st we’ll be able to use
(8:36) these date Pickers here to sort of
(8:38) decide when this is actually visible for
(8:40) members to purchase on the member
(8:43) portal we can also choose which
(8:46) memberships this package is going to
(8:48) show to on the member portal so maybe we
(8:51) have a premium package for our premium
(8:53) membership that has a little bit of a
(8:56) discounted price and we don’t want the
(8:58) guests or the individual membership
(9:01) members to see it we can choose which
(9:03) memberships are going to be able to see
(9:05) this specific package on the member
(9:09) portal then we have the public package
(9:12) URL so this is a URL that you can send
(9:16) out externally in marketing emails or on
(9:19) social media if you are trying to guide
(9:21) users to a specific package so if you
(9:25) have a new series of clinics or events
(9:27) at your organization in your creating a
(9:30) package for that specific series if you
(9:32) send out a marketing email about that
(9:35) new series that you have you can also
(9:37) include this public package URL and sort
(9:39) of incentivize members to purchase this
(9:42) package for when those clinics
(9:46) start from there we can also choose if
(9:49) this package is going to be eligible to
(9:51) assign by family so if this is unchecked
(9:55) only one member or one family member
(9:57) will be able to use this package
(10:00) if we check this setting multiple
(10:02) members in my family or all family
(10:04) members would be able to use this
(10:06) package here and again once we go over
(10:09) to the member portal side I’ll kind of
(10:11) show you what this will look like from
(10:12) the members
(10:14) end from there we can start choosing
(10:17) what this package is going to be
(10:18) eligible to be used for so we can choose
(10:21) from court time or reservation types we
(10:25) can choose from lesson types and we can
(10:27) choose from event categories
(10:30) when we are choosing Court time we’ll be
(10:32) able to choose from our reservation
(10:34) types we’ll be able to choose from our
(10:36) durations and we’ll be able to choose a
(10:38) punch
(10:40) value something that is important to
(10:42) note here is with this current setup
(10:46) that I have right now where I’m only
(10:48) having an eligible duration of 60
(10:50) minutes if a member books a 30 minute
(10:53) reservation or a 90minut reservation
(10:56) this package will not be eligible to be
(10:59) used on that reservation so if we want
(11:03) to make this package eligible for
(11:05) multiple durations here we’ll want to
(11:07) make sure that we include each
(11:10) duration and that way we can also choose
(11:12) the different punch values that may come
(11:15) with different durations that we
(11:18) have with the lessons we will also have
(11:21) an instructor field here so we can even
(11:24) choose which instructor’s lessons are or
(11:27) or not eligible to have package used on
(11:31) them and we’ll be able to choose from
(11:33) all of our lesson types we’ll be able to
(11:35) choose different durations um and those
(11:37) duration rules will apply here as well
(11:40) so if you have different durations for
(11:42) your lesson types that members can
(11:44) choose from we’ll want to make sure we
(11:46) have all of those durations set up as
(11:49) eligible lesson
(11:51) types for event categories we are not
(11:54) going to have that duration field here
(11:56) so it’s just going to say if I register
(11:58) for an an adult Clinic it’s going to be
(12:01) x amount of punches and we’ll also have
(12:04) that instructor field here as well so we
(12:06) can pick and choose which instructors
(12:09) clinics are or are not eligible for this
(12:12) package to be
(12:14) used that goes over the setup for
(12:17) packages so let’s go back
(12:22) here and once we have those packages
(12:25) created in the system I will now start
(12:27) going over how members can purchase
(12:30) packages or how we can sell packages to
(12:32) members so I’ll start off on the member
(12:35) portal here this is a newer update that
(12:38) we had released this year where members
(12:40) can now purchase packages directly from
(12:42) the member
(12:44) portal if I go over to the member
(12:48) portal and we go over to our menu under
(12:51) our name we go to billing and we go to
(12:54) packages this is going to be where
(12:56) members could already manage the
(12:58) packages that are on their account from
(13:01) here they can click the name of the
(13:04) package and they will get this window
(13:06) where they can take a look at the usage
(13:07) for their package they can see all of
(13:09) the eligible items for the specific
(13:12) package and they can also see how many
(13:15) punches they’ve used how many they have
(13:17) remaining but if we have even one
(13:20) package that’s eligible to be sold on
(13:22) the member portal members will also see
(13:25) this purchase package button right here
(13:30) this will bring us over to the available
(13:32) packages page where we can take a look
(13:34) at any package that my account would be
(13:36) eligible to purchase from the member
(13:38) portal um something that I will point
(13:41) out here is if you are really trying to
(13:44) push packages at your organization and
(13:46) you want to make this page really
(13:48) accessible to your members it may be a
(13:51) good idea to take the URL from this
(13:53) specific page and if you copy that URL
(13:57) and you make a header on your m portal
(13:59) for this page here you can have that
(14:02) header link that just goes directly to
(14:04) this available packages page so that way
(14:06) it’s it’s really easy for your members
(14:08) to to find that page and purchase
(14:11) packages but when we’re on this page
(14:13) we’re going to be able to see the start
(14:16) date and the end dates for any packages
(14:18) if we have them set up we’ll be able to
(14:20) see a preview of the description that we
(14:23) have for each package and then we also
(14:26) have this learn more window
(14:29) here we’ll be able to see all of the
(14:31) eligible items for this package and we
(14:33) will be able to see that full
(14:35) description for this
(14:37) package if we click select package from
(14:40) this window or we click the purchase
(14:42) package button that is going to bring us
(14:45) to the review package page this is going
(14:48) to be very similar to The View that
(14:51) members would see if they are clicking a
(14:53) public package URL so if you are using
(14:56) that public package URL in a marketing
(14:59) email or anything like that the the page
(15:01) that members are going to first see is
(15:03) going to look very similar to this
(15:06) page so from here I’ll sort of point out
(15:09) a few differences that members may see
(15:11) on the review package
(15:13) page here we can see that this package
(15:17) is not eligible to be sold by family so
(15:20) when I have this drop down here I’m only
(15:22) going to be able to pick one
(15:25) member if we go back to the available
(15:28) packages page and we see that there is a
(15:31) package that has Family Sharing
(15:32) available when I go to the purchase
(15:34) package page we’re going to have that
(15:37) drop down but we’re going to be able to
(15:39) select multiple family members or by
(15:42) default we can of course have it set so
(15:44) all family members can use this
(15:47) package on this page if we are requiring
(15:49) upfront payment we will also get a
(15:51) little notice down here saying that the
(15:53) member has 15 minutes to pay for that
(15:56) package and once we go to the purchase
(15:59) package
(16:00) button oh let me select a player
(16:04) here once we click purchase package that
(16:07) would be when that 15minute time window
(16:10) starts for
(16:11) members if they selected the wrong
(16:14) package and they need to delete it from
(16:15) their account before paying for it we
(16:17) also have this delete button right
(16:20) here so that goes over purchasing
(16:23) packages on the member portal um I will
(16:25) also go over how we can sell packages
(16:27) from the admin side and also how we can
(16:30) manage packages that are on members
(16:32) accounts so let me go back to the admin
(16:37) side and go to my account really
(16:43) quick so when we are on a member’s
(16:46) account we can take a look at the
(16:48) packages that are on their account by
(16:50) going to billing and then going to the
(16:53) packages page here we will be able to
(16:56) take a look at any packages that are on
(16:59) this member’s account or that are in
(17:00) this family’s account we’ll be able to
(17:02) see if that package has been paid for
(17:05) and if we go to the punches colum we can
(17:07) also click on this section right here
(17:10) and we can take a look at how many
(17:12) punches have been used or how many are
(17:15) remaining we can also manually deduct
(17:17) punches if we need to from this page so
(17:20) if we need to just take a punch off for
(17:22) any reason we can take that punch off
(17:25) leave a little note here that’s what
(17:27) this section is right here I manually
(17:30) deducted that punch and if we need to
(17:32) delete that deduction we can also do
(17:35) that as
(17:37) well if we want to sell a package to a
(17:40) member from the admin side we’re going
(17:42) to have the sell package button here and
(17:45) when we click on that we’ll have a drop
(17:48) down for the different packages in our
(17:51) organization and if we are eligible to
(17:53) sell it by family you know we can choose
(17:56) the family assignment type we we can
(17:59) choose multiple or all family members or
(18:01) we can assign it just to an individual
(18:05) here if we need to take a look at the
(18:08) punch usage that a member has on their
(18:11) account we can go over to the
(18:12) transactions Tab and here we are going
(18:15) to have a punch usage tab so we can take
(18:18) a look at any fees that have been paid
(18:21) for with a punch from a package we’ll
(18:24) also be able to see that payment with
(18:27) the punch here as well and if we need to
(18:30) refund a punch we can also do
(18:33) that when we click the refund button
(18:36) we’ll be able to choose just package as
(18:38) the refund destination and we will be
(18:40) able to sort of pick and choose how many
(18:42) punches we want to refund back to that
(18:45) member’s
(18:47) account so with selling packages on the
(18:50) member portal and the admin panel um
(18:54) another update that we had a little bit
(18:56) earlier this year was we did give a way
(18:59) for organizations to mass update
(19:01) packages that are in their organization
(19:04) so let me go back to settings on the
(19:07) sidebar scroll down to the billing
(19:09) settings row and go to the packages page
(19:13) and I’ll kind of go over an instance
(19:15) where you may need to mass update a
(19:18) package so say that we already have a
(19:21) package created in the system and it’s
(19:23) very commonly used by members we already
(19:26) have multiple members that have
(19:27) purchased this package package but we
(19:29) are now looking to introduce a new
(19:32) series of events in our organization and
(19:35) with that new series of events we are
(19:37) also creating a new event category in
(19:39) the system but when we created this
(19:41) package we did not have that event
(19:43) category created yet so for right now
(19:47) that package does not have eligibility
(19:49) for that specific event
(19:52) category if we go to the edit page for a
(19:56) package and we have this package sold to
(20:00) even one or more members here whenever
(20:03) we look and we edit this package in any
(20:08) way we’re going to be able to see the
(20:11) number of active packages that are out
(20:13) for this specific package type and we’ll
(20:16) be able to see all of the changes that
(20:18) we have made to this package so far and
(20:20) if we would like to mass update those
(20:22) packages that are already sold we can
(20:25) update these sold packages here if we
(20:28) don’t don’t update sole packages these
(20:31) edits that we are making are only going
(20:33) to take place for packages that are
(20:36) purchased or sold to members after we
(20:38) click this save button um so we knew
(20:41) that was an issue that some people were
(20:43) having where they were introducing new
(20:45) event categories or new reservation
(20:48) types or lesson types so now with this
(20:50) feature you will be able to make any
(20:53) changes that you need to to packages and
(20:55) also update those packages that are
(20:57) already sold two
(21:00) members so the last thing that I want to
(21:02) go over today before we start going over
(21:04) some questions that we have is the
(21:06) packages report if we go over to reports
(21:10) on the
(21:12) sidebar all the way on the bottom of
(21:14) this page we are going to have the
(21:16) packages option and when we are on this
(21:18) report we’ll be able to filter by the
(21:21) purchased on start date in the purchase
(21:23) on end date we’ll be able to filter by
(21:26) those different package categories if we
(21:28) are using them we’ll be able to filter
(21:31) by Revenue category and we can also
(21:34) filter by sales status so if we want to
(21:36) take a look at expired packages in an
(21:39) organization or just active packages
(21:42) we’ll be able to filter there if we want
(21:44) to take a look at maybe just the
(21:46) packages that are currently unpaid in
(21:48) the system we can filter by payment
(21:51) status as well we can also filter by
(21:54) specific packages that we have in the
(21:56) system and we can also o filter packages
(22:00) by how many punches are remaining on
(22:03) that specific package that shows up on
(22:05) this report so once we run that report
(22:08) there based on the filters that we are
(22:10) using we will be able to see all of the
(22:13) sold or purchased packages that are
(22:15) under those filters that we have set
(22:19) up all right great so that kind of goes
(22:22) over all of the new updates that we have
(22:24) added to packages since it’s initial
(22:26) release um if anybody has any questions
(22:29) I will be happy to answer some of those
(22:32) Ashley do we have any questions in the
(22:33) Q&A we do right now we cannot set up a
(22:37) package that is determinant upon prime
(22:40) time and non-prime time slots correct
(22:43) correct yeah right now we do not have a
(22:45) way to differ that in the eligible table
(22:49) yeah the only way I can think that you
(22:51) could set that up is if you had
(22:53) different reservation times uh in Prime
(22:57) Time versus is non-prime time that way
(22:59) you could sell the package you know for
(23:02) two hours during Prime times and or you
(23:04) know 60 Minutes during non-prime time
(23:06) that that would be the only way I can
(23:07) think of right now Keith that you could
(23:09) set that up but I like the idea it’s
(23:11) definitely something Josh can take back
(23:12) to the product team for sure so the next
(23:16) question
(23:17) is where customers are not restricted
(23:20) for the amount of Courts they can book
(23:22) the same amount of court time punches so
(23:24) you can definitely restrict the number
(23:27) of times
(23:28) you know per day or per week that people
(23:31) can make cour bookings but it’s not
(23:34) going to align exactly with your court
(23:37) time
(23:38) punches um I’m not really sure Keith
(23:41) I’ll take that back to the team but I
(23:43) don’t think that that is necessarily an
(23:46) issue right now unless you can give me a
(23:48) little more on that one um let me go to
(23:50) the next tab um the recording will be on
(23:54) the court Reserve YouTube channel later
(23:57) this afternoon so give us a couple of
(23:59) hours and Josh can put it up on the
(24:00) court Reserve YouTube channel and you
(24:02) guys can watch this again so uh we do
(24:04) have a great question and I think Josh
(24:06) this would be really helpful for all
(24:08) people uh Keith asked if you could show
(24:10) them again how you create the drop down
(24:13) on the header for just like for members
(24:16) just to buy a package because it is kind
(24:18) of hidden back there on the billing
(24:21) tab yeah so let me let me go back to the
(24:23) member portal here really quick and I’ll
(24:25) kind of just walk you through exactly
(24:27) how we would grab that URL and make it a
(24:29) header so if I’m on the member portal I
(24:33) want to go over to the menu under my
(24:35) name and then I want to go over to
(24:36) billing and then the packages
(24:41) page from here after we click purchase
(24:44) package we will be on that URL that we
(24:47) want to put on our header so we can grab
(24:50) the URL from here we can copy that I’ll
(24:53) copy that really
(24:54) quick and then as a admin when we have
(24:58) over our name in this menu we can
(25:00) quickly navigate to the website settings
(25:03) so we’ll want to go to the website
(25:04) settings page under portal settings
(25:06) after we have that
(25:09) URL from here we can go to the menu tab
(25:13) and this is going to be where we can
(25:15) create those headers so if I create a
(25:18) header link and I paste that
(25:22) URL and maybe I Nam that header
(25:24) available packages from here we can
(25:27) choose who’s going to be be able to see
(25:29) this header so if we only wanted to show
(25:31) this to logged in
(25:33) users we can only have this show on the
(25:36) logged in version of your member portal
(25:38) and then we can click save so from there
(25:41) we now have this package header created
(25:44) so if I go back to the member
(25:46) portal I now have this available
(25:49) packages option right
(25:50) here and when I click on that it’s going
(25:52) to take me directly to this page where I
(25:55) can see all of the packages that are
(25:57) currently offered at
(26:02) organization all right great were there
(26:05) any other questions yeah let’s see
(26:10) um somebody wonders like approximately
(26:14) how many punch cards or packages would
(26:16) be helpful for a 24hour
(26:19) court H so if you have a I guess a
(26:22) staffas facility 24-hour Court I guess
(26:25) you would have to David you know really
(26:28) think about the the pricing a lot of
(26:30) times people offer packages you know as
(26:33) an a value prop for members right so buy
(26:37) 10 cour hours you know and and pay for
(26:41) nine right you get one qu hour for free
(26:44) um Josh do you have any other
(26:46) examples yeah I think that’s that’s a
(26:48) good way of putting it so I think really
(26:51) um the main things that you would want
(26:53) to be sort of deciding there when you’re
(26:56) creating a package is how many punches
(26:58) you want to put as the total amount and
(27:02) then the price of the package itself and
(27:05) then also you know what the punch values
(27:07) are going to be for each
(27:10) registration um and and that way you can
(27:12) sort of see you know if if I’m going to
(27:15) create a package that has 10 punches and
(27:18) each reservation is one punch you know
(27:20) roughly how much would 10 reservations
(27:22) be at my organization and then you know
(27:24) if you want
(27:25) to a slight discount there to sort of
(27:28) incentivize members to use the packages
(27:31) um you know you can discount a little
(27:33) bit from there if needed yeah I like
(27:35) that answer I mean you really have to
(27:37) come down to you know what’s your what’s
(27:39) your minimum Court pricing you know and
(27:41) what do you need to get out of that for
(27:42) sure so all right here’s another
(27:44) question um well two more questions um
(27:48) Can a package have a member and a
(27:50) non-member
(27:52) price so there you would want to create
(27:56) different packages for those instances
(27:58) so if we go back to the edit page for a
(28:01) package and you know we want to have one
(28:03) price for the members we can create a
(28:06) member package and then again when we
(28:09) are allowing this package to be eligible
(28:12) to be sold on the portal SL app we can
(28:15) say you know I don’t want my guests or
(28:17) my non-members to see this option I only
(28:20) want the paid membership members to see
(28:22) this option here and then you can create
(28:25) a new non-member package that has that
(28:27) non member pricing and then for that one
(28:30) we can say you know I only want the
(28:32) guests or the non-members to see that
(28:35) option yeah that’s a great question uh
(28:37) we got another
(28:38) question do punches abide by the
(28:42) existing refund policy for example if
(28:44) they cancel 24 hours in advance they get
(28:46) their punch back but if less than 24
(28:48) hours the punch is
(28:50) non-refundable yes so let me go to the
(28:54) auto refunding page so under settings on
(28:57) the sidebar if we go down to the billing
(28:59) settings row when we go to auto
(29:03) refunding if we are using packages in an
(29:06) organization we are going to have
(29:08) punches as a payment type option under
(29:11) this refund destination table so we can
(29:14) say you know if we want packages to sort
(29:17) of go under these Auto refund criteria
(29:21) here we can say if a member cancels and
(29:24) it’s further out than 24 hours and they
(29:26) paid with a package we wanted to Auto
(29:29) approve that refund and put that punch
(29:31) back on the package for the member
(29:34) that’s awesome that’s great um so we
(29:38) have two different questions uh but I
(29:40) think they’re almost the same so Brian
(29:42) ask can you show us what it looks like
(29:44) when a member uses the punch when they
(29:47) are reserving Court time and then David
(29:50) said would the customer still be able to
(29:52) book specific time for the court or they
(29:54) can they just come in at any time so dve
(29:56) they would definitely have to make that
(29:58) reservation and use that applicable
(30:01) punch for that reservation and so Josh
(30:03) if you can walk us through on the player
(30:05) side when a member actually books or
(30:08) uses a punch what that looks like I
(30:10) think that’ll answer both questions yeah
(30:13) so let me go to the member portal here
(30:15) and I’ll go over to my courts and let’s
(30:18) book a reservation
(30:23) here so if I pick
(30:26) singles and I make it 1 hour
(30:30) here I believe this should fit the
(30:33) criteria that I
(30:38) have so when I go over to pay for this
(30:43) reservation if I have a package that’s
(30:46) eligible to be used once I go to the
(30:49) payment screen for that reservation or
(30:51) that lesson or that event by default
(30:55) we’re going to have pay by package as
(30:57) the option here and if I have multiple
(30:59) packages that are eligible to be used
(31:01) here I can choose which package I want
(31:03) to use to pay for this reservation and
(31:07) if there’s any reason why I don’t want
(31:08) to use my package you know I can also
(31:10) still pay by credit card but by default
(31:13) it’s going to choose the pay by package
(31:15) option here and then I’ll just need to
(31:17) click pay and then that package will be
(31:20) used it looks so easy
(31:23) right I love it I love it all right so
(31:26) we have another question if the m uses a
(31:28) certain amount of punches and then wants
(31:30) a refund for the remaining punches is
(31:33) this possible well I can tell you from
(31:35) like an old Coast pickle ball standpoint
(31:37) if you guys don’t know Tim and I did
(31:38) open up an indoor pickle ball facility
(31:41) and I I don’t know how I would deal with
(31:43) that may so that’s actually a good
(31:45) question and maybe some others can you
(31:47) know give their business input Josh from
(31:50) a court Reserve standpoint what does
(31:52) that look like yeah so uh I’ll try to
(31:55) like create a a example here that may be
(31:58) a little easy to follow so if I have a
(32:00) package that I sell to a member and it
(32:02) has 10 punches and the member has used
(32:05) five of those punches but then they want
(32:07) a refund to their credit card for the
(32:09) last remaining five punches what I would
(32:12) recommend doing there is going to the
(32:16) actual fee for the package itself so
(32:19) like here I have this package and here I
(32:22) would refund the payment from this
(32:25) package fee so you know if I use
(32:28) half of the punches here and the member
(32:30) wants a refund for the last five punches
(32:33) to their credit card we can just do half
(32:35) of the paid amount here and refund it to
(32:39) the member’s credit card I would make
(32:41) sure if you are refunding to the credit
(32:44) card and you don’t want this package to
(32:46) be usable by the member after that point
(32:48) we would also need to go to the packages
(32:51) page and we would want to delete that
(32:53) package from the members account so that
(32:56) they can’t still use those five punches
(32:58) that are left and once we delete it it
(33:01) won’t be completely gone from the system
(33:03) it’ll just go to the used or the expired
(33:06) tab awesome that’s great thank you so
(33:08) much for showing us that uh let’s see we
(33:11) have another question from David is
(33:13) Court Reserve Focus solely on pickle
(33:15) ball or could I use it for badminton as
(33:17) well oh Court Reserve is fully uh
(33:19) capable to do all Racket and paddle
(33:21) Sports we actually have a number of bad
(33:23) mitton clubs that use Court reserve and
(33:26) all they have is bad mitt um and so
(33:28) David I would just reach out to live
(33:30) chat we can help show you how to set up
(33:31) additional courts in your court Reserve
(33:34) or if you have a separate business you
(33:36) know help you show we do have some
(33:37) Enterprise features now if you have
(33:39) multiple businesses that we can help you
(33:41) as well so um we love all Racket and
(33:43) paddle sports right Josh yes we
(33:46) do are there any final questions um that
(33:50) we can answer for you today um I think
(33:53) that in the beginning uh we created
(33:56) packages and now it’s like packages is
(33:58) like you know 110% I think it’s a full
(34:01) circle I’m so glad that that admins and
(34:03) now can put the packages out there for
(34:05) the members to actually purchase and it
(34:07) really does keep up and help you guys
(34:09) make more money by reducing your um you
(34:12) know credit card transaction fees for
(34:13) sure uh last
(34:16) question usually packages oh we got two
(34:19) last questions usually packages are
(34:20) offered to give a discount but what if
(34:22) they want to refund for the remainder of
(34:24) punches can I convert the fees of
(34:26) package and charge regular
(34:31) rates oh so you’re saying that if you
(34:34) offer a package then you’re usually
(34:36) giving them a discount well may what you
(34:39) can do is what Josh just showed us you
(34:40) can choose what to refund them back so
(34:43) if they come to you and say hey they
(34:45) spent $100 and they actually got you
(34:47) know one for free then you would just
(34:50) have to do the math on your end and say
(34:52) okay you’re not getting your one for
(34:53) free anymore um I’m going to give you
(34:56) back $70 instead of $50 or or backwards
(35:00) right you just have to figure out what
(35:02) that math looks like so that you could
(35:04) um make sure that your business is
(35:05) covered as well um right let’s see Don
(35:10) ask is there a way to create a package
(35:12) for unlimited monthly
(35:16) play unlimited monthly P play
(35:21) um you could do you could do 31 I guess
(35:24) you could do it by day if you want them
(35:26) to be able to do one per day you could
(35:28) do 31 and then have it expire at the end
(35:30) of each
(35:31) month yeah yeah that is one way um I I
(35:35) know we are
(35:37) discussing and I don’t want to give too
(35:39) many details here but we are discussing
(35:41) like the ability to apply packages to
(35:44) specific memberships you know on a
(35:46) monthly basis or a weekly basis um so I
(35:50) think maybe after we have these other
(35:53) updates added to packages you would be
(35:55) able to very quickly Implement that for
(35:58) your
(35:59) memberships um you could also you know
(36:02) if you are trying to give one uh free
(36:06) reservation a week or a month we do also
(36:09) have the discounts page um it may just
(36:12) depend on exactly what you are wanting
(36:14) to achieve there so it may be best to
(36:17) reach out to support there and they can
(36:19) take a look at your setup and see the
(36:21) best way or the closest way that we
(36:23) could achieve that yeah can you show
(36:25) them where the discounts page is because
(36:27) I think that’s probably a better option
(36:29) is if you go to settings and then um
(36:30) show them where that discounts page is
(36:32) because Don if you do want to allow them
(36:35) just to have a booking every day it
(36:36) could be included in their membership
(36:38) and then you could just allow one no
(36:41) charge booking per day and not have to
(36:42) sell them a package necessarily um right
(36:46) yeah under booking settings we have that
(36:47) discounts
(36:50) page and under this tab you’re going to
(36:53) be able to choose from reservations
(36:56) events or you can say you know we’re
(36:58) going to give you two free reservations
(37:01) or events and you can use it on on
(37:03) either um so yeah you’ll be able to set
(37:05) this up by day by week and by month by
(37:08) membership type so that that may be a
(37:10) better option for you yep for sure and
(37:13) then uh last question can you link a
(37:15) package to a membership well may when
(37:17) Josh in the beginning uh started showing
(37:19) you how to create the actual packages
(37:22) you can link certain memberships to
(37:24) certain packages so you can absolutely
(37:26) do that so
(37:29) yeah yeah so you can you can choose
(37:30) which memberships are going to be able
(37:32) to even see that package as an option
(37:34) from the member portal um and if you are
(37:38) looking to maybe have it auto apply on a
(37:40) monthly basis to a membership we don’t
(37:42) have that right now but that that is
(37:44) something that that we are discussing as
(37:46) a product team um to see if that’s an
(37:49) option for the
(37:50) future okay we’ll give us a couple hours
(37:52) we’ll put this recording up on the court
(37:54) Reserve YouTube channel thank you so
(37:56) much for joining don’t forget we have a
(37:58) lot of other uh educational webinars
(38:00) coming up you can go to court
(38:01) reserve.com and look under resources
(38:04) webinars and sign up for the ones that
(38:06) are coming in the next several weeks
(38:08) thanks again you guys have a great
(38:09) weekend all right thank you everybody
(38:11) bye bye

Creating bundles

It all starts in your CourtReserve admin dashboard. After navigating to Settings and Additional Features, you’ll see the option for Packages. Here, you can create a Package by defining:

  • Name and description
  • Total number of punches included
  • Pricing and tax rate
  • Eligible club activities (court time, lessons, or event categories)
  • Start and expiration dates
  • Whether it should be visible for purchase or admin-only and more.

You can also choose to allow bundle use before payment is received and tailor availability to individual, family, or specific membership types.

Selling (or assigning) Packages

Once created, you can:

This gives you full control over who sees what — and when. Some clubs sell Packages as public offerings, while others reserve them for internal programs or member-exclusive perks.

You can also control who can redeem the Package, as CourtReserve supports both individual and family sales:

  • Individual Sales: The Package is tied to a specific player, and only that person can redeem punches.
  • Family Sales: The Package is shared across the family account, and punches can be used by designated family members.
Example of the the Available Packages page, where they can learn more about specific packages, and select packages to purchase.
Example of Packages being sold directly to players on the Member Portal.

Managing Packages

Once a Package is assigned or purchased, punches are automatically deducted as players register for eligible reservations, lessons, or events. And remaining punches are always visible to both staff and players.

Example of a player using their Package to make a payment in the CourtReserve mobile app with remaining punches shown.

Additionally, CourtReserve makes it easy to manage Packages at any stage — whether you’re setting them up for the first time or making real-time adjustments. 

Here’s what you can do:

  • Auto-assign Packages to specific membership types each month with no rollover (Example: 10 free drop-ins for premium members that reset monthly.)
  • Mass update existing Packages and apply changes retroactively (Example: Add a new club activity that can be redeemed using an already-purchased package.)
  • Manually adjust punch counts — add, remove, or expire credits as needed
  • Choose which memberships or account types can access or purchase specific Packages

Tracking usage and performance

Every Package sold or assigned in CourtReserve is fully trackable — giving you clear visibility into how players consume them.

Use CourtReserve’s built-in reporting and utilization tracking to:

  • View which players purchase or receive Packages
  • Monitor punch usage in real-time
  • Identify unused Packages or those nearing expiration
  • See which categories (events, courts, lessons) drive the most redemptions

With these insights, you can plan more effectively, adjust your offerings, and understand which Packages deliver the most value to your players.

Example of Package reporting window in CourtReserve and available reporting filters.
Example of Packages reporting window in CourtReserve and available filters.

How bundled services improve club operations (Benefits)

Packages help eliminate the friction that comes with one-off payments, paper punch cards, and inconsistent player access.

Whether you’re looking to simplify billing, save on transaction fees, improve retention, or take the guesswork out of tracking, the Package tool helps your club run smoother, smarter, and more efficiently.

Below, we’ve highlighted some of the most common operational pain points — and how Packages transform them into efficient, scalable solutions:

Before Packages: Operational Pain PointsAfter Packages: Operational Improvements

Frequent payment processing

Members pay per session, increasing transaction fees and admin overhead.

Reduced transaction fees

Bundle multiple sessions into a single, upfront purchase — meaning fewer fees.

Manually managing punches

Clubs rely on paper punch cards, spreadsheets, and manual attendance tracking.
Automatically track usage

Punches are deducted automatically — no manual oversight required.

Low retention and participation 

Single-session payments lead to one-time attendance with no built-in incentive to return.
Bundled services boost engagement

Prepaid packages create commitment and encourage consistent attendance over time.

No built-in way to manage credits

Hard to adjust punches and adapt to real-life needs.
Flexibility to adjust as needed

Update expiration dates, punch counts, usage rules, and more with ease.

Uncertain revenue 

Pay-as-you-go models lead to unpredictable cash flow and tough budget planning.
Predictable income

Collect payment upfront for more consistent revenue and easier financial forecasting.

Best practices for setting up Packages at your tennis or pickleball club

Setting up Packages strategically makes all the difference. Whether you’re offering lessons, clinics, or court access, a few smart choices during setup can help you drive more sales and keep players engaged.

Here are some best practices to keep in mind:

Create Package names that sell

Generic labels like “Package A” or “10 Credits” don’t communicate value — and they miss the opportunity to position your offering as a solution, not just a transaction.

Well-named Packages do three things:

  1. Tell players what they’re getting
  2. Tie into your club’s programs or overall experience
  3. Make the offer feel tailored, not templated

Here are a few strong naming examples:

  • Junior Summer Skills Pack (seasonal + age-specific)
  • 10-Session Cardio Tennis Bundle (clear quantity + program name)
  • Drop-In Pickleball 5-Pack (drop-in format + sport-specific)
  • Family Court Time Flex Pass (audience + flexible usage)
  • Beginner Starter Bundle: 3 Lessons + 1 Free Court Hour (entry-level + added value)

Keep Package details clear and straightforward

The most effective Packages are the simplest to understand. When players immediately see what they’re getting, how it works, and who it’s for, they’re far more likely to buy and use it.

Overly complex bundle rules lead to hesitation, questions, and lower conversions. To avoid that, make sure each Package answers these three questions at a glance:

  • What’s included? (5 private lessons, 10 drop-in sessions, 5 60 minute court reservations, etc.)
  • How long is it valid? (30 days from purchase, expires at the end of the season, etc.)
  • Who can use it? (adults only, premium members, families, etc.)

Make sure to keep descriptions short and skimmable. If it takes more than a sentence or two to explain how it works, the Package might need to be simplified or split into tiers.

Offer a variety of bundles

For clubs looking to sell more Packages or make their offerings more accessible, providing multiple tiers is an effective strategy. By creating options for various commitment levels and budgets, you remove decision friction and make it easier for players to say “yes.”

Here are some smart tiering strategies to consider:

  • Entry-level: 3 punches for new or casual players testing out your programs
  • Standard: 5 or 10 punches for regulars who attend consistently
  • High-value: Premium bundles for committed players who want priority access or added perks (access to special events, lessons with in-demand instructors, bonus court time, etc.)

Offering variety doesn’t just boost conversions, it also ensures that every player — from first-timers to loyal regulars — can find a Package that fits their experience.

Use expiration dates to drive action

Adding expiration dates to your Packages is one of the simplest ways to increase usage, reduce no-shows, and create a sense of urgency for players.

  • Fixed end dates for seasonal promotions (“Expires August 31” for summer skills bundles)
  • Dynamic expiration based on the purchase date (“Valid for 30 days after purchase”)
  • Short-term expirations to increase urgency (“Use within 14 days” for intro packs or flash sales)

Make sure to be transparent. Display expiration rules clearly in your Package description so players know what to expect. 

Example of expiration settings in "Create Package" window in CourtReserve.
Example of expiration settings in “Create Package” window in CourtReserve.

Use visibility settings strategically

With CourtReserve’s Package tool, you control who can view and purchase each Package. This makes it easy to reserve specific bundles for exclusive groups — keeping your offerings organized, purposeful, and relevant to the right players.

Visibility settings are especially useful when you want to:

  • Offer exclusive Packages to premium or invite-only members
  • Run private programs or training sessions
  • Test a new bundle with a smaller group before rolling it out

Setting these rules ensures that players only see the Packages meant for them — reducing confusion and keeping your player experience clean and focused.

When in doubt, start with tighter visibility rules — then scale access once you’ve tested performance and gathered feedback.

Actively promote and market your Packages

Packages only drive revenue and engagement if your players know they exist. Rather than setting them up and hoping players find them, you need to actively market and promote them.

Here are smart ways to consistently promote your Packages:

  • Run seasonal campaigns (“Back-to-Court Specials”, “Summer Skills Pack”)
  • Use limited-time offers to create urgency (“Buy before Monday and save 10%”)
  • Incorporate into player onboarding to boost early engagement (“Start with a 3-pack to get playing”)
  • Add signage or prompts at check-in areas (Front desk flyers, kiosk banners, or digital screens)
  • Promote during court or program registration (Remind players they can save by bundling sessions with a punch pass)

The more visible and timely your Packages are, the more likely players are to engage — helping you boost revenue while filling your programs consistently.

Get started with Packages today!

Packages help you reduce transaction fees, increase engagement, and more — all without adding to your workload. If your club is running high-volume lessons, clinics, or events, this is the feature that makes it all easier — for you and your players.

The Package tool is included with our Grow, Scale, and Enterprise plans.