One Link. Sold Out.
Classlane is a lightweight booking and payments platform for local classes and workshops. Built for independent instructors and small studios teaching pottery, yoga, coding, and cooking, it replaces DMs, spreadsheets, and cash with a single mobile link-in-bio. A two-minute Hold-to-Confirm waitlist auto-texts the next person, backfills cancellations, boosts revenue 18%, and cuts no-shows 28%.
Subscribe to get amazing product ideas like this one delivered daily to your inbox!
Explore this AI-generated product idea in detail. Each aspect has been thoughtfully created to inspire your next venture.
Detailed profiles of the target users who would benefit most from this product.
- Age 33-45; caregiver of two kids ages 6-11. - Suburban near mid-sized city; two-car household. - Mid-level professional; combined income $110k–$180k. - iPhone user; shared family Google Calendar.
After a costly double-booking and a missed pickup, Sam rebuilt the family routine around shared calendars. Previously used cash and clipboards at studios; now insists on multi-attendee checkout and automatic reminders to protect evenings.
1. Book multiple children in one checkout. 2. Automatic calendar sync and conflict detection. 3. Transfer seats to sibling when plans change.
1. Double-booking causes missed classes and fees. 2. Separate checkouts for each child. 3. Last-minute cancellations waste prepaid spots.
- Craves order amidst family chaos. - Values reliability over novelty or flair. - Motivated by kids’ progress and smiles. - Loathes wasting prepaid, nonrefundable seats.
1. Instagram Stories - class updates 2. Facebook Groups - local recs 3. SMS - confirmations 4. Google Calendar - family sync 5. Nextdoor - neighborhood tips
- Age 24-40; urban or inner-suburb resident. - Purchases 6–12 gifts yearly; mid-to-high discretionary spend. - Uses iPhone; shops evenings from couch. - Works in creative or tech-adjacent roles.
After gifting vouchers that expired unused, Grace now prioritizes frictionless redemption and clear balances. Loves surprising friends with pottery nights, pasta workshops, and candle-making classes discovered on social.
1. Purchase gift with recipient email or phone. 2. Transferability and remaining balance tracking. 3. Scheduled delivery and reminder nudges.
1. Gift vouchers expiring unused. 2. Confusing redemption steps for recipients. 3. Unclear balance or partial use.
- Seeks meaningful, story-worthy local experiences. - Avoids admin; loves effortless checkout. - Enjoys discovering local gems to share. - Values flexibility for recipient schedules.
1. Instagram Ads - gifting ideas 2. TikTok - local experiences 3. SMS - gift delivery 4. Email - receipts 5. Google Search - last-minute
- Age 26-38; solo entrepreneur instructor. - Travels to 6–10 cities yearly. - Android or iPhone; hotspot and mobile POS. - Income variable $40k–$90k with seasonal spikes.
A viral Reel sold out her first roadshow, but DMs, cash, and timezone mix-ups caused chaos. Adopted link-in-bio bookings and automated waitlists to backfill cancellations and keep tours profitable.
1. City-switching schedules with local timezones. 2. Rapid payouts after each event. 3. QR check-in and automated waitlist texts.
1. No-shows when flying city-to-city. 2. DMs overload for seat requests. 3. Manual timezone mistakes causing confusion.
- Thrives on momentum and tour energy. - Values speed, simplicity, on-the-fly control. - Growth-motivated; measures seats and payouts. - Risk-averse to no-shows while traveling.
1. Instagram Bio - primary link 2. Instagram DMs - inquiries triage 3. TikTok - demand generation 4. SMS - confirmations 5. WhatsApp - international
- Age 28-45; runs 3–5 weekly classes. - STEM/business background; spreadsheet fluent. - Laptop and iPhone; suburban studio. - Teaching income $60k–$120k annually.
A former analyst turned instructor, Maya grew a steady base but plateaued. Spreadsheet hacks broke at scale, pushing her toward actionable dashboards and controlled experiments.
1. Slot-level analytics and cohort retention. 2. A/B pricing and schedule experiments. 3. Automated nudges to fill weak classes.
1. Blind spots on what actually sells. 2. Static pricing leaves money on table. 3. Manual reporting wastes precious hours.
- Data guides every scheduling choice. - Obsessed with reducing empty seats. - Open to structured test-and-learn iterations. - Pragmatic operator, avoids shiny-object trends.
1. Email - performance digests 2. Google Sheets - exports 3. Instagram - promos 4. SMS - targeted nudges 5. YouTube - technique content
- Age 30-50; manages shared studio or maker space. - 2–3 rooms; 10–20 instructors rotating. - Uses Mac at desk; iPhone on floor. - Revenue from rentals and ticket splits.
Double-reserved rooms and cash miscounts sparked disputes and refunds. Sergio now screens instructors, co-lists events, and tracks splits with paperless attendance logs for audits.
1. Shared calendars with room-level capacity. 2. Co-host roles and automatic revenue splits. 3. QR check-in logs for audits.
1. Double-booked space causing disputes. 2. Chasing instructors for payment reconciliation. 3. No paper trail during inspections.
- Values fairness and transparency in partnerships. - Conflict-averse; insists on clear, shared availability. - Efficiency-minded, detests manual reconciliation and chasing. - Community-builder at heart, nurtures instructor relationships.
1. Google Calendar - master schedule 2. Email - agreements 3. Instagram - venue promos 4. SMS - urgent changes 5. Slack - instructor coordination
- Age 25-44; urban knowledge worker. - Heavy Google Calendar user; Android or iPhone. - Spends $100–$300 monthly on classes. - Lives alone or with partner; no kids.
After losing deposits to opaque policies, Ben began pre-booking blocks and tracking commitments tightly. Favors platforms that sync cleanly, send early reminders, and allow flexible rescheduling within rules.
1. Calendar sync with recurring bookings. 2. Simple self-serve reschedule within policy. 3. Transparent fees before checkout.
1. Hidden fees at payment. 2. Reminders too late to adjust. 3. Rigid reschedule rules punish planners.
- Plans ahead to reduce decision fatigue. - Values predictability and clear policies. - Productivity nerd; loves clean workflows. - Will pay more for reliability.
1. Google Calendar - planning 2. Gmail - confirmations 3. LinkedIn - discovery 4. Instagram - instructor updates 5. SMS - early reminders
Key capabilities that make this product valuable to its target users.
Dynamically adjusts the two‑minute hold window based on time-to-class and historical response speed. Near start time, holds shorten to fill seats faster; with more lead time, holds lengthen to give students a fair chance. Instructors keep momentum without micromanaging timers, boosting last‑minute conversions while staying student-friendly.
Implements a rules-and-model-based service that calculates the hold window per waitlist notification using two primary signals: time-to-class start and historical student response latency. Near start time, the engine shortens holds to accelerate backfill; with more lead time, it lengthens holds to improve fairness. Provides configurable global and per-class min/max caps, real-time recalculation on seat release and class state changes, and a safe default of 120 seconds when data is sparse or errors occur. Exposes a versioned API consumed by the waitlist and booking flows, supports caching and rate limiting, and logs inputs/outputs for auditability. Ensures deterministic behavior across devices and channels while reducing instructor micromanagement and improving last‑minute conversions.
Adds event instrumentation and data models to capture and aggregate response times from waitlist notification sent to seat claim (or expiry). Stores per-class, per-timeslot, and cohort-level metrics with privacy-conscious aggregation, retention windows, and opt-out support. Provides percentile distributions and recency-weighted signals to the Adaptive Hold engine, with fallbacks when data is insufficient. Integrates with existing analytics pipelines, ensures timezone normalization, and exposes query endpoints for experimentation and monitoring.
Delivers UI and settings to enable/disable Adaptive Hold globally and per class, set minimum and maximum hold durations (e.g., 30–180 seconds), and preview the next computed hold based on current time-to-class and recent response data. Includes an emergency pause, role-based access, sensible defaults, and inline education/tooltips. All changes are audited, applied without downtime, and propagated consistently to the hold engine so instructors maintain control and student-friendly boundaries.
Updates SMS, push, and in-app templates to display the current hold duration and deadline within the claim link and landing page. Supports live countdowns, localized time formats, and explicit expiry states. Handles dynamic adjustments when class conditions change, ensures deliverability with throttling and retries, and includes deep links that validate hold tokens server-side. Integrates with the existing auto-text pipeline to maintain momentum and reduce confusion for students at the moment of decision.
Defines deterministic behavior for low lead time (e.g., <15 minutes to class), message delivery failures, overlapping holds, concurrent claims, class cancellations, and time sync issues. Implements atomic seat allocation, idempotent hold creation, and circuit breakers that revert to the static two-minute hold when anomalies occur. Provides alerting, structured error logging, and observability dashboards so operational teams can detect and resolve issues without impacting seat fill or student trust.
Introduces an experimentation layer to compare Adaptive Hold against a static baseline across classes, cohorts, and time windows. Tracks conversion rate, time-to-fill, no-show rate, and student satisfaction proxies, with guardrails (sample sizing, stop-loss) and staged rollout controls. Provides instructor- and internal-facing dashboards to visualize impact and tune min/max caps, enabling data-driven iteration and confident, incremental deployment.
Enable richer actions with a single text: Y2 to claim two seats, Y-PACK to use credits, Y-GIFT to book for a friend, or Y-CARD to switch payment. Students get flexible control without opening a link, and instructors see higher conversion from clear, low-friction replies.
Build a robust inbound-SMS interpreter that normalizes and validates reply codes (e.g., Y, Y2, Y-PACK, Y-GIFT, Y-CARD), handles case/spacing/hyphen variations, extracts parameters (e.g., seat count), and deterministically routes to the correct action handler. The engine must be context-aware (class ID, waitlist hold window, user identity, prior messages), idempotent to avoid duplicate bookings, and resilient to ambiguous inputs with clear fallback prompts. It integrates with Classlane’s messaging service, identity, bookings, payments, waitlist, and audit logs, and supports instructor-level enable/disable and alias configuration.
Ensure reply code actions respect the two-minute Hold-to-Confirm workflow and current inventory state. When seats are held for a waitlisted student, code execution must atomically confirm within the hold, extend/expire holds appropriately, and trigger backfill if the user declines or times out. Outside waitlist holds, codes should check real-time availability, handle contention with optimistic concurrency, and produce consistent outcomes. System should log transitions and outcomes for reconciliation and customer support.
Support numeric quantity parsing to claim multiple seats with a single reply (e.g., Y2). Validate max seats per booking, class capacity, and instructor policies. If partial capacity remains, offer a downgrade prompt (e.g., only 1 seat left). On success, create a single booking with multiple attendees, reserving placeholders for unnamed guests and providing a follow-up to collect guest details if required. Update availability, roster, taxes/fees, and receipts accordingly.
Enable students to apply eligible class credits to confirm a booking by replying Y-PACK. Validate credit balance, expiration, product eligibility, and policy rules (e.g., credit-to-seat mapping for multi-seat claims). Support mixed payments when credits are insufficient and reflect accurate ledger movements. Provide clear confirmation or guidance if credits cannot be applied, and update analytics with credit utilization metrics.
Allow booking on behalf of another person with a single reply. Upon Y-GIFT, reserve the seat(s), then collect recipient name and contact via a short SMS follow-up or secure link. Support payer = sender (default) and optional credit application. Send the recipient a confirmation and calendar invite, and reflect gift status on the roster. Enforce privacy preferences, gift notes, and refund/transfer policies as configured by the instructor.
Permit students to switch the payment method associated with the booking by replying Y-CARD. If multiple saved cards exist, allow selection via SMS menu; otherwise, issue a short-lived, PCI-compliant secure link to add a new card while preserving the seat hold. On success, retry the charge and confirm the booking; on failure, inform the user and maintain clear next steps before hold expiry. Update wallet preferences if the user opts in.
Create standardized, localized SMS templates for confirmations, errors, partial availability, and prompts across all reply code paths. Include dynamic variables (class name, time, seats, price, hold timer), friendly tone, and fallbacks for carrier segmentation. Implement per-user and global rate limiting, spam/abuse detection, opt-in/opt-out handling (STOP/HELP), quiet hours settings, and delivery tracking with retries. Maintain audit logs for all inbound/outbound messages to support compliance and dispute resolution.
Intelligently orders who gets the next text using loyalty, past reply reliability, proximity, and instructor VIP tags. Fair, data‑driven prioritization reduces ghosted holds and rewards regulars, helping classes fill with the people most likely to show.
A deterministic scoring service that ranks waitlisted customers for each class using configurable weights of loyalty, reply reliability, proximity, and instructor VIP tags. Supports default global weights with instructor-level presets and per-class overrides; weight values 0–1 with normalized score 0–100. Exposes a factor breakdown per user for explainability. Invoked when a hold slot opens, a cancellation occurs, or on-demand from the waitlist screen, returning the top K candidates within 200 ms P95. Idempotent for the same input snapshot and re-ranks in real time as new signals arrive. Integrates with Hold-to-Confirm to select the next auto-text recipient and to backfill cancellations.
Backend pipeline that computes and caches signals used by Priority Boost: attendance history, no-show and late-cancel rates, lifetime and 90-day booking counts, total spend, reply reliability (accept/decline rates and response latencies), proximity to venue with consent, and VIP/ban flags. Normalizes metrics per instructor to avoid cross-studio bias and applies time decay to older events. Maintains a queryable user–instructor profile with freshness SLAs (real-time for replies; ≤5 minutes for aggregates). Handles missing data with defaults and flags for the scoring engine. Stores minimal necessary fields with defined retention periods.
Mobile UI to configure Priority Boost per class or globally: enable/disable, select weight presets (Balanced, Reliability-first, Regulars-first), set custom weights within allowed ranges, and manage VIP or Deprioritized tags with optional expiry. Provides a live preview of top candidates with factor breakdowns and supports pinning or excluding users for a session. Enforces role-based access for studios versus instructors. Changes are audited and applied without downtime.
Comprehensive logging and UI views for every ranking decision: candidate set, scores, applied weights, factor contributions, tie-break outcomes, and the final auto-text recipient. Provides per-class and per-user audit pages plus export for support. Offers a simplified, user-friendly explanation on request without exposing sensitive weight details. Aligns with retention and redaction policies to protect privacy while enabling fairness validation and debugging.
Deterministic tie-break and resilience rules when scores are equal or data is partial: randomized order within score bands seeded by class ID, recent attendance as secondary key, and FIFO waitlist time as final key. Applies cooldowns after ghosted holds, caps VIP uplift, and limits consecutive holds per user to prevent gaming. Gracefully degrades to legacy FIFO if the scoring service is unavailable. Includes rate limits and circuit breakers to maintain reliability.
A/B testing and feature-flag framework to compare Priority Boost with legacy ordering on ghosted holds, time-to-fill, show rate, and revenue per class. Supports instructor-level opt-in and guarded rollouts. Real-time dashboards and weekly summaries report deltas with confidence intervals. Insights feed back into default weights and segment-specific presets. Integrates with existing analytics events and respects user privacy choices.
User-facing consent flows for location and personalized prioritization, clear explanations of how Priority Boost uses data, and opt-out paths where required. Applies regional policies (e.g., GDPR, CCPA), data minimization for proximity (distance buckets over raw coordinates when possible), defined retention limits, and access/deletion processes. On opt-out, the system defaults to non-personalized FIFO without penalizing the user.
If an SMS can’t deliver or isn’t read quickly, Classlane automatically fails over to WhatsApp or email (where opted in) while preserving place in queue. More messages land on time, fewer seats expire unclaimed, and instructors don’t lose revenue to carrier hiccups.
Implement an orchestration layer that attempts SMS first, then automatically escalates to WhatsApp or email when delivery or engagement thresholds are not met, while preserving the user’s place in the queue and the hold-to-confirm timer. Respect per-user channel opt-ins, instructor-defined channel order and timeouts, and regional availability. Ensure idempotent send operations, deduplication across channels, concurrency safety, and jittered scheduling to avoid message storms. All channel sends must include consistent content and a single confirmation link tied to the same reservation token.
Ingest and normalize delivery and engagement signals across SMS, WhatsApp, and email via provider webhooks and click-tracking on short links. Map events such as delivered, failed, read/seen, and link-click to a channel-agnostic state model. Define configurable time thresholds that trigger failover when delivery or engagement is not observed. Handle partial or missing signals (e.g., carriers without DLRs) with safe defaults, and store event histories for decisioning and analytics.
Enforce per-user, per-channel consent and jurisdictional compliance for SMS, WhatsApp, and email. Capture and store opt-in/opt-out status, timestamps, and proof of consent; honor unsubscribe keywords and email preferences. Support WhatsApp template approvals and double opt-in where required. Apply regional sending restrictions (e.g., quiet hours), data retention controls, and audit logs. Failover must only consider channels for which valid consent exists.
Provide a single template system that renders consistent offer messages across SMS, WhatsApp, and email with channel-specific formatting, length limits, and media support. Support dynamic tokens (class name, time, seat hold duration, confirmation link), localization, and variable fallbacks. Enable preview per channel, versioning, and A/B variants. Integrate link shortener with click tracking to feed engagement signals and keep URLs consistent across channels.
Guarantee a single active reservation per student and atomic state transitions (offered, confirmed, expired, backfilled) regardless of which channel is used to respond. Use idempotency keys tied to the reservation token to deduplicate confirmations and cancellations arriving from different channels or devices. Maintain accurate countdown timers across retries and failovers, and prevent overbooking under concurrent responses.
Implement per-channel retry policies with exponential backoff and terminal states based on provider error codes. Expose dashboards for delivery rates, engagement, failover frequency, confirmation save rate, and revenue impact. Provide searchable logs with correlation IDs per reservation, plus alerts for abnormal failure spikes. Offer exportable reports and an API for instructors to analyze channel performance and adjust settings.
Add settings to enable/disable Multi-Ping per account or class, configure channel order and time thresholds, and specify default allowed channels. Allow per-student overrides, preview/test sends, and emergency pause. Surface guardrail hints (e.g., missing WhatsApp consent) and show projected impact. Provide per-class analytics summaries and guidance to tune thresholds for best confirmation rates.
Detects schedule conflicts before charging on a Y reply. When a conflict exists, the student gets a quick choice to swap, waitlist another time, or decline—preventing accidental double-bookings, refunds, and support pings for instructors.
Intercept the student’s inbound “Y” confirmation and run a real-time conflict evaluation before any payment is captured. Normalize times across time zones, include instructor-defined buffer minutes, and evaluate overlaps against the student’s existing bookings and active holds across all Classlane studios tied to the same verified phone/profile. If no conflict is found, proceed to charge and confirm; if a conflict exists, halt charging and route the student into the Clash Guard decision flow. Integrates with inventory, booking, and payment services; respects cancellation windows and hold expirations; logs outcomes for auditability.
When a conflict is detected, generate up to three viable alternative sessions that match instructor-defined equivalency rules (same course/level, acceptable instructor/location variants), respect capacity and pricing, and fall within a configurable time window. Present options via SMS with short reply codes and an optional deep link, and on selection, atomically switch the hold to the chosen session, apply correct pricing, and proceed to charge and confirm. Handles sold-out states, price deltas, and promo carryover, and updates waitlists/inventory accordingly.
Offer a fast path to join the waitlist for another time when a conflict occurs. From the SMS flow, allow the student to select a target time, enroll on its waitlist with preserved priority, and receive automated hold-to-confirm texts if a spot opens. Ensure opt-in/opt-out compliance, deduplicate across lists, and synchronize with the two-minute Hold-to-Confirm queue to backfill cancellations efficiently without charging until confirmation.
Provide a clear decline option in the conflict flow that guarantees no payment attempt occurs. On decline, release the held spot, trigger backfill to the next person via the two-minute auto-text, and send the student a confirmation of the canceled hold. Record the outcome, suppress further reminders for that offer, and update instructor rosters and analytics to prevent refunds and support tickets.
Add dashboard controls for instructors to configure Clash Guard behavior: conflict buffer minutes, allowed overlap rules, session equivalencies for swaps, price handling, and whether waitlist offers should be suggested. Provide real-time alerts in the instructor app and optional SMS/email notifications when conflicts are detected and when students swap, waitlist, or decline. Include override tools to force-book, bypass, or adjust buffers per session.
Ensure the conflict check, inventory hold, payment capture, and booking confirmation execute as an atomic, idempotent flow. Use idempotency keys for repeated or delayed SMS replies, lock inventory during decision windows, and implement timeouts and resumable states. If the student selects swap/waitlist/decline, commit the appropriate path or roll back cleanly with full audit logs. Protect against race conditions from simultaneous offers or cross-device actions.
Track and surface metrics on conflicts detected, prevented double-bookings, swaps chosen, waitlist enrollments, declines, avoided refunds, and response times. Provide drill-down by class, instructor, and time window, plus export and webhook options for studio reporting. Anonymize or aggregate where required for privacy and ensure events are structured for experimentation and A/B tests on suggestion ranking and messaging copy.
Let students choose payment source inline: default card, bundle credits, gift balance, or a new card via a secure one‑tap link sent only after Y. Reduces payment friction, uses existing balances first, and keeps the reply flow lightning fast.
Enable students to choose their payment source directly within the confirmation reply flow by offering concise options: Default Card on file, Bundle Credits, Gift Balance, or New Card. Present choices as short reply keywords and smart-reply buttons where supported (SMS, WhatsApp, in-app). Upon receiving a selection, resolve the source and continue the checkout without leaving the thread when possible; only trigger an external secure link for adding a new card. Ensure idempotent processing, cross-channel templates, and per-class enablement to minimize friction and speed up confirmations.
Automatically detect and apply a student’s available bundle credits and gift balance before attempting a card charge, following configurable priority rules. Perform real-time balance checks and atomic deductions upon booking capture. For v1, require full coverage for balance-based payments; if insufficient, prompt the student to choose another source or default card. Display remaining balances in confirmation messages to increase transparency and encourage usage.
When a student selects New Card (or no eligible balance/card is available), generate and send a single-use, time-bound checkout link only after the student replies ‘Y’ to confirm. The link opens a mobile-optimized, PCI-compliant card entry sheet with tokenization and 3DS as required. On success, save the card as the default (with opt-out), finalize the booking, and return a confirmation within the original thread. The link expires with the hold window and is invalidated on completion or timeout.
Integrate PayFlex Reply with the existing two-minute Hold-to-Confirm logic. On ‘Y’, place a seat hold and immediately process the chosen source (balances or default card) while the countdown runs. If a new card is required, dispatch the secure link and maintain the hold until payment completes or the timer expires. On timeout, automatically release the seat and notify the next person on the waitlist. Ensure idempotency across retries and prevent double charges or orphaned holds.
Implement robust, channel-aware parsing of reply intents to recognize payment choices and confirmations (e.g., ‘bundle’, ‘use credits’, ‘gift’, ‘default’, ‘card’, ‘new card’), including common typos and synonyms via fuzzy matching. For ambiguous inputs, send a concise disambiguation prompt. Validate the sender’s identity against the session and booking context, using signed tokens or reply threading metadata to prevent spoofing. Sanitize all inputs and produce clear, human-readable confirmations of the interpreted action.
On declines, authentication failures, expired links, or network errors, automatically prompt the student within the same thread to try an alternate source (e.g., default card after credits fail) or resend the secure link. Maintain the seat hold if time remains; otherwise, release and clearly communicate next steps. Capture detailed error codes and outcomes for support and analytics, and ensure all retries are idempotent with clear state transitions.
Provide studio-level and class-level settings to enable PayFlex Reply, configure source priority (e.g., gift before bundle), allow or disallow split payments, and customize reply keywords/templates per channel. Surface dashboards and exports showing payment source mix, conversion time from ‘Y’ to paid, failure rates by source, and revenue impact from balances vs. cards. Offer per-class overrides and audit logs for support and reconciliation.
Accelerates sequential offers when the first hold expires: subsequent rounds auto-shorten hold times and time messages to peak read moments in the final 15 minutes before class. Seats backfill faster without flooding everyone at once, preserving fairness and avoiding double-charges.
Automatically shortens hold durations for each successive offer round as class start time approaches, using a configurable decay curve with min/max bounds and per-class defaults. The engine ties hold length to time-to-class, seats remaining, and historical conversion, ensuring late-stage rounds run at accelerated 1–2 minute holds without sacrificing fairness. Integrates with existing waitlist and reservation timers, updates expiration timestamps in real time, and respects payment authorization windows. Expected outcome is faster backfill in the final 15 minutes with controlled message volume and improved conversion.
Predicts and schedules offer messages to align with users’ highest-probability read windows in the final 15 minutes before class. Uses historical read/response patterns, timezone, device behavior, and carrier throughput to time SMS/WhatsApp sends within micro-windows, with fallbacks to immediate send if a window is missed. Enforces quiet hours, per-user frequency caps, and message spacing across cohorts to reduce perceived spam. Integrates with messaging providers, delivery receipts, and Classlane’s notification preferences. Expected outcome is higher open and accept rates with fewer total messages sent.
Executes Turbo Cascade in rolling cohorts instead of a single blast, preserving FIFO waitlist order while adapting cohort size and cadence to seat availability and response rates. Excludes users who declined, timed out, or have conflicts, and enforces per-user ping limits per class. Cohort parameters (size, interval, max rounds) are tunable at the class or studio level. Integrates with the waitlist ranking service, eligibility filters, and the decay/timing engines to orchestrate fair, efficient outreach. Expected outcome is faster backfill with controlled outreach volume and preserved fairness.
Atomically releases seats on hold expiry or decline and triggers the next cohort without duplicates or race conditions. Uses an idempotent job scheduler with locking, retries, and backoff to ensure each seat transition and message send occurs exactly once, even under high contention close to class time. Persists a per-class cascade state machine with audit logs, ensuring observability and rapid recovery after failures. Integrates with inventory, messaging, and payments to maintain consistent seat counts and notification states. Expected outcome is reliable, hands-free cascades that never double-send or lose a seat.
Prevents duplicate charges and double-booking by enforcing per-user per-timeslot constraints across simultaneous offers and holds. Consolidates overlapping offers into a single actionable hold, cancels redundant authorizations, and ensures only one capture per booking. Validates conflicts against the user’s existing bookings and other class instances, and communicates clear state to the user. Integrates with the payments gateway for auth/capture management and with scheduling to detect overlaps. Expected outcome is zero double-charges, fewer support tickets, and higher trust.
Provides a self-serve control panel to configure Turbo Cascade parameters (baseline hold time, decay aggressiveness, min hold floor, cohort size, max rounds, quiet-hour overrides) and preview the projected cascade timeline. Surfaces real-time cascade progress, accept/decline/timeout funnels, and post-class analytics on backfill speed, conversion uplift, and no-show impact versus baseline. Supports per-class overrides, studio-level defaults, and RBAC. Integrates with experimentation flags for safe rollout and with analytics for cohort analysis. Expected outcome is tunable behavior with transparent performance insights.
A real-time, mobile-friendly door dashboard that shows who’s checked in, who’s due, and who’s about to auto-release with visible countdown timers. Hosts get color-coded states, seat totals, and one-tap overrides to hold, release, or comp a seat. Keeps the line moving, prevents guesswork, and gives coordinators instant clarity at the busiest moments.
Implement a real-time data layer for Doorboard Live that subscribes to class rosters, waitlist positions, check-ins, cancellations, and seat holds from the Classlane core. Use server-sent events or WebSockets to push updates with end-to-end latency under 1 second. Provide resilient reconnect, backoff, and client-state reconciliation to handle intermittent connectivity. Ensure consistency across multiple hosts viewing the same session via versioned updates and idempotent operations. Integrate with the Hold-to-Confirm workflow so that door-triggered releases notify the next-in-line instantly. Expose a lightweight local cache to render immediately while updates stream in.
Render per-attendee countdown timers that track time to auto-release with server-synchronized time and drift under 1 second. Use color-coded states for checked-in, due soon, and expiring, with pre-expiry badges at configurable thresholds. Display reason codes when a seat is on hold, comped, or pending confirmation. On expiry, automatically transition the seat to released, surface an inline toast and haptic cue, update seat totals, and trigger waitlist notifications per existing rules. Support pause and resume when hosts apply a manual hold.
Provide single-tap controls for Check In, Undo Check In, Hold Seat, Release Seat, and Comp Seat from each attendee row and a quick-actions drawer. Actions must be atomic, optimistic, and rollback-safe with clear visual feedback and short undo windows where applicable. Enforce business rules such as preventing comping a released seat, triggering auto-text on release, and pausing timers on hold. Include confirm-on-destructive patterns, rate limiting to avoid double taps, and batching for high-traffic bursts. Update all connected clients in real time and log each override with metadata.
Display a persistent summary showing total capacity, checked-in, due, held, comped, released, and available counts. Provide warnings for over-capacity and visual deltas when counts change. Support multi-class back-to-back sessions and room-level capacity where applicable. Tapping the banner filters the roster to the corresponding segment for rapid triage. Counts update from the real-time feed to guarantee consistency with the roster.
Enable Doorboard Live to operate during intermittent connectivity by caching the roster and enqueuing actions locally. Queue check-ins and overrides with logical timestamps and replay them in order once connectivity resumes, resolving conflicts via last-write-wins with server authority and user-visible resolutions. Provide clear offline indicators, disable actions that cannot be performed safely, and ensure no data loss across app restarts. Persist audit logs and seat total adjustments once the server acknowledges the sync.
Design a thumb-friendly interface optimized for small screens and one-handed use in crowded entryways. Ensure touch targets of at least 44x44 px, safe-area awareness, high-contrast color palette meeting WCAG AA, and large legible type. Support dark mode, haptic feedback, and optional sound cues. Provide accessible labels for assistive technologies, minimize PII on shared displays, and localize time and countdown formats. Optimize for 60 fps scrolling, lazy-loading for long rosters, and sub-100 ms interaction response.
Restrict Doorboard Live access to authenticated host and coordinator roles with least-privilege permissions. Allow read-only door views for volunteers and full override capabilities for coordinators. Record an immutable audit log for every state change with user, timestamp, action, device, and before/after values. Expose an export API and in-app filterable view for reconciliation and dispute resolution. Protect PII by redacting sensitive fields in logs as required and enforce session timeouts and device lock compliance.
Let multiple staffers scan simultaneously on different devices with instant sync and collision handling to prevent double check-ins. Perfect for peak arrivals or multi-room studios, it halves wait times and keeps attendance accurate even when two lines form at the door.
Provide low-latency, bidirectional synchronization of check-in state across all staff devices scanning the same class session. Use persistent connections to instantly broadcast successful scans, capacity changes, and seat availability, keeping Classlane’s roster, payments, and waitlist modules in lockstep. Include retry and backoff to handle transient network issues without duplicating operations.
Enforce at-most-once check-in semantics when multiple devices scan the same ticket simultaneously. Implement server-side conditional updates with idempotency keys and versioned attendee records, returning deterministic outcomes (checked-in, already checked-in, invalid). Ensure capacity counters and Hold-to-Confirm waitlist triggers execute only once per seat and provide immediate visual feedback to all devices.
Allow scanners to operate during connectivity drops by queuing scans locally with timestamps and idempotency tokens. On reconnection, reconcile with the server, deduplicate collisions, and update all devices. Display a clear offline indicator, a queued count, and final outcomes for each pending scan. Protect against device clock skew and partial failures.
Provide a simple way to add multiple staff devices to a class session’s Shared Scanner with scoped, time-bound permissions. Support joining via host-generated QR or code, enforce least-privilege (scan-only, no refunds or payouts), allow immediate revocation, and log who scanned whom and when. Integrate with Classlane team management and session scheduling.
Optimize the scanner experience to handle high throughput and varied circumstances. Support Classlane QR tickets, fast autofocus, low-light mode, and haptic/audio feedback for success or errors. Provide manual lookup by name, last four digits of phone, or booking code as a fallback. Show last scans feed, undo within grace window, and per-room session selection for multi-room studios.
Record an immutable event log for each check-in attempt including timestamp, device ID, staff user, outcome, and reason codes. Surface a per-session timeline and allow CSV export for dispute resolution and payroll. Ensure logs tie back to orders and payment status in Classlane.
Establish and monitor service-level objectives for Shared Scanner: 99th percentile end-to-end check-in confirmation under 300 ms with up to 100 concurrent devices and 20 scans per second per device burst. Implement structured logging, metrics, dashboards, and alerting on latency, error rates, and sync lag. Include rate limiting and backpressure to protect core booking services.
Check in families or friends in one motion: scan once to validate a multi-seat booking or tap +1 to add confirmed companions. Reduces bottlenecks for small-group classes, prevents missed seats, and gives hosts an effortless way to keep parties together.
Enable a single QR scan to validate and check in all seats on a multi-seat booking. On scan, fetch booking details (event, purchaser, seat count, seat names if available), display a party summary, and offer actions: Check In All, Partial Check-In, or Split Party. Update attendance per seat, decrement remaining seats, and sync to the class roster and payouts. Handle edge cases (late arrival, partial attendance, cancellations) and surface clear success/error states to minimize front-desk bottlenecks and keep groups together.
Provide a one-tap +1 flow to add confirmed companions at the door after an initial scan. Validate capacity in real time, present price (including taxes/fees, discounts), and capture payment via stored method on the original booking, quick card entry, or tap-to-pay where supported. On success, increment booking seat count, attach companion seats to the same reservation, issue receipts, update roster and payouts, and respect policies (age limits, waivers, add-on cutoff). Fail safely with clear prompts if capacity or payment fails.
Implement atomic seat locking at the event level to prevent over-capacity during simultaneous scans from multiple devices. Use short-lived locks for +1 additions, partial check-ins, and seat splits. Resolve conflicts with clear UI messaging and automatic retries. Ensure consistent state across host devices and the public booking page, and release abandoned holds promptly to avoid inventory deadlocks.
Issue signed, tamper-evident QR payloads that include bookingId, eventId, seatCount, a nonce, and short-lived expiry. Validate signature on-device, block replays by marking tokens as consumed per seat, and reflect cancellations or transfers in real time. Surface warnings for expired or altered codes and provide a fallback manual lookup path. Log all validations for auditability and fraud analysis.
Allow check-ins to proceed when connectivity is poor by caching event rosters and public keys for token verification. Queue attendance updates and +1 requests locally with conflict detection rules. On reconnection, reconcile against server state, surface any conflicts (e.g., capacity exceeded), and provide guided resolution. Admin setting to cap offline admits and require manager override beyond a threshold.
For companions added via +1, capture minimal required fields (name, email/phone if needed) and class-specific waivers. Support ultra-fast collection: host quick entry, QR/SMS link to self-complete on device, and visual indicators for waiver status. Enforce blocking rules where waivers are mandatory before check-in, and store records linked to the booking for compliance and future visits.
Deliver a high-speed scanning interface with large, accessible controls: Check In All, Partial, +1, Undo. Use color-coded outcomes, haptic feedback, and offline indicators to reduce errors. Include flashlight toggle, low-light optimization, and support for screen readers and high-contrast modes. Provide an inline roster view showing party members, remaining seats, and action history with a single tap.
Keep scanning when Wi‑Fi drops. Roster and QR data cache locally, scans are time-stamped, and duplicates are flagged; everything syncs automatically once back online. Pop-up hosts stay operational, and no attendance is lost to flaky networks.
Prefetch and locally cache upcoming class rosters, session metadata, and QR ticket payloads for a configurable time window (e.g., next 24–48 hours) to enable validation without network access. Implement versioned datasets with TTLs, delta updates, and per-session scoping to minimize storage and ensure freshness. Integrate with class detail screens to trigger prefetch on host open and background refresh when on Wi‑Fi. Cache must include attendee status, ticket ID, entitlement (e.g., pass, drop-in), and cancellation flags to support offline validation logic. Provide graceful degradation when cache is stale, with clear operator prompts.
Enable camera-based QR scanning entirely offline, decoding tokens and validating them against the local cache in under 300 ms per scan. Support low-light autofocus, continuous scan mode, and manual code entry fallback when QR is damaged. Implement rate limiting and debounce to avoid double reads. Validation must check ticket ownership, session match, cancellation status, and entitlement rules. Provide haptic/audio feedback and on-screen badges indicating success, failure, or manual override, with accessibility-compliant cues.
Detect and flag duplicate scans offline by maintaining a per-session, device-local set of already-checked-in ticket IDs with millisecond timestamps. Surface clear UI states for first-time vs duplicate scans, including attendee name and time of first check-in. Allow an operator override for legitimate re-entry with a reason code, recorded locally for later review. Prevent rapid re-scans via temporary cooldown logic.
Record an immutable, ordered log of all check-in events (scan, manual entry, override) with local device time, operator identity, device ID, and session ID. Store logs in an append-only local store to support auditability. Provide an in-app view filtered by session to review recent events while offline, with export disabled until sync completes. Handle clock drift by reconciling with server time on sync while preserving original local timestamps.
Automatically enqueue offline events and sync them to the server once connectivity is restored using idempotent APIs and exponential backoff. De-duplicate across multiple devices by ticket ID and canonical event time, merging where appropriate. Resolve conflicts (e.g., scan after cancellation) via deterministic rules and surface any exceptions to the host for review. Provide progress indicators and a retry queue with telemetry for failures. Ensure syncing runs in the background and is resilient to app suspensions.
Display a persistent, unobtrusive offline/online status with counts of unsynced check-ins and quick access to a diagnostic screen. Prevent risky actions while offline (e.g., logout, app update prompts) and warn before switching sessions if unsynced events exist. Provide storage and battery health warnings when approaching limits, and guide the operator to prefetch rosters. Ensure all indicators meet accessibility color contrast standards and are localized.
Encrypt cached rosters, QR payloads, and attendance logs at rest using OS keystore-backed keys, with per-tenant segregation. Minimize PII by caching only fields required for validation and check-in. Implement configurable retention (e.g., auto-purge after X days or on sync) and secure wipe on logout or device compromise. Document data handling to meet GDPR/CCPA and provide a privacy mode that masks attendee details on-screen in public settings.
When a student forgets their QR, quickly verify by name and last 4 digits of the phone number, then one-tap check in. Built-in guardrails prevent impersonation while keeping the flow fast, so lines keep moving and support requests drop.
Enable staff to locate a student’s active booking by searching first/last name and verifying the last four digits of the phone number. Results are limited to today’s rosters within a configurable time window around class start. Display only masked phone (e.g., ***-***-1234), profile photo if available, class title/time, and booking status. Support fuzzy matching for common misspellings and diacritics. Prevents exposing full PII while keeping the flow fast and accurate. Integrates with existing roster/booking APIs and replaces the QR path when a code is unavailable.
After successful name + last-4 verification, present a single primary action that marks the booking as Checked In. Update capacity counters, attendance analytics, and the student’s booking record in real time. Prevent double check-ins and handle edge cases (e.g., multiple bookings, wrong class/time) with clear inline prompts. Provide instant tactile/visual confirmation for speed at the door. Syncs across devices and respects existing cancellation/waitlist logic without altering hold-to-confirm flows.
Add layered protections to deter and detect impersonation during No-Code Verify. Block check-in on last-4 mismatch; show a clear retry with limited attempts and brief cooldown after repeated failures. Apply server-side rate limits per device/user, and elevate to secondary verification (e.g., email last 2, booking reference, or manager override) for risky scenarios like duplicate names, reused last-4 across different names, or bookings outside the time window. Surface risk flags to staff and log all outcomes. Designed to minimize friction while protecting revenue and attendance integrity.
Support check-in during poor connectivity by caching today’s rosters on-device with strict privacy controls. Store only what is needed: names, masked phone, salted hash of last-4, class IDs/times, and booking IDs. Allow local last-4 verification and queue check-ins for background sync when online. Handle conflict resolution (e.g., duplicate check-in) with server truth on reconnection and clear operator feedback. Provide admin controls for cache duration and remote wipe. All data at rest encrypted with OS keystore.
Record an immutable audit trail for each verification attempt and check-in: timestamp, staff user, device ID, class/booking ID, result (match/mismatch), risk flags, and reason codes. Expose searchable filters in the dashboard and provide CSV export for support. Retain only masked identifiers and hashes to minimize PII. Enable dispute resolution, trend analysis on failed attempts, and targeted training for locations with higher error rates.
Gate No-Code Verify behind least-privilege roles. Define permissions for initiating verification, performing overrides, viewing risk flags, and exporting logs. Hide full contact details from check-in staff; show only masked phone and non-sensitive booking info. Enforce session timeouts, device PIN for kiosk mode, and immediate revocation on role changes. Aligns with privacy policy and reduces accidental PII disclosure while enabling rapid operations at the door.
Accept walk-ins on the spot with contactless pay and instant check-in. Creates a booking record, captures contact for receipts and future reminders, and respects live capacity and auto-release rules. Converts last-minute interest into revenue without slowing the door.
Enable card-present, contactless payments for walk-ins using Tap to Pay on supported devices (e.g., iOS/Android) and certified readers. Present a single "Ready to Tap" screen with class name, price, taxes/fees, and pay button; process wallet (Apple Pay/Google Pay) and contactless EMV cards with instant authorization. Provide safe fallbacks: QR-to-pay and manual card entry when NFC is unavailable. Enforce PCI compliance and Strong Customer Authentication via the payment provider; store only tokens, never raw PAN. Apply real-time tax and pricing rules pulled from the class product. Guarantee door speed with a sub-5-second target from tap to confirmation; include reader health checks, connection status, and idempotency to prevent duplicate charges on repeated taps or retries. Emit a payment event that downstream flows (booking creation, receipt, analytics) consume.
On successful payment, automatically create a booking record for the selected class with a "Drop-In" source tag, link it to the payer’s customer profile, assign the correct price variant/taxes, and mark the attendee as Checked-In with timestamp and staff/device metadata. Decrement available capacity, update the live roster, and propagate changes in real time to all channels (instructor view, public class page, and waitlist logic). Ensure idempotent booking creation tied to the payment intent to avoid duplicates. Expose booking in receipts and attendee history for future reminders and re-engagement. Handle edge cases such as partial captures or asynchronous confirmations by keeping booking in a "pending" state until finalized.
Before accepting a walk-in, check the class’s real-time capacity and any active hold or auto-release rules from the waitlist system. If a seat is under a two-minute Hold-to-Confirm for a waitlisted user, prevent standard drop-in purchase and surface a clear banner with the remaining hold time and a join-waitlist option (unless the user has override permissions). Apply concurrency locks to avoid overselling when multiple staff devices process walk-ins simultaneously. On successful drop-in, update capacity and cancel conflicting holds; on cancellation/refund, trigger backfill per auto-release rules. Provide configurable admin override to exceed capacity with reason codes and audit logging.
After payment (or during flow if required by provider), capture the attendee’s minimal contact info to power receipts and future reminders—default to phone number (SMS) with optional email. Use a numeric-first keypad and real-time validation to keep the flow under two taps. Deduplicate against existing customers by phone/email and merge profiles when matched. Present explicit consent toggles for reminders/marketing to comply with GDPR/CCPA, storing timestamp, source, and preferences. Immediately send a branded SMS/email receipt including class details and check-in confirmation, and surface a quick-add calendar link. Handle edge cases: no phone available (offer email-only), bounced SMS/email retries, and language/timezone formatting.
Provide a resilient door flow when connectivity is spotty. Detect offline state and switch to a degraded mode that: (a) queues contactless transactions for later capture if the provider supports offline auth; or (b) offers QR-to-pay and cash/IOU fallback while creating a pending booking with a soft seat hold. Maintain a local, time-bounded capacity mirror to prevent oversell; reconcile against the server on reconnect with conflict rules (e.g., if over-capacity, flag for staff resolution and notify affected attendees). Visually signal offline mode, sync progress, and any failed captures requiring follow-up. Ensure all queued actions (payments, bookings, receipts) are idempotent and audited on sync.
Allow staff to void an authorization before capture or issue full/partial refunds post-capture directly from the door UI, with automatic updates to capacity, roster, receipts, and analytics. Detect and prevent duplicate charges using idempotency keys and tap-event deduplication. Provide clear recovery paths for failures (reader disconnects, network timeouts, SCA challenges) including safe retry, switch-to-QR/manual entry, or cancel-without-charge. Log all financial actions with user, device, timestamp, and reason code for audit. Ensure customer communications (reversal notifications, updated receipts) are triggered automatically.
Introduce role-based controls allowing managers to bypass payment to add a comp or to exceed capacity with justification. Require a reason code and optional note; clearly label the booking as Comp or Override in the roster and analytics. Apply per-class and global limits for overrides to prevent abuse. Update capacity accordingly (with or without exceeding limits based on configuration) and ensure full audit trails (who, when, device). Support quick toggles for instructor comps, membership inclusions, or partner passes while keeping the door flow under a few seconds.
Students running behind can send a quick “Running Late” signal from their reminder, granting a host-defined grace period that’s visible on the door dashboard. Seats stay protected for a few extra minutes, reducing disputes and chargebacks while keeping the policy fair and transparent.
Provide a single-tap “Running Late” action accessible from SMS/email reminders and the mobile web/app booking details page. The action uses a signed, single-use token tied to the booking and validates eligibility (time window, booking status, seat type) before activating Late Pass. On activation, the booking transitions to a LatePass-Hold state, a grace-period expiry timestamp is computed, and the seat is temporarily protected. Supports fallback via SMS keyword (e.g., reply LATE) for low-connectivity scenarios. Handles time zones, localization, accessibility, and rate limiting. Prevents multiple concurrent activations per booking and exposes deep links for quick access.
Enable hosts to configure Late Pass policies at account, class template, and single-session levels, including grace duration, activation window (e.g., up to N minutes after start), eligible ticket types, max Late Pass uses per customer per period, and auto-cancel behavior on expiry. Policies are versioned and evaluated server-side to compute hold expiry and outcomes. The engine exposes a readable summary for student-facing reminders and receipts, and an API/SDK for the app and reminders service. Supports overrides, previews, and safe defaults; respects time zones and recurring schedules.
Enhance the instructor/door dashboard to visualize Late Pass states in real time, including a countdown timer to expiry, color-coded status, and clear next actions (check-in, release, override). While Late Pass is active, the system keeps the attendee’s seat reserved and excludes it from waitlist backfill until expiry. On expiry, the seat automatically releases and triggers standard backfill flows. Supports offline resilience with local state caching and real-time sync via WebSockets/SSE across multiple devices. Includes role-based access controls and performance optimizations for large rosters.
Deliver timely, localized notifications and on-screen timers for both students and staff. Students receive immediate confirmation with the exact expiry time, a live countdown in the booking view, and optional nudges (e.g., T-minus 2 minutes). Staff receive lightweight alerts in the door dashboard and optional push/SMS summaries when multiple Late Passes are active. Notifications are idempotent, de-duplicated, respect rate limits/quiet hours settings, and include deep links to the booking or dashboard. On expiry or check-in, send closure notifications and update all clients in real time.
Implement server-side checks and limits to prevent misuse: ensure booking is confirmed/paid, class/session is within the host-defined activation window, Late Pass not already consumed for the booking, and customer has not exceeded account-level usage limits. Add rate limiting per user/device/IP, optional geo-checks, and anomaly detection to flag suspicious patterns. Provide configurable restrictions per host (e.g., disallow for first-time customers, require deposit) and an instructor override flow to approve/deny edge cases at the door. All denials return clear, localized reasons to the user.
Capture an immutable event log for each booking: reminder delivery receipts, Late Pass activation request (timestamp, channel, IP/user agent), policy version applied, computed expiry, check-in time, and release outcome. Surface this as a downloadable evidence pack (PDF/CSV) and attach structured metadata to the payment record for gateways. Restrict access via RBAC, redact PII where unnecessary, and align with data retention policies. Provide quick links from disputes to the evidence pack to streamline responses and reduce chargebacks.
Save and reuse payout templates by class type, location, or instructor—percentage, fixed room fee first, or mixed. Apply in one tap when publishing a class so setups are consistent and fast, eliminating spreadsheet math and last‑minute rule mistakes.
Provide a creator to define, name, and save payout presets that support three modes: percentage-only, fixed room fee first (flat fee deducted before splitting remainder), and mixed (combining fixed and percentage with optional tiers, caps, and minimum guarantees). Include fields for applicability tags (class type, location, instructor), currency, and tax/fee inclusion rules. Offer real-time calculation preview against sample ticket price and capacity, with mobile-friendly inputs. Persist presets with unique IDs and version metadata via backend services and expose CRUD APIs. Ensure localization of currency/number formats and secure storage aligned with existing Classlane data models.
Integrate a preset selector into the class publish flow that surfaces recent and recommended presets. Applying a preset in one tap should populate the class’s payout rules and display a breakdown preview per ticket, per attendee, and total at current price and capacity. Lock the preset version used at publish time for traceability, while allowing scoped per-class overrides within defined guardrails. Cache last-used preset by creator context and track selection events for analytics.
Automatically suggest relevant presets based on class type, location, instructor, and historical selection patterns. Support default presets per instructor and per location, with an optional auto-apply setting that can be undone before publish. Display confidence indicators and rationale (e.g., "Used for last 5 pottery classes at Studio A"). Provide fallback defaults when no match exists and log suggestion accuracy and time saved for optimization.
Implement role-based access controls for presets: Owners can create, edit, delete, lock, and share across locations; Managers can create and edit within assigned locations; Instructors can apply but not modify locked presets. Support locking a preset to prevent edits, scoping presets to locations or teams, and an approval step for changes to shared presets. Surface permission states in UI and enforce on API endpoints. Send notifications to stakeholders on create/update/delete or lock/unlock events.
Maintain immutable version history for each preset capturing author, timestamp, changes, and rationale notes. When a class is published, store the preset version ID for that class so later edits do not retroactively alter payouts. Provide UI to view and compare versions, clone from a prior version, and export audit logs. Emit webhooks on preset create/update/delete/version events for downstream accounting systems.
Validate presets at creation and application time: ensure post-deduction percentage totals do not exceed 100%, prevent fixed fees that exceed projected revenue at given price and capacity, and enforce rounding and currency rules. Handle multi-ticket price classes and composite revenue items (e.g., materials fees) per inclusion rules. Provide actionable error messages and warnings (e.g., low instructor payout) and block publish on critical errors. Include unit and integration tests for edge cases and calculator consistency.
Auto-deduct room fees, materials, and chosen costs before splitting revenue. Set which discounts reduce the host vs. instructor share (or proportionally), keeping take‑home predictable and reconciliation effortless for both sides.
Configurable rules to automatically deduct defined costs (e.g., room fees, materials, per-attendee consumables, fixed per-session charges, percentage-based costs) from gross booking revenue before revenue split. Supports per-attendee vs per-session basis, fixed and percentage types, stacking order/priority, applicability by class, schedule, and venue, and reusable templates with defaults at studio/class level. Handles multi-currency rounding, tax-inclusive vs tax-exclusive price modes, and ensures deterministic, auditable calculations stored with each booking for payout reconciliation within Classlane.
Controls to specify how each discount or promotion affects party shares: host-only, instructor-only, proportional to the agreed split, or excluded from split impact. Provides per-discount configuration, precedence when multiple discounts apply, caps/floors to prevent negative shares, and previews of the resulting allocation at checkout and in payout summaries. Integrates with existing coupons, memberships, and comp passes to ensure each discount reduces the intended party’s share and preserves predictable take-home for both sides.
Deterministic, idempotent calculation pipeline that sequences gross revenue, discount allocations per policy, pre-split deductions, and revenue splits to produce final host and instructor amounts. Supports partial payments, gift cards, gateway fees, and rounding rules, with a persisted calculation snapshot per booking and per payout. Exposes calculation states to checkout, ledgers, and payout modules to keep totals consistent across Classlane and enables re-computation on state changes while preserving audit trails.
Line-item statements for hosts and instructors showing gross revenue, applied discounts with allocation, pre-split deductions, split percentages, and final take-home per class and per payout period. Includes downloadable CSV exports, filters (date, class, instructor), and customer-facing receipts that optionally hide internal splits while itemizing discounts. Reflects adjustments from cancellations, backfills, or refunds with clear deltas to support effortless reconciliation in Classlane.
Role-based access to create and edit deduction templates and discount allocation policies, with change approvals, versioning, effective-dated configurations, and full audit logs. Includes validation to block configurations that could yield negative or out-of-bounds payouts, warning thresholds, and sandbox preview mode to test settings against historical bookings before going live.
Automatic re-computation of settlements upon cancellations, waitlist backfills, no-show fees, or partial/full refunds. Generates adjustment entries rather than mutating closed payouts, honors original discount allocation and deduction rules in effect at the time of booking, and notifies affected parties of changes. Supports configurable time windows, idempotency, and guards to prevent double adjustments, ensuring Smart Deductions remain accurate through lifecycle events in Classlane.
Create minimum guarantees, caps, and step-based percentages that adjust with attendance or revenue. Example: $30 room fee first, then 20% up to $500, then 15% thereafter—aligning incentives, preventing overpayment, and rewarding full classes.
Provide a mobile-friendly interface to compose tiered payout rules with minimum guarantees, caps, and step-based percentages that trigger on attendance or revenue. Support configuring gross vs. net basis (inclusion/exclusion of taxes, processing fees, discounts), fixed fees (e.g., room fee), thresholds, rates, rounding rules, effective dates, and scope of application. Include real-time validation and a live preview showing example payouts across class sizes. Integrate with class templates and session setup flows so creators can attach a rule during creation or editing, and store rules as reusable templates.
Implement a deterministic backend service that applies tiered rules to each session’s actuals to compute payouts for instructors and studio owners. Handle step functions, minimum guarantees, caps, and mixed fee structures with precise rounding and currency consistency. Recompute on lifecycle events (booking, cancellation, refund, backfill) with idempotency and concurrency safety. Expose a calculation API and webhook triggers for downstream payout processing, and persist detailed line items to enable auditing and reconciliations.
Enable attaching rules at multiple hierarchy levels (account, location, instructor, class template, individual session) with clear precedence and inheritance. Provide drafting, approval, and publish workflows with effective-from/until dates. Snapshot the active rule onto a session once sales open to prevent unintended retroactive changes, while allowing future-dated updates. Maintain a change log with who/when/what for compliance and rollback.
Offer a simulator that lets users input hypothetical attendance and revenue to visualize tier progression and resulting payouts. Display charts and tabular breakdowns by tier, minimums, and caps; support shareable previews during class setup and in the pricing screen. Allow exporting the scenario as a CSV or image for negotiations and record-keeping, and surface recommendations (e.g., capacity needed to reach next tier).
Automatically recalculate payouts when cancellations, discounts, no-shows, or waitlist backfills occur before a configurable cutoff. Integrate with Classlane’s Hold-to-Confirm waitlist to reflect last-minute backfills. Lock payouts after cutoff while recording any late changes as adjustments in the next cycle. Send notifications to stakeholders when material tier changes occur, and log all recalculations with before/after values for traceability.
Provide a per-session payout breakdown with the rule version used, thresholds hit, application of minimums and caps, and itemized calculations. Support filters, CSV export, and an API for accounting systems. Highlight anomalies (e.g., payouts exceeding caps) and include an immutable audit trail of edits and calculations to speed dispute resolution and monthly reconciliations.
See real-time who-gets-what as you tweak price, capacity, promos, and expected attendance. Per-seat and per-party payouts update instantly, including fees, so coordinators publish with confidence and instructors know their take-home upfront.
Calculate and render per-seat and per-party payouts, attendee price with fees, instructor take-home, platform margin, and taxes (if enabled) within 100 ms of any input change (price, capacity, expected attendance, promos, fee payer). The engine must mirror checkout’s order of operations and rounding rules to ensure parity, support fee absorption vs pass-through, multi-currency display, and deterministic results. Implement client-side incremental recalculation with server-side validation on change batches, with graceful degradation on slow networks. Prevent zero/negative net payouts via hard validation and expose structured outputs for UI components and publish snapshots.
Provide a mobile-first control surface to adjust price, capacity, expected attendance, promo settings (fixed/percentage, caps, expirations), fee payer toggle (student/instructor/split), tax toggle, and assumed party-size distribution. Defaults should load from the class template and can be saved as presets. Controls must be accessible (WCAG 2.1 AA), support keyboard and touch, debounce inputs, and feed changes to the payout engine in real time. Offer suggested expected attendance based on recent fill rates and waitlist behavior, with clear inline deltas to current published values.
Model bookings that occur per party (variable party sizes) and per seat to accurately compute utilization and payouts. Allow configuration of typical party-size distribution and minimum/maximum party rules; reflect effects on remaining capacity and effective revenue per seat. Support mixed bookings in the same session and show line-item projections for a representative party and a single seat. Ensure compatibility with private events (whole-class booking) by collapsing per-seat view appropriately.
Implement a unified calculation pipeline that applies base price, stacked promos (percentage then fixed with caps and floors), taxes, processing fees, and platform fees in a configurable order, respecting who pays each fee. Display a transparent line-item breakdown per seat and per party with tooltips and help text. Enforce promo validity windows, usage limits, and minimum price floors, and guarantee parity with checkout through shared libraries/tests.
Provide role-aware toggles for Coordinator View and Instructor View. Coordinator View emphasizes platform margin, gross revenue, expected fill, and risk indicators; Instructor View emphasizes net take-home per seat/party and per-session totals. Respect permission scopes to hide sensitive financials when necessary. Persist the last-selected view per user and ensure the same scenario data drives both views to avoid drift.
Add real-time validations with inline warnings and hard blockers: prevent negative instructor take-home, flag configurations below minimum price, highlight promo stacking that violates rules, warn when expected attendance exceeds capacity, and surface break-even thresholds. Use color-coded deltas and concise messages; provide actionable fixes (e.g., suggested price floor). Block publishing when critical constraints are violated and summarize all issues in a pre-publish checklist.
On publish, capture an immutable snapshot of the final scenario inputs and computed financial breakdowns (per-seat, per-party, totals) and associate it with the class version for auditability. Generate a shareable summary (PDF/JSON) and include it in the confirmation screen and activity log. Ensure snapshots can be compared across drafts to show what changed and by how much, and that rollbacks restore both inputs and derived outputs consistently.
Add venues, co-hosts, assistants, or affiliates with separate payout destinations. Invite them to submit tax details and accept terms; Classlane routes instant per-booking payouts with a full audit trail—no more manual Venmo splits or end-of-day transfers.
Provide an invitation-driven onboarding flow for venues, co-hosts, assistants, and affiliates to create or connect payout destinations. Collect and validate tax details (e.g., TIN/W-8/W-9), verify identity (KYC/KYB), capture acceptance of Classlane and payment processor terms, and securely store consent artifacts. Support domestic and international partners, autosave progress, resend invitations, reminder nudges, and real-time onboarding status. All sensitive data must be encrypted at rest and in transit and never exposed to organizers.
Implement a configurable rules engine to define per-class or global payout splits using percentages, fixed amounts, or hybrids with floors, caps, and residual-to-owner logic. Allow pre- or post-fee basis selection, coupon/discount handling, tax treatment, effective dates, and versioning. Validate rules for total <= 100%, detect conflicts, and provide a simulation/preview to show each party’s expected share for a sample booking. Expose rules via UI and API with audit of changes.
On successful booking capture, compute splits and initiate instant transfers to each partner’s payout destination. Support idempotent processing, queued retries with exponential backoff, failure isolation per leg, and fallback to scheduled payouts when instant transfer is unavailable. Allocate processor fees according to rules, handle multi-currency classes, and tag transfers with booking, class, and partner identifiers for reconciliation.
Provide proportional reversal logic to claw back prior partner payouts for refunds, cancellations, and chargebacks. Manage negative balances with auto-offset against future earnings, partial refund handling, non-refundable components, and policy-based exceptions. Generate clear adjustment entries, update partner statements, and notify affected parties. Ensure reversals are linked to original payouts for full traceability.
Maintain an immutable, time-stamped ledger of events covering split calculations, payouts, reversals, fees, and adjustments per booking. Provide in-app views and exportable CSV reports by date range, class, and partner, with processor transaction IDs for reconciliation. Include per-party earnings statements, aging of negative balances, and downloadable evidence (terms acceptance, tax forms) scoped by permissions.
Define roles (owner, co-host, assistant, affiliate) with least-privilege permissions for viewing bookings, earnings, and configuration. Enforce data partitioning so partners only see their own earnings and limited booking details as authorized. Log administrative changes, surface access requests, and support revocation or transfer of access when relationships end.
Provide a mobile-first UI to create reusable payout split templates and apply them in bulk to classes, series, or venues. Offer inline validation, warnings for incomplete/over-allocated splits, and an earnings preview per ticket type. Support default templates per partner, quick edit, and version roll-forward with effective dates.
Control how class packs, gift balances, and promo codes impact each side of the split. Choose list-price vs. blended pack valuation and whether promos reduce the host share, instructor share, or both proportionally—ensuring fairness for repeat buyers and partners.
Core server-side service that deterministically computes host and instructor shares for each booking after applying class packs, gift balances, and promo codes. Supports selectable valuation modes (list-price vs blended pack), promo impact modes (reduce host, instructor, or proportional), precedence rules across discount types, and effective-dated configurations at org, venue, class, and partner levels. Handles cancellations, waitlist backfills, partial redemptions, taxes/fees exclusions, rounding, currency, and idempotent recalculation on booking updates. Exposes a single calculation API used by checkout, admin, payouts, and reporting. Emits structured calculation details for audit and reconciliation.
Implement blended pack valuation that imputes an effective per-redemption price based on the pack’s purchase price and remaining credits across eligible classes, alongside a list-price valuation option. For each redemption, calculate the imputed value, cap at list price, and feed the value into split calculations. Support mixed-price class catalogs, multi-seat bookings, and cross-class packs. Persist the valuation snapshot at booking time and recalc on changes while honoring prior payouts. Provide admin toggles to choose default valuation and per-class overrides.
Provide an admin UI to configure how promo codes and gift balances affect splits: reduce host share, reduce instructor share, or reduce both proportionally. Include defaults at organization level with optional overrides by partner, venue, or class. Offer guardrails (cannot reduce a share below zero), contextual help, and a live preview that simulates a booking with selected discounts, packs, and prices. Persist configurations with versioning and display effective dates. Surfaced in mobile and desktop admin; changes propagate to the calculation engine via secured APIs.
Define and enforce a deterministic order of operations when multiple value sources apply (gift balance, pack, promo code, credits) with configurable precedence and safe defaults. Prevent double-discounting, ensure taxes/mandatory fees are excluded or included per policy, and cap total discounts at the list price. Provide conflict resolution rules, clear error messages, and an explanation string returned to clients showing the step-by-step application used at checkout and in receipts. Support re-application on edits, cancellations, and waitlist backfills.
Create a double-entry payout ledger that records raw price, applied valuation, discount allocations, final host/instructor shares, and rule versions per booking event. Include adjustments for cancellations, no-shows, and Hold-to-Confirm backfills. Provide filterable views in admin and CSV exports for accounting, plus webhook events for external systems. Ensure entries reconcile to weekly payouts with traceable audit trails and support for dispute resolution.
Allow effective-dated partner contracts that specify default split percentages, promo impact mode, and valuation preference with the ability to override per event or series. Enforce permissioning so only authorized roles can create or edit overrides, show impact previews before publishing, and log all changes. On calculation, select the most specific applicable contract (event > class > venue > partner > org default). Support sunset dates and automatic fallback when expired.
Automatically uses the credits that expire soonest first and lets students set a preferred pack order (e.g., Pottery Pack before Yoga Pack). Reduces breakage, removes checkout guesswork, and keeps rebooking effortless—credits just apply in the smartest way.
Implement a deterministic credit selection engine that automatically applies the student’s eligible credits that expire soonest first, across all owned packs that can be used for the chosen class. The engine must evaluate credit- and pack-level expiration dates, class eligibility constraints (e.g., category, studio, price tier), and required credits per booking. Tie-break order must be: student’s pack preference, then earliest expiration, then FIFO by acquisition time. Prefer fulfilling a booking from a single pack when possible to minimize fragmentation, but support combining packs for multi-credit classes. The engine must be idempotent, reversible on cancellation, safe for concurrent requests, and capable of temporary credit reservations for Hold-to-Confirm. It should expose a lightweight scoring function usable by checkout, waitlist, and API surfaces and execute within strict latency targets to keep mobile flows instant.
Provide a mobile-first Wallet interface that lets students set and reorder their preferred pack usage (global order) and optionally define per-category overrides (e.g., Pottery before Yoga). Include controls to deprioritize or temporarily pause a pack from auto-apply, with real-time validation against instructor or pack restrictions. Show a live preview of how the next booking would consume credits under the current settings. Defaults should be sensible for new users (e.g., most relevant pack first based on purchase and usage). All preferences must be stored per user, versioned for audit, synced across devices, and honored consistently by checkout, waitlist, and API flows.
Integrate the credit selection engine directly into checkout so that credits auto-apply without extra taps. Present a concise, human-readable breakdown of which pack and specific credits are used, remaining balances, and any cash copay if credits are insufficient. Allow a one-tap override to pick a different eligible pack while maintaining guardrails (e.g., cannot apply ineligible packs). Ensure atomic reservation of credits at tap and release on timeout or abandonment. Provide a zero-friction fallback to saved payment methods if no credits are eligible. The decision, reservation, and UI explanation must complete under 200 ms at P95 to preserve a snappy link-in-bio booking experience.
Make Credit Priority fully compatible with Classlane’s two-minute Hold-to-Confirm and auto-text backfill flows. When a seat is held, create a temporary credit reservation following the selection logic; on confirm, convert to a final debit; on hold expiry or decline, release instantly. If a cancellation occurs within policy, return credits to the original pack with the original expiration and restore ordering invariants; if late-cancel/no-show fees apply, ensure correct credit/cash handling per studio policy. When a spot is auto-offered to the next waitlisted student, re-run selection using their preferences and eligibility. All transitions must be idempotent, race-safe, and fully logged for support traceability.
Centralize and enforce all eligibility constraints and tie-break rules used by Credit Priority: class category and location restrictions, studio- or instructor-specific packs, blackout dates, min/max class price tiers, multi-credit classes, and subscription vs. pack precedence. Define a single, auditable order-of-operations (preference → eligibility → soonest expiry → FIFO) and consistent time zone handling for expirations and booking windows. Provide feature flags for instructor overrides (e.g., promotional packs cannot be auto-applied) and guardrails that prevent students from prioritizing ineligible packs. Expose a reusable service with deterministic outputs for use across checkout, waitlist, APIs, and reports.
Create an immutable ledger that records every credit reservation, application, release, and reversion with timestamps, sources (checkout, waitlist, admin), and decision rationale (why specific credits were chosen). Surface student-facing explanations in Wallet and receipts, and instructor-facing views in dashboards, including exportable CSVs. Provide metrics to quantify breakage avoided, rebooking rate impact, and no-show reduction attributable to Credit Priority. Ensure privacy by redacting PII beyond what is necessary for reconciliation and comply with local data retention policies.
Expose endpoints to preview credit application for a given session and user, update a user’s pack preference order, and retrieve credit histories. Publish webhooks (credit_reserved, credit_applied, credit_released, credit_reverted) with idempotency keys and minimal payloads that include decision context and ledger references. Ensure backward compatibility with existing booking APIs, apply rate limits, and provide versioned schemas. This enables studios, partners, and analytics tools to stay in sync with Credit Priority events and power custom workflows like CRM updates or rewards.
Add 1–3 credits to an active pack in one tap from an SMS nudge or reminder. Extends the pack’s expiration slightly for all remaining credits so students can finish the pack without over‑committing, while instructors capture incremental revenue and keep seats filled.
Trigger automated SMS when a student’s active pack is low on credits (e.g., ≤2 remaining) or nearing expiration (e.g., ≤7 days). The message includes a secure, tokenized deep link that opens to a prefilled Mini Top-Up sheet (choose +1, +2, or +3 credits) with localized copy and dynamic pricing. Respect user consent, quiet hours, send-rate limits, and opt-out (STOP/HELP) handling. Track delivery, clicks, and conversions; fall back to email if SMS fails. Integrates with Classlane’s messaging service and attribution to tie downstream purchase events to the originating nudge.
Provide a frictionless purchase flow that charges a saved payment method in one tap from the deep link, with an inline confirmation of quantity, price, tax, and new expiration. Support Apple Pay/Google Pay if no card is on file and step-up 3DS where required. Execute payment and credit grant atomically with idempotency keys to prevent double charges. Display success/failure states, send receipts, and update the student’s balance in real time. Integrates with existing payments gateway, receipt service, and booking availability checks.
Implement business rules that extend the pack’s expiration slightly for all remaining credits upon a top-up. Support instructor-configurable policies (e.g., +3/+5/+7 days for +1/+2/+3 credits, with a hard cap) or a default formula. Apply changes to the pack-level expiry and recalculate any derived per-credit expirations. Enforce caps, handle time zones, and log changes with auditability. Revert extensions automatically on refund/void. Surface the new expiry to both student and instructor in UI and notifications.
On successful top-up, append a ‘top-up’ transaction to the credit ledger that increases the pack’s available credits and preserves FIFO consumption order. Ensure atomic consistency between payment capture, credit grant, and availability caches. Support visibility of transaction history (date, quantity, price, method) to students and instructors, and reconcile edge cases such as chargebacks, partial refunds, and expired credits. Expose read APIs/events for downstream systems (waitlist, booking engine) to react to the new balance.
Add configuration options at pack and studio levels to enable/disable Mini Top-Up, set prices for +1/+2/+3 credits, choose expiration extension policy and caps, and limit frequency (e.g., one top-up per pack or per time window). Provide previews of student-facing copy/SMS, default templates, and guardrails (minimum price, tax rules, currency). Ensure settings propagate to deep links, checkout, and analytics. Include role-based access and audit logs for changes.
Instrument the Mini Top-Up funnel end-to-end with events for nudge sent, delivered, clicked, checkout initiated, purchased, and refunded. Provide dashboards and exports that show conversion rates, incremental revenue, saved seats, and impact on no-shows by pack, instructor, and channel. Support cohort and A/B comparisons across different pricing and extension policies, plus webhooks for external BI. Ensure metrics are privacy-compliant and sampled efficiently for performance.
Enforce messaging compliance (TCPA/CTIA with STOP/HELP, consent logging), payment security (PCI DSS scope minimization, tokenization, 3DS), and privacy (GDPR/CCPA data handling). Sign and expire deep links (HMAC + short TTL), encrypt PII at rest/in transit, and implement per-user and per-pack rate limits to prevent spam and abuse. Add monitoring, audit logs, and alerting for failures and anomalies, with clear runbooks and SLAs.
Send a single credit to a friend via text to join a class—no app required. The guest books in one tap and is auto-collected for reminders. Students share experiences easily; instructors gain warm referrals and new regulars with clear limits and tracking.
Enables a student to generate a single-use Buddy Credit tied to a specific class, class group, or instructor, and deliver it via SMS to a friend’s phone number. The system creates a secure redemption link with configurable expiration, seat-hold duration, and eligibility (class, time, location). It validates sender eligibility and limits, stores issuance in a ledger, and surfaces a copy-link fallback if SMS delivery fails. Integrates with existing contact collection, pricing, and payouts to ensure the issuer/instructor funding rules are applied at redemption.
A mobile-first web flow that opens from the SMS link and applies the Buddy Credit automatically. The guest books in one tap with pre-filled class, price covered by the credit, and minimal required fields (name, phone, email); no account required. It confirms seat availability in real time, handles edge cases (class full, credit expired), and enrolls the guest into the standard reminder cadence. Supports calendar add, venue details, and cancellation policies aligned with Classlane.
Configurable rules controlling who can issue credits, how many per period, eligible classes, and redemption windows. A double-entry ledger records issuance, delivery, redemption, expiry, and revocation events with timestamps and actors. Limits are enforced at issuance and redemption to prevent overuse, and instructors can view usage at the class and student level. Exposes summaries and export to support tracking of referrals and cost, and provides admin overrides for support.
Security measures to ensure each Buddy Credit is single-use and non-transferable at scale: cryptographically signed tokens, link expiration, binding to the recipient phone on first open, optional SMS OTP verification at redemption, rate limiting, device fingerprinting, and anomaly detection on issuance/redeem patterns. Provides revocation tools and event logs, and masks details to protect sender/recipient privacy. Integrates with existing anti-spam and consent systems.
Dashboard settings allowing instructors to enable Buddy Credit, choose eligible classes/sessions, set per-student caps, define expiration windows, and determine who funds the credit (instructor, sender, or promotional pool). Supports price ceilings, blackout dates, and cancellation/refund rules. Integrates with Classlane pricing, taxes, and payouts so settlement reflects funded amounts, fees, and adjustments.
Automated SMS flows for both sender and recipient across the credit lifecycle: confirmation to sender, delivery to recipient with secure link, booking confirmation, reminders, and expiration warnings. Handles delivery status callbacks, retries, and fallbacks (email where available) and respects opt-in/opt-out and regional compliance (e.g., TCPA/GDPR). Messages are templated, localized, and configurable per instructor within platform limits.
When a recipient opens a Buddy Credit link, the system temporarily holds a seat for a short window to reduce drop-off, and integrates with Classlane’s Hold-to-Confirm waitlist to backfill cancellations. If a seat is unavailable, the credit can be applied to the next available session or waitlist with automatic two-minute confirmations. Ensures consistent inventory state across standard bookings and credits to prevent oversell.
Pause a pack’s countdown for travel or illness with a self‑serve, host‑defined freeze (e.g., up to 14 days per pack). Protects student value without support emails, displays a clear resume date, and prevents frustration that leads to refunds or churn.
Provide host-defined freeze rules at org and pack levels, including maximum freeze days per pack (default up to 14), minimum single-freeze length, cumulative cap across multiple freezes, cooldown between freezes, advance-notice requirement, and allowed reasons (e.g., travel, illness). Policies are timezone-aware, versioned, and validated on creation and update. UI in the host dashboard lets owners set global defaults and override per pack. Enforcement ensures freezes are only allowed on eligible, active packs and never exceed configured limits.
Enable students to initiate, view, and manage freezes from the mobile link-in-bio and pack detail screen. Flow includes selecting reason, start date, and duration within host limits, real-time validation, and a confirmation screen that shows the calculated resume date. Provide an "Unfreeze Now" action for early resumption. Handle overlapping or back-to-back requests gracefully and block invalid ranges. Ensure responsive UX, accessibility (WCAG AA), localization, and secure access tied to the student’s account.
Pause a pack’s validity countdown during the freeze window and extend its expiration by the exact number of frozen days without altering remaining visit credits. Support common pack validity models (e.g., N days from purchase or first use, fixed use-by date). Compute and persist a precise resume date in the host’s timezone, with deterministic rounding rules for whole-day freezes. Maintain a freeze ledger (start/end, creator, reason, policy snapshot) to support multiple freezes up to the cumulative cap. Handle DST, timezone shifts, and leap days consistently.
When a pack is frozen, prevent it from being used to book new classes during the freeze window while allowing alternative payment methods. Detect existing bookings that fall within the freeze and offer one-tap resolution: cancel with penalty waived per policy or keep and auto-unfreeze if the host allows. Block check-in with a clear reason if the pack is still frozen at class time. Host setting controls whether conflicts auto-cancel or require student confirmation. All changes update availability and waitlists in real time.
Send transactional communications at key moments: freeze confirmation with policy summary and resume date, 24-hour pre-resume reminder, and unfreeze confirmation. Render persistent in-app banners on the pack card showing frozen status and resume date. Support SMS and email based on user preferences with localized templates and tokenized fields (e.g., {resume_date}). Respect quiet hours and deliverability settings; fall back between channels if one fails.
Provide host-facing tools to view, edit, or cancel freezes, backdate within policy, or override limits with a required note. Show a complete audit trail capturing who changed what and when, including old/new values and reason. Role-based access limits overrides to authorized roles. Include list and detail views per student and per pack, plus CSV export for compliance or support.
Expose secure endpoints for hosts to list and manage freezes programmatically. Emit webhooks for freeze.created, freeze.updated, freeze.resumed, and freeze.denied with idempotency and signature verification. Provide basic analytics: freeze adoption rate, average frozen days per pack, conflict resolution outcomes, and impact on refunds/churn, available in dashboard widgets and exportable. Ensure backward-compatible versioning and clear SLAs for event delivery.
Earn a small bonus (extra days or a bonus credit after N off‑peak check-ins) when using pack credits in quieter time slots. Students get extra value; studios fill low-demand classes and smooth capacity without discounting core offerings.
Enable studios to define and manage off-peak time windows at the calendar, location, and class levels with timezone awareness. Provide weekday/time-range rules, effective dates, exceptions (holidays/blackouts), and class-level overrides. Include validation to prevent overlaps, versioning to preserve historical context for previously booked classes, and a preview that highlights which upcoming classes qualify. Expose configuration via UI and API, and ensure changes propagate to discovery, booking, and check-in services in near real time.
Allow studios to configure incentive rules that determine reward type (extra pack validity days or bonus credit), threshold (e.g., earn 1 bonus credit after N off-peak check-ins), eligibility by pack type, caps per period, reward expiry, and stacking behavior. Support audience targeting (e.g., new vs. returning students), program start/end dates, and per-studio toggles. Provide a rule simulator to estimate impact. Ensure rules integrate with billing/ledger services to issue rewards consistently and are traceable for audits.
Determine whether a booking/check-in qualifies as off-peak based on the class start time in the studio’s timezone and the active rules at the time of booking/check-in. Only count events where a pack credit was consumed. Handle reschedules, late cancellations, and no-shows with consistent rule outcomes. Record immutable event logs with rule version applied for auditability. Ensure idempotent processing, backfill for rule changes where permitted, and safeguards against rapid churn behavior intended to game accruals.
Track per-student progress toward configured thresholds and automatically issue the specified reward when criteria are met. For bonus credits, post to the student’s credit ledger with clear labeling, applicable classes, and expiration. For extra validity days, extend eligible packs according to policy, prorating and preventing double-application. Update receipts, wallets, and account history; prevent duplicate issuance across concurrent sessions; support admin adjustments and revocations with reasons; and surface machine-readable webhooks for external systems.
Display an Off-Peak badge on qualifying classes across discovery and booking flows, with a concise explainer and link to full terms. Show real-time progress (e.g., N of M check-ins completed) and expected reward on confirmation screens and receipts. Indicate eligibility before checkout, including any pack-type restrictions. Provide a lightweight account view of earned and pending rewards. Ensure mobile-first design for link-in-bio use, localization, and accessibility compliance.
Offer a dashboard reporting off-peak program performance: utilization uplift, incremental revenue, no-show reduction, fill by time window, and conversion impacts. Provide filters by class type, instructor, and location; change logs for rule edits; and CSV export. Include guardrails and recommendations (e.g., suggested windows with low fill) and alerts for misconfigurations such as windows with no inventory or conflicting rules.
Send opt-in, compliant nudges (SMS/email/push) that highlight upcoming off-peak classes and progress toward rewards, with frequency caps, quiet hours, and easy unsubscribe. Personalize content to the student’s schedule, location, and pack type, and prefer classes where the studio has excess capacity. Integrate with existing auto-text infrastructure to avoid duplicate messaging and provide tracking links to measure conversions and suppress already-booked students.
Personalized class suggestions that fit remaining credits and calendar gaps, delivered via SMS and link‑in‑bio. Shows a predicted runout date and offers one‑tap Y‑PACK booking or a hold on the best next session—making it effortless to finish the pack on time.
Dynamically sets the latest time you can release a seat based on start time and demand, then shows a clear countdown in the SMS flow. Students know exactly how long they have, swaps happen early enough to resell, and hosts avoid last‑minute confusion and lost revenue.
Implements a server-side service that calculates the latest permissible swap release time per booking using class start time, waitlist depth, historical fill rates, time-of-day/day-of-week patterns, and host policy constraints. The service writes the computed cutoff timestamp and rationale to the booking record, exposes a read API for clients, and emits events when the cutoff changes. It recomputes on demand shifts (e.g., waitlist join/leave, cancellations, capacity changes) with hysteresis to prevent flapping, and enforces global guardrails (absolute minimum/maximum windows). It integrates with Classlane’s Booking, Payments, and Hold‑to‑Confirm waitlist pipelines to ensure a sufficient resale buffer and to trigger backfill workflows on valid releases. Fallback defaults apply when data is sparse or unavailable, and all computations are time zone and DST aware.
Surfaces a clear, synchronized countdown for the Smart Swap Window across SMS and the mobile web flow. SMS copy includes the time remaining at send, and the deep link opens a responsive page with a live server-synced timer, descriptive status text, and primary actions (Release, Keep Seat) that update state in real time. The UI handles expired windows with an explanation and alternative actions, localizes time formats, supports accessibility (screen readers, contrast, haptics), and mitigates client clock drift via server time beacons. Content and templates integrate with Classlane’s Notification Service and respect host branding.
Adds authoritative server-side validation that gates swap actions based on the computed cutoff and a minimum resale buffer, returning friendly, actionable errors when attempts occur after expiry. Introduces transactional locks and idempotent endpoints to prevent double releases and race conditions when multiple users act simultaneously. Coordinates with the Hold‑to‑Confirm waitlist to ensure releases trigger backfill messaging only when within the valid window, and cancels or requeues workflows if the window lapses mid-flow. Generates audit logs with reason codes for allowed/blocked actions and integrates with Payments to apply policies for credits or fees when applicable.
Provides a policy layer and dashboard controls for defining Smart Swap rules at global, studio, and class levels, including minimum/maximum cutoff windows, default behaviors, private/exception classes, blackouts, and preview (dry-run) mode. Hosts can enable/disable the feature per class, review computed cutoffs before go-live, and apply bulk updates via API. Role-based permissions restrict who can change policies, and guardrails prevent unsafe values. Communication templates (SMS/email copy) are configurable to reflect each host’s policy while maintaining clarity for students.
Instruments end-to-end metrics and events for Smart Swap, including swap attempts, allow/deny rates, time-to-release distributions, resale success, revenue saved/uplift, and no-show deltas. Provides dashboards and exports for hosts and internal ops, with cohorting by class type, time, and demand level. Adds alerts for abnormal patterns (e.g., high block rates, SMS latency spikes) and integrates with an experimentation framework to A/B test rule variants and measure impact. Ensures data governance, retention, and PII minimization consistent with Classlane standards.
Ensures accurate, fair timing despite time zone differences, DST changes, and message delivery variability by using server-authoritative time, NTP synchronization, and a small configurable grace period to account for network latency. Detects delayed SMS delivery and adjusts the displayed countdown accordingly while preserving server-side enforcement. Implements retries and fallbacks when SMS providers degrade, with optional in-app or email notifications. Includes test harnesses for simulated clocks and delivery delays, and comprehensive monitoring of time sync health.
Release just part of a multi-seat booking with a quick text (e.g., DROP 1). Keep the remaining seats intact while the system auto-charges the next waitlister for the freed spot and returns a proportional credit or refund. Perfect for families and friends when plans change for only one person.
Extend the booking schema to represent individual seats within a group reservation, including seat count, per-seat pricing allocations, applied discounts/taxes/fees breakdowns, and seat-level status (reserved, released, reassigned). Introduce immutable identifiers for each seat, a linkage to the booking owner, and references to payment intents per seat allocation to enable partial release and reassignment. Ensure database migrations preserve existing bookings and backfill derived allocations for legacy data. Provide transactional APIs to update seat states atomically and expose read models for mobile and admin views. This foundation enables precise partial cancellations without impacting remaining seats and supports accurate financial reconciliation.
Implement the core workflow to release one or more seats from an existing booking while keeping the remaining seats intact. On receipt of a valid release request, validate policy constraints, mark targeted seats as released, compute the refundable amount, initiate refund/credit flows, and trigger waitlist backfill. Enforce idempotency keys and optimistic concurrency to prevent double-processing, and wrap the operation in a single transaction to avoid overselling. Support releasing by count (e.g., 1 seat) and by seat identifiers, and return a clear result payload with remaining seat count, financial outcomes, and next actions.
Add an SMS interface that recognizes concise release commands (e.g., "DROP 1", "DROP 2", "RELEASE 1") sent from the booking owner’s verified number. Implement a robust parser with normalization, validation against the active booking context, multi-language keywords, and friendly error/help responses. Include confirmation prompts when required by policy and rate limiting to prevent abuse. Map valid commands to the partial release core API with idempotent request keys derived from message metadata. Log all interactions for auditability and support.
Create a calculation service that derives the per-seat refundable amount from the original transaction, proportionally allocating base price, taxes, fees, discounts, gift cards, and credits. Support merchant-configurable rules for refund method (card refund vs. account credit), non-refundable fee handling, time-based penalties, and rounding strategy. Ensure outputs are ledgered, auditable, and reconcilable with the payments provider. Expose as a reusable service used by the release workflow and accessible for reporting and dispute evidence.
Integrate released seats with the existing Hold-to-Confirm waitlist flow. When a seat is freed, automatically notify the next eligible waitlister, pre-authorize and charge their saved payment method, and confirm the seat within the two-minute window. Handle failure cascades by skipping declined/expired methods and advancing the queue, with clear notifications and audit logs. Ensure atomic linkage between released seat, new assignment, and payment capture to prevent ghost seats. Provide instructor and admin visibility into the handoff and final status.
Enforce configurable rules controlling who can partially release seats and when (e.g., cutoff times before class, minimum remaining seats, per-class overrides, and penalty rules). Verify the requester’s identity and ownership of the booking, and support instructor/studio-admin overrides via dashboard with reason codes. Provide clear error messaging via SMS and UI when a release is blocked by policy. All decisions must be logged with policy snapshots for audit and dispute resolution.
Deliver end-to-end communications and state updates after a split release: SMS to booking owner confirming the dropped seat and adjusted balance; SMS to waitlister upon successful capture; updated receipts with line-item adjustments; instructor roster updates reflecting attendee changes; and webhooks to downstream systems. Ensure messages are templated, localized, and idempotent, and that financial documents align with the refund engine outputs. Provide an audit trail linking communications, payments, and seat state changes.
Move to another session in one step while releasing your current seat. Classlane holds your preferred time, applies your credit instantly, and charges or refunds any difference—respecting each class’s policies—so you switch plans without juggling links or risking a double-book.
Implements a transactional, single-action rebooking flow that simultaneously holds the target session, validates eligibility, applies existing booking credit, and processes any charge or refund before releasing the original seat. Guarantees atomicity and rollback on failure to prevent double-booking or orphaned seats, with idempotency to safely handle retries and multi-taps. Integrates with Classlane’s booking, waitlist, and payments services and records a complete audit trail for compliance and support.
Reserves the target session seat for a short, configurable window during rebooking, extending on user activity and releasing on cancel or timeout. Prevents race conditions and double allocation under high demand with optimistic locks and conflict resolution. Works across devices, respects class capacity limits, and emits events for real-time UI updates and waitlist backfill.
Evaluates class-specific transfer rules before allowing Auto Rebook, including rebook windows, cutoff times, transferability, per-move fees, and limits on number of rebooks. Applies instructor-defined fees and exceptions, surfaces clear policy messaging in the UI, and blocks ineligible moves with actionable alternatives. Logs decisions for dispute resolution and aligns behavior with each class’s published terms.
Calculates price differences between original and target sessions, applies existing booking credit or pass value, and adjusts taxes and fees accordingly. Captures additional payments securely, issues instant partial refunds to the original method or wallet credit when allowed, and posts balanced ledger entries. Supports coupons, multi-currency rounding rules, and payment gateway constraints while maintaining a clear audit trail.
Sends real-time confirmations via SMS, email, and push to students and instructors detailing the rebooked session, released seat, applied credits, fees, and any charge/refund. Updates calendar attachments, syncs with the instructor’s roster, and triggers waitlist notifications to backfill the freed seat. Stores message logs and delivery status for support and compliance.
Provides dashboard settings to enable/disable Auto Rebook per class, configure rebook windows and fees, and choose refund destinations (original method or wallet where allowed). Exposes analytics on rebook usage, revenue lift, reduced no-shows, and backfill rates, with exportable audit logs for accounting and policy reviews.
Opt into a small incentive when you release early and your seat successfully resells (e.g., fee waived or bonus credit). Hosts configure the reward; students get a nudge to swap sooner, boosting refill rates and keeping classes full.
Hosts can enable Resell Bonus at account and class levels; choose incentive type (fee waiver, fixed credit, percentage credit), set eligibility window (e.g., release X+ hours before start), per-user caps, minimum ticket price thresholds, budget limits, and default behaviors. Inherits from account defaults with per-class overrides and exception dates for recurring schedules. Integrates with pricing, taxes, and cancellation policies to compute projected net effects before enabling; persists configurations versioned for audit and rollback.
A rules service determines when a released seat is eligible for incentive and when a resell is considered successful. Considers release timestamp, waitlist state, class capacity, cutoff times, payment settlement state, and whether the seat was purchased by a different customer. Handles edge cases: multi-seat orders, bundles/passes, partial refunds, discounts, host cancellations, and time zone differences. Emits deterministic state transitions (Pending, Earned, Forfeited, Reversed) with idempotent processing and auditable events.
Adds a clear “Release Seat for Bonus” path in mobile/web with contextual prompts showing potential reward and eligibility conditions. Integrates with Hold-to-Confirm waitlist to immediately trigger resale attempts upon release. Provides confirmation screens, countdowns, and a status tracker (Pending resell → Earned) in My Bookings. Optimized for link-in-bio single-page flow, accessibility, and localization; supports error recovery and retry for network interruptions.
On successful resell, automatically apply the configured reward: waive cancellation fee, issue bonus credit, or both. Credits post to the student wallet with configurable expiry, visible balance, and transaction history; refunds and fee waivers reconcile to payments, taxes, and accounting exports. Supports reversals if the class is canceled or resell invalidated, and provides admin tools for manual adjustments with full audit logs and reason codes.
Timely, personalized notifications via SMS, email, and push encourage early releases when waitlists exist or fill rates are low. Templates display concrete reward amounts and deadlines and update students when status changes (Pending, Earned, Forfeited). Supports quiet hours, opt-in preferences, and per-host branding. Deep links directly to the release flow and aligns with existing auto-text and waitlist communications to avoid message conflicts.
Prevents gaming by blocking self-resell (releasing and repurchasing the same seat), enforcing cooldowns, minimum lead times, per-user reward caps, and device/account linkage checks. Detects suspicious patterns such as circular resells and high-frequency releases, and routes flagged cases to an admin review queue. Provides configurable thresholds per host and global hard limits with real-time checks in the release flow and post-event audits.
Dashboards and exports show refill rate, time-to-release distribution, revenue lift, and no-show reduction attributable to Resell Bonus. Built-in A/B toggles per class or cohort with guardrail metrics, power checks, and sample-size guidance. Reports at host, class, and time-period levels help optimize incentive values and windows. Events are instrumented for funnel tracking from prompt exposure to release action and resell success.
Before you confirm a swap, see exactly what you’ll get back—credit vs. partial refund, any fees, and when funds land. Transparent, instant math in an SMS link prevents surprises, reduces disputes, and builds trust in stricter cutoff windows.
A backend service that calculates, in real time, the exact outcome of a swap or cancellation based on instructor policy, class price, time-to-start, payment method, taxes, credits, promotions, and fees. It returns a normalized payload specifying refund vs. credit, fee breakdowns, and the expected funds availability date based on payment processor settlement rules. Integrates with existing booking, waitlist hold-to-confirm, and payments services via an internal API, ensuring consistent logic across SMS previews and in-app views. Exposes deterministic calculations with versioned rules for reproducibility and supports multi-currency and timezone-aware outputs.
Generate short-lived, signed URLs embedded in outgoing SMS that open a mobile web preview of the policy outcome without requiring login. Tokens are single-use or time-bound (e.g., 10 minutes), scoped to the specific booking and action, and resistant to tampering via HMAC signatures. The link deep-links to the correct preview state and supports fallback to app if installed. Includes rate limiting, expiration messaging, and automatic reissue on request. Integrates with existing SMS delivery provider and analytics for click-through tracking.
A mobile-first, accessible UI that displays an itemized breakdown: original amount, policy-based deductions, platform/instructor fees, tax handling, net to student, payout method (credit vs. refund), and a clear "funds available" date/time in the user’s local timezone. Uses plain-language labels and contextual tooltips, supports multiple currencies and locales, and shows side-by-side comparison of options when applicable (e.g., refund vs. credit). Includes error states, loading skeletons, and a compact summary suitable for SMS webview.
Require that users view the Policy Preview before completing a swap confirmation within the hold-to-confirm window. The confirmation button remains disabled until the preview is displayed (and acknowledged where required), ensuring informed consent and reducing disputes. Integrates with the waitlist two-minute hold flow, handles countdown synchronization, and preserves state if the user navigates away and returns within the hold window.
Extend policy logic to cover complex scenarios: class packs and memberships, gift cards, promo codes, split tenders, partial attendance packs, cross-currency bookings, taxes-inclusive vs. exclusive pricing, non-refundable tiers, and past-cutoff exceptions. Define precedence rules (e.g., credit before refund), fallbacks when original payment method cannot be refunded, and wallet credit auto-issuance with expiration where applicable. Include unit tests and fixtures for each scenario and explicit messaging for limitations.
Persist a signed snapshot of all inputs and the computed preview shown to the user (including timestamps, policy version, exchange rates, and fees). Provide an internal admin tool to replay and verify the calculation for support and chargeback responses. Store minimal PII, adhere to data retention policies, and expose event logs to success and risk teams. Enables trustworthy resolution of complaints and data-backed insights into dispute drivers.
Guarantee sub-300ms median computation time and sub-1s preview load on 4G, with graceful degradation if dependencies are unavailable (cached policy rules, fallback messaging). Implement retries with backoff for payment provider lookups, circuit breakers, and observability (metrics, traces, alerts). Localize currency, date/time, and copy; meet WCAG 2.1 AA for contrast, focus, and screen reader semantics. Provide automated tests and synthetic monitoring across top locales and timezones.
Hand your seat to a friend via text instead of releasing to the waitlist. Send their number, they confirm in one tap, and reminders move over automatically. Keeps the spot filled with zero friction while preserving host policies and attendance accuracy.
Enable booked attendees to initiate a Direct Transfer from the booking details screen by entering a friend’s mobile number. Validate the number (E.164), show a policy summary and cutoff time, then generate a secure, single-use claim link and send it via SMS using the existing messaging infrastructure. Place a temporary hold on the seat (host-configurable, defaults to 2 minutes) to prevent waitlist release during the transfer attempt. Display a countdown and allow the sender to cancel the transfer before it’s claimed. Ensure the transfer cannot be initiated if the class or host settings disallow transfers (e.g., within a cutoff window, non-transferable bookings, or policy constraints). All actions should be idempotent and logged.
Provide recipients with a mobile-first claim page that displays class details, host policies, and the remaining hold time. Allow one-tap acceptance gated by lightweight identity verification: confirm the recipient’s phone via OTP (tied to the number the link was sent to) and support frictionless account creation or guest flow. Prevent misuse by binding links to the intended recipient, enforcing single use, expiring links on timeout, and blocking claims when cutoffs or capacity changes occur. Present clear success/failure states and surface any required waivers or consents before finalizing the claim.
Ensure transfers preserve host-defined policies and financial integrity. Keep the original price and payment settled with the host; do not auto-refund or rebill unless a host-configurable transfer fee applies. Respect non-transferable items and cutoff windows, and surface a concise policy summary to both parties at initiation and claim. Migrate any eligible add-ons, credits, or passes; block transfer if the underlying pass or age/consent requirements are incompatible. Record ledger adjustments for any fees, and update compliance artifacts (e.g., waiver acknowledgments) to the new attendee as needed.
Upon successful claim, automatically reassign the booking to the recipient: move SMS/email reminders, calendar invites, and check-in credentials; revoke the sender’s reminders and access. Update the live roster, teacher app, capacity counters, and attendance exports to reflect the new attendee. Trigger confirmation and update notifications to sender, recipient, and host. Maintain a consistent audit trail linking the original booking ID to the new attendee for support and analytics.
Add host-facing controls to enable/disable Direct Transfer per class or globally, set transfer windows, define optional transfer fees, and limit the number of transfers per booking. Provide an audit log including initiator, recipient number (masked), timestamps, outcomes, and any fees applied, with export capability. Include a manual override to approve, cancel, or revert a transfer and to reissue a claim link if needed. Enforce role-based access and data minimization to protect attendee privacy.
Define robust flows for expirations and failures. When a claim link expires or is declined, notify the sender with options to retry another number, cancel, or release the seat back to the waitlist. Localize all SMS and on-screen messages and provide clear reasons for failures (e.g., cutoff passed, class started, capacity changed). Implement idempotent operations, rate limiting, and link invalidation to prevent abuse. Handle edge cases such as multi-seat bookings, minors/guardian requirements, and class cancellations with predictable, recoverable states.
Made a mistake? A short grace period lets you cancel a release if the seat hasn’t been reallocated yet. Minimizes support tickets, protects students from fat‑finger errors, and keeps the swap flow forgiving without risking empty seats.
A configurable short grace period (default 120 seconds) starts immediately after a student releases a seat via the Swap flow. During this window, the student can undo the release only if the seat has not been reallocated: no waitlist hold accepted, no replacement booking confirmed, and no instructor override applied. The system persists the timer across sessions and devices and exposes an eligibility state used by the UI and APIs. On expiry or reallocation, undo is irrevocably disabled and the state transitions to Finalized.
An unobtrusive, accessible Undo control appears immediately after a release on the confirmation screen and as a dismissible toast/snackbar across the app with a visible countdown. Deep links in push/SMS messages let users undo from outside the app. The control reflects real-time eligibility and provides clear success or ineligible messages. The interaction completes in one tap, avoids modal friction, and fails safely with a helpful message if the seat was already reallocated.
A transactional state machine coordinates undo and reallocation to prevent race conditions. Idempotency keys, optimistic locking, and queue-based serialization ensure that only one terminal action (undo or reallocation) can succeed. The guard spans inventory, waitlist, and payments services, guaranteeing consistency even under high concurrency. Deterministic winner rules resolve simultaneous actions and return authoritative outcomes to clients.
Undo reinstates the original booking and reverses any financial side effects triggered by the release. Pending refunds are voided before capture; captured refunds trigger compensating charges or credits per policy. Swap fees, coupons, taxes, and gift cards are correctly reapplied. All adjustments are posted to the ledger with auditable entries, and providers (e.g., Stripe) are called atomically with booking state changes to keep records in sync.
If an auto-text was sent to the waitlist and no hold has been accepted, undo cancels the active hold and sends an immediate retract message indicating the seat is no longer available. Messaging is rate-limited, respects user notification preferences, and avoids duplicate sends. Instructor and internal notifications are updated to reflect the restored seat, and all message outcomes are logged for support traceability.
Every undo attempt and outcome is recorded with user, booking, timestamps, eligibility reason, and concurrency context. Events feed analytics to quantify error prevention, support tickets avoided, and revenue protected. Admin tools expose searchable logs and aggregate dashboards (undo rate, time-to-undo distribution, failure causes) to guide policy tuning and QA.
Admin and studio-level settings control whether Swap Undo is enabled, the grace period length, and cutoff rules relative to class start time. Feature flags support staged rollout and A/B testing. Rate limits and abuse protections prevent rapid toggling. All settings are permissioned, versioned, and reversible, with safe defaults that preserve seat utilization.
Sign into Classlane on any desktop by scanning a QR with your phone and confirming via Face ID/Touch ID. No passwords, codes, or email links—just a quick biometric approval that’s perfect for pop-ups and borrowed computers. Faster setup at the door with fewer support pings and zero credential sharing.
Display a rotating, single-use QR code on the desktop login page that is cryptographically bound to the browser session and Classlane origin. The page opens a secure real-time channel (WebSocket/SSE) to receive authorization once the QR is approved on the phone. The QR automatically regenerates every 30 seconds, invalidates after a successful scan, and clearly instructs users to “Scan with the Classlane app.” Show a waiting state and, upon scan initiation, display the requesting browser and approximate location for user reassurance. This reduces friction on borrowed computers and eliminates password entry, integrating seamlessly with existing web auth endpoints.
When a QR is scanned, the Classlane mobile app presents an approval sheet showing the requesting domain (classlane.com), browser, and approximate location, then prompts for Face ID/Touch ID (with device passcode fallback) to authorize. Provide clear Approve/Decline actions, a short timeout, haptic confirmation, and explicit messaging that biometrics never leave the device. On approval, the app completes the authorization backchannel and returns success to the desktop session. This ensures fast, user-friendly, and secure confirmation aligned with mobile platform best practices.
Implement a secure, code-free authorization flow: the desktop renders a session-bound QR containing a nonce and challenge; the mobile app establishes a secure backchannel, signs the challenge (ephemeral key or device-bound credential), and the server verifies before issuing a short-lived desktop session token. Bind the token to the requesting browser session via the open real-time channel; enforce TLS, single-use, origin validation, and strict token TTL (e.g., 2 minutes). Log signed assertions and outcomes for audit without storing biometric data. This provides passwordless, phishing-resistant login with minimal user effort.
Expose an “Active Sessions” view in both mobile and web showing device type, browser, location, and last active for each desktop login initiated via QR Handshake. Allow users to remotely revoke any session instantly from their phone and provide a “Sign out everywhere” control. Set sensible defaults for session duration (e.g., 12–24 hours) with automatic expiration and optional inactivity timeouts tailored for pop-ups and borrowed computers. Notify the desktop immediately on revocation and require re-authentication via QR for re-entry. This increases safety and reduces lingering access on shared devices.
Ensure the QR payload is a Universal Link/App Link that routes directly into the Classlane app on iOS and Android; if the app is not installed, open a mobile web flow that continues the scan-and-approve experience after the user signs in on the phone. Handle camera permissions, background-to-foreground transitions, and interrupted scans gracefully. Verify compatibility with major desktop browsers (Chrome, Safari, Edge, Firefox) and modern mobile devices. Provide clear guidance to install the app when beneficial, without introducing passwords, codes, or email links. This guarantees a reliable flow across device ecosystems.
Protect against phishing, replay, and abuse: bind QR data to the Classlane origin and browser session; rotate and expire codes rapidly; enforce rate limits per IP and per account; validate that the approving account on mobile matches the desktop intent; display the requesting domain and location to the user before approval; and reject approvals if the desktop session has changed state. Block cross-origin embedding of the login page, enforce CSP and Referrer-Policy, and add anomaly detection (e.g., excessive denied attempts, rapid scans). Maintain privacy-preserving audit logs for incident response. This safeguards the flow in busy pop-up environments.
Provide workspace-level toggles to enable/disable QR Handshake, set session duration policies, and optionally require biometric approval for all desktop logins. Surface telemetry on adoption, success/failure rates, median time-to-login, and top failure reasons to reduce support load. Send configurable alerts on suspicious activity (e.g., unusual location/device patterns) and expose downloadable audit trails with 30-day retention. Ensure compliance by avoiding storage of biometric data and limiting personal data in logs. This gives owners visibility, control, and measurable impact on setup speed and support volume.
Prebuilt, customizable permission tiers (Owner, Coordinator, Instructor, Door Host, Finance) map access exactly to each job. Assign passkeys to roles instead of people, and the UI automatically shows the right dashboards and actions. Prevents over-permissioning, reduces mistakes, and makes co-host onboarding one tap.
Provide prebuilt permission tiers (Owner, Coordinator, Instructor, Door Host, Finance) with granular privileges mapped to Classlane actions (schedule, bookings, check-in, waitlist, messaging, payouts, refunds, pricing, settings). Allow studios to clone, customize, and save templates; toggle individual capabilities; and preview impact before publishing. Support versioning and safe rollout (draft, publish, rollback). Enforce permissions across API and UI via a centralized capability matrix and policy checks. Outcome: fast setup, consistent access, fewer errors.
Enable creation of WebAuthn passkeys bound to a role-scope rather than a person, so shared devices (front desk iPad, door phone) can authenticate as 'Door Host' or 'Instructor' without personal accounts. Support device registration, optional PIN/biometric, configurable TTL, and revocation. Passkeys carry scoped claims (studio, class/event range) and capability set. Provide backup sign-in via QR/magic link with the same scope, and immediate remote revoke. Enforce offline-capable check-in (cached roster and capabilities) with automatic re-sync. All credential events logged.
Render navigation, dashboards, and actions dynamically from server-supplied capabilities so each role sees only relevant surfaces (e.g., Door Host: Today’s check-in and waitlist; Instructor: rosters, messaging; Finance: payouts, refunds; Coordinator: schedule, capacity controls). Guard all routes with server checks; hide disallowed features and block deep-link access. Provide a generic 'capability flag' component, empty-state guidance, and performance-optimized fetching to avoid UI flicker.
Let owners/coordinators invite helpers via one-tap links or QR codes that preselect a role and scope (studio-wide or event-specific) and an expiry window. On acceptance, the device sets up a role-bound passkey or ephemeral session in under 30 seconds. Include seat limits per role, optional check-in-only kiosk mode, and automatic removal on expiry. Provide a guided checklist for first run (e.g., 'Scan ticket', 'Check-in', 'Message instructor') to reduce training.
Introduce a policy engine that validates role configs and assignments for least-privilege: detect over-permissioned templates, flag risky combos (e.g., refunds + payout edits), require owner approval for finance-related changes, and enforce scoping for temporary roles. Provide inline warnings, diffs of capability changes, and an impact preview ('X users lose refund access'). Block publishing of noncompliant templates based on org policy.
Record immutable logs of role template changes, assignments, passkey creation/revocation, sign-ins, and sensitive actions (refunds, payout edits, roster exports) together with the active role context. Provide filterable views by user, role, studio, date range; export to CSV; and retention controls. Surface inline 'Why can't I do this?' with a quick link to the relevant role and change history for transparency.
Support scoping roles to the correct operational layer: organization-wide, studio location, series, single class/event, or date/time window. Allow overrides for one-off events and temporary expansions with automatic rollback. Ensure all queries and mutations accept a scope token to limit data access (e.g., Door Host only sees today’s attendees). Provide UI to visualize and edit scope, with conflicts resolved by most-restrictive wins.
Issue time-boxed, auto-expiring access for guest staff or volunteers. Limit scope to specific dates, rooms, or check-in only actions, and let access end automatically after the shift. Keeps lines moving while protecting sensitive payouts and settings—no more risky shared logins.
Enable creation of access windows with explicit start and end timestamps tied to the venue’s time zone. Keys auto-activate at the start, auto-expire at the end, and immediately terminate active sessions, enforcing least-time exposure. Support optional early/late grace periods, daylight saving handling, and schedule updates (extend/shorten) with real-time propagation to active sessions. Display countdown timers to both admins and guests. All expiration logic must be enforced server-side with tamper-resistant tokens and fail-closed behavior when timing data is missing or invalid.
Provide least-privilege, role-based permission scopes purpose-built for guest staffing: Check-in Only, Front Desk (read rosters, mark attendance, scan QR passes), and Room-Limited variants. Allow admins to constrain access by date, time window, location, and specific rooms/classes. Explicitly exclude payouts, financial reports, account settings, exports, messaging, and customer data beyond roster essentials. Enforce UI and API-level authorization with deny-by-default, log and block out-of-scope attempts, and surface clear in-UI indicators of current scope.
Allow admins to generate unique, cryptographically signed shift keys as magic links and/or QR codes with embedded scope and time constraints. Support delivery via SMS or email with one-tap access on mobile, optional PIN or 2FA for higher assurance, and single-device binding to reduce sharing. Include human-readable shift details (room, date, time) and a revoke link for admins. Implement rate limiting, short-lived token rotation, and secure storage of minimal metadata only.
Present a streamlined mobile-first interface when accessed via a shift key that shows only permitted actions: roster search, QR/Barcode scanner, attendance toggles, and limited class/room selector. Surface a visible shift timer and scope badge, provide accessibility and large-tap targets for fast check-ins, and hide all financial/settings navigation. Support error states (expired key, out-of-scope class) with clear guidance, and include an explicit End Shift action that signs out and clears cached data.
Enable immediate revocation of any shift key with single-click from the admin dashboard, invalidating all associated sessions and tokens. Log creation, use, scope changes, revocations, and all guest-mode actions (e.g., check-ins) with timestamps, actor identity, IP/device fingerprints, and outcomes. Provide filterable, exportable audit views and alerting on suspicious or out-of-scope attempts. Respect data retention policies while maintaining non-repudiation and privacy safeguards.
Allow guest mode to function during temporary connectivity loss by caching only the minimal roster and ticket validations for the current time window and rooms. Queue check-in events locally with encryption and sync automatically on reconnection with conflict resolution. Enforce conservative local timeboxing with server revalidation on reconnect, and block access to any sensitive data or navigation while offline. Provide clear offline/online indicators and retry feedback to keep lines moving.
See all enrolled devices at a glance, revoke with one tap, and get instant alerts on new device sign-ins. Optionally require proximity approval from an already-signed-in device or co-admin approval for high-risk attempts. Prevents lockouts and hijacks without going back to passwords or SMS codes.
A centralized, real-time view of all devices currently signed in to a Classlane account or organization. Displays device name, platform/OS, last active time, approximate location (privacy-preserving), trust status, and risk flags. Supports search, sorting, and filters, plus per-device actions including rename, mark as trusted, and revoke. Integrates with the Security settings in mobile apps and web, syncing via push/WebSocket to reflect changes within seconds. For studios with multiple admins, shows devices across admins according to role-based access controls and scopes. Stores minimal device metadata with configurable retention and full audit logging for compliance.
Immediate remote logout of a selected device, invalidating refresh and access tokens, severing push channels, and forcing re-approval before the device can access again. Includes a confirm step to prevent accidental revocations, bulk actions like “Revoke all other devices,” and handling for offline devices that applies on next check-in. Propagates across services within seconds and records an auditable event. Integrates with the Device Inventory Dashboard and alert flows, ensuring idempotency and safe retries.
Real-time notifications when a new device signs in, delivered via in-app push (primary), with optional email fallback. Alerts include device details, approximate location, time, and a risk summary, with inline actions: Approve and trust, or Not me—revoke and block. Links back to the Device Inventory Dashboard for deeper review. Includes throttling, localization, and notification preferences to avoid alert fatigue. Integrates with risk scoring to elevate or suppress alerts appropriately and writes full audit entries for each decision.
A secure, passwordless flow that requires approval of a new device from an already-signed-in device in physical proximity. Implements approval via in-app prompt on trusted devices with short-range confirmation (e.g., BLE/Nearby handshake) or QR-code scan as a fallback, with strict time windows and one-time tokens. No SMS or passwords are used. If proximity cannot be established, the flow escalates per policy (e.g., co-admin approval). All approvals are signed, time-bound, and logged. Designed for mobile-first usage while also supporting web sign-ins by pairing with a mobile device.
Policy-driven requirement that high-risk sign-in attempts (new country, impossible travel, suspected emulator, TOR/VPN, or unfamiliar device fingerprint) obtain approval from a co-admin. Sends actionable push prompts to eligible co-admins with context (who, what, where, when, risk score) and one-tap Approve/Deny. Supports quorum (e.g., any 1 of N) and expiry windows. Includes escalation to the account owner if no co-admin responds and full audit trails. Configurable per organization with role-based visibility and override safeguards to prevent accidental lockouts.
A configurable engine that calculates sign-in risk using signals such as geovelocity (impossible travel), IP reputation, VPN/TOR detection, device fingerprint changes, rooted/jailbroken indicators, and historical behavioral patterns. Produces a risk score and recommended action (allow, alert, proximity approval, co-admin approval, or block). Provides per-organization policies to tune thresholds and required actions, with safe defaults. Exposes metrics and logs for monitoring, ensures data minimization, and complies with privacy constraints. Integrates with alerts, approvals, and dashboard surfaces.
Redundant, passwordless recovery paths to prevent permanent lockouts while maintaining strong security. Options include co-admin recovery approval, pre-generated single-use recovery codes, and time-delayed owner recovery with broad notifications to other admins. Enforces at least one trusted device or recovery option on setup, guides users through safe device replacement, and blocks actions that would remove the last recovery path. Provides clear UX for lost/stolen device scenarios, with thorough audit logging and rate limiting on recovery attempts.
Recover access without passwords using trusted teammates. Set a policy (e.g., any 2 of 3 admins) to approve re-enrolling a new passkey when a device is lost. Resilient against SIM swaps, reduces downtime for studios, and removes tedious support back-and-forth.
Provide organization-level settings to define a recovery quorum (k-of-n) using existing Classlane roles (Owner, Admin, Manager). Allow owners to specify the minimum number of approvers required, eligible roles, request expiration window, cooldown between requests, and whether policy changes themselves require a quorum. Surface a Security > Recovery Policy page with real-time coverage indicators (e.g., "2 of 5 eligible online"). Enforce constraints to prevent insecure states (e.g., k cannot exceed current eligible members). Changes are versioned and auditable, with rollback. Integrates with existing team management and permissions.
Enable owners to designate and manage trusted teammates eligible to approve recoveries. Provide invite flow for new teammates, verification that each approver has an active passkey enrolled, and prompts to complete passkey setup. Prevent self-approval and duplicate approvals from the same individual. Reflect status (active, pending, suspended) and enforce automatic ineligibility for suspended or removed users. Integrate with existing Team page and role-based access control.
Offer a guided, passwordless flow for a locked-out user to initiate recovery from the sign-in screen or device-lost link. Collect context (reason, lost device, last access), display current policy, and open a time-bound request visible to eligible approvers. Provide real-time status updates, ability to withdraw the request, and automatic expiration. Do not rely on SMS; instead use in-app and email channels. On submission, notify approvers and create an audit record with a unique, tamper-resistant request ID.
Notify eligible approvers via in-app banner and email with secure deep links. Present request details (who, when, why, recent activity) and current approval count. Require approvers to re-authenticate with their passkey to approve or deny; capture an optional reason. Support partial approvals, revocation before quorum is met, and automatic completion when threshold is reached. Handle expiration, decline, and escalation states with clear messaging to requester and approvers.
Upon quorum approval, unlock a secure flow for the requester to register a new FIDO2/WebAuthn passkey (platform or roaming) and invalidate known sessions on the reported-lost device. Validate attestation where supported, bind the new credential to the user and organization, and confirm success with a signed server event. Ensure cross-browser/mobile compatibility and graceful fallback messaging if device capabilities are insufficient.
Apply defense-in-depth controls to recovery: rate-limit open requests per user/org, enforce cooldowns after failed or expired attempts, block approvals from anomalous contexts (impossible travel, TOR/known bad IPs), and require fresh approver passkey verification within a short window. Ensure requests and approval tokens are nonce-based and single-use. Disallow SMS OTP reliance to mitigate SIM swap risk; prefer in-app and email. Provide org-level denylist, and automatically pause recovery if risk thresholds are exceeded.
Record immutable, timestamped logs for every recovery event: requester details, approver identities, decisions, device metadata, IP, and policy version applied. Expose an Admin > Security Log view with filters and exports (CSV/JSON) and a summary dashboard (requests created, approval times, declines). Retain logs per data retention policy and make them searchable for compliance and incident response.
A clear audit trail of sign-ins, role changes, and access grants with device, location, and timestamp. Filter by class, staffer, or venue and export for compliance or incident review. Owners resolve “who had access when?” in seconds and spot anomalies early.
Capture all authentication and authorization events across Classlane, including sign-ins, sign-outs, role changes, and access grants/revocations, with immutable, append-only logging. Each event records user/staff identifiers, pre/post role state, auth method (SMS magic link, email OTP, SSO), device fingerprint and user agent, IP address, privacy-safe geolocation (city/country), correlated request/session IDs, timestamp (UTC and local), outcome (success/failure) with error codes, and contextual metadata (class ID/session time, venue). Ensure multi-tenant isolation by studio, idempotent writes, and cryptographic hash chaining for tamper-evidence. The logger must add under 200 ms to the auth flow, batch and retry on transient failures, and guarantee at-least-once delivery with 99.9% durability.
Provide server-side filters and indexed search over ledger data by time range, event type, user/staffer, role change, class, session, venue, device, IP/city/country, and outcome. Support sort, pagination, AND/OR combinations, and full-text search on user email/phone and class titles. Ensure sub-500 ms query performance for up to 10M events per tenant with efficient indexes and caching. Allow saving and sharing filter presets with deep links embedded in the Classlane admin. Render results with infinite scroll and badge chips for quick refinements.
Enable export of filtered ledger data to CSV and JSONL with a stable, versioned schema and included data dictionary. Provide optional PII redaction (e.g., partial IP, masked phone/email) and include a signed integrity manifest (hash and timestamp) for chain-of-custody. Support time-bounded, on-demand and scheduled exports delivered via email link and S3 webhook, with streaming for large datasets and resumable downloads. Include one-click subject-specific export for Data Subject Access Requests and maintain an internal audit trail of who exported what and when.
Detect suspicious patterns such as first-time device/location, rapid role escalations, spikes in failed sign-ins, and simultaneous multi-venue access from the same account. Provide configurable rules and thresholds per studio, alert routing (email, SMS, in-app), deduplication, and snooze/mute controls. Present an alert detail view with correlated events, impacted classes/sessions, and quick actions to revoke sessions or downgrade roles. Incorporate feedback to mark false positives and refine rules.
Deliver a timeline view that reconstructs a user’s or staffer’s access history and role state over time, with per-event device and location badges. Support point-in-time snapshots and a diff view of role changes to answer “who had access when” for any selected time window. Provide quick export to PDF with embedded metadata for incident reports and a print-friendly layout.
Offer configurable retention policies per studio (e.g., 90/180/365/730 days) with legal hold overrides and automatic purge workflows. Minimize stored location (city/country only) and truncate IPs by default, with configurable granularity. Provide consent and lawful-basis tracking for audit data, subject access and deletion workflows, encryption at rest and in transit, and disaster recovery targets (RPO/RTO) aligned with platform standards.
Restrict ledger visibility and exports to owners and designated admins with a granular permission matrix. Support just-in-time access requests with approval, and maintain a viewer audit trail recording who viewed or exported which records and why, including timestamp and IP/device. Enforce field-level masking for staff and rate limits to prevent bulk exfiltration.
Time your gift perfectly with date, time, and channel control (SMS or email). Set the recipient’s timezone automatically from their area code, add a soft reminder if they don’t open within 24 hours, and allow last‑minute edits. Givers hit birthdays and holidays on the dot without calendar stress; recipients get a delightful, right‑moment surprise.
Executes gift delivery at a specified date and time in the recipient’s local timezone. Automatically infers timezone from SMS area code, email signals, or existing Classlane profile; allows manual override by the giver. Stores timezone in IANA format, accounts for DST shifts and ambiguous/localized times, and previews the recipient-local send time before confirmation. Persists scheduled sends via a durable job queue with idempotent keys and guarantees exactly-once execution. Provides safe defaults when timezone cannot be inferred (fallback to giver’s timezone with prompt). Integrates with Classlane’s notifications service, payments/gift objects, and event logging to ensure the right message and redemption link are sent on-time.
Enables channel selection per gift (SMS or email) with optional fallback order. Validates destinations (E.164 for SMS, RFC-compliant email), checks consent/opt-in, and assembles channel-appropriate payloads including sender name and a secure redemption link. Abstracts providers behind a messaging service layer to support multiple vendors, templates, and rate limits. Handles SMS length/segmentation, UTM parameters, and branded link shortener; for email, supports SPF/DKIM/DMARC-signed sending identity. If primary channel fails pre-send validation, prompts the giver to switch or add an alternate channel. Writes message metadata for tracking and customer support.
Monitors whether the recipient opens or clicks the gift within 24 hours of scheduled delivery. For email, uses a tracking pixel and signed link tracking; for SMS, uses link-click events. If unopened after 24 hours, queues a single, gentle reminder on the same channel respecting quiet hours, opt-out status, and suppression after redemption. Allows configurable reminder copy and timing, exposes real-time status to the giver, and logs events for analytics and support. Ensures reminders never fire if the gift is already opened or redeemed.
Permits givers to edit message content, delivery time, and channel up to a configurable cutoff (e.g., 15 minutes) before send. Displays a countdown, shows the resulting recipient-local time, and confirms changes with undo. Updates scheduled jobs atomically to avoid double sends, preserves an audit trail with version history, and prevents edits after cutoff. Supports canceling the send while retaining the gift code, with clear refund/void behavior defined for any per-message fees. Notifies the giver of successful updates and final lock-in.
Enforces default quiet hours per recipient timezone (e.g., 8am–8pm) with an explicit override option. Implements SMS compliance (STOP/HELP keywords, opt-in records, A2P 10DLC registration where required, throttling) and email compliance (unsubscribe link, physical address, CAN-SPAM). Applies per-recipient do-not-contact lists, content safety checks, and locale-aware formatting. Injects required compliance footers and short codes, stores consent artifacts, and blocks sends when compliance cannot be established. Integrates with Classlane’s legal and messaging configuration for consistent enforcement.
Detects delivery failures (bounces, blocks, carrier errors) and applies a retry policy with exponential backoff and jitter. If final failure occurs and an alternate channel is configured, automatically attempts fallback while notifying the giver and honoring quiet hours and consent. Ensures idempotency to avoid duplicate messages, records detailed failure reasons for support, and surfaces final delivery status and next steps in the giver’s timeline.
Provides on-brand templates for birthdays and holidays with personalization tokens (recipient name, occasion, gift value, class type, redemption link, sender note). Supports emojis, media where applicable, and locale-aware date/number formatting. Offers live previews for SMS and email showing character count, segment estimation, and approximate inbox rendering. Saves custom messages and templates to the giver’s account for reuse and ensures parity of content across channels while adapting to channel constraints.
Add a personal touch with themed digital wraps, a short message or 10‑second video, and optional studio branding. The recipient opens a polished, ‘unboxing’ style page right from the text. Givers make gifts feel intentional and special; instructors showcase their vibe, improving redemption and referrals.
Provide a curated library of themed digital gift wrap templates (e.g., yoga, pottery, cooking, seasonal, minimalist) with color variants and localized copy. Include a mobile-first live preview that reflects the selected theme, personal message, optional 10-second video poster, and studio branding in real time. Ensure templates are responsive, performant, and accessible, and are served via CDN with cache-busting. Support feature flags for incremental rollout and template A/B testing. Integrate with Classlane’s checkout so givers can select and preview the wrap before purchase, and with the instructor dashboard for theme recommendations.
Enable givers to add an optional short note (up to 160 characters with emoji support) and a 10-second video recorded in-app or uploaded from camera roll. Automatically transcode uploads to a standardized format (MP4/H.264, max 720p, target <5 MB), generate a poster frame, and compress for fast playback on mobile networks. Provide automatic captions with edit capability for accessibility. Validate content length/size/types client-side and server-side, handle upload retries, and store assets on secure object storage with signed URL access. Integrate with the unboxing page to display the message and inline video with tap-to-play.
Give instructors an opt-in control to apply studio branding to gift wraps, including logo upload, brand colors, and type style presets. Provide a brand preview in the dashboard and a per-gift toggle for givers to include or exclude branding. Ensure color-contrast compliance, safe logo scaling, and graceful fallback to a neutral theme if branding is unavailable. Persist branding configurations per studio and apply them consistently across the preview, unboxing page, and SMS link preview card (OG tags).
Create a polished, mobile-first ‘unboxing’ landing page that recipients open from SMS. Include a brief reveal animation, the selected wrap theme, the giver’s message, inline video playback, and optional studio branding. Provide a prominent call-to-action to redeem the gift that deep-links into Classlane’s redemption flow with the correct class credit/prepaid code. Optimize for fast load (<2s on 3G), accessibility (screen reader labels, keyboard focus order, captions), and privacy (noindex, tokenized access). Include a secondary CTA to share or refer friends with prefilled messages.
Integrate with the existing SMS gateway to deliver the gift as a branded, shortened link immediately upon purchase or at a scheduled time. Generate unique, tokenized links bound to the recipient’s phone number with optional PIN verification if the link is forwarded. Support resend, delivery status tracking, and fallback to email if SMS fails. Enforce link expiration policies, rate limiting, and device fingerprint checks. Comply with messaging regulations (opt-out via STOP, time-of-day quiet hours) and include a preview card (OG/Twitter tags) for rich link presentation.
Instrument analytics for key events: SMS sent/delivered/opened, unboxing page views, video play-through, CTA clicks, redemption conversion, and referral clicks. Provide instructor-facing dashboards summarizing performance by theme, timeframe, and campaign, plus CSV export. Surface recommendations (e.g., top-performing themes) and allow platform-level cohort analysis. Ensure privacy compliance (aggregate metrics, opt-outs) and expose event hooks to the experimentation framework for A/B testing of themes and layouts.
Implement content safety for user-generated notes and videos using profanity filters, blocklists, and automated NSFW detection with human review escalation. Provide clear user consent copy for media uploads, data retention controls (e.g., auto-delete after 90 days or upon redemption), and DSAR/erasure handling per GDPR/CCPA. Allow givers to delete or replace media prior to delivery, and allow recipients to report inappropriate content. Log moderation decisions, versioning, and notifications, and update Terms/Privacy as needed.
Invite friends to contribute to the same gift with a shareable link and live progress bar. One organizer sets the target; contributors pay in seconds, see transparent fees, and get auto‑receipts. The gift activates when funded (or sends at the scheduled time with the funded amount). Group gifting becomes effortless, expanding average gift value without coordinator headaches.
Enable organizers to create a Chip-In campaign with title, cover image, description, target amount, and optional deadline, generating a unique short link optimized for mobile and social sharing (SMS, WhatsApp, Instagram bio). Provide public or invite-only access controls (open link, whitelist by phone/email), configurable name visibility (real name, alias, anonymous), and link preview metadata (OG tags) for rich snippets. The campaign page displays progress, fees disclosure, and time remaining. Include link management (copy, QR code, pause/close campaign) and basic campaign analytics (clicks, conversion). Ensure anti-abuse (rate limiting, duplicate submission protection) and localization (currency, timezone) aligned with Classlane settings.
Provide a live progress bar showing amount raised vs. target, percentage complete, contributor count, and time remaining. Implement real-time updates using WebSockets or SSE with an auto-refresh fallback for broad device compatibility. Include a lightweight activity feed showing recent contributions (with optional contributor names/messages per privacy settings) and milestone indicators when thresholds are hit (e.g., 25%, 50%, 100%). Ensure consistent state across organizer dashboard and public campaign page, handle concurrent contributions, and display a clear goal-reached state with next steps. Optimize for performance on mobile networks.
Offer a fast, secure checkout that completes in seconds, supporting major cards, Apple Pay/Google Pay, and regional methods via the payment processor. Present a clear, itemized breakdown of contribution amount and fees before confirmation, with an option for the organizer to absorb fees or pass them to contributors. Enforce min/max contribution rules, currency formatting, and strong customer authentication (3DS) when required. Implement retries, idempotency, and robust error states. Store only tokens as needed (no raw PANs) and comply with PCI via the PSP. Optimize for one-handed mobile use and sub-3-second confirmation under normal conditions.
Automatically issue receipts via SMS or email to each contributor upon successful payment, including campaign title, organizer name, contribution amount, fees, net to gift, date/time, last4 of payment method, and a unique receipt ID. Provide an organizer dashboard ledger with real-time totals, contributor list (respecting privacy settings), and exportable CSV. Support resend of receipts and a daily summary to the organizer. Ensure receipt content meets regional requirements and includes Classlane branding and support links. Maintain immutable audit logs for compliance and dispute resolution.
Allow organizers to define target amount, deadline (date/time with timezone), and delivery behavior: auto-activate immediately upon reaching target, or deliver at a scheduled time with whatever amount is raised. Let organizers choose the gift destination (specific class booking, studio credit, or Classlane gift voucher) and configure overfunding behavior (cap at target vs. allow surplus to roll into credit). Lock critical fields after first contribution, support deadline extensions before expiry, and display a countdown on the campaign page. Trigger milestone notifications and a definitive activation event for subsequent disbursement flow.
Implement escrow-style holding of contributions until activation. On activation, convert funds according to destination: issue a Classlane voucher, apply credit to a selected studio, or prepay a designated class booking. If the deadline passes without meeting the target, follow organizer preference: auto-send the partial amount as a gift or issue refunds to contributors. Handle partial and full refunds (including proportional fee reversal where supported), chargebacks, and payout reconciliation. Provide clear messaging to organizer and contributors on outcomes, and maintain a comprehensive audit trail for every state transition.
Generate a branded digital gift page and redemption code/link at activation. Allow the recipient to claim the gift into their Classlane account, view balance, and apply it seamlessly at checkout to eligible classes across participating instructors/studios per organizer configuration. Support partial redemptions, remaining balance tracking, and configurable expiry. Prevent abuse via single-claim enforcement, rate limiting, and basic KYC triggers for anomalous behavior. Trigger instructor payouts when redeemed funds are used in bookings, and surface redemption analytics (time to claim, redemption rate) to organizers.
On open, recipients see smart, one‑tap suggestions tailored to location, schedule, popularity, and seat availability—plus clear value left if the gift covers multiple classes. Built on Classlane’s booking data, it removes decision friction and turns gifts into bookings in seconds.
Build a personalized ranking service that composes a one‑tap gift suggestion list using Classlane’s booking data. Inputs include device or user‑selected location, recipient availability (calendar connect or quick preference chips), class popularity (recent booking velocity and rating), real‑time seat inventory and waitlist status, and price fit against gift balance. Outputs are 5–10 tappable class cards showing distance, next start time, seats left, and coverage indicator. Provide cold‑start defaults, geo‑fallback to city centroid, and safe‑mode cache. Target P95 response ≤300 ms from edge cache; refresh inventory every 10 seconds. Expose API v1: GET /gift/suggestions and deep links carrying gift_token and class_id for seamless handoff to redemption. Expected outcome: reduced decision friction and faster gift‑to‑booking conversion.
Create a frictionless redemption flow that confirms a suggested class in a single tap using the recipient’s gift balance. Pre‑apply the gift, auto‑select the earliest suitable session, default seat count to one with easy adjustment, and confirm booking within a two‑minute Hold‑to‑Confirm window. If the balance is insufficient, surface an inline top‑up (Apple Pay/Google Pay/cards) without leaving the flow. Validate gift token status, expiration, and terms; support partial redemption and preserve remaining balance. Provide clear error recovery, confirmation receipt, add‑to‑calendar, and studio notification. Mobile‑first experience completes in three steps or fewer from open to booked.
Display a live balance meter on suggestions and checkout indicating whether the gift fully covers a class, the remaining amount afterward, or any top‑up required. For multi‑class coverage, compute and show how many classes the balance can still fund based on current suggestion price ranges. Persist remaining balance across sessions and provide a redemption ledger. Correctly handle taxes, fees, discounts, refunds, and currency. Expose a Balance API for clients and integrate with payments to reconcile partial payments and adjustments.
Integrate seat availability and waitlist signals into ranking and UI. Show badges for low inventory, next start date/times, and alternative sessions for full classes. If a chosen session is full, offer one‑tap join waitlist with automatic Hold‑to‑Confirm texting on backfill. On tap, temporarily reserve a seat within the two‑minute window to keep availability consistent through checkout. Use optimistic locking and reconciliation to prevent oversells and gracefully handle studio‑side edits.
Provide user‑controlled inputs and consent for personalization. Offer explicit permission prompts for device location and optional calendar access; if declined, allow manual entry of home area (ZIP/city) and preferred days/times. Store preferences on‑device with minimal server profile, enable revoke/edit at any time, and respect OS permissions and regional privacy laws (GDPR/CCPA). Implement data minimization, encrypted transport and storage, and transparent explanations of how data improves suggestions.
Instrument the Gift Match funnel and enable controlled experiments on ranking and UI. Track impressions, suggestion taps, redemption starts, bookings, time‑to‑book, and top‑up conversions with anonymized event telemetry. Provide a dashboard segmentable by market, category, and gift value. Support feature flags and server‑side A/B testing of ranking weights, card layouts, and call‑to‑action copy with guardrails (holdouts, ramps). Use statistically sound assignment to ensure unbiased results and reproducibility.
Gentle, configurable reminders help recipients redeem before key dates, with a courtesy ‘nudge me’ toggle for the giver. Nudges include fresh class picks and a live countdown to popular times. More gifts convert to seats, fewer get forgotten, and givers stay informed without micromanaging.
Provide configurable reminder controls for both recipients and givers, including a courtesy “nudge me” toggle for the giver. Support per-gift and global settings for frequency (e.g., weekly, just-in-time before expiry), preferred channels (SMS, email, push), time windows and quiet hours, snooze/skip next nudge, and one-tap unsubscribe/STOP. Capture explicit consent for each channel, store consent state with timestamps, and respect locale-specific rules. Integrate with user profiles, the notification center, and gift objects so nudges stop immediately on redemption or refund. Provide admin defaults and guardrails to balance effectiveness with user comfort, aiming to increase redemption while minimizing perceived spam.
Embed a dynamic component in nudge messages that shows an accurate countdown to key dates (gift expiration, seasonal peaks, expiring promos) and lists popular class times with current availability. Auto-adjust for user timezone, daylight savings, and locale formats, and degrade gracefully when data is delayed. Pull live availability from the Classlane inventory service and link directly to the pre-filled booking flow. Provide configuration for the number of time slots shown and fallbacks when a slot sells out, ensuring the content always reflects real-time capacity to drive fast conversion.
Generate relevant class recommendations for each nudge using signals such as gift type, recipient location, browsing history, instructor ratings, trending classes, and real-time capacity. Ensure diversity across categories to avoid repetition and provide cold-start logic when history is sparse. The system should return 3–5 ranked picks with titles, images, times, and deep links to booking. Integrate with the catalog, availability, and pricing services, and support feature flags for algorithm variants to enable rapid iteration.
Synchronize nudge logic with Classlane’s hold-to-confirm waitlist and redemption states to avoid conflicts and maximize conversion. When a cancellation backfills a seat, trigger targeted nudges to unredeemed recipients who have opted in and match the class criteria, respecting frequency caps and consent. Immediately suppress nudges once a gift is redeemed or the hold window is active to prevent overbooking and confusion. Ensure idempotent send logic, real-time inventory checks, and clear event-driven integrations with booking, waitlist, and payment services.
Implement reliable, compliant delivery across SMS and email with built-in consent management and protective rate limits. Support carrier best practices (alphanumeric sender IDs where allowed, A2P registration, STOP/HELP keywords), email authentication (SPF, DKIM, DMARC), bounce handling, retries with exponential backoff, and per-user frequency caps. Maintain an audit trail of consent, sends, and outcomes for compliance and support. Provide configurable quiet hours, per-channel fallbacks, and cost controls to keep nudges respectful, legal, and cost-effective.
Enable a simple “nudge me” toggle for gift givers to receive high-level updates such as redeemed, not yet redeemed, or expiring soon, without exposing the recipient’s personal schedule or class choices unless the recipient explicitly consents. Allow givers to adjust channel and frequency, pause updates, or unsubscribe at any time. Integrate with the gift object and redemption events to ensure timely, minimal updates that reassure givers and reduce manual check-ins.
Track and attribute the impact of Redeem Nudges across the funnel, including sends, deliveries, opens, clicks, session starts, redemptions, bookings, and revenue. Provide cohort and segment breakdowns (channel, gift type, geography, instructor) and a privacy-safe holdout framework to measure incremental lift. Support A/B tests for send times, subject/preview text, templates, recommendation variants, and countdown placements. Surface dashboards and alerts for underperforming segments and automate learning loops to continuously improve redemption rates.
If a chosen class exceeds the gift value, the recipient pays the difference instantly—card collected on redemption—without leaving the flow. Offers alternate sessions within budget or pack options when it’s a better fit. No awkward upsell moments for instructors; recipients always have a smooth path to ‘Book.’
Automatically applies the recipient’s gift balance to the selected class price at redemption and calculates any remaining amount due in real time, including configurable taxes and fees as defined in Classlane. Presents a clear cost breakdown showing what the gift covers and what the recipient needs to top up, and ensures the user never leaves the booking flow. Supports multi-currency display and rounding rules consistent with the merchant’s locale. Honors seat holds and availability checks, recalculating if pricing, promotions, or fees change before confirmation. Writes the computed amounts to the booking record for downstream receipts, refunds, and reporting, ensuring parity across web and mobile link-in-bio contexts.
Captures the recipient’s payment method within the redemption flow for any top-up amount using a PCI-compliant processor, supporting Apple Pay, Google Pay, and major cards with 3DS/SCA where required. Tokenizes the card to the recipient profile (with consent) for instant charge on this redemption and future bookings. Performs auth-and-capture atomically with seat confirmation to prevent double-booking, with idempotency keys and retries for transient failures. Provides immediate inline error states for declines and alternative payment prompts without redirecting. Issues receipts, updates booking/payment ledgers, and returns the user to a confirmed ‘Booked’ state in one seamless step.
When the selected class exceeds the gift value and the user opts not to top up, surfaces relevant alternative sessions within the remaining balance, ordered by fit (same instructor, category, location, date proximity). Includes quick filters (date, distance, level) and clearly marks which options are fully covered by the gift. Preserves the user’s context and allows one-tap swap to an alternative without losing their place. Logs impressions and selections for optimization and supports A/B testing of ranking strategies.
Detects when a multi-class pack is a better fit for the recipient’s goals and gift value, presenting a concise comparison versus single-session top-up. Allows applying the gift as a partial or full payment toward eligible packs, shows per-class effective price, and explains remaining balance or top-up required. Handles conversion of gift value into account credit when permitted by studio policy and ensures correct revenue recognition and usage tracking across multiple redemptions.
Provides studio/instructor-level settings to configure Smart Top-Up rules, including which fees are covered by gift value, maximum allowed top-up percentage, permitted payment methods, messaging tone and copy, and whether gift value can convert to account credit for packs. Exposes reporting on top-up offers, acceptance rate, alternative selection rate, and incremental revenue. Integrates with existing cancellation/refund policies so top-up amounts follow the same rules as standard bookings, with clear ledger entries for reconciliation.
Implements robust handling for expired or fully redeemed gifts, insufficient balances, processor timeouts, and card declines with user-friendly guidance and recovery paths. Uses seat holds aligned with Classlane’s two-minute confirm window, extending only when necessary during SCA challenges and releasing gracefully on abandonment. Ensures idempotent booking creation, prevents duplicate charges on retries, and synchronizes state across devices. Records all failures with diagnostic context for support and auto-notifies users when a hold expires with next steps.
Instruments funnel events across the Smart Top-Up flow, including redemption start, price calculation, top-up presented, accept/decline, payment success/failure, alternative viewed/selected, and pack conversion. Surfaces dashboards for instructors and Classlane ops showing conversion rates, average top-up amount, incremental revenue, and abandonment reasons, with export to analytics platforms. Enables cohort breakdowns by category, location, device, and payment method to guide optimization and partner success.
Studios and instructors see real‑time gift liability, redemption rates, and breakage forecasts with exportable reports. Configure jurisdiction‑aware expiration rules and disclosures automatically. Finance stays clean, compliance is handled, and ops can plan promos with confidence.
Provide a live, filterable dashboard that aggregates outstanding gift liability, redemptions, expirations, and breakage forecasts across studios, instructors, classes, campaigns, and time ranges. The dashboard consumes double-entry ledger data and jurisdiction rules to correctly classify balances, updates within seconds of issuance/redemption events, and supports drill-down to instrument and transaction detail. It is mobile-first to match Classlane’s link-in-bio usage, offers saved views for finance and ops, exposes configurable KPIs (e.g., total liability, liability aging buckets, 7/30/90-day redemption rates), and supports multi-currency with consistent base currency reporting. The outcome is a single source of truth for gift exposure and performance that informs pricing, promos, and capacity planning.
Implement a robust data model and double-entry ledger for gift instruments (paid gift cards, class credits, promo vouchers) covering statuses (issued, activated, partially redeemed, expired, voided, refunded, escheated) and events (issue, redeem, adjust, expire, breakage recognition). Ensure idempotent event ingestion, ACID persistence, and precise UTC timestamping to enable reconciliation. Each event generates balanced ledger entries for liability, cash, revenue deferral, redemption, and breakage recognition. Provide unique code/QR issuance, balance inquiry, and concurrency-safe redemption across web, POS, and API, integrated with Classlane bookings and payments so redemptions can apply at checkout and against specific classes. Deliver reconciliation tools to detect orphan balances, negative liabilities, and duplicate redemptions.
Create a rules engine that applies location-specific laws for gift instruments, distinguishing paid vs promotional value, partial cash-back states, expiration limitations, escheatment, and disclosure requirements. Automatically assign compliant expiration dates and disclosures at purchase, display mandated text in checkout, receipts, SMS/email delivery, and the customer wallet, and block configurations that violate known regulations. Allow studio-level overrides with justification and audit capture. Maintain a versioned policy dataset with effective dates and audit logs to evidence compliance. Integrate with Classlane’s checkout and messaging so that buyers and recipients see correct terms based on purchaser/recipient location, currency, and instrument type.
Deliver a forecasting module that estimates future redemptions and breakage by cohort, campaign, and studio using historical issuance/redemption patterns, seasonality, and instrument type. Provide adjustable assumptions (e.g., lookback window, decay model, class capacity constraints) and display forecast curves with confidence ranges. Feed projections into the dashboard KPIs and reports to inform revenue recognition timing and promo planning. Enable scenario analysis (e.g., 20% off promo in Q4) with side-by-side impact on liability and expected redemption load for classes. Start with transparent, rules-based models with exportable inputs/outputs, leaving room for ML enhancement later.
Provide configurable reports for liability balances, activity by period, aging, redemption rates, expirations, and breakage recognition, with filters for date range, studio, campaign, instrument type, and jurisdiction. Support ad-hoc downloads (CSV/XLSX), scheduled email delivery, and API-based retrieval. Include a column dictionary, timezone and currency normalization, stable identifiers (instrument_id, transaction_id, ledger_entry_id), and PII redaction options. Optimize for large datasets with pagination/streamed CSV for 100k+ rows and background job processing with status notifications. Ensure exports reconcile to dashboard totals and the ledger.
Integrate with QuickBooks Online and Xero to post summarized daily journals for gift activity: cash received for gift sales, liability recognized, redemptions reducing liability, and breakage recognition to revenue. Provide a chart-of-accounts mapping UI, multi-entity support, posting schedules, and a retry queue with error surfacing. Allow sandbox mode for testing, and produce a reconciliation report comparing posted journals to the internal ledger. Respect settlement timing differences from payment processors and support currency mappings. Webhooks notify on posting success/failure to keep finance informed.
Implement granular permissions for viewing, exporting, and configuring gift settings, separating finance, ops, and instructor roles. All changes to rules, mappings, and instrument adjustments must be captured with who/when/what before/after details and immutable audit logs. Provide exportable audit trails for compliance and SOC2 needs, with filters by user, action, and time range. Surface high-risk changes (e.g., disabling expirations, bulk adjustments) with review/approval workflows and notifications. Integrate with Classlane’s orgs and team management to inherit roles and SSO where available.
Innovative concepts that could enhance this product's value proposition.
Students claim openings by replying “Y” to a text; card on file auto-charges and confirms in seconds. Fills last-minute seats without app taps.
Two-second QR check-in validates attendance; unclaimed seats auto-release at T+5 to the waitlist with instant texts. Cuts no-shows and chaos at the door.
Per-class rules route each booking’s revenue—percentage or fixed room fee first—into separate instant payouts for hosts and instructors. Eliminates spreadsheets and payout math.
Create 3 to 10 class packs with rolling expiration; SMS nudges unused credits and one-tap booking from reminders. Increases repeat visits without subscriptions.
Let booked students release a spot via SMS; waitlist auto-charged, original payer gets instant credit or partial refund. Reduces no-shows and friction.
Passwordless passkey login for instructors and coordinators; supports role-based access for co-hosts. Faster sign-in, fewer lockouts, safer accounts.
Sixty-second gift checkout with scheduled delivery and one-tap transfer; recipients book directly from text, card collected on redemption. Unlocks holiday spikes and referral loop.
Imagined press coverage for this groundbreaking product concept.
Subscribe to receive a fresh, AI-generated product idea in your inbox every day. It's completely free, and you might just discover your next big thing!
Full.CX effortlessly brings product visions to life.
This product was entirely generated using our AI and advanced algorithms. When you upgrade, you'll gain access to detailed product requirements, user personas, and feature specifications just like what you see below.