(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 Stevensville holiday quote from published rentals

Holiday Party Rentals in Stevensville, PA

The holiday carousel in Stevensville is the same four headliners. What changes on this page is the add-on set: Cookie Art, Photo Buttons, Coney Island Photo Booth, 360 Photo Booth, Money Wheel, and Magician.

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

Quick answer

How should a Stevensville planner narrow the holiday list?

Use this Stevensville page to choose real items: a staffed synthetic rink, an attended globe, and add-ons such as Cookie Art and Photo Buttons. Skip anything that does not have a product link.

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

Build your quote

Quote list for Stevensville holiday parties

Put the anchor on the quote first. The Stevensville extras, Cookie Art, Photo Buttons, Coney Island Photo Booth, 360 Photo Booth, Money Wheel, and Magician, stay optional.

Ice Skating Rink rental in Stevensville, PA
Synthetic surfaceSkates includedStaffed

Ice Skating Rink

The skating package for Stevensville includes skates and rink staff. Send the clear floor size with the date.

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

Giant Inflatable Snow Globe

Attended inflatable globe for Stevensville when the room needs a photo anchor without a rink footprint.

Holiday Casino Party rental in Stevensville, PA
Staffed tablesPlay money

Holiday Casino Party

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

Holiday Photo Booths rental in Stevensville, PA
Prints and GIFsProps

Holiday Photo Booths

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

Photo Buttons rental for Stevensville events

Photo Buttons

Photo buttons are a keepsake station, not a backdrop. Keep its line from crossing the rink path.

360 Photo Booth rental for Stevensville events

360 Photo Booth

360 booth from the photo catalog. Place it so it does not share the globe line. Add it only if the floor still has a clear corner.

Money Wheel rental for Stevensville events

Money Wheel

Money wheel as one casino station, not a package with every table. It does not replace the rink or the globe.

Magician rental for Stevensville 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.

Full inventory

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

Staging notes for a Stevensville, PA holiday date

Stevensville timelines slip when the truck window is still a guess. Lock the address and the floor, then decide whether Cookie Art even fits. Leave a reset pocket beside the rink so staff are not crossing catering.

1

Match the booth to the room

Pick a booth style only if Stevensville has a corner that is not already the globe line. It is a layout note, not a different rental package.

2

Hold extras until the anchor fits

Add Cookie Art after the rink or globe is confirmed, not before.

3

Use the street address

A Stevensville nickname is not a delivery location. Send the street and a site contact.

4

Split skate traffic from photos

Lace skates away from the globe entrance so one line in Stevensville does not block the other.

Event ideas

Where these rentals earn a place in Stevensville

Family open house

Shorter visits in Stevensville suit the globe photo line plus Cookie Art. The rink is only worth it when the floor is actually open.

Fundraiser walk-through

An attended globe gives Stevensville guests a finish-on-site photo. Cookie Art is optional if the hallway is already full.

Team dinner

One casino table or Cookie Art reads as a side station in Stevensville without taking the whole room.

Office celebration

If skating would block the egress path, lead with the globe and Cookie Art instead of forcing a rink into the Stevensville floor.

FAQ

Holiday rental questions for Stevensville, PA

Which details should a Stevensville host send first?

Start with the Stevensville date and the street address. Guest count and a yes or no on the rink come next. Cookie Art can wait until the anchor fits.

Does the globe rental bring its own attendant to Stevensville?

Yes. Staff stay with the globe. If Stevensville also wants Cookie Art, that is another card on this page.

What rink size should a Stevensville room plan for?

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

Can Stevensville 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. Cookie Art stays optional for Stevensville.

What should the Stevensville venue say about power?

List the outlets near the booth and near Cookie Art. The crew checks the rink against a flat Stevensville surface rather than guessing from a photo.

What address format should Stevensville hosts use?

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

Ready to hold a Stevensville holiday date?

Share the street address in Stevensville, PA and whether the floor can take skating. Add Cookie Art only if that corner is still open.

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