Cornerstone Photography | Portfolio | Archway Automation
All work
  • Building now

Cornerstone Photography

Booking software that prices every job from the database, never the browser

A real estate photographer booked by agents, often for several properties at once. The booking app shows what times are free, adds up each property as the agent goes, and sends a request the owner approves, offers another time for, or declines from one screen.

Running on this page

Both sides of a booking, live

Not screenshots. Both are the business's own code, running here on invented agents and addresses. They run themselves. Touch either one to take over.

1. What the agent uses

Running by itself. Touch it to take over

Demo. Cornerstone's real booking app, built from their own code. The addresses, the agent and the diary of other shoots are invented. A stand-in in your browser plays their database: it checks the request and prices each property from the same price list their database holds, then gives a sample reference. Nothing is saved, no email is sent and no payment is taken.

2. What the owner uses

Running by itself. Touch it to take over

Demo. The owner's screen for one booking request, from the same build, signed in as a demo admin. Every booking, agent and enquiry is invented. Approve, offer another time, decline and undo work as they do in the real build, but they only change this copy until it reloads. No email is sent from the demo.

What is running

What is behind the booking app

Seven mechanisms. One line each.

  1. Every price worked out by the database

    The browser shows a running total, but the request is priced again on the server from the price list in the database, and that is the figure stored. So nobody can change what a shoot costs by editing the page.

  2. A diary that shows times, never other clients

    The calendar asks the database only which times are taken. Names and addresses of other shoots never leave it. So agents can see what is free without seeing who else is booked.

  3. Jobs sized by what is being shot

    Each property's time on site is worked out from the services chosen, with a gap between jobs and opening hours that change with the season, and a second property in the same request cannot take a time the first one needs. So the times offered are ones the job actually fits.

  4. Locked down by default

    The public cannot read any table directly. They can only call a few checked functions, and agents only ever see their own requests. So the database is safe even if someone goes looking.

  5. The agent's details come from their account

    A signed in agent's name, agency and email are taken from their account, not the form, and a guest's earlier bookings only join an account once the email is proven. So requests cannot be made in someone else's name.

  6. Limits against floods of fake requests

    The database caps how many requests one email, one agent and the whole site can send in a short time. So a script cannot fill the diary with junk.

  7. One screen for the owner's decision

    Each request opens on one screen with a warning when it sits close to another shoot that day. Approve, offer another time or decline with a reason, and undo if it was a slip. So every request gets a clear answer quickly.

What this makes possible

Two sides of the same build

For the agent

  • Book several properties in one go, any time of day.
  • See free times and the running total before sending anything.
  • Track a request with its reference, without phoning.

For the business

  • Every price comes from one list, so no quote can be tampered with.
  • Requests arrive complete, sized and ready to approve.
  • A booking close to another shoot that day is flagged before it is approved.

Not finished

  • In build

In build, not launched

The new site and booking app can be reached on the business's address but have not launched, and still use stand in photos. Some of the wording on it is still being finalised with the owner.

See it yourself

It can be reached, but it is not finished

Please do not send a booking request: it goes to a working business.

The business's new site

Worth saying plainly

No one client has done the whole journey yet

Every piece of it is live somewhere, and we can show you each one.

Book a call