---
name: campground_rv_park_operations
description: Run a campground or RV park season end to end: build a site inventory written the way guests book it with hookups, measured length, and shade kept accurate, handle reservations and a fair waitlist for holiday weekends, run check-in and quiet hours the same way every night, work daily, weekly, and seasonal bathhouse and grounds checklists, and keep seasonal and monthly guest billing in a separate ledger from nightly stays with metered electric billed from real readings. Use when someone runs, manages, buys, or fixes a campground, RV park, or seasonal park, asks about site inventory, pedestals, waitlists, check-in, quiet hours, bathhouse cleaning, or monthly and seasonal billing, or needs a worked holiday weekend plan.
---

# Campground and RV Park Operations

## Purpose

Run the park on written facts, not on memory. The core problem is simple: a reservation platform can sell a night, but it cannot tell you whether a 42 foot rig with two slides fits on site A2, whether the pedestal there really gives 50 amp, whether the shade claim on the listing is still true after a tree came down, or how to bill a family that stays from May to October. This skill is that missing operations layer. It covers five jobs that have to stay connected: an accurate site inventory, reservations and waitlist handling, a repeatable check-in and quiet hours routine, grounds and bathhouse work on a fixed cadence, and monthly and seasonal billing kept apart from nightly money.

Use it for a family park, an RV park, or a seasonal park. Scale the staffing and the paperwork to the park size. Do not scale down the accuracy rules. A 20 site park with wrong length data has the same arrival-day failure as a 200 site park, just with fewer staff to absorb it.

## Workflow

### 1. Build the inventory the way guests book it

- Walk every site with a tape, a camera, and the inventory sheet. Record one row per site using the header in `references/checklists-and-templates.md`: site id, type, measured usable length, hookup, every amp on the pedestal, shade, surface, status, and notes on clearance and ground.
- Write hookups in guest language and in the code. Full hookups, coded FHU, means water, electric, and sewer at the site. W_E means water and electric only, so the guest uses the dump station. NONE means a primitive or dry site. Never list a site as full hookup because a sewer line runs near it.
- Measure usable pad length, not lot length. Note slide-out and awning clearance, overhead branches, and whether the pad stays firm after rain. Photograph each site from the road and from inside the site. The listing gets the per-site photo and specs, not only a photo for the site type.
- Judge shade at midday in peak season. Use full, partial, or none, and recheck after any tree work, storm loss, or new planting. Shade is a booking promise. A wrong shade claim reads as dishonesty even when the cause was weather.
- Test every pedestal before opening and monthly in season. Record which receptacles work: 20 amp, 30 amp, 50 amp. As a code floor, NEC Article 551 section 551.71 sets a pattern where every electric RV site has at least one 20 amp receptacle, at least 70 percent of electric sites have 30 amp, and at least 20 percent have 50 amp, with dedicated tent sites handled separately in the count. Treat that as a floor for checking, not as a target. If most of your rigs are large, most of your sites need 50 amp regardless of the floor. Any electrical repair beyond a breaker reset goes to a licensed electrician.
- Validate the sheet before you publish it or load it into a booking system. Run `python3 scripts/park_ops.py validate inventory.csv`. Fix every error. Read every warning out loud to the owner, especially a 30 amp or 50 amp share below the floor and any electric site with no 20 amp listed.
- Mark long-stay sites in the same inventory. Status values are available, occupied_nightly, occupied_monthly, occupied_seasonal, out_of_service, and hold. A monthly or seasonal site must never appear as nightly inventory.

### 2. Take reservations without overselling fit

- Capture fit data on every booking, not only a name and dates: rig type and length, amp need, slide count, tow vehicle, pets, and any access need. A booking without a rig length is incomplete. Chase it before arrival day, not at the desk.
- Assign a specific site when the park promises one, and assign by fit class when it does not. Either way, the assignment rule is the same: length fits with room to park the tow vehicle, amp need is met by a tested pedestal, hookup need is met, and slide clearance was verified in the inventory.
- Set deposit, cancellation, and no-show terms in writing, show them before payment, and apply them the same way to phone, online, and walk-in bookings. State the exact check-in and check-out times. Parks vary, so use the park real times everywhere: listing, confirmation, office sign, and map. One time in print beats three times from memory.
- Sync inventory across every channel that can sell the park on the same day a status changes. When a site goes out of service, pull it from all channels in that same work session and write down who pulled it.
- Handle a late arrival the same way every night: envelope or board entry with site number and map, park quietly, minimal setup, register in the morning. Put no payment detail on the outside of an envelope.

### 3. Run the waitlist fairly, especially on holiday weekends

- Keep one waitlist per date range, in the order requests arrived. Each entry holds party, rig length, amp and hookup need, phone, and the time by which they must answer if offered a site. File order is the fairness rule. Never reorder by how much a party might spend.
- Match only on real fit. Run `python3 scripts/park_ops.py waitlist waitlist.csv inventory.csv --date YYYY-MM-DD` for a first pass, then check the matched sites by eye against photos for slides, shade promises, and tow parking before anyone is called.
- Offer with a deadline and honor it. If the party does not answer inside the stated window, note the attempt with time and method, then move to the next fitting party. Keep the passed party on the list unless they ask to come off it.
- Tell unmatched parties the truth early: no site fits their rig or dates right now, and what would have to change, for example a shorter stay or a water and electric site instead of full hookup. A clear no beats silence.
- Work a holiday weekend from the timeline in `references/checklists-and-templates.md`: manual inventory review at 14 days out, pre-arrival message at 7 days, assignment freeze for big rigs at 3 days, printed arrivals and a full empty-site walk at 1 day, split desk roles on arrival day, and a loop-by-loop turn on departure day.

### 4. Run check-in and quiet hours the same way every night

- Use the 90 second check-in script in the reference file, word for word in structure: site and hookup, check-out time, quiet hours, bathhouse and dump station directions, speed limit, and what to do if something on the site fails. Hand over a map with the site circled and the night contact number printed on it.
- Publish the park exact quiet hours everywhere and enforce those hours, not a softer version. Posted hours in the industry commonly sit between 10 pm and 7 am, 10 pm and 8 am, or 11 pm and 7 am. Pick the hours the park can actually staff, print them, and hold them. Generators stay off during quiet hours. Music and raised voices carry across open sites, so the test is whether a neighbor can hear it, not whether the party thinks it is loud.
- Do quiet hours in passes, not in complaints only. One pass at the start of quiet hours, one later pass, both logged with time and site numbers visited. Speak once, plainly, at the site. Log a repeat problem by site and date so the next night starts with facts.
- Log every site problem reported at check-in or during a stay as a work order: description, site, priority as safety, guest impact, or cosmetic, date reported, owner, and completion date. Safety items stop the sale of that site until cleared.

### 5. Work bathhouse and grounds on a fixed cadence

- Follow the daily, weekly, monthly, and seasonal checklists in the reference file. Daily work includes a morning grounds walk, a full bathhouse clean, dump station check, and trash. Full weekends get a midday bathhouse check on top of the morning clean.
- Hold bathhouses to a posted standard: clean and working fixtures, tissue and soap stocked, waste emptied daily, floors and showers free of standing grime and treated for mold, non-slip shower surfaces, out-of-service stalls signed, and a cleaning log initialed and posted in the building. Chemical storage stays labeled, with safety data sheets where staff can reach them.
- Never let cleaning depend on who is on shift. The checklist is the shift. If a clean gets missed, the log shows the gap, and the manager answers for the gap, not the guest who found it.
- Grade roads, check the farthest water pressure point, and inspect playground and pool areas where present on the weekly and monthly cadence in the reference file. Write the date each asset was last serviced next to the asset list, so a new manager can see the real history in one read.

### 6. Bill monthly and seasonal guests apart from nightly stays

- Treat a stay of 28 to 30 nights or more as an extended stay, not a long nightly booking. It gets a written agreement, an application or approval step where the park uses one, a deposit recorded as held, one assigned site, and a due date. A seasonal stay gets a season agreement, commonly covering about 5 to 7 months, paid as one season fee or as installments, with start meter reading, end meter reading, and a departure site check.
- Keep three money views: nightly, monthly, and seasonal. Report occupancy and revenue for each view on its own before you combine anything, and label any combined number with the mix. Blended numbers hide the fact that seasonal sites are full while nightly sales are weak, or the reverse.
- Bill metered electric from readings, never from an estimate presented as a reading. Read on the same day each cycle, photograph the meter, and initial the sheet. Compute with `python3 scripts/park_ops.py meter-bill --prev 12400 --curr 12850 --rate 0.18 --site-fee 650`, replacing every value with the park real reading and rate. In that worked example, 450 kWh at 0.18 per kWh is 81.00 of electric, plus a 650.00 site fee, for 731.00 due. If a current reading is lower than the previous one, the tool stops. Do not bill it. Record whether it was a transposed reading or a meter swap, correct the record, then bill.
- State in the agreement what the site fee includes and what it does not: water, sewer, trash, Wi-Fi, and electric above or below any included amount. If electric is metered, say so before signing, with the rate per kWh and the reading dates. Surprises about electric are the most common cause of a monthly guest leaving angry.
- Price long stays from the park own costs and market. As market context only, weekly rates often land 10 to 15 percent under the nightly equivalent and monthly rates often 25 to 40 percent under nightly. Those ranges do not set a park price. Work the park number from site cost, utility exposure, and how many prime nights the long stay takes off sale.
- Run renewals as one event: one offer date, one answer deadline, and the same terms window for every seasonal guest. When a seasonal guest does not renew, that site goes to the seasonal waitlist the same week, matched on fit, in list order. Do not hold an empty seasonal site on a verbal promise.

### 7. Worked holiday weekend: waitlist to check-out

A park with 40 RV sites takes a Friday to Monday holiday weekend. Three sites are out of service for a pedestal fault, five sites are held by monthly guests, so 32 sites can sell nightly.

- Two weeks out, the park is sold out and the waitlist holds nine parties. The manager runs the inventory validation, finds site B4 listed at 45 feet when the measured usable pad is 36 feet, corrects it, and removes B4 from big-rig assignment. That one correction prevents the worst arrival of the weekend.
- Three days out, a 50 amp full hookup site cancels. The waitlist tool matches the first fitting party in file order, a 42 foot rig needing 50 amp and full hookup. Staff check the site photo for slide clearance, call inside the stated window, take the deposit, and send the pre-arrival message with check-in time, quiet hours, and the night number.
- Arrival day runs with three roles: assignments, payments and questions, and a runner for site problems. Check-in uses the standard script. Two late parties find envelopes with site and map and register in the morning.
- Saturday gets a midday bathhouse check and two quiet hours passes. One site needs a warning on Saturday night. It is logged by site and date, so Sunday night duty knows the history before the second conversation.
- Monday departure runs loop by loop. Staff note a damaged sewer cap on one site and a left item on another, turn the priority sites first, and close the weekend with three numbers reported separately: nightly occupancy, waitlist parties placed, and work orders opened and closed. Monthly and seasonal money does not enter the weekend report.

## Output Contract

Deliver, in this order:

1. The site inventory table or file, with one row per site, the header from the reference file, and the validator output quoted. State every correction made to length, hookup, amp, or shade data and why.
2. The booking and waitlist state: bookings by fit class, waitlist entries in order with fit needs, matches offered with deadlines, and unmatched parties with the plain reason.
3. The daily operations sheet for the dates in scope: check-in staffing and script, quiet hours for the park with pass times, bathhouse and grounds tasks by cadence, and open work orders by priority.
4. The billing view, split three ways: nightly totals, monthly rows with meter readings, kWh, rate, electric charge, and total due, and seasonal rows with installment and renewal status. Never present a blended total without the split.
5. A short risk list: sites that cannot be sold and why, inventory claims that could not be verified, agreements missing a signature or a meter start reading, and any electrical item waiting on a licensed electrician.

## Operating Rules

- Sell only what the inventory proves. If length, amp, hookup, or shade has not been verified on the ground, mark it unverified and do not promise it to a guest.
- Never invent a park policy and present it as the park policy. Deposit, cancellation, pet, fire, and vehicle rules come from the park owner in writing. Where this skill gives a range or an example, label it as an example and replace it with the park real term before it reaches a guest.
- Keep nightly, monthly, and seasonal records apart at every step: inventory status, ledger, occupancy, and reports. A combined figure without its split is a defect.
- Treat meter readings, deposits held, and agreements as financial records. Photograph meters, record deposits as held rather than earned, and keep signed agreements filed by site and season.
- Put safety ahead of occupancy. A site with a faulty pedestal, a sewer fault, or a hazard tree comes off sale until the fix is logged as complete. Do not move a guest onto a site you would not put your own rig on.
- Send electrical, gas, water main, and septic work beyond routine checks to licensed or qualified trades. This skill plans the work order and the guest handling. It does not qualify anyone to do regulated work.
- Keep guest personal data to what operations needs: contact detail, rig fit, dates, and payment status. Do not put payment detail on envelopes, boards, or shared sheets.
- Verify before you report a weekend or a season as clean: quote the validator output, the work order counts, and the billing totals from the files, not from memory.
