How Fotoloft works

Back to dashboard

Overview

Fotoloft handles the two halves of a photography business that usually live in five different tools: getting booked and delivering the photos. Clients book a time slot on your public page, you photoshoot, upload the photos, and each client receives a private gallery link — no account needed on their side.

Behind the scenes, originals are kept bit-identical forever: a day after upload they move to a cheaper archive, exactly as you uploaded them, and download from there like any other file. You can export your complete archive at any time, free.

Getting started

  1. Sign up and verify your email (required before you can publish bookable slots). Every new account starts with a free one-month trial — see Plans & billing.
  2. Onboarding asks for your business name, a slug (your public booking URL, e.g. /your-studio), and your timezone — all slot times you define are interpreted in that timezone.
  3. Open your first times on the Calendar and share your booking page.

Bookable slots

Times are opened from the Calendar: tap or drag an empty stretch and the popup asks what that time is — open for clients, or booked for someone you already spoke to. Duration, price, location and buffer time (travel, setup) are all set there, and nothing has to be defined up front.

Tick Save these settings as a session type and the same setup becomes a product clients can pick by name on your booking page, ready to reuse the next time you open times.

You can also open a stretch of times at once — a single day, or a recurrence like “every Saturday, 09:00–17:00”. Consecutive slots are spaced by duration + buffers. Times that collide with existing holds or bookings are skipped, and re-running the same generation never creates duplicates.

The calendar has month, week and day views, always shown in your studio timezone. Tapping a day in month view opens that day. Click any time to see its details, who is on it, or take it off the page.

Clients book in two steps: picking a time holds the slot for 10 minutes (nobody else can take it), confirming books it. Both sides get a confirmation email with a calendar invite, and the client gets a reminder 24 hours before the photoshoot. If the client walks away, the hold expires automatically and the time reopens. Times on your booking page are shown in the visitor’s timezone, with your timezone labelled.

Double-booking is impossible by construction — overlap protection is enforced by the database itself, including buffer times, even across different templates.

You can also book for a client yourself: tap an empty stretch of the calendar and use “Book for someone” to enter their details — they get the same confirmation email and reminder as a self-booked client.

Photoshoots & uploads

A photoshoot is a booking — the same job seen from your side. When a slot is booked its photoshoot opens by itself, and you can start one by hand in Photoshoots for work that never went through your booking page. Clients never see this: it exists so you can tell what has been shot and what still owes a gallery.

A photoshoot runs Booked → In progress → Published → Done. It moves to In progress on the first upload or once its time has passed, and to Published when a gallery of it goes live. Done is yours to set — publishing a gallery never decides that a job is over. Cancelling hides a photoshoot without deleting anything.

The flow runs: someone books a slot → you photoshoot it → you make a gallery and send it. Nothing forces the last step. A photoshoot can be marked done with no gallery at all — plenty of jobs are finished without anything being delivered through here.

A gallery is not the photoshoot. It holds exactly the photos you upload into it, so one photoshoot can produce several galleries — a full set, a print selection, a short teaser — each with its own upload and its own people to share it with. When you create a gallery you can attach it to a photoshoot from a dropdown (most recent first), purely so it shows up alongside that booking, or leave it off entirely. If you would rather have a draft gallery waiting for every booking, turn that on in the new-gallery dialog.

  • Uploads go directly from your browser to storage in parallel chunks — large files and hundreds of photos are fine.
  • Every file is fingerprinted (SHA-256). Uploading the same photo twice is detected and stored only once.
  • Web-friendly versions (thumbnail, preview, full-size delivery JPEG) are generated automatically in the background. EXIF is stripped from what clients see and kept in the database.
  • RAW files (Pro) go straight to the cold archive — kept forever, and cheaper to store. The full-size JPEG your camera embeds in every RAW is what we make thumbnails from, so they still look like photos in the dashboard.

Client galleries

A gallery is what the client actually receives. It can come off a photoshoot or stand on its own — make a standalone one in Galleries when there is no booking behind it. That page lists your galleries grouped as drafts first, then published, then archived.

Add participants (client email addresses), then hit Publish gallery. Each participant gets a personal magic link by email — no password, no account. The link works only for that one gallery. Share on the gallery, and publishing itself, both open a dialog with the link already copied to your clipboard — handy for sending via chat instead of email.

  • Clients browse a photo grid, open a large preview (arrow keys work), and favourite photos with ♥. You see every participant’s selection on the photoshoot page — handy for album picks.
  • Downloads: single original, selected photos as a zip, or the whole gallery as a zip. Every view and download is logged per participant.
  • Gallery options: an extra gallery password on top of the magic link, and an optional link expiry date after which the gallery stops being accessible.

Storage & archive

The promise: originals kept bit-identical forever, free full export (your plan sets how much storage you have — see Plans & billing). How it works:

  • Galleries are always served from fast, CDN-cached web versions — the originals are never what a client page loads.
  • Originals move to the cheaper archive 24 hours after upload — every one of them, unchanged. Nothing is recompressed and nothing is converted: the file that comes back out is byte-for-byte the file you put in.
  • An archived original downloads directly, straight away. There is no waiting and nothing to bring back first — archived only means it is stored somewhere cheaper.
  • Full archive export (Archive): every original and RAW, zipped, with a 7-day download link sent by email. Free, always.

Plans & billing

New accounts start on a free one-month trial with 10 GB of storage. After that, pick a plan in Account:

  • Solo — €4.99/month, 100 GB of storage.
  • Pro — €9.99/month, 500 GB of storage, plus stackable extra-storage add-ons (€5/month per additional 500 GB).

Payment is handled by Lemon Squeezy; the Account page shows your storage usage, your card on file, the renewal date, and a link to manage or cancel the subscription. You can switch plans at any time.

If your trial or subscription ends, the account is paused, not deleted: uploads and new bookings stop, but published galleries stay viewable and your data stays put. After 30 days without a subscription, your data is scheduled for deletion — you’ll see the exact date on the Account page, and subscribing before then restores everything. Exporting your full archive remains free the whole time.

You want to…

You want to…Go to
See your public booking page/your-slug — linked from the dashboard overview
Open up times / see your scheduleDashboard → Calendar (blue = open, amber = held, navy = booked; drag on week/day view for an ad-hoc slot)
Book for a client yourselfDashboard → Calendar → tap the time → “Book for someone”
Track a job / mark it done or cancelledDashboard → Photoshoots
Send photos to a clientDashboard → Galleries → pick photos → Publish
Export everythingDashboard → Archive → Request full export
Change plan or cardDashboard → Account
Client: view your photosthe magic link in your email — nothing to install