Booking and point of sale · Cabins · RV parks · Campgrounds · Motels · Inns

Alpine

Booking and point of sale for independent lodging. Guests book on your own website, your staff run the desk and the store on iPads, and we build and run it for you. One monthly fee set by booking volume, no per-booking fee.

The Resort tab on the front-desk iPad: cabins, creekside sites and RV spaces, who is in each one, what they owe and their status, with the selected cabin’s booking on the right.
The Resort tab on the front-desk iPad: every cabin and site, who’s in it, what’s owed. Sample bookings.
The parts
Guest booking · Front desk on iPad · Store register · Web office
Built with
Next.js on Vercel · Postgres · Stripe · Swift on iPad and iPhone
Pricing
One monthly fee, set with you by booking volume. No per-booking fee.
Running at
Carson River Resort, Markleeville, California
  • 39Builds, Aug 30 to Sept 25
  • 28Server routes for the register alone
  • 1,982SQL statements replayed, 0 errors
  • 3Ways to pay: cash, card, tab
  • 21 minThe cutover; the app followed by itself
The iPad app

Every screen the desk and the store run on.

The redesigned Alpine, screen by screen. Sample data.

The Today screen: arrivals and departures with check-in buttons, cabins to make ready, requests on the site and the day’s money.
Today: who’s arriving, who’s leaving, what needs making ready, and the day’s money at a glance.
The Resort tab: cabins, creekside sites and RV spaces, who is in each one, what they owe and their status, with the selected cabin’s booking on the right.
Resort: every cabin and site, who’s in it, what’s owed.
The On-site screen: everyone on the property right now, grouped by cabins, creekside sites and RV spaces, with their tabs.
On-site: everyone on the property right now, unit by unit, with their open tabs.
The Booking screen during a phone call: the caller’s name and number, dates, how many nights, the unit, and what’s free.
Booking: a phone booking in one screen, from the caller’s name to the dates, the unit and the deposit.
The Guests screen: the customer book, with one guest’s contact details, family notes, money owed and past stays.
Guests: the customer book, with each guest’s notes, stays and what they owe.
The Store Tabs screen: open guest tabs on the left, one guest’s purchases and balance on the right, with cash, card and QR buttons.
Store tabs: every open tab and what’s on it, settled in cash, by card or by QR.
The Store shopping list: items under their reorder point, with on-hand counts, how many to buy and the restock cost.
Shopping list: what’s under the reorder point, and what the restock costs.
The Store Takings screen: the day’s sales by hour and by tender, sales tax, top sellers, the week and counting the drawer.
Takings: the day by hour and by tender, sales tax, top sellers, and counting the drawer.
01

What it does

  • Bookings on your own domain. Guests pick a cabin, room or site, see the month’s calendar and prices, and pay the deposit on a secure Stripe checkout. The balance goes on the same card before arrival. No third-party booking site takes a cut or owns the guest. Two to six cabins can be booked in one call, all or nothing.
  • One backend. Rooms, sites and the store run from one system, so availability and stock stay in one place. A cabin that isn’t ready by check-in time isn’t sold online for tonight, and the desk is warned. Staff can close dates from the iPad.
  • The front desk on an iPad. Today is a work queue: who’s arriving, who’s leaving, what to make ready, what’s waiting on you. Check-in is one tap and can be undone. A half-finished call resumes exactly where it was left. Touch targets are big enough for a phone in the other hand.
  • Hookup spaces by phone, if you want them. RV spaces can be requested online, then confirmed by phone and placed in a slot by the office.
  • The store register. The catalog lives in the Google Sheet the owner already keeps. Totals are priced by the server, never the tablet. Cash, card on a Stripe reader, or charge it to the guest’s stay. Stock on hand is the last count minus sales since; a low-stock alert goes out when an item hits its reorder line, and the restock list is emailed every morning at 8:30.
  • Guest tabs. A staying guest charges to their cabin. They get a private page by QR code to see and pay the tab online, and it only works while they’re staying. Check-out waits until the tab is settled, unless an owner says otherwise.
  • Receipts and the check-out letter. Branded receipts by email, with sign-up boxes only the guest ticks. The check-out letter itemizes nights, tab lines and payments, and asks for a Google review.
  • Alerts. A push notification for every booking. An email to the booking inbox and the owner, and digests at 8, noon and 5.
  • Owners and staff. Separate logins. Refunds are owner-only.
  • A link for every unit. Each cabin, room or site can have its own booking link, for your site, your emails and your listings.
  • The web office. Today, Chart, Book, Guests and Planning: rates, blackouts, events, gift certificates and PINs, from any laptop.
The General Store register on the iPad: the catalog by category on the left, the sale on the right, and buttons for cash, card or the guest’s tab.
The register: the owner’s own price sheet, priced by the server, paid in cash, by card or to the guest’s tab. Sample sale.
A full-screen QR code for the guest's General Store tab, with the balance, three steps to pay, and a Done button to hand the iPad back to the desk.
Hand the iPad to the guest: their tab, by QR code, payable online while they’re staying.
02

Paper to digital

Your paper book comes with you. We photograph every registration card and load it as a real booking, a dry run first and then for real, through the office’s own doors, without ever transcribing a card number. Cards with open questions wait for the owner’s ruling rather than a guess. On our first install, the load found a cabin the paper book had double-booked; the iPad fixed it.

03

How it was built

  1. Aug 20The booking foundation. The web office the next day.
  2. Aug 30The iPad app’s first TestFlight build, on mock data.
  3. Sept 6Reading live data. The go-live build followed on the 10th.
  4. Sept 188 am: the store iPad handed to staff, card reader paired. 8:01 pm: the domain moved, and the app followed by itself.
  5. Sept 25Build 39: every unit in every view, RV spaces placed in slots.

39 builds in 27 days. The iPad signs in for a device token and talks to the server through one office API; no payment secret ever lives on the tablet. The register alone is 28 server routes. The real database’s SQL was replayed on an in-memory Postgres before it touched production: 1,982 statements, 0 errors. The server carries 1,417 unit tests and 313 browser tests; the iPad app has its own test target.

04

What we learned

One Sunday an Undo on the iPad wrote a status the production database refused, and staff saw an error. The test database had no such rule, so every test had passed. The fix shipped in two steps, a tolerant reader first and the database change second, and it became a rule: new columns land before the code that uses them, and nothing breaking ships without a way to read the old shape. That is the difference between software that’s demoed and software that’s run.

05

Design

Rules for the iPad: the work queue is the home screen; undo instead of confirmation prompts; three booking states and no more; a half-finished call resumes where it was left; 104-point touch targets; taps instead of typing.

The look is your property’s own: your colors and type, square corners, rules instead of shadows. One color for actions, one for bookings, one for to-dos.

06

Built and run for you

We set Alpine up around how your property works, move your bookings over, and then host it, keep it updated and change it as your seasons change, on one monthly plan. The fee is set with you by your booking volume, and there is no per-booking fee: a busy July costs the same as a quiet January.

Tell us about your property

How many units, how bookings come in today and what you’d like to stop doing by hand. We’ll show you Alpine running. See it live at Carson River Resort.

07

Alpine Office support

Using the Alpine Office app and need help? Email answers@peachandmadison.com and a person usually replies within a business day. Staff logins are managed by your business’s office.

Free visibility check

See how your business shows up on Google, Bing and in AI answers.

No sales call, no obligation; the document is yours to keep whether or not you hire us.