The admin side of scheduling: booking states, a day-grouped calendar and honest no-show rates
Booking pages get the attention, but most of the work in a scheduling product happens after the booking: approving it, checking people in, seeing the week at a glance, and knowing what actually happened. This is how the admin side works in VeloxonHub . The 46-second reel shows it from the outside; here's the inside. 1. One table for two kinds of booking Appointments (1:1 calls) and events…
Most of the work in a scheduling product occurs after the booking is made. This is where VeloxonHub handles the admin side of things. The platform uses a single registrations_bookings table for both appointments (one-on-one calls) and events (workshops, Q&As). Each row has a status and a separate payment_status. Statuses include pending, confirmed, waitlisted, attended, no_show, cancelled, rescheduled, and refunded. Payment statuses can be free, unpaid, paid, refunded, or credit_used.
When a booking is pending or confirmed, the admin can approve the booking. Once confirmed, they can check in attendees. If a booking is cancelled, refunded, or marked as attended, it will not appear in the cancel or reschedule options. Hosts can only join when there's a join window available, using the same joining_details that clients see.
The admin calendar shows occurrences for a chosen date range, filtered by type. Each occurrence includes the host, number of bookings, and capacity. The default range is today plus 30 days, focusing on upcoming events rather than a month-long grid. The list is organized by date, with headings displayed in the viewer's time zone.
Hosts control their availability through weekly rules. These rules are converted from an interface to a week format and back again. Each day is represented as a list of windows, allowing for multiple time slots rather than a single continuous block. Hosts can have global rules or product-specific rules. If a host hosts themselves, they are marked as is_self, and their plan won't be affected by the booking.
Hosts have a dedicated dashboard based on their permissions. After logging in, they are redirected to the host dashboard after becoming a host. The dashboard displays information about sessions, average ratings, reviews, pending approvals, and no-shows. The server decides what a host can see, hiding irrelevant information from the navigation.
Analytics in VeloxonHub focus on no-show rates, calculated as a percentage of attended and no-show bookings. The denominator is the count of attended plus no-show bookings. Cancellations and future bookings are excluded from this calculation. Revenue is calculated by subtracting refunds from paid bookings for events and appointments, and host utilization is determined by the ratio of non-cancelled bookings to sessions.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.