(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); })();

Staffed holiday attractions for Havertown guest lists

Holiday Party Rentals in Havertown, PA

The holiday carousel in Havertown is the same four headliners. What changes on this page is the add-on set: Snowflake Photo Ornaments, 360 Photo Booth, Texas Holdem, Blackjack, Magician, and Ornament Making.

  • 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
  • Synthetic ice rink with skates and rink staff
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 Havertown, PA
The rink package Havertown hosts can request.Flat surface and a clear loading path matter more than a skyline.

Quick answer

What belongs on the first Havertown holiday request?

For Havertown, PA, decide the anchor first. Skating needs open floor. The globe needs a photo line. Snowflake Photo Ornaments 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

What Havertown can add next to the rink or globe

The four headliners match the live holiday carousel. The six add-ons under them for Havertown are separate published rentals: Snowflake Photo Ornaments, 360 Photo Booth, Texas Holdem, Blackjack, Magician, and Ornament Making.

Ice Skating Rink rental in Havertown, PA
Synthetic surfaceSkates includedStaffed

Ice Skating Rink

Choose the rink only when Havertown has a flat rectangle that is not already the dinner layout.

Giant Inflatable Snow Globe rental in Havertown, PA
Photo opAttendant includedInflatable

Giant Inflatable Snow Globe

Walk-in globe photo op. An attendant is part of this holiday listing.

Holiday Casino Party rental in Havertown, PA
Staffed tablesPlay money

Holiday Casino Party

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

Holiday Photo Booths rental in Havertown, PA
Prints and GIFsProps

Holiday Photo Booths

Booth overview. A specific unit on the Havertown add-on row is its own product page.

360 Photo Booth rental for Havertown events

360 Photo Booth

360 booth from the photo catalog. Place it so it does not share the globe line. Tell us the guest ages if this station is for families.

Texas Holdem rental for Havertown events

Texas Holdem

Holdem table for guests who want a seat, not a wandering game. Tell us the guest ages if this station is for families.

Blackjack rental for Havertown events

Blackjack

One staffed blackjack table when you do not need every casino game. Add it only if the floor still has a clear corner.

Magician rental for Havertown events

Magician

A walk-around set needs a home base that is not the casino chairs. Skip it when the loading path is already complicated.

Ornament Making rental for Havertown events

Ornament Making

Seated ornament workshop. Keep it off the skate path. Keep its line from crossing the rink path.

Full inventory

Other rentals that can share the Havertown 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

Where to put skating and photos in Havertown

Holiday rentals in Havertown read cleaner with one anchor and one extra. Snowflake Photo Ornaments is the extra most hosts on this page add first. A flat surface matters more than a neighborhood nickname.

1

Quote casino as tables

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

2

Confirm power early

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

3

Give every attendant a home base

Staff for the rink, the globe, or Snowflake Photo Ornaments need a spot that is not the dinner aisle. One contact on site is more useful than a landmark.

4

Write the hard out

Put the Havertown start and end on the request so setup and pickup use the same window.

Event ideas

Holiday event types in Havertown

School winter program

Families in Havertown need a stop after the program. Snowflake Photo Ornaments works as that stop when it is seated away from the doors.

Reception after a program

The Havertown crowd leaves in a wave. A globe line needs a holding spot, and Snowflake Photo Ornaments should not share it.

Weekend family party

Mix ages by splitting skating from Snowflake Photo Ornaments. The globe attendant is already part of that listing.

Company holiday party

A rink or globe keeps the Havertown celebration in the same building as dinner. Snowflake Photo Ornaments covers guests who are not skating.

FAQ

Holiday rental questions for Havertown, PA

Which details should a Havertown host send first?

Start with the Havertown date and the street address. Guest count and a yes or no on the rink come next. Snowflake Photo Ornaments can wait until the anchor fits.

Does the globe rental bring its own attendant to Havertown?

Yes. Staff stay with the globe. If Havertown also wants Snowflake Photo Ornaments, that is another card on this page.

What rink size should a Havertown room plan for?

Plan from the published rink page: a 40 by 60 foot synthetic surface, skates, and staff. A Havertown room that cannot clear that rectangle should not advertise skating yet.

Can Havertown add one table instead of a whole pit?

Book the games that fit the room. Play money is how the holiday casino listing is described. Snowflake Photo Ornaments stays optional for Havertown.

What should the Havertown venue say about power?

List the outlets near the booth and near Snowflake Photo Ornaments. The crew checks the rink against a flat Havertown surface rather than guessing from a photo.

What address format should Havertown hosts use?

Use the street address plus any dock or stair limit. A Havertown landmark is not a substitute.

Hold the rink or the globe for Havertown

Share the street address in Havertown, PA and whether the floor can take skating. Add Snowflake Photo Ornaments only if that corner is still open.

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