Universal Appointment Scheduler & white-label SaaS

A fast, multi-tenant scheduling and column resource allocation engine. Built for dynamic clinic environments, beauty salons, spa centers, and co-working offices with instant multi-device sync, administrative control, and real-time custom branding.

Demo Account Credentials

Email: demouser@vmcreate.rs  |  Password: demouser

firestore_transaction.dart

// Atomic Transaction to prevent double-booking

final docId = '${roomId}_${date}_${timeSlot}';

final docRef = _db.collection('appointments').doc(docId);

 

await _db.runTransaction((transaction) async {

  final docSnapshot = await transaction.get(docRef);

 

  if (docSnapshot.exists) {

    throw FirebaseException(

      message: 'Slot is already locked!'

    );

  }

 

  // Write appointment lock

  transaction.set(docRef, appointment.toJson());

});

Under the Hood: Key Mechanics

Explore the engineering decisions and technical structures that power the scheduler's reliability and seamless user experience.

Dynamic White-Labeling

A generic codebase designed to match any brand instantly. App names, titles, and logo assets are pulled dynamically from cloud configurations and re-rendered in real-time across all active client views.

Conflict-Free Booking

Overbooking prevention is secured through atomic write transactions. Using deterministic document IDs based on date and time locks, concurrent client clicks on the same slot are immediately rejected.

Role-Based Controls

Granular access control segments capabilities. Administrators manage rooms/providers and settings, Technicians orchestrate schedules, and Partners (Doctors/Stylists) maintain personal calendar slots.

Reactive Live Sync

Powered by Firestore snapshot streams and BLoC. As bookings are confirmed, modified, or canceled, the scheduler matrix refreshes instantly (<100ms) on all active screens without page reloads.

Time Slot Enforcement

Strict structural validations are enforced on the database layer. Custom rules restrict inputs to correct 15-minute slot intervals (e.g. 09:15, 09:30) and validate appointments within official operational limits.

Fluid Drag-and-Drop

Engineered for speed. Desktop users can drag providers directly into desired time slots for quick bookings, while mobile users get a responsive tap-to-allocate overlay to optimize smaller viewports.

Technical Architecture

The scheduler is constructed as a modern, high-performance web experience focused on fast loading, state consistency, and reliable network communications.

  • Frontend Framework: Built with Flutter (Web) using CanvasKit rendering for a desktop-class, high-fidelity scheduling layout that mimics native desktop applications.
  • State Management: Driven by Bloc pattern to separate UI elements from database streams, securing clean data flow and predictable view rebuilds.
  • Database & Auth: Secured by Firebase Auth and Cloud Firestore. Custom database security rules guarantee data segregation and restrict resource manipulation.

Flutter Web

Responsive UI

Firestore

NoSQL Transactional

Bloc

State Management

Firebase Auth

Secure Login

Experience the Live Application

Test the dynamic branding in real-time. Log in to the administrator portal, navigate to the Settings tab, update the company name or logo, and watch the entire platform adapt instantly.

Launch Demo Environment

Admin Access Details

Email: demouser@vmcreate.rs  |  Password: demouser