PlaySport — Booking, Club Operations and Finance by Ilya AsminkinPlaySport — Booking, Club Operations and Finance by Ilya Asminkin

PlaySport — Booking, Club Operations and Finance

Ilya Asminkin

Ilya Asminkin

One platform for players and club teams

PlaySport is my own production sports-booking and club-management platform. I built the customer-facing booking experience alongside the operational tools a venue needs to manage courts, reservations, pricing and money. The two sides use the same underlying booking data, so the product connects the player’s choice of a time slot with the club’s daily schedule and financial records. The screens show the live Tennis & Padel City workspace in Uzbekistan.

A clear player booking journey

Players start with a club directory containing sports, venue photos and starting prices. Inside a club, they can select a sport, date, duration and court, or let the application assign a suitable court automatically. Court photos and individual prices help with the decision, while available start times are grouped into useful parts of the day. The interface also exposes multi-court booking and sun and weather context. The wider booking flow supports guest reservations, Payme and Click integrations, split payments and pay-at-venue workflows.

Daily operations at different scales

The management workspace gives staff several ways to understand the same schedule. The day view maps reservations and blocked time against individual courts. The week view shows capacity across hours and days, while the month view summarizes bookings, classes and amounts. Venue selection keeps work tied to the relevant club. Customer records, classes and events, court and coach setup, inventory, check-in and notifications form the surrounding operational workflow. Owner and manager access is scoped to the clubs and responsibilities assigned to each user.

Finance that keeps distinct numbers separate

The finance dashboard distinguishes earned amounts from money received and shows the difference for the selected reporting period. Online gateway records are presented separately from payments entered by club staff. Owners can inspect payment methods by sport, including cash, Payme and Click, and compare the distribution of paid amounts. Operational charts add another perspective: sold and blocked capacity, hourly load, weekday patterns, cancellations and average booking value. Reporting uses the club’s currency and time zone, with selectable periods and sport filters.

Pricing rules the team can maintain

Pricing combines a base hourly rate with court-category time windows and discounts. Existing rules can depend on the day, start-time window and booking duration. When several discounts apply, the interface explains that the best player price is used rather than stacking reductions. This connects the rates visible to players with controls that the club team can maintain inside the same product.

Full-stack product implementation

The web application uses Next.js, React and TypeScript, with PostgreSQL and Drizzle ORM for application data. Tailwind CSS supports the interface, next-intl supplies localized navigation and content, and Recharts powers financial and operational charts. Shared domain logic handles booking and pricing concerns across the application. This project brings together the parts that often become separate tools: public discovery, availability, reservations, staff operations, payment records and reporting.
Live Tennis & Padel City operations — court-by-court daily reservations and club blocks.
Live Tennis & Padel City operations — court-by-court daily reservations and club blocks.
Monthly planning — daily booking and class totals with the associated amounts.
Monthly planning — daily booking and class totals with the associated amounts.
Player discovery — clubs, sports, photos and starting prices in the English booking app.
Player discovery — clubs, sports, photos and starting prices in the English booking app.
Pricing operations — base rates, time windows and duration-based discounts by court category.
Pricing operations — base rates, time windows and duration-based discounts by court category.
Operational analytics — sold and blocked capacity, busy hours and weekday demand.
Operational analytics — sold and blocked capacity, busy hours and weekday demand.
Player booking — English court availability with sport, duration, pricing and start-time choices.
Player booking — English court availability with sport, duration, pricing and start-time choices.
Court selection — compare court photos and prices or use automatic assignment.
Court selection — compare court photos and prices or use automatic assignment.
Weekly utilization — aggregate court occupancy by day and hour.
Weekly utilization — aggregate court occupancy by day and hour.
Financial overview — accruals, receipts, occupancy and separate online versus club-entered payments.
Financial overview — accruals, receipts, occupancy and separate online versus club-entered payments.
Payment reporting — cash, Payme and Click shown separately for each sport.
Payment reporting — cash, Payme and Click shown separately for each sport.
Like this project

Posted Sep 6, 2026

A live sports platform connecting player bookings, court schedules, club operations, payment integrations and financial reporting.