Online Golf Course Reservation System
Retooling of a web-based PHP system that allows golfers and courses manage tee-time reservations. User experience improvement and performance optimization. Promo website design and development.
- Technologies used:PHP, MySQL, Stripe API, T-Links API, Symfony
- Industry:booking systems
A US company that owns an online tee-time reservation service.
By the time customer turned to HQSoftware for help, he already had MVP of the system which included four modules:
- Booking engine allowing golfers to book a tee time, check out and pay online across several clubs in a state
- Client panel where golfers can log in, edit their account and
saved payment information, and view future or past reservations
- Course admin panel for managing reservations, rates, promo codes and tee-time availability; editing terms and conditions, and information required for checkout; viewing statistics
- Super admin panel enabling the course admin panel functionality plus management of existing client courses and users, as well as onboarding of new courses
The system integrates with T-Links - nationwide web-based tee-time reservation software.
Though already in use, the system provided slow performance and at times uneasy user interface, which, coupled with a lack of several business-critical features, significantly reduced the customer’s ability to monetize the service. Therefore, the company commissioned HQSoftware to retool the system and unlock a better user experience for the customer, courses and golfers. The main challenge was to work with the unfamiliar APIs and poorly structured code.
To handle this task, HQSoftware assigned a team of a Project Manager, a PHP Developer and a Designer, who revamped the system’s look-and-feel by redesigning multiple layouts and went on to create new features and improve the overall performance.
Deposit. While booking a course, the golfer can now choose between the “pay now” and “pay later” options. With the second option, the user h as to pay a deposit, which can be a fixed sum or a fixed percentage of the total sum, depending on the course’s preferences.
Rates. The system allows assigning pre-defined rates to various types of users – for example, employees, members and so on. This way, upon signing in, a user will access personalized offers based on their status. All rates are configured by each course individually in T-Links, from where they are automatically pulled into the customer’s system.
Reservation Management. Previously, course representatives had to visit T-Link in order to manage reservations, whereas now they can do it in a single interface provided by the customer’s system. Particularly, they can:
- view all and recent reservations
- filter reservations by name, reservation ID and book or play date
- view the number of players, chosen payment option and revenue for each reservation
- create reservations, when clients, for example, are booking a tee time by phone – before, managers would have to go through the entire booking routine from scratch just as clients do it using the booking interface. To streamline the process, they can select an existing user or create a new one right away in the panel
- edit or cancel reservations
Statistics Dashboard. HQSoftware created a dashboard that provides insights to reservations and revenue over extended periods in an easy-to-read graph.
Integration and Performance Optimization
Easier and More Secure Payments
To make booking and payment easier and protect user data, the project team integrated the system with Stripe - global online payment system. Now all credit card information is stored by the payment system, while leaving the last four digits of the card number for the client to quickly proceed with the payment without the need to type in the same data repeatedly.
Faster Booking Engine
Previously, when booking a tee-time, the user had to wait too long, as the system was to simultaneously handle two data-heavy responses from T-Links, containing the information on courses’ yearly calendars and available tee slots for a preferred time. Since course calendars are planned well in advance and don’t tend to change frequently, HQSoftware set up a Cron job to automatically retrieve the schedules once every three months. This allowed speeding up the loading of available tee slots by 3 times.
New Marketing Channel
To help the customer better market their service, the project team designed and developed a promo website for publishing news and best offers – all manageable through the above-mentioned admin panel. Aiming to save the development time and provide a unified look-and-feel, the team re-used the UI components of the main booking system to allow display of current offers.
Though initially planned to last 2 months, the project stretched over 5 months, as the customer, satisfied with the results, came up with more requirements. The retooled tee-time reservation service provides an impeccable user experience for all stakeholders while maximizing the customer’s marketing and monetization capabilities. The company is now planning to cooperate with HQSoftware on developing a mobile app to help golfers and courses manage reservations on the go.