The following configuration is needed
Database update
Add a record in the datatable’s table WebBookingType with the following UUID:
WebBookingType with UUID="d660c7e5-5f84-4e65-8351-dff78bdcf2b9"
Desktop
Add a tag (through desktop GUI) called “Free Booking”, and select “booking applicable”
Note for tag id which is to be configured with CutomerProerties.QTC_FREEBOOKING_TAG_ID
Customer Properties
WEB_BOOKING_BOOKINGCONTROLLERV2_BOOKING_VALIDATOR
WEB_BOOKING_BOOKINGCONTROLLERV2_BOOKING_VALIDATOR=com.sportlogic.tms.web.customer.controller.booking.v2.customisation.QtcBookingValidator
QTC_FREE_MEMBERSHIP_TYPE_IDS – list of csv of membership type ids that support free bookings
QTC_GOLD_MEMBERSHIP_TYPE_IDS – csv of only Gold and Gold plus, subset of QTC_FREE_MEMBERSHIP_TYPE_IDS
QTC_SILVER_MEMBERSHIP_TYPE_IDS – csv of only Silver memberships, subset of QTC_FREE_MEMBERSHIP_TYPE_IDS
# e.g. Gold = 1, Gold Foundation =2, Gold Plus = 3, Silver A = 4, Silver B = 5
QTC_FREE_MEMBERSHIP_TYPE_IDS=1,2,3,4,5
QTC_GOLD_MEMBERSHIP_TYPE_IDS=1,2,3 //since June 2025 to support different rules
QTC_SILVER_MEMBERSHIP_TYPE_IDS=4,5 //since June 2025 to support different rules
Note that from June 2025, we added QTC_GOLD_MEMBERSHIP_TYPE_IDS and QTC_SILVER_MEMBERSHIP_TYPE_IDS so that we can have separate free booking rules for gold and silver membership types.
QTC_EXLCUDE_FREEBOOKING_COURTS_<membershipTypeId>
list of ActivityCategory (courts) in CSV to be excluded from free bookings for the membership type
e.g. QTC_EXLCUDE_FREEBOOKING_COURTS_1=C5,C3
# means exclude free booking for court with id C5 and C3 for membership type 1
QTC_FREEBOOKING_TAG_ID
tag id for free booking. this value is set in Activity.subtypeTagId
e.g. QTC_FREEBOOKING_TAG_ID=12
SiteProperties
in tms.web
# ensure using qtc customised booking handler
customer.module.BookingControllerV2.custom_booking_handler=com.sportlogic.tms.web.customer.controller.booking.v2.customisation.QtcBookingHandler
# enable qtc custom code (with its own button)
customer.module.booking.qtcfreebooking.enabled=true