Preppify Operations Manual

TRAINING WORKBOOK

Preppify Operations Manual

A complete step-by-step guide to running the Preppify platform — from the first customer quote to cleaner payouts, COI verification, payments, and automated workflows. Part I covers admin and operator training; Part II is the cleaner onboarding kit.

Version 1.0Houston, TXGuest Ready. Market Ready.
PART I — ADMIN & OPERATOR
01

Dashboard & Navigation

How to access and move around the admin dashboard.

The admin dashboard is your command center. Everything — quotes, jobs, customers, cleaners, payments, and reports — lives behind its sidebar.

Where to find it

Go to preppify.base44.app/dashboard in your browser, or click the admin link in the site navbar.

1

Open the dashboard

Sign in (if prompted) and you'll land on the Overview tab.
2

Use the sidebar (desktop)

On tablets and desktops, a fixed dark sidebar on the left lists nine tabs. Click any to switch. The active tab is highlighted in blue.
3

Use the sidebar (mobile)

On phones, tap the hamburger menu (☰) in the top bar to open the sidebar as an overlay. Tap a tab to switch and the menu closes automatically.
4

Jump out when needed

The sidebar footer has two shortcuts: View Public Site (returns to the marketing homepage) and Contractor Portal (opens the cleaner-facing portal).

The nine tabs

Overview · Jobs · Quotes · Customers · Contractors · Team · Performance · Revenue Reports · Referrals. Each is covered in its own section below.
02

Quotes

How customer quote requests arrive and how to manage them.

Quotes are created automatically when a customer completes the public Get a Quote calculator. Each one arrives with a status of new, an auto-calculated price, and full property details.

1

Find the Quotes tab

Click Quotes in the sidebar. The header shows how many are new and your total pipeline value.
2

Search or filter

Use the search box (by customer name or email) and the status dropdown (New · Contacted · Booked · Lost) to narrow the list.
3

Open a quote

Click any quote row to expand it. You'll see the customer's email, phone, preferred date, estimated price, property type, bedrooms/baths, frequency, referral source, and any special instructions.
4

Update the status

Buttons at the bottom let you mark the quote Contacted, Booked, or Lost. Only the options that differ from the current status appear.
5

Follow up

Click Send Follow-Up to reach out to the customer directly.

You don't book quotes manually

When a customer pays through the booking page, Stripe's webhook automatically marks the quote Booked and creates a Job and Customer record for you. You only change status manually for quotes you're handling by phone or email.
03

Jobs

Creating jobs, tracking their lifecycle, and managing payments.

A Job is a booked cleaning assignment. Most are created automatically when a customer pays for a quote, but you can also create them manually for phone-in or repeat business.

1

Create a job manually

On the Jobs tab, click New Job. Fill in customer name, service type, address, city, scheduled date and time, price, bedrooms, and bathrooms. Click Create Job. The job appears with status pending.
2

Search and filter

Search by customer name or address. Filter by status: Pending · Confirmed · In Progress · Completed · Cancelled.
3

Open a job

Click a job row to expand it. You'll see the address, scheduled time, assigned cleaner, payment status, and the protection fee retained on that job.
4

Move it through the lifecycle

Use the status buttons to advance a job: Pending → Confirmed → In Progress → Completed, or Cancel if needed. Each button moves the job to that state instantly.
5

Track cleaner progress

When a cleaner starts work in the Contractor Portal and updates progress, a progress bar (0–100%) and progress notes appear inside the expanded job. Photos show up once the status is In Progress or Completed.
6

View completion photos

Expand any completed or in-progress job to see a grid of photos the cleaner uploaded.
7

Assign a cleaner

If a job has no cleaner assigned, an Assign Cleaner button appears. (In practice, cleaners self-claim available jobs through the Contractor Portal — see Section 05.)
8

Mark a job paid

Click the green Mark Paid button to update payment status. Most jobs arrive already paid (the webhook sets this), so this is a manual override for offline or phone payments.

Protection pool is tracked here

The Jobs header shows the total protection fee retained across all jobs. This is real money Preppify holds back from cleaner payouts — it's not a display-only number.
04

Customers

How customer records are created and managed.

Customer records are the address book for everyone who's requested a quote or booked a job. You don't usually create them by hand.

1

Understand how they arrive

Two ways a customer record appears: (a) a customer pays for a quote — the payment webhook auto-creates a Customer record with status lead; or (b) you create one manually from the Customers tab.
2

Open the Customers tab

Browse the full list. Search by name or email.
3

Review a profile

Click a customer to see their account type (individual, STR host, property manager, etc.), contact details, property specs, pets, and any special instructions.
4

Manage status

Customer lifecycle: Lead → Active → Inactive, and customers can be flagged VIP. Update status based on whether they're actively booking.
5

Track value

Each customer shows their total bookings and total spend, so you can spot your top accounts at a glance.

Quotes create customers automatically

You never need to create a Customer manually for someone who booked online — the system already did it when their payment cleared.
05

Contractors & COI Verification

Approving cleaners and managing the Certificate of Insurance gate.

Contractors (cleaners) apply through the public Cleaner Portal. Every application arrives with status pending. Before a cleaner can claim jobs, they must pass the Certificate of Insurance (COI) verification gate.

1

Review new applications

On the Contractors tab, applicants appear in the pending review queue. Expand a profile to see their contact info, experience, specialties, service areas, and availability.
2

Approve or suspend

Use the status controls on an expanded profile to move a contractor between Pending, Active, and Suspended.
3

Understand the COI gate

Every contractor has a COI status that controls their ability to claim jobs: Not Uploaded → Pending Review → Approved → Rejected → Expired. Only approved (or probationary) cleaners can claim work.
4

Use the COI Review queue

When a cleaner uploads a certificate, it enters the review queue (shown in the Contractors tab when items are pending). You'll see the auto-extracted carrier, policy number, coverage limit, effective date, and expiry date.
5

View the certificate

Click View to open the uploaded COI document and confirm the details yourself.
6

Approve or reject

Click Approve to set the contractor to approved (they can now claim jobs freely), or Reject with a reason if the document is invalid or coverage is insufficient.
7

Know the 30-day probation window

New cleaners who haven't uploaded a COI yet get a 30-day probationary period during which they can claim up to 3 jobs. After that, they must have an approved COI to continue.

Expiry is automatic

A daily automation checks every cleaner's COI expiry date. 14 days before expiry it sends a renewal reminder email; on the expiry date it automatically suspends the cleaner and notifies them. You don't need to track this manually — but if a cleaner says they "can't claim," check their COI status first.

Minimum coverage enforced

The system auto-validates that the COI shows at least $1M coverage, lists Preppify as insured, and has a future expiry date. Anything that passes this check is auto-approved; anything ambiguous routes to your manual review queue.
06

Payments & Revenue

How pricing works, how Stripe checkout flows, and how cleaners get paid.

Pricing is dynamic — there are no fixed product prices in Stripe. Every quote is computed by a formula, and Stripe Checkout charges the exact total on the fly.

1

Understand the pricing formula

Each service type (STR turnover, move-in, move-out, eviction, foreclosure, deep clean) has its own base rate plus per-square-foot, per-bedroom, and per-bathroom multipliers. Pet-hair adds $15. Add-ons (fridge, oven, debris removal, etc.) are flat-priced. Recurring frequency applies a discount (weekly 20% off, biweekly 15%, monthly 10%).
2

Know how the protection fee works

A 5% protection fee is silently added to the customer's total at checkout. The customer sees "Protection included" — never a separate line item. This fee is retained by Preppify and withheld from the cleaner's payout.
3

Follow the quote checkout flow

Customer hits Pay & Book → the createQuoteCheckout backend function adds the protection fee, creates a one-time Stripe Checkout session, and redirects the customer to Stripe's hosted payment page.
4

What the webhook does

When payment succeeds, Stripe calls the webhook at /functions/stripe-webhook. It marks the quote Booked, auto-creates a Customer record (if none exists), and auto-creates a Job marked paid — all automatically.
5

Admin-created job checkout

For jobs you create manually, the createCheckoutSession function generates a Stripe session using the job's price directly (no protection fee added at checkout — that's withheld at payout time instead).
6

Understand cleaner payouts

When a cleaner claims a job, their payout is calculated as 60% of the base price, minus the 5% protection fee. This is stored on the job and visible in the Performance tab.
7

Read the Revenue Reports tab

The Revenue Reports tab shows revenue by service type, payment status breakdowns, and total protection pool retained. Use it for financial reconciliation.

Stripe is live

This app runs in Stripe Live Mode — real cards, real charges. There is no test-mode toggle in the app. Be deliberate before triggering any checkout.

Webhook must be registered in Stripe

If payments succeed but jobs don't appear, check that the Stripe webhook endpoint is pointed at https://preppify.base44.app/functions/stripe-webhook in your Stripe dashboard. A misconfigured webhook means successful payments with no auto-created jobs.
07

Team Members

Inviting partners to the dashboard.

The Team tab lets you invite other people into the Preppify app. Team members can see dashboard data — they never get access to the code, secrets, or integrations.

1

Open the Team tab

Click Team in the sidebar.
2

Enter an email

Type the invitee's email address in the invite form.
3

Pick a role

Choose Admin (full access to all dashboard tabs and data) or User (basic app access only). For an operator taking over, choose Admin.
4

Send the invite

Click Send Invite. The person receives an email to join Preppify. Once they set up their account, they appear in the roster table with their role and join date.

You can't create users directly

Users must be invited — there's no "create user" button. This is by design for security.

Admin vs. User

Admin sees everything. User has limited access. Neither role touches the Base44 workspace, app code, or API secrets — that's only in the builder, not the app itself.
08

Performance & Referrals

Reading contractor leaderboards and the referral program.

1

Open the Performance tab

This tab ranks your contractors by earnings, job completion rate, and customer ratings. KPI cards at the top summarize average rating, total payouts, and active headcount.
2

Read the leaderboard

The sortable table shows each cleaner's total jobs, total earnings, completion percentage, and current status (active, suspended, etc.). Click a column header to sort.
3

Use it for decisions

Performance data helps you decide which cleaners to prioritize for high-value jobs and which may need coaching or suspension.
4

Open the Referrals tab

The referral program tracks who referred whom. Each referral shows the referrer, the new customer/contractor, a reward amount ($25 default), and a status (Pending → Completed → Cancelled) plus reward payment status (Pending → Paid).
5

How referrals trigger

When a job completes, an automation checks whether the customer came via a referral and marks that referral complete. You manage reward payouts from this tab.
09

Automations & System Overview

What runs by itself, and how to know if something failed.

Several workflows run automatically in the background. You don't trigger these manually — but you should know what they do so you can troubleshoot.

Quote Email

When: Customer submits a quote

Does: Sends a confirmation email with their estimated price.

Job Reminders

When: 24 hours before a scheduled job

Does: Emails the customer an appointment reminder.

Status Update Notifications

When: Job status changes

Does: Notifies the customer their job has been updated.

Payment Receipt

When: Payment succeeds

Does: Emails the customer a receipt for their payment.

COI Expiry Check

When: Daily (2:00 AM CT)

Does: Sends 14-day renewal reminders and auto-suspends cleaners with expired COIs.

Referral Tracking

When: Job completes

Does: Marks matching referrals as completed.

The Stripe webhook

The payment webhook (/functions/stripe-webhook) is the most critical automation. If it's misconfigured, payments still succeed but jobs won't be auto-created. If you see a paid Stripe charge with no matching Job in the dashboard, check the webhook endpoint in your Stripe dashboard.

If something seems broken

Most failures show up as a missing record (no job created, no email sent) rather than an error on screen. Check the Stripe dashboard for payment events, and use the Base44 Logs panel to inspect backend function runs if an automation didn't fire.
PART II

Cleaner & Contractor Onboarding

Everything a new cleaner needs to go from first sign-up to first payout — including the Certificate of Insurance gate, claiming and completing jobs, the payout split, referrals, and a printable first-day checklist.

10

Becoming a Cleaner

Applying to join Preppify and what happens next.

Cleaners apply through the public sign-up page. The application is a short three-step form; once submitted, your profile is created with a pending status and your 30-day probation clock starts.

Where to start

Open preppify.base44.app/contractor-signup in your browser, or tap Apply to Join from the site menu.

1

Step 1 — Basic information

Enter your full name, phone, email, a short bio, years of experience, and your desired hourly rate. This is what clients and admins see first.
2

Step 2 — Specialties & areas

Check every service you can perform (standard cleaning, deep cleaning, Airbnb turnover, move in/out, post-construction, office) and the areas you cover (Houston-wide, Sugar Land, Katy, etc.).
3

Step 3 — Availability & consent

Pick the days you can work, then agree to the background check (required to submit). Optionally indicate you already carry liability insurance.
4

Submit

Tap Submit Application. Your profile is saved and you'll see a confirmation screen outlining next steps.

What happens next

We review your application within 24–48 hours, run the background check, schedule a 30-minute onboarding call, and you can be on your first job within about a week.

Use the same email everywhere

The email you apply with is the email you'll sign in with. The portal verifies you by email — no password to remember.
11

Signing In to the Cleaner Portal

Email plus a one-time code. No password, ever.

The Cleaner Portal uses email-based one-time codes instead of passwords. Every sign-in sends a fresh 6-digit code to your email.

1

Open the portal

Go to preppify.base44.app/contractor-portal.
2

Enter your email

Type the email you applied with and tap Send verification code. A 6-digit code is emailed to you.
3

Enter the code

Type the 6-digit code from your email and tap Access portal. If it's correct, you're signed in immediately.
4

Stay signed in

Your session is saved on this device, so you stay logged in between visits. Use Sign Out to end it, or just repeat the steps on a new device.

No password

Because each sign-in uses a fresh code, there's nothing to forget or reset. If a code expires, just request a new one.

Preview work before you sign in

The sign-in screen shows a teaser of available jobs in Houston — you can see how much work is out there before logging in.
12

The COI Gate

Uploading your Certificate of Insurance — and why it controls your ability to claim work.

To claim jobs beyond your probation window, you must upload a valid Certificate of Insurance (COI). Until then, you can work — but only a limited number of jobs during your first 30 days.

What makes a valid COI

  • At least $1,000,000 general liability coverage
  • Preppify named as an additional insured on the certificate
  • An expiry date in the future
  • File format: PDF, PNG, or JPG
1

Find the COI banner

Once signed in, the COI banner sits at the top of your dashboard. It shows your current status and a countdown if you're in probation.
2

Upload your certificate

Tap Upload COI and pick your certificate file. It uploads securely and enters Pending Review.
3

Automated review

Our system auto-checks the coverage limit, named insureds, and expiry date. If it all checks out, an admin confirms and your status flips to Approved.
4

Claim freely

Once approved, the banner reads Insurance Verified and you can claim unlimited jobs — no probation cap.

The 30-day probation window

New cleaners start with a 30-day probation period during which they can claim up to 3 jobs without a COI. After day 30, you must have an approved COI to keep claiming work.

Expiry = automatic suspension

A daily check watches every cleaner's expiry date. 14 days before your COI expires you get a renewal reminder email. On the expiry date your account is automatically suspended — re-upload a renewed certificate to reactivate.

Rejected?

If your certificate is rejected, the reason shows in the banner. Re-upload a corrected certificate and it re-enters review.
13

Claiming & Completing Jobs

Picking up work, updating progress, and submitting completion proof.

1

Browse available jobs

Scroll to the Available Jobs section. Each card shows the service type, bedrooms/baths, neighborhood, schedule, and your payout in green.
2

Claim a job

Tap Claim Job. The job moves into My Jobs and is yours — no one else can take it.
3

Update progress

On the job, tap Update Progress. Drag the slider to set progress (0–100%, in 5% steps) and add an optional note for the client.
4

Upload completion photos

Use the photo area to pick images. These appear as visual proof of your finished work — upload clear before/after shots of every room.
5

Add a walkthrough video (optional)

Tap Add Video to attach a short walkthrough clip.
6

Save the update

Tap Save Update. Your progress and photos sync to the client and to admin in real time.
7

Finish

When the work is done, set progress to 100%. Admin marks the job Completed on their end.

Photos are required proof

Clients and admins rely on your photos to confirm the job is done. Blurry or missing photos slow down your payout — always upload clear, well-lit shots.

Probation counts every claim

Each job you claim counts toward your 3-job probation cap until your COI is approved. Pace yourself or upload your COI early.
14

How You Get Paid

Understanding your payout — the 60/5 split.

You never chase payments — Preppify handles all billing. Your payout is calculated automatically the moment you claim a job and is shown right on the job card.

The math

Your payout = 60% of the job's base price, minus a 5% protection fee retained by Preppify.

Example: a $200 job
60% = $120.00 gross
− 5% = $10.00 protection fee
= $110.00 your payout

1

Read your payout

Every job card in My Jobs and Available Jobs shows your payout figure in green.
2

Track your totals

Your profile summary at the top of the portal shows total jobs, your rating, and total earnings to date.
3

It's locked in at claim time

The payout is stored on the job the moment you claim it — it doesn't change if the price is edited later.

What the 5% protection fee is

It's a service-quality reserve Preppify holds back — not a separate charge billed to you. It's already deducted from the green number you see.

Cash payout is handled off-app

Payouts appear instantly in the app, but the actual transfer to your bank is processed by Preppify per your contractor agreement (outside the app).
15

Referring Other Cleaners

Earn rewards for bringing in new cleaners and customers.

1

Open the referral dashboard

The referral panel sits on your Cleaner Portal below the COI banner.
2

Share your code

Use your referral code or link to invite other cleaners — or customers — to Preppify.
3

They complete a job

When someone you referred completes their first paid job, the system automatically marks the referral Completed.
4

Collect the reward

Rewards are $25 by default (credit), paid out once admin confirms. Track every referral's status here.

Status flow

Each referral moves Pending → Completed → (Paid), or Cancelled if the referred person never books. You'll see the reward amount and payment status for each.
16

First-Day Onboarding Checklist

Print this page and tick each step as you complete it.

Follow these ten steps in order. By the end you'll be a fully onboarded Preppify cleaner with your first job behind you.

1.Submitted my application at the Cleaner Sign-Up page

2.Received approval and completed my onboarding call with Preppify

3.Signed in to the Cleaner Portal with my email + verification code

4.Uploaded my Certificate of Insurance ($1M GL minimum, Preppify named insured)

5.COI approved — or within my 30-day probation window

6.Claimed my first available job

7.Set a progress update and added a note for the client

8.Uploaded completion photos as proof of finished work

9.Reviewed my payout on the job card

10.Referred at least one other cleaner or customer

All ten done?

You're a fully onboarded Preppify cleaner. Welcome to the team — keep claiming jobs, keep your COI current, and earn more by referring others.

Preppify — Guest Ready. Market Ready.

Operations Manual · Generated from the live app codebase. Re-download this PDF anytime to get the latest version.