Campground booking system: executive overview
EmmyRes takes campsite reservations online, prices each stay night by night, collects payment through Stripe, and gives staff one place to manage bookings, campsites, pricing, services, work orders, guest communications, the website and settings. Guests book and pay without calling. Staff see every booking, every campsite's availability and every outstanding balance in one system.
The system has three parts. The public booking site is where guests search, review and pay. The guest portal lets them come back later to manage a booking, pay a further installment or add services. The admin area is where staff run the campground. Each part reads from the same campsite, pricing and booking records, so the price a guest sees is the price they pay and the availability they see is the availability staff manage.
A guest enters their name, email and phone, chooses a campsite, check-in and check-out dates, the number of guests and their RV length. EmmyRes checks that the campsite is open for every night, that it has room for the RV, and that nothing else is booked for those dates. The guest then reviews the price and the stay, and only then confirms and pays. Nothing is held until the guest confirms, and a guest's own unfinished attempt for the same dates never blocks them from trying again.
The booking page also shows which days each campsite is closed for maintenance or otherwise unavailable, and it limits stays to the maximum length set in Settings. Staff switch online booking On or Off with a button on the Settings tab. The change takes effect at once, and the button for the current state is greyed out. While booking is off, visitors see a message of the owner's choosing, or are sent to a page on the website instead.
Every night is priced on its own, using the campsite type in effect that night. Stays are charged at the daily, weekly or monthly rate depending on length, and rates are set by rate plans and by overrides for particular dates. The price is worked out on the server when the guest confirms, so it cannot be changed from the browser, and it is saved with the booking so later rate changes do not alter a confirmed stay.
Discount codes apply to the campsite rate only, and each code can be used once per booking. Tax is charged at the rate set in Settings, and additional services are taxed in the same way. Staff can preview any stay's price in the admin area before quoting it.
The services catalog is part of the Pricing tab, in a collapsible card. Services are priced as a flat rate, which can be added more than once in a stay, or per night, such as firewood or electric vehicle charging. Services are taxed and collected with the guest's next payment. Guests and staff can add services before a stay starts and during it, and staff can waive a catalog price when needed.
Payment runs through Stripe's hosted checkout. Stays of under a month are paid in full at booking. Longer stays are paid one month at a time: the first month is paid at booking, and each later month is paid by the guest through the portal, or by staff, when it falls due. The Stripe page shows “Stay” for a full payment and “First Month” for the first of several installments.
The first payment is due a set number of days before arrival, and a grace period can be set before a payment counts as late. Both are set in Settings, under Payments, and changes apply immediately.
When a payment succeeds, EmmyRes records it against the booking, confirms the reservation and sends the confirmation email. A payment that is cancelled leaves the booking unconfirmed. Payment reminders use wording chosen from the schedule of what is due and what is late, and the wording can be changed in the admin area.
Each campsite has configuration periods, which set its type, maximum guests and maximum RV length for a date range, and blocks, which close it for maintenance or for another reason for a date range. Dates with no configuration period cannot be booked, so a campsite can never take a guest without a defined type and limits. Periods on one campsite cannot overlap, and neither can blocks.
Staff manage this on the Campsites tab. The page has a collapsible card for each campsite, collapsed by default, showing its periods and upcoming blocks. A campsite that is deleted keeps its bookings, so no guest's record is lost.
Every booking has its own access link, which is sent by email. The link opens the booking without a password. Guests can also sign in with a PIN to see all of their bookings. From the portal they can see their dates, the campsite and the amounts paid and still due, pay the next installment and add services to the stay.
Work orders are internal jobs for staff, such as repairs or cleaning at a campsite. Each work order has a status and a history of comments, so the people doing the work can follow it through. Staff are notified of new work orders and new comments at the admin notification address.
The admin area is served only on the admin domain and opens behind a PIN. Each staff role has its own PIN, and the tabs a person sees depend on their role. The tabs are:
Each section of a tab is a collapsible card. Cards are collapsed by default and open only when their own save message is showing.
The Communications tab has one composer for writing to guests. It has three parts:
There are two ways to send to a group. A BCC email is one message to every guest in the list, with each guest's address hidden. A personal email is sent to each guest on their own, with their name, site and dates filled in. Personal emails go to every guest with a confirmed stay in the dates, past or future. An empty composer for a personal email starts from a standard “About your stay” message, which can be changed. A single guest can be emailed from the same composer.
Update addresses keeps what has been typed in the composer. Replies to every email from the site go to the admin notification address. The contact form is the exception: replies to it go to the guest who sent the message.
The Settings tab has its own collapsible cards, in this order:
Email addresses are not on this tab. They are on the Communications tab, under Addresses. The public site address and the admin domain are on the Website CMS tab, under Website Defaults.
The public website is built from pages and their sections, managed on the Website CMS tab. Its sub-tabs are Pages, Website Defaults, Public Navigation, Admin Navigation and Security.
Website Defaults holds the public base address and the admin domain. Public Navigation sets the menu on the public site, and Admin Navigation sets the menu in the admin area. Staff can publish or unpublish a page, reorder sections, and add or remove navigation items, including dropdown menus. Pages are addressed by their number, so a page can be renamed without breaking links to it. A deleted page or section is hidden rather than erased, so a mistake can be reversed.
Page text can use simple formatting: [B]bold[/B], [U]underline[/U], a link that shows its address, [URL]address[/URL], and a link with its own text, [URL=address]text[/URL]. Links may be web addresses, email addresses or relative page addresses. Anything else, such as a javascript: link, is shown as plain text.