Love Spreadsheets
PricingContactAPI
Log inSign up free
Tutorials

Photography Booking System Built from a Google Sheet

Love SpreadsheetsPublished Jul 21, 20265 min read

Every October, a family photographer in Asheville runs the same gauntlet. She posts one Instagram story — fall mini-sessions, one Saturday at the orchard, twenty-minute slots — and her inbox detonates. Forty DMs in an hour, most of them asking for 10 a.m. She copies names into a spreadsheet between replies, chases deposits over Venmo, and inevitably promises the same golden-hour slot to two families who both screenshot her "you're in!" message.

Her regular work has the opposite problem. A newborn session blocks three hours; a headshot takes forty-five minutes; a wedding consult is a half-hour video call. Generic scheduling tools want every appointment to be the same length, and the ones flexible enough for her mix run $30–40 a month and still can't take a retainer the moment someone claims a date.

Her spreadsheet already knows everything — who's booked, what they owe, where the shoot happens. What it can't do is face clients. So she had AI build the client-facing half on top of it. Free, in an afternoon.

Step 1: Start With Your Session Sheet

Hers is three tabs, and yours probably rhymes with it:

  • Availability — the dates and windows she's willing to shoot, including the mini-session Saturday pre-split into a twenty-minute grid
  • Bookings — one row per confirmed session
  • Session Menu — every shoot type she offers, with its duration, price, and deposit

The Bookings tab carries the columns that actually run the business:

ColumnExample
ClientPriya & Dev M.
Shoot typeNewborn — in home
Duration3 hours
Date/timeNov 3, 9:00 AM
LocationClient's home, West Asheville
Deposit paid?Yes — $150
Balance$275 due at gallery delivery
NotesWants sibling shots with toddler

Nothing needs reformatting. The sheet stays exactly as it is — it's about to become the back end.

Step 2: Create a Free Account

Sign up at lovespreadsheets.com; no card required. Building the booking page and running it cost nothing — the paid tier is mostly for hosting it on your own domain.

lovespreadsheets.com
Describe what you want to build from your spreadsheet…
fall_mini_sessions.gsheetSend →
Your free account, your sheet attached — fall_mini_sessions.gsheet stays the source of truth.

Step 3: Describe Your Booking Rules in Plain English

Pick the Website template. For SMS or WhatsApp confirmations, create a Twilio account first and have the Account SID, Auth Token, and number ready; messages cost roughly a penny apiece.

Then write out how booking works, in your own vocabulary:

"Clients pick a shoot type from the Session Menu — each has its own length, so a newborn session blocks three hours and a headshot only forty-five minutes. Offer only openings from the Availability tab, minus anything already in Bookings. For the October 18 minis, keep the slot grid hidden until 7 p.m. on September 1, then let families grab twenty-minute slots. Collect the deposit during booking — a date isn't held without it. Leave a 45-minute gap between sessions at different locations. Text the client a confirmation, and text me too."

Three asks worth making explicitly:

  • Timed mini-session drops — the grid stays invisible until the minute you announce, so the release becomes first-come-first-served on a page instead of a DM race
  • Deposits at booking — the form requires retainer payment details before the date locks, ending the "I'll Venmo you tonight" limbo
  • Travel buffers — sessions at different addresses automatically get drive time between them, so you're never sprinting from the orchard to a studio headshot

Run AI Optimize on your write-up, answer any clarifying questions the AI sends back, and the build finishes in about 15–20 minutes.

lovespreadsheets.com
"Each shoot type from my Session Menu blocks its own length; hide the October minis grid until the drop time, require the deposit at booking, and text us both confirmations."
fall_mini_sessions.gsheet✦ AI OptimizeSend →
Plain English is the whole interface — AI Optimize tightens the wording if it needs it.
lovespreadsheets.com
Building your booking page
Reading your columns
Designing the app
·Wiring two-way sync
The AI builds while you watch (or play) — typically 15–20 minutes.

Step 4: What Clients See

They tap the link in your bio, choose a shoot type, and the calendar offers only windows long enough for it. A family hunting minis sees the twenty-minute grid the second it goes live — claimed squares simply vanish as other families grab them. The deposit screen comes before the confirmation, so every date on your calendar is a paid date.

Each booking lands in your sheet as a new row, and every edit you make — blocking a weekend for a wedding, nudging a start time — changes what's offered instantly. Confirmations go out on their own, a reminder fires before the session, and your phone pings when a slot fills.

lovespreadsheets.com
minis.wildpinephoto.comCopy link
Private — team logins only+ Add team memberCustom domain: Connect
One link for the whole team — private logins and your own domain are the paid extras.
What you end up with
minis.wildpinephoto.com
Fall Mini-SessionsLive appSynced to your sheet
Oct 18 — Orchard, 20 min
Morning
9:00
9:20
9:40
Midday
11:20
11:40
12:20
Golden hour
5:40 · Priya & Dev
6:20
6:40
The mini-session grid drops at 7 p.m. sharp, twenty minutes per family, and no slot holds without a deposit.

Why Photographers Keep the Sheet

Golden hour is yours to define. No dropdown of rigid hour blocks — you decide that Saturday evenings open at 6:10 in June and 4:40 in October, and the page offers exactly that.

Deposits stop being a chase. The retainer is part of booking, not a follow-up message, and the balance owed sits in the same row you'll check at gallery delivery.

One sheet holds every kind of work. Minis, newborns, headshots, consults — wildly different durations and prices coexist because they're just rows in the Session Menu, not separate "event types" to configure.

Common Questions from Photographers

Can clients reschedule when a newborn arrives early? Yes — request reschedule links in your description and the confirmation text carries one; the old slot reopens the moment they move.

What happens to unsold mini slots? They stay bookable until the day, or ask the system to close the grid 48 hours out so you can plan the shot list.

Do I have to use Twilio? No — skip it and confirmations arrive by email. Add texting later if the mini-session crowd keeps "forgetting" their times.

Build Yours

Your next mini-session drop doesn't have to be an inbox fire. Bring the sheet you already trust to lovespreadsheets.com, describe how you book — durations, deposits, drive time — and by tonight there's a page handling it while you edit galleries.

Skip the manual steps — build this in 60 seconds
Upload the sheet you already have and let AI turn it into a working app.
Try it free
More versions of this guide
Written by
Love Spreadsheets

The team turning other people's spreadsheets into software they actually trust — one sheet at a time.

Keep reading

Tutorials

Tax Calculator Lead Generation for Accountants

Jul 22, 20265 min read
Tutorials

Contractor Estimate Calculator That Wins You Leads

Jul 22, 20264 min read
Tutorials

Macro Calculator for Coaches: Grow Your List, Not Ads

Jul 22, 20264 min read

Your spreadsheet is already an app. Let's turn it on.

Upload your sheet and watch it become a working app — with a real engineer to finish the last mile with you.