PageSourceSearch

https://venuepilot.com/_nuxt/D-LNDYIs.js

js venuepilot.com collected 2026-10-03 21:24:47 UTC 12,112 bytes, 1 lines download raw bytes

1import{A as e,At as t,C as n,E as r,G as i,J as a,K as o,Mt as s,N as c,Q as l,S as u,_ as d,ct as ee,j as f,jt as p,pt as m,t as h,tt as g}from"./Cc46JUs9.js";import{r as _}from"#entry";import{t as te}from"./B3byQ311.js";import{t as v}from"./b-h3Ujn5.js";import{t as ne}from"./DXgprraX.js";import{t as y}from"./CNs_Ozdc.js";import{t as b}from"./DVqi3s8_.js";var x={class:`hero`},S={class:`tags`},C={class:`hero__inner`},w={class:`hero__title vp-m-t1`},T=Object.assign(h(c({__name:`Hero`,setup(t){let i=[{t:`+ Drink ticket`,x:`78%`,y:`14%`,size:13,op:.18},{t:`+ Parking`,x:`90%`,y:`22%`,size:12,op:.13},{t:`+ Meet & greet`,x:`73%`,y:`32%`,size:14,op:.22},{t:`+ Donation`,x:`88%`,y:`40%`,size:12,op:.15},{t:`+ Tour merch`,x:`76%`,y:`50%`,size:13,op:.18},{t:`+ VIP early entry`,x:`84%`,y:`58%`,size:12,op:.14},{t:`+ Coat check`,x:`72%`,y:`66%`,size:11,op:.12},{t:`+ Charity surcharge`,x:`80%`,y:`74%`,size:13,op:.16}].map((e,t)=>({t:e.t,style:{left:e.x,top:e.y,padding:`${e.size*.45}px ${e.size*.85}px`,border:`1px solid rgba(248,47,143,${e.op+.1})`,background:`rgba(248,47,143,${e.op*.3})`,fontSize:`${e.size}px`,color:`rgba(255,255,255,${e.op+.45})`,transform:`rotate(${(t%2?-1:1)*(1+t*.5)}deg)`}}));return(t,c)=>{let l=te,u=v;return o(),r(`section`,x,[n(`div`,S,[(o(!0),r(d,null,a(m(i),(e,t)=>(o(),r(`div`,{key:t,class:`tags__tag`,style:p(e.style)},s(e.t),5))),128))]),n(`div`,C,[f(l,{color:`rgba(255,255,255,0.55)`}),n(`h1`,w,[c[1]||=e(` Add-ons. Discounts. Donations. `,-1),f(u,null,{default:g(()=>[...c[0]||=[e(`All in the same checkout.`,-1)]]),_:1})]),c[2]||=n(`p`,{class:`hero__sub vp-m-t6`},` Most platforms bolt add-ons on as an afterthought — and fans feel it. Ours are built into the same checkout flow, the same two taps, so upsells never cost you the sale. `,-1)])])}}}),[[`__scopeId`,`data-v-f91aac79`]]),{__name:`AddOnsHero`}),E={class:`sh__rule-row`},D={class:`sh__eyebrow`},O={class:`sh__title vp-m-t2`},k={class:`sh__sub`},A=Object.assign(h(c({__name:`SectionHeader`,props:{eyebrow:{},title:{},sub:{},dark:{type:Boolean,default:!1}},setup(e){return(i,a)=>(o(),r(`div`,{class:t([`sh`,{"is-dark":e.dark}])},[n(`div`,E,[a[0]||=n(`div`,{class:`sh__rule`}
1,null,-1),n(`div`,D,s(e.eyebrow),1)]),n(`h2`,O,s(e.title),1),n(`p`,k,s(e.sub),1)],2))}}),[[`__scopeId`,`data-v-322e3391`]]),{__name:`AddOnsSectionHeader`}),j={class:`sell`},M={class:`sell__inner`},N={class:`sell__grid`},P={class:`tile__tag`},F={class:`tile__title vp-m-t6`},I={class:`tile__body`},L={class:`tile__meta`},R=Object.assign(h(c({__name:`SellMore`,setup(e){let t=[{tag:`Add-Ons`,title:`Merch, drinks, parking, meet-and-greets`,body:`Per-event line items the fan can attach to their ticket. Configure inventory, price, and visibility — buyer sees them inline at checkout.`,meta:`Works on GA and seated events`},{tag:`Donations`,title:`Add a donation, any event`,body:`A donation field at checkout — preset amounts or buyer-defined.`,meta:`100% to you, by default`},{tag:`Discounts`,title:`Codes, member tiers, and access unlocks`,body:`Standard discount codes and access-code-gated tickets. Stack rules per event without breaking math.`,meta:`Standard + access codes`}];return(e,i)=>{let c=A;return o(),r(`section`,j,[n(`div`,M,[f(c,{eyebrow:`Add-ons at checkout`,title:`Sell more than a ticket — without the friction.`,sub:`Everything a venue actually charges for beyond the ticket, attached to the ticket flow you already have. Add-ons work on GA and seated events.`}),n(`div`,N,[(o(),r(d,null,a(t,e=>n(`div`,{key:e.tag,class:`tile`},[n(`div`,P,s(e.tag),1),n(`h3`,F,s(e.title),1),n(`p`,I,s(e.body),1),n(`div`,L,s(e.meta),1)])),64))])])])}}}),[[`__scopeId`,`data-v-3d359cfe`]]),{__name:`AddOnsSellMore`}),z={class:`access`},B={class:`access__inner`},V={class:`access__grid`},H={class:`access-row__head`},U={class:`access-row__title vp-m-t6`},W={class:`access-row__body`},G=`Presales for members, codes for partners, limits per event, RSVP capture for free shows. The full toolkit for shaping how a sale unfolds — without a separate ticketing tier or a 'call us to enable.'`,K=Object.assign(h(c({__name:`AccessControl`,setup(e){let t=[{num:`01`,title:`Password-protected presales`,body:`Two-step password gating, or passwordless invite links if you don't want fans typing anything. Configurable per event.`},{num:`02`,title:`Access codes & ticket unlocks`,body:`Codes that unlock specific ticket types — fan-club, partner, friends-and-family — without making them visible to the public. Works alongside discounts.`},{num:`03`,title:`Membership-tier discounts`,body:`Tie discounts to a membership tier so the right people get the right percent off automatically — no shared codes leaking on Reddit. Standard discount codes still work alongside.`},{num:`04`,title:`Per-event limits & multiples`,body:`Set min and max tickets per buyer, force purchase in multiples (pairs of two for couples-only shows, fours for tables).`},{num:`05`,title:`Free RSVPs with optional capture`,body:`Set an event price to zero and collect RSVPs the same way. Optional zipcode capture if you need it for grant reporting or marketing.`},{num:`06`,title:`Box-office vs. public visibility`,body:`Mark a ticket type as box-office-only — invisible online, available only at the door through the Box Office app. Useful for cash, comps, and walk-up rates.`}];return(e,i)=>{let c=A;return o(),r(`section`,z,[n(`div`,B,[f(c,{eyebrow:`Access & demand`,title:`Control who buys, and when.`,sub:G}),n(`div`,V,[(o(),r(d,null,a(t,e=>n(`div`,{key:e.num,class:`access-row`},[n(`div`,H,[n(`h3`,U,s(e.title),1)]),n(`p`,W,s(e.body),1)])),64))])])])}}}),[[`__scopeId`,`data-v-f3529b7e`]]),{__name:`AddOnsAccessControl`}),re=_(`/assets/app-add-hold.png`),q={class:`holds`},J={class:`holds__inner`},Y={class:`holds__card`},X={class:`holds__title vp-m-t3`},ie={class:`holds__list`},ae={class:`holds__key`},oe={class:`holds__value`},se=Object.assign(h(c({__name:`HoldsSpotlight`,setup(t){let i=[{k:`Label buy`,v:`Hold tickets for a label or partner.`},{k:`Industry hold`,v:`Press, agency, opener's team, your house seats.`},{k:`Comp out`,v:`Drop a held ticket as a comp with one click.`},{k:`Release to public`,v:`Didn't end up needing them? Return to inventory.`}];return(t,c)=>{let l=v;return o(),r(`section`,q,[n(`div`,J,[n(`div`,Y,[n(`div`,null,[c[2]||=n(`div`,{class:`holds__eyebrow`},null,-1),n(`h2`,X,[c[1]||=e(` Hold inventory like a pro. `,-1),f(l,null,{default:g(()=>[...c[0]||=[e(`Move it like one too.`,-1)]]),_:1})]),c[3]||=n(`p`,{class:`holds__lead`},` Pull a chunk of inventory off the public sale for a label, a promoter, an artist, or your own team. Later, sell those tickets to the label at a settled price, comp them, or release them back to the public — one click, one audit log, no spreadsheet duct tape. `,-1),n(`ul`,ie,[(o(),r(d,null,a(i,e=>n(`li`,{key:e.k,class:`holds__item`},[n(`span`,ae,s(e.k),1),n(`span`,oe,s(e.v),1)])),64))])]),c[4]||=n(`div`,{class:`holds__shot`},[n(`img`,{class:`holds__shot-img`,src:re,alt:`VenuePilot Add Hold modal — name and quantity over the tickets table`})],-1)])])])}}}),[[`__scopeId`,`data-v-39d05d10`]]),{__name:`AddOnsHoldsSpotlight`}),ce=[`src`,`alt`],le={class:`pixel__label`},ue=Object.assign(h(c({__name:`PixelCard`,props:{label:{},hue:{},glyph:{},logo:{}},setup(a){let c=a,f=ee(!1),h=u(()=>!!c.logo&&!f.value),g=l(`logoEl`);return i(()=>{let e=g.value;
1e?.complete&&e.naturalWidth===0&&e.decode().catch(()=>{f.value=!0})}),(i,c)=>(o(),r(`div`,{class:t([`pixel`,{"has-logo":m(h)}])},[n(`div`,{class:`pixel__icon`,style:p({background:a.hue})},[m(h)?(o(),r(`img`,{key:0,ref_key:`logoEl`,ref:g,class:`pixel__logo`,src:a.logo,alt:a.label,onError:c[0]||=e=>f.value=!0},null,40,ce)):(o(),r(d,{key:1},[e(s(a.glyph),1)],64))],4),n(`div`,null,[n(`div`,le,s(a.label),1)])],2))}}),[[`__scopeId`,`data-v-49ccbbe6`]]),{__name:`AddOnsPixelCard`}),de={class:`track`},fe={class:`track__inner`},pe={class:`track__grid`},me={class:`track__pixels`},he=Object.assign(h(c({__name:`TrackEveryDollar`,setup(e){let t=[{label:`Meta`,hue:`#1877f2`,glyph:`f`,logo:`https://cdn.jsdelivr.net/npm/simple-icons@13/icons/meta.svg`},{label:`Google`,hue:`#ea4335`,glyph:`g`,logo:`https://cdn.jsdelivr.net/npm/simple-icons@13/icons/google.svg`},{label:`TikTok`,hue:`#ff0050`,glyph:`t`,logo:`https://cdn.jsdelivr.net/npm/simple-icons@13/icons/tiktok.svg`},{label:`Reddit`,hue:`#ff4500`,glyph:`r`,logo:`https://cdn.jsdelivr.net/npm/simple-icons@13/icons/reddit.svg`}];return(e,i)=>{let s=A,c=ue;return o(),r(`section`,de,[n(`div`,fe,[f(s,{dark:``,eyebrow:`Marketing & attribution`,title:`Track every dollar back to the channel that earned it.`,sub:`Native pixels for the ad platforms venues run on.`}),n(`div`,pe,[n(`div`,null,[i[0]||=n(`div`,{class:`track__label`},`Native pixels`,-1),n(`div`,me,[(o(),r(d,null,a(t,e=>f(c,{key:e.label,label:e.label,hue:e.hue,glyph:e.glyph,logo:e.logo},null,8,[`label`,`hue`,`glyph`,`logo`])),64))]),i[1]||=n(`div`,{class:`track__note`},` Add pixels on the event level — no engineer, no Tag Manager, no waiting on a developer to deploy. Fires on the right events (PageView, AddToCart, Purchase) so your ad reports actually match your settlement. `,-1)])]),i[2]||=n(`div`,{class:`extra`},[n(`div`,{class:`extra__title vp-m-t3`},`+ One more thing`),n(`div`,null,[n(`div`,{class:`extra__label`},`Confirmation email customization`),n(`p`,{class:`extra__text`},` Add an event-specific message to the body of every confirmation email — venue parking, will-call instructions, openers, age policy. `)])],-1)])])}}}),[[`__scopeId`,`data-v-cfd39635`]]),{__name:`AddOnsTrackEveryDollar`}),ge={class:`ops`},_e={class:`ops__inner`},ve={class:`ops__grid`},ye={class:`ops-tile__icon vp-m-t6`},be={class:`ops-tile__title vp-m-t6`},xe={class:`ops-tile__body`},Se=Object.assign(h(c({__name:`UnsexyOps`,setup(e){let t=[{icon:`🛡`,title:`Stripe Radar fraud scoring`,body:`Every transaction risk-scored. Suspicious orders flagged before they clear. Chargeback evidence packaged automatically when one slips through.`},{icon:`🤖`,title:`Cloudflare Turnstile captcha`,body:`Bot defense without the hostile checkout. Friendly fallback flow, cancelable, and tuned so real fans never hit it twice.`},{icon:`🧾`,title:`Tax stored per ticket`,body:`Tax amount written to every sold ticket for straightforward accounting.`},{icon:`🌐`,title:`Multi-currency`,body:`Venue currency support throughout the admin and on the buyer side. Ticket prices, fees, settlements all denominated correctly.`}];return(e,i)=>{let c=A;return o(),r(`section`,ge,[n(`div`,_e,[f(c,{eyebrow:`Operational rigor`,title:`The stuff under the hood.`,sub:`For your accountants and peace of mind.`}),n(`div`,ve,[(o(),r(d,null,a(t,e=>n(`div`,{key:e.title,class:`ops-tile`}
1,[n(`div`,ye,s(e.icon),1),n(`h3`,be,s(e.title),1),n(`p`,xe,s(e.body),1)])),64))])])])}}}),[[`__scopeId`,`data-v-4047f6e1`]]),{__name:`AddOnsUnsexyOps`}),Z={},Ce={class:`cta`},we={class:`cta__title vp-m-t1`},Te={class:`cta__actions`};function Ee(t,i){let a=v,s=ne;return o(),r(`section`,Ce,[n(`h2`,we,[i[1]||=e(`One platform. `,-1),f(a,null,{default:g(()=>[...i[0]||=[e(`Every revenue lever.`,-1)]]),_:1})]),i[3]||=n(`p`,{class:`cta__sub`},` Stop stitching together six tools to sell a ticket. Start selling on a platform that already does the rest. `,-1),n(`div`,Te,[f(s,{large:``},{default:g(()=>[...i[2]||=[e(`Sign up free`,-1)]]),_:1})])])}var De=Object.assign(h(Z,[[`render`,Ee],[`__scopeId`,`data-v-15c03957`]]),{__name:`AddOnsCTA`}),Q=`Add-Ons & Upsells | VenuePilot`,$=`Add-ons and upsells for independent venues — sold right in checkout, with access control and every dollar tracked through settlement.`,Oe=c({__name:`add-ons`,setup(e){return y({navCurrent:`Solutions`}),b({title:Q,description:$,path:`/add-ons/`,jsonLd:[{"@context":`https://schema.org`,"@type":`WebPage`,name:Q,description:$,url:`https://venuepilot.com/add-ons/`,isPartOf:{"@id":`https://venuepilot.com/#website`},publisher:{"@id":`https://venuepilot.com/#org`}}]}),(e,t)=>{let n=T,i=R,a=K,s=se,c=he,l=Se,u=De;return o(),r(`div`,null,[f(n),f(i),f(a),f(s),f(c),f(l),f(u)])}}});export{Oe as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.