Operator's Manual

Magic Year Photography

The Operator's
Manual

Everything you need to run the studio through this platform — from the first inbound text to the final referral payout. This guide assumes no technical background.

01

Overview

Magic Year Photography is a complete operating platform for an editorial senior-portrait studio. It handles five jobs that used to live across half a dozen tools:

  • Marketing site — a one-page cinematic site that showcases work and drives bookings.
  • Lead capture — an AI-powered SMS auto-responder qualifies text inquiries instantly, plus quick-call and date-request forms.
  • Payments — Stripe checkout for three session tiers and a deposit, with ambassador referral tracking built in.
  • Client onboarding — a prep guide and a detailed intake form sent automatically after payment.
  • Ambassador program — student reps earn commission on referrals, with a self-service portal, W-9 collection, and automated payout accounting.

Everything is automated where it should be and manual where you want control. The rest of this manual walks through each piece in the order you'll touch it day to day.

02

First-Time Setup

Most of the platform is pre-configured. Before going live, verify these four things in Settings → Secrets:

  • Stripe keys (STRIPE_SECRET_KEY, STRIPE_PUBLISHABLE_KEY) — connect your Stripe account so checkout works. The webhook secret is already wired.
  • Twilio keys (TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN, TWILIO_FROM_NUMBER) — powers the SMS auto-responder.
  • Photographer phone (PHOTOGRAPHER_PHONE) — where AI summaries of inbound texts get forwarded.
  • Custom domain — connect one (Settings → Domains) so automated emails to clients and ambassadors deliver reliably.
You don't need to touch the Stripe webhook — it's registered and its signing secret is stored. Referral tracking works automatically once your Stripe keys are set.
03

Your Dashboard

Your control center lives at /portal (log in with your admin account). It opens to a tabbed admin dashboard with five views, each showing a live count of items needing attention:

  • Quick Call Leads — people who requested a 15-min consult.
  • Date Requests — prospective clients who submitted preferred dates.
  • Ambassadors — applications awaiting approval and active reps.
  • Referrals — every referral with commission status.
  • Intake Forms — completed client questionnaires.

The number badges show how many items in each tab are new or pending — start your day there.

04

Leads & Inquiries

The AI SMS Auto-Responder

When someone texts your studio number, the AI assistant replies within seconds — answering pricing and availability questions in your brand voice, capturing intent, and forwarding a summary to your phone so you can follow up personally. Every conversation is logged in the InboundMessage records (visible to admins via the API, and summarized in your text forward).

What the assistant does automatically:

  • Classifies the inquiry (pricing, booking, availability, referral, general).
  • Replies with accurate package info and a prompt to book.
  • Flags whether you need to call them back.
  • Texts you a short summary so nothing slips through.
The assistant uses your real pricing and policies — it's grounded in a system prompt tailored to Magic Year. If you change packages or terms, ask your developer to update the prompt so the AI stays accurate.

Quick Call Requests

A floating "Quick Call" button on the site lets visitors request a 15-minute consultation. They submit name, phone, and a message. These land in the Quick Call Leads tab — mark them "contacted" once you've reached out.

Date Requests

The "Request a Date" form captures a prospect's name, email, phone, school, school city, three preferred dates, and package interest. These appear in the Date Requests tab with all dates visible — confirm one and move the status to "scheduled."

05

Payments & Packages

The /payment page offers three session tiers and a refundable deposit, all processed through Stripe:

  • Essential — $349: 30–40 min, 1 location, 2 outfits, 15 images.
  • Signature — $549 (most popular): 60–75 min, 1–2 locations, 3 outfits, 30 images.
  • Ultimate — $849: up to 2 hrs, 2–3 locations, unlimited outfits, 50+ images.
  • Booking Deposit — $150: holds a date; balance settled at/after the session.

Clients can enter an ambassador referral code at checkout. The code is attached to the Stripe session as metadata, so when payment succeeds the webhook automatically credits the referring ambassador.

Checkout only runs on the live published site — it's intentionally blocked inside the builder preview. Test payments on magic-year-lens.base44.app/payment.
06

Client Onboarding

The moment a client pays, the platform emails them two links automatically:

  • Prep Guide & Release (/prep-guide) — what to wear, how to prepare, and the model release + sideline video consent forms.
  • Intake Form (/intake) — a detailed questionnaire capturing their story, the people and places that matter, outfit plans, and consent/signature. Submissions land in the Intake Forms tab.

Both links also appear on the payment success screen so clients can fill them in immediately. You'll find completed intake forms in the dashboard — review the story and outfit notes before the session.

07

Sessions & Follow-ups

After a session, a 3-day automated follow-up sends the client a review request and a gentle referral nudge. This runs on a schedule — you don't touch it. The follow-up is tracked per session so it never sends twice.

Session records (created when a booking is confirmed) carry the client name, package, date, location, and status. Mark a session "completed" after delivery; the follow-up workflow handles the rest.

08

The Ambassador Program

Student reps drive referrals and earn a 10% commission on every booked session they refer. Here's the full lifecycle:

1. Application

Students apply through the Ambassadors section on the site. The form captures name, school, school city, year, birthday, work authorization, activities, organizations, post-grad plans, and why they applied. Applications land in the Ambassadors tab as "pending."

2. Approval

When you approve an application, the platform automatically:

  • Generates a unique referral code (e.g. AMB-EMMA-K3).
  • Creates a magic-link access token for their portal.
  • Sets their status to "active" and requests their W-9.
  • Emails them a welcome link to their onboarding page.

3. Welcome & W-9

The ambassador's welcome page (/ambassador-welcome?token=…) shows their referral link and code, a downloadable QR code for easy sharing, and the W-9 form. They must submit a W-9 before earning — it's collected right on the welcome page. The W-9 status shows in your dashboard as "submitted" then "on file" once reviewed.

4. The Portal

Each ambassador has a permanent self-service portal (/ambassador-portal?token=…) showing their referral count, total earned, commission rate, their shareable link, and a full referral history. They never need to log in — the token in their link is their access. You can open any ambassador's portal directly from the dashboard.

5. Referrals & Commissions

When a client pays with an ambassador's code, the Stripe webhook creates a Referral record and increments the ambassador's totals automatically. Commissions are calculated at the ambassador's rate (default 10%) and visible in both the dashboard and the ambassador's portal. You pay out earned commissions on your own schedule; the platform tracks what's owed.

09

Automated Workflows

Two background workflows run without any action from you:

  • Session Follow-up — 3 days after a completed session, emails the client a review request and referral nudge. Fires once per session.
  • A2P Status Check — monitors your Twilio A2P 10DLC campaign registration (required for business texting) and notifies you of status changes so your SMS channel stays live.

These are visible in the Workflows dashboard. You can pause or reactivate them there if needed.

10

Settings & Secrets Reference

All configuration lives in Settings → Secrets. Here's what each controls:

  • STRIPE_SECRET_KEY / STRIPE_PUBLISHABLE_KEY — Stripe account connection for checkout.
  • STRIPE_WEBHOOK_SECRET — verifies Stripe webhook events (already set; only delete if re-registering the webhook).
  • TWILIO_ACCOUNT_SID / TWILIO_AUTH_TOKEN / TWILIO_FROM_NUMBER — the SMS auto-responder.
  • PHOTOGRAPHER_PHONE — where AI text summaries are forwarded.
  • STRIPE_TEST_* — test-mode keys for sandbox checkout (optional).
A connected custom domain is required for automated emails to reach clients and ambassadors reliably. Without it, emails to non-app-users may be blocked.
11

Troubleshooting

Checkout won't load in preview

Expected — checkout is blocked inside the builder iframe. Open the live /payment page on the published domain.

Ambassador portal says "Link not found"

The portal needs a ?token= in the URL. Ambassadors get this link by email on approval. To preview, open the ambassador's row in the dashboard and click "Open Portal."

A referral didn't credit

Check that the client entered the ambassador's code at checkout and that the Stripe webhook is enabled (Workflows / Stripe dashboard). The webhook only fires on live payments.

Emails aren't arriving

Automated emails to clients and ambassadors require a connected custom domain on a paid plan. Registered app users always receive email; external addresses need the domain.

SMS auto-responder stopped

Your Twilio A2P 10DLC campaign must be approved for business texting in the US. The platform monitors this automatically and alerts you — check the A2P workflow status in the dashboard.

Magic Year Photography · Operator's Manual

Print or export this page to PDF to share with your team.