(function () { if (window.PPEC_SMALL_TOWN_CARNIVAL_READY) return; window.PPEC_SMALL_TOWN_CARNIVAL_READY = true; var STORAGE_KEY = 'ppec_global_quote_v4'; var INV_URL = '/wp-json/partypros-webmcp/v1/inventory'; var BOOTH_IDS = [ 'ring-toss', 'frog-hop', 'can-smash', 'cover-the-spot', 'cover-the-star', 'dice-game', 'fish-pond', 'milk-the-cow', 'piggy-race', 'potty-toss', 'stand-it-bottle', 'tic-tac-toe', 'troll-toss', 'tubs-of-fun', 'clown-teeth-knockout' ]; var EXACT = 2; var activeMode = 'addon'; // 'addon' | 'package' function loadCart() { try { var a = JSON.parse(localStorage.getItem(STORAGE_KEY) || '[]'); return Array.isArray(a) ? a : []; } catch (e) { return []; } } function saveCart(cart) { localStorage.setItem(STORAGE_KEY, JSON.stringify(cart)); try { if (typeof window.ppHomeQuoteUpdate === 'function') window.ppHomeQuoteUpdate(); } catch (e) {} try { window.dispatchEvent(new CustomEvent('ppe:globalQuoteUpdated')); } catch (e) {} } function toast(msg) { var t = document.getElementById('ppe-stc-toast'); if (!t) { t = document.createElement('div'); t.id = 'ppe-stc-toast'; t.style.cssText = 'position:fixed;left:50%;bottom:88px;transform:translateX(-50%);z-index:1000003;background:#0f172a;color:#fff;padding:10px 14px;border-radius:10px;font:600 14px/1.3 system-ui,sans-serif;max-width:90vw;opacity:0;transition:opacity .2s'; document.body.appendChild(t); } t.textContent = msg; t.style.opacity = '1'; setTimeout(function () { t.style.opacity = '0'; }, 2200); } function ensureUi() { if (document.getElementById('ppe-stc-css')) return; var s = document.createElement('style'); s.id = 'ppe-stc-css'; s.textContent = [ '#ppe-stc-modal{position:fixed;inset:0;z-index:1000002;display:flex;align-items:flex-end;justify-content:center;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}', '#ppe-stc-modal[hidden]{display:none!important}', '#ppe-stc-modal .ppe-stc-back{position:absolute;inset:0;background:rgba(15,23,42,.55)}', '#ppe-stc-modal .ppe-stc-sheet{position:relative;z-index:1;width:100%;max-width:560px;max-height:min(88vh,720px);background:#fff;border-radius:16px 16px 0 0;box-shadow:0 -8px 40px rgba(0,0,0,.25);display:flex;flex-direction:column;overflow:hidden}', '@media(min-width:768px){#ppe-stc-modal{align-items:center}#ppe-stc-modal .ppe-stc-sheet{border-radius:16px}}', '#ppe-stc-modal .ppe-stc-head{padding:16px;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;gap:12px}', '#ppe-stc-modal .ppe-stc-head .ppe-stc-title{margin:0;font-size:1.15rem;color:#321854;font-weight:700}', '#ppe-stc-modal .ppe-stc-head p{margin:4px 0 0;color:#64748b;font-size:.9rem}', '#ppe-stc-modal .ppe-stc-x{border:0;background:#f1f5f9;width:36px;height:36px;border-radius:999px;font-size:20px;cursor:pointer}', '#ppe-stc-modal .ppe-stc-list{overflow:auto;padding:8px 12px;flex:1}', '#ppe-stc-modal .ppe-stc-row{display:flex;gap:12px;align-items:center;padding:10px;border:1px solid #e2e8f0;border-radius:12px;margin:0 0 8px;cursor:pointer}', '#ppe-stc-modal .ppe-stc-row.is-on{border-color:#01847f;background:#f0fdfa}', '#ppe-stc-modal .ppe-stc-row img{width:56px;height:56px;object-fit:cover;border-radius:8px;background:#f8fafc}', '#ppe-stc-modal .ppe-stc-row .n{font-weight:700;color:#0f172a}', '#ppe-stc-modal .ppe-stc-foot{padding:12px 16px calc(72px + env(safe-area-inset-bottom,0px));border-top:1px solid #e2e8f0;display:flex;gap:10px}', '#ppe-stc-modal .ppe-stc-foot button{flex:1;min-height:48px;border-radius:10px;border:0;font-weight:800;cursor:pointer}', '#ppe-stc-modal .ppe-stc-go{background:#321854;color:#fff}', '#ppe-stc-modal .ppe-stc-go:disabled{opacity:.45;cursor:default}', '#ppe-stc-modal .ppe-stc-cancel{background:#f1f5f9;color:#334155}', 'html.ppe-stc-open .ppw-floating-picker,html.ppe-stc-open #ppec-global-quote-root .ppec-gq-fabs{visibility:hidden!important;pointer-events:none!important}' ].join(''); document.head.appendChild(s); } function closeModal() { var el = document.getElementById('ppe-stc-modal'); if (el) el.hidden = true; document.body.style.overflow = ''; document.documentElement.classList.remove('ppe-stc-open'); } function selected() { return Array.prototype.slice.call(document.querySelectorAll('#ppe-stc-modal .ppe-stc-row input:checked')); } function syncBtn() { var n = selected().length; var btn = document.getElementById('ppe-stc-go'); if (!btn) return; btn.disabled = n !== EXACT; btn.textContent = n === EXACT ? 'Add package with 2 booth games' : ('Select exactly 2 (' + n + '/2)'); } function confirmPackage() { var boxes = selected(); if (boxes.length !== EXACT) { toast('Select exactly 2 booth games'); return; } var byId = window.__ppeStcInv || {}; var picked = []; boxes.forEach(function (b) { var it = byId[b.value]; if (it) picked.push(it); }); if (picked.length !== EXACT) return; var cart = loadCart(); if (activeMode === 'package') { cart = cart.filter(function (x) { return x.id !== 'small-town-carnival'; }); cart.push({ id: 'small-town-carnival', title: 'Small Town Carnival', details: ['Carousel', 'High Striker', picked[0].name, picked[1].name, 'Popcorn Machine'], kind: 'package', url: location.pathname, source: 'carnival-booth-picker' }); } picked.forEach(function (it) { if (!cart.some(function (x) { return x.id === it.id; })) { cart.push({ id: it.id, title: it.name, details: ['Carnival Booth Game', 'Pick 2 booth games'], kind: 'item', url: it.url || '', source: 'carnival-booth-picker' }); } }); saveCart(cart); closeModal(); toast(activeMode === 'package' ? 'Small Town Carnival + 2 booth games added' : '2 Carnival Booth Games added to quote'); } function openModal(items) { ensureUi(); var el = document.getElementById('ppe-stc-modal'); if (!el) { el = document.createElement('div'); el.id = 'ppe-stc-modal'; el.hidden = true; el.setAttribute('role', 'dialog'); el.setAttribute('aria-modal', 'true'); el.innerHTML = '' + '
' + '
' + '
Pick 2 Carnival Booth Games
' + '

Choose exactly two carnival tabletop booth games.

' + '
' + '
' + '
' + ' ' + ' ' + '
'; document.body.appendChild(el); el.addEventListener('click', function (e) { if (e.target.closest('[data-stc-close]')) closeModal(); var row = e.target.closest('.ppe-stc-row'); if (row && !e.target.matches('input')) { var inp = row.querySelector('input'); if (inp) { if (!inp.checked && selected().length >= EXACT) { toast('Pick exactly two booth games'); return; } inp.checked = !inp.checked; row.classList.toggle('is-on', inp.checked); syncBtn(); } } }); el.addEventListener('change', function (e) { if (!e.target.matches('.ppe-stc-row input')) return; if (e.target.checked && selected().length > EXACT) { e.target.checked = false; toast('Pick exactly two booth games'); } var row = e.target.closest('.ppe-stc-row'); if (row) row.classList.toggle('is-on', e.target.checked); syncBtn(); }); document.getElementById('ppe-stc-go').addEventListener('click', confirmPackage); } var list = document.getElementById('ppe-stc-list'); var html = ''; items.forEach(function (it) { html += ''; }); list.innerHTML = html || '

No booth games found.

'; var sub = document.getElementById('ppe-stc-sub'); if (sub) { sub.textContent = activeMode === 'package' ? 'Small Town Carnival includes two tabletop booth games. Choose exactly two.' : 'Carnival Booth Games: pick exactly two tabletop booth games for your quote.'; } el.hidden = false; document.body.style.overflow = 'hidden'; document.documentElement.classList.add('ppe-stc-open'); syncBtn(); } function isTarget(btn) { if (!btn || !btn.classList.contains('pp-add-to-quote')) return false; var id = (btn.getAttribute('data-quote-id') || '').toLowerCase(); var title = (btn.getAttribute('data-quote-title') || '').toLowerCase(); if (id === 'small-town-carnival') return true; if (id === 'ring-toss' || id === 'carnival-booth-games' || id === 'carnival-booth-rentals') return true; if (title.indexOf('small town carnival') !== -1) return true; if (title.indexOf('carnival booth') !== -1) return true; if (title === 'ring toss') return true; var pack = btn.closest('.pp-package'); if (pack && /small town carnival/i.test(pack.getAttribute('data-item-title') || '')) return true; var card = btn.closest('.pp-card'); if (card) { var ct = (card.getAttribute('data-item-title') || '').toLowerCase(); var cid = (card.id || '').toLowerCase(); if (ct === 'ring toss' || ct.indexOf('carnival booth') !== -1) return true; if (cid === 'pp-ring-toss' || cid === 'pp-carnival-booth-games') return true; } return false; } document.addEventListener('click', function (e) { var btn = e.target.closest('.pp-add-to-quote, .package-btn'); if (!isTarget(btn)) return; e.preventDefault(); e.stopPropagation(); if (typeof e.stopImmediatePropagation === 'function') e.stopImmediatePropagation(); fetch(INV_URL, { credentials: 'same-origin' }) .then(function (r) { return r.json(); }) .then(function (data) { var items = (data && data.items) || []; var byId = {}; items.forEach(function (it) { byId[it.id] = it; }); window.__ppeStcInv = byId; var list = []; BOOTH_IDS.forEach(function (id) { if (byId[id]) list.push(byId[id]); }); var id = (btn.getAttribute('data-quote-id') || '').toLowerCase(); var title = (btn.getAttribute('data-quote-title') || '').toLowerCase(); activeMode = (id === 'small-town-carnival' || title.indexOf('small town carnival') !== -1) ? 'package' : 'addon'; openModal(list); }) .catch(function () { toast('Could not load booth games. Try again.'); }); }, true); })();

Build a Spring Grove holiday quote from published rentals

Holiday Party Rentals in Spring Grove, PA

A Spring Grove holiday date starts with the rink footprint or the globe photo line, not with a renamed copy of the same card. Add Inflatable Photo Booth, Photo Buttons, Snow Globe Photos, Cookie Art, Roulette, and Craps only when the floor still has a corner that is not the skate entrance.

  • Delivery, setup, and pickup for the address you send
  • Crafts and photo lines stay off the skate path
  • Flat floor and loading notes come with the date request
  • Add-ons on this page are published rentals with their own links
Ice Skating RinkSynthetic surface with skates and staff. Confirm the open floor before you announce it.View the rink
Giant Inflatable Snow GlobeWalk-in photo op with an attendant. A separate rental from the rink.View the globe
Holiday Party Rentals in Spring Grove, PA
Synthetic rink for a Spring Grove holiday room.Confirm the open floor before you announce skating.

Quick answer

Which Spring Grove details change the holiday quote?

For Spring Grove, PA, decide the anchor first. Skating needs open floor. The globe needs a photo line. Inflatable Photo Booth needs its own mark so the two lines do not merge.

Browse the holiday party rentals hub or open the ice skating rental and inflatable snow globe.

Build your quote

Holiday items for a Spring Grove, PA date

Nothing on this Spring Grove page is a renamed duplicate of the same card. Add-ons here: Inflatable Photo Booth, Photo Buttons, Snow Globe Photos, Cookie Art, Roulette, and Craps.

Ice Skating Rink rental in Spring Grove, PA
Synthetic surfaceSkates includedStaffed

Ice Skating Rink

Staffed synthetic rink. The product page lists a 40 by 60 foot surface and skates from toddler size 8 through adult size 13.

Giant Inflatable Snow Globe rental in Spring Grove, PA
Photo opAttendant includedInflatable

Giant Inflatable Snow Globe

The globe is a separate rental from the rink. Keep its Spring Grove line from blocking the doors.

Holiday Casino Party rental in Spring Grove, PA
Staffed tablesPlay money

Holiday Casino Party

This card is the menu, not a bundle. Spring Grove quotes can include one table or none.

Holiday Photo Booths rental in Spring Grove, PA
Prints and GIFsProps

Holiday Photo Booths

Booth lineup for prints, GIFs, and props. Choose a specific booth below if you already know the style.

Photo Buttons rental for Spring Grove events

Photo Buttons

Photo buttons are a keepsake station, not a backdrop. Say so on the date request if the room is tight.

Snow Globe Photos rental for Spring Grove events

Snow Globe Photos

Guests pose and take home a sealed photo globe. This is the craft, not the inflatable. Skip it when the loading path is already complicated.

Roulette rental for Spring Grove events

Roulette

A single roulette table from the holiday casino menu, not a full pit. It stays a separate line item on the same quote.

Craps rental for Spring Grove events

Craps

A craps table only if the room can give it a clear standing edge. Place it off the skate entrance.

Full inventory

Other rentals that can share the Spring Grove quote

Open the catalog if you need a category that is not on this holiday page. Added items use the same quote.

Local event planning

Load-in notes for holiday rentals in Spring Grove

The Spring Grove quote gets faster when loading notes travel with the date. Place Inflatable Photo Booth where it does not cross the skate entrance. The crew confirms fit from the address and the floor notes you send.

1

Write the hard out

Put the Spring Grove start and end on the request so setup and pickup use the same window. Outdoor plans need a wet-weather note on the same quote.

2

Give every attendant a home base

Staff for the rink, the globe, or Inflatable Photo Booth need a spot that is not the dinner aisle.

3

Confirm power early

List outlets near the booth and near Inflatable Photo Booth. Do not make the crew guess from a photo.

4

Quote casino as tables

Add only the games the Spring Grove room can see. A single table is a valid quote.

Event ideas

Event styles for holiday rentals in Spring Grove

Private house party

Only quote the rink for a Spring Grove house if the yard or the cleared floor can take it. Otherwise keep the globe and Inflatable Photo Booth.

Afternoon club party

Younger guests need a seat. Inflatable Photo Booth belongs at a table, not beside the skate entrance.

Client thank-you

A photo stop carries a Spring Grove reception when speeches run long. Keep Inflatable Photo Booth off the check-in line.

Classroom winter party

A craft such as Inflatable Photo Booth fits a Spring Grove classroom better than a rink. Say the room size on the quote.

FAQ

Holiday rental questions for Spring Grove, PA

What does a Spring Grove, PA holiday request need?

The useful Spring Grove request names the hours, the address, the ages, and the headliner. Inflatable Photo Booth is a separate line, not the starting point.

Does the giant snow globe include an attendant in Spring Grove?

Yes. The holiday listing includes an attendant with the inflatable snow globe. Inflatable Photo Booth is a separate rental if you want it beside that photo line in Spring Grove.

What does the ice skating rental include?

Skates and rink staff travel with the synthetic package. Send the Spring Grove floor size if you are unsure it fits.

Can casino tables be booked without a full pit?

Yes. Individual table pages are separate rentals. The Holiday Casino Party card is the overview. In Spring Grove, add Inflatable Photo Booth only if that game is actually on this page and you have room.

What electrical detail belongs on a Spring Grove quote?

We do not need a full electrical plan. We do need to know where the Spring Grove booth and Inflatable Photo Booth can plug in without crossing the rink.

Is a Spring Grove nickname enough for delivery?

A city name is not a stop. The truck needs the Spring Grove street address, door notes, and someone to meet the crew.

Send the Spring Grove address and the headliner

Send the Spring Grove address and which headliner you want. We confirm the rink or globe first, then the add-ons you toggled, starting with Inflatable Photo Booth.

✅ Added! When you're ready, tap Review Quote to send your request.
Added to quote.