Time & Scheduling

Configure time estimates, time zones, and scheduling automation.

Auto-update notice

Changes to cleaning times or max job hours automatically update existing client cleanings. Cleanings manually adjusted in the last 24 hours are preserved.

Time per 100 sqft

Minutes required per 100 square feet by cleaning type

Time estimation

Set how long each cleaning type takes per 100 square feet. These times are used to calculate employee hours and job duration.

Used in: Pricing, calendar, employee management
Formula: Total Hours = (Sqft ÷ 100) × Minutes ÷ 60
Defaults: Basic 15, Deep 20, Move-out 21, Recurring 11 min
All scheduler times will use this timezone across devices.

Recurring schedule fill (Firebase)

The extendSchedulingHorizon Cloud Function keeps scheduling/instances filled for roughly the next 26 weeks (~6 months) for each active recurring series. It runs on a fixed schedule in America/Phoenix, not the company timezone above.

Cron: 0 3 1,15 * * — day 1 and 15 of each month at 3:00 AM Arizona.

Upcoming runs (Arizona time)

    Uses the same logic as the scheduled job (sign in required; admin email must be in Admin Emails).

    Room-based time by cleaning type

    Room-based time estimation

    Select a cleaning type, then enter minutes per room. Times are multiplied by room count.

    Different estimates for homes under 2000 sqft vs 2000+.

    Under 2000 sqft

    2000+ sqft

    Employee efficiency multipliers

    Employee efficiency multipliers

    Adjust how much time is reduced when using multiple employees. Formula: Adjusted Hours = Base Hours ÷ Multiplier.

    Defaults: 2 emp 1.8×, 3 emp 1.5×, 4 emp 1.4×, 5+ emp 1.3×
    Time divided by this value
    Time divided by this value
    Time divided by this value
    For 5 or more employees

    Pricing

    Configure pricing methods, rates, discounts, and profit margins.

    Pricing calculator

    Test how a home would be priced using your current settings (including unsaved changes)

    Pricing method

    Choose how new cleanings are priced

    Pricing method

    Hourly — time × costs + profit (slot minimums are set under Operations).
    Sqft — square footage × rate per cleaning type.

    Only affects new cleanings. Existing manual prices are preserved.

    Price per square foot

    Base rates by cleaning type (Price = Sqft × Rate)

    Square footage pricing

    Set base prices per square foot for each cleaning type. Use decimals for cents (e.g., 0.15).

    Used in CRM quoting, client management, calendar scheduling

    Operations

    Scheduling capacity, driving buffers, and business rules.

    Operational settings

    Job limits, capacity, and scheduling preferences

    Business operations

    Configure scheduling preferences that affect jobs across all pages.

    Key settings: Max job hours, capacity per slot, drive time, minimum price per slot

    Capacity by service type

    Sqft one calendar slot can handle (morning 8–12 or afternoon 1–4). Slots required = ceil(sqft ÷ value).

    Default 2000. Example: 3000 sqft = 2 slots.
    Default 1000, min 2 slots. 2500 sqft = 3 slots.
    Default 1000, min 4 slots.
    Default 2000. Same slot math as recurring.
    If a job would end past this time, that slot won't be shown. Leave empty for any end time.

    Minimum price per slot

    Floor price per calendar slot after pricing is calculated

    Slot minimum pricing

    If the calculated price per slot is below this amount, the total is raised to meet the minimum × number of slots required.

    Used by hourly pricing, CRM quotes, booking plugins, and the pricing calculator
    Default $140. Example: 2 slots at $120/slot → adjusted to $280 total.

    Drive time between jobs

    Scheduling gap and calendar buffer around events

    Drive time between jobs

    Minimum minutes required between bookings for travel. Also shown as transparent buffer zones on calendar views.

    Show driving time buffers around cleaning events in weekly and daily calendar views
    Recommended: 60 minutes (1 hour total driving time)

    Minimum booking per employee

    Auto-open slots when daily revenue is below minimum

    Minimum booking revenue

    When daily revenue is below employees × minimum, additional slots open automatically.

    Example: 2 employees × $230 = $460 minimum daily revenue
    Automatically open additional slots when daily revenue doesn't meet the minimum per employee
    Total minimum = employees × this amount

    AI Assistant

    Customize how your AI communicates with customers.

    These settings are used to generate personalized responses that match your brand voice in CRM AI Reply.
    How you type in texts. The AI will mimic this voice.
    Plain-language rules for quotes. Live rates and this client’s calculated totals are added automatically from your Pricing settings.
    Policies and facts beyond pricing and dates.
    For CRM AI Reply, or set via firebase functions:config:set openai.key

    Communications

    SMS notifications and voice call routing.

    SMS notifications

    Where to receive texts when clients message your business number

    Type a 10-digit number — auto-formats with +1 prefix.

    Voice call routing

    Numbers that ring when someone calls your Twilio business number

    All numbers ring simultaneously — first to answer gets connected.

    Access

    Manage admin authorized emails and permissions.

    Admin authorized emails

    Admins have full access to all system features and settings.

    Add admin email