Launch Rail Logo
Launch Rail
Launch Rail Schedule Module

Scheduling is a Distributed Systems Problem. We Solved It.

Don't spend a year rebuilding calendar logic, timezone math, and overlap conflicts. Deploy a multi-tenant, resource-agnostic scheduling microservice in Go. Handle complex shift patterns, multi-resource bookings, and waitlists via REST, gRPC, and native MCP server—your AI agents can book appointments too.

REST APIgRPCMCP Server
The Problem

Calendars Are Easy.
Availability is Hard.

Every SaaS platform eventually needs a scheduling component. What starts as a simple "pick a date" UI rapidly devolves into a nightmare of timezone conversions, concurrent booking races, holiday exceptions, and complex capacity rules. Scaling a scheduling system requires an architecture built specifically for absolute temporal accuracy.

Timezone Hell

DST shifts, local rules, and UTC conversions break simple date-math.

Concurrency Races

Two users booking the last slot simultaneously causing double-bookings.

Resource Dependencies

Booking requires a doctor, a room, AND a specialized machine all at once.

The Solution: A Tri-Service Architecture

The Launch Rail Schedule module is cleanly separated into three highly focused domain services, giving your application complete control over the booking lifecycle without monolithic entanglement.

1. Config Service The Rules

Define exactly when a resource is working. Author schedules in local "Wall Clock Time" with a designated timezone (e.g., Europe/Kyiv), and let the engine handle the exact UTC conversions automatically.

  • Weekly Rules: Standard Mon-Fri logic.
  • Shift Patterns: Rolling "2 days on, 2 off".
  • Calendar Rules: Date-specific adjustments.

2. Availability Service The Math

The core computation engine. It dynamically calculates Availability = Schedule - Exceptions - Bookings in real-time.

  • Instant Checks: Validate if a resource is free.
  • Slot Generation: FindAvailableTimeSlots for UI.
  • Batch Ops: Check multiple resources easily.

3. Booking Service The State

A rigorously safe, idempotent ledger for reservations. Designed to handle network failures, location tagging, and administrator overrides.

  • Idempotent: Safe retries, no double booking.
  • Location-Aware: Tag bookings to venues.
  • Admin Overrides: Force "VIP Walk-ins".

Built for Complex, Real-World Workflows

Most scheduling templates break the moment you introduce real-world business constraints. Launch Rail is engineered for the hardest edge cases out-of-the-box.

Multi-Resource Dependencies

Some appointments require more than one thing. Book a surgery that simultaneously blocks the Surgeon (Primary Resource) AND the Operating Room (Secondary Resource) in a single unified atomic transaction.

Group Classes & Capacity Limits

Not every booking is 1:1. Set a default_capacity for group events (like a Yoga Class of 10). The engine allows multiple concurrent bookings until the capacity_limit is mathematically exhausted.

Automated Waitlists

Never lose revenue on a fully booked day. Users can call JoinWaitlist to request a desired time interval. The system registers their intent and calculates their queue position automatically.

Granular Exceptions & Time Windows

Block the calendar for a recurring "Weekly All-Hands" without altering the base schedule. Explicitly designate "Lunch Breaks" so your UI explicitly renders a break instead of just an empty void gap.

Enforce Business Guardrails with Booking Policies

Stop writing custom validation logic in your frontend. The BookingPolicy configuration centralizes your vital business rules directly in the backend engine.

Min Advance Notice

Prevent users from booking a slot that starts in 5 minutes unexpectedly.

Maximum Horizon

Restrict users from booking appointments more than 3 months into the future.

Cancellation Notice

Enforce rules requiring at least 24 hours of notice before a clean cancellation.

Buffer Times

Auto-block time buffer_before and buffer_after around every booking.

Native MCP Server

AI Agents Talk to Scheduler Natively

Every Launch Rail service ships with a built-in MCP server. Your AI agents can discover tools, read resources, and execute actions—no wrappers, no custom integrations.

MCP Tools

Actions agents can execute

create_booking

Book a resource for a specific time slot with conflict prevention

find_available_slots

Query available time slots for a resource within a date range

cancel_booking

Cancel a reservation respecting cancellation policies

join_waitlist

Add a user to the waitlist for a fully-booked time slot

MCP Resources

Data agents can read

scheduler://resources/{id}/availability

Real-time availability for a resource including exceptions

scheduler://bookings/{id}

Full booking details with status, location, and participants

scheduler://resources/{id}/schedule

Working hours configuration and shift patterns

In Practice

What this looks like

AI Agent asks

Find an available 30-minute slot with Dr. Smith next Tuesday afternoon and book it for patient Jane Doe

MCP Server responds

Calls find_available_slots for Dr. Smith on Tuesday 12:00-18:00 → returns 3 open slots → selects 14:00-14:30 → calls create_booking with patient ID → confirms booking with idempotency key.

Real-World Value: Scheduler in Action

See how teams across industries use Scheduler to ship faster, reduce costs, and deliver enterprise-grade experiences from day one.

Healthcare

Multi-Resource Medical Appointments

Book a surgeon, an operating room, and anesthesia equipment in a single atomic transaction. Buffer times between surgeries are enforced automatically. Waitlists capture overflow demand.

Education

Class Scheduling & Room Allocation

Manage teacher availability across multiple campuses, assign classrooms based on capacity, and handle recurring lecture patterns with shift rules. Exceptions for holidays applied globally.

Fitness & Wellness

Group Class Bookings with Capacity

Yoga classes with 20-person limits, personal training 1:1 sessions, and equipment reservations—all in one system. Waitlists auto-promote when cancellations occur.

Beauty & Services

Salon & Spa Appointment Management

Stylists with individual working hours, service durations that vary by type, buffer times for cleanup, and advance booking policies that prevent same-day rushes.

Why Buy the License?

This module alone saves your engineering team 6+ months of development and testing.

By purchasing the Launch Rail Schedule module, you get the complete, production-ready Golang source code. Expose both high-performance gRPC and standard REST/JSON interfaces via ConnectRPC.

Zero Per-Booking Fees. Stop paying third-party APIs. Own the infrastructure and scale infinitely.

Ready to solve scheduling forever?