PageSourceSearch

https://ticketspotapp.com/_next/static/chunks/pages/event-check-in-app-98c9c11c77d53c45.js

js ticketspotapp.com collected 2026-10-02 03:41:23 UTC 27,879 bytes, 1 lines download raw bytes

1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="4355f9d5-7c99-4cca-88f0-70fff28a1132",e._sentryDebugIdIdentifier="sentry-dbid-4355f9d5-7c99-4cca-88f0-70fff28a1132")}catch(e){}}(),(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7156],{65212:function(e,n,t){(window.__NEXT_P=window.__NEXT_P||[]).push(["/event-check-in-app",function(){return t(94560)}])},30013:function(e,n,t){"use strict";t.d(n,{t:function(){return I}});var i=t(85893),o=t(67294),a=t(7297),r=t(15437);function c(){let e=(0,a.Z)(["\n      flex-direction: row-reverse;\n    "]);return c=function(){return e},e}function s(){let e=(0,a.Z)(["\n  display: flex;\n  width: 100%;\n  ",";\n\n  @media (max-width: 768px) {\n    flex-direction: column;\n  }\n"]);return s=function(){return e},e}function d(){let e=(0,a.Z)(["\n      padding: 0;\n    "]);return d=function(){return e},e}function h(){let e=(0,a.Z)(["\n  display: flex;\n  width: ","%;\n  padding: 40px;\n  flex-direction: column;\n  background-color: ",";\n  border-radius: 16px;\n\n  @media (max-width: 768px) {\n    width: 100%;\n  }\n\n  ul {\n    display: flex;\n    flex-direction: column;\n    list-style: inside;\n    margin-bottom: 16px;\n  }\n\n  ","\n"]);return h=function(){return e},e}function l(){let e=(0,a.Z)(["\n  font-size: 36px;\n  margin-top: 20px;\n  font-weight: 600;\n  line-height: 44.65px;\n  text-align: left;\n  color: #181818;\n  margin-bottom: 54px;\n"]);return l=function(){return e},e}function p(){let e=(0,a.Z)(['\n  font-size: 24px;\n  font-weight: 400;\n  line-height: 29.77px;\n  text-align: left;\n  color: #1e1e1e;\n  margin-bottom: 24px;\n  list-style-type: none;\n  display: inline-flex;\n  align-items: center;\n  word-break: break-word;\n\n  a {\n    text-decoration: underline !important;\n    margin: 0 6px;\n\n    &:hover {\n      color: rgb(50, 47, 107);\n    }\n  }\n\n  &:before {\n    margin-right: 24px;\n    content: "•";\n    font-size: 76px;\n    color: '," !important;\n  }\n"]);return p=function(){return e},e}function u(){let e=(0,a.Z)(["\n  font-size: 24px;\n  font-weight: 400;\n  line-height: 29.77px;\n  text-align: left;\n  margin-bottom: 24px;\n  color: #1e1e1e;\n"]);return u=function(){return e},e}function f(){let e=(0,a.Z)(["\n  margin: 14px 0 60px;\n"]);return f=function(){return e},e}function g(){let e=(0,a.Z)(["\n  display: flex;\n  width: 100%;\n  border-radius: 16px;\n  height: 474px;\n  overflow: hidden;\n"]);return g=function(){return e},e}function m(){let e=(0,a.Z)(["\n  width: 100%;\n  max-width: 100%;\n  height: auto;\n"]);return m=function(){return e},e}function w(){let e=(0,a.Z)(["\n  display: flex;\n  justify-content: center;\n  width: 50%;\n\n  @media (max-width: 768px) {\n    max-width: 100%;\n    width: 100%;\n  }\n"]);return w=function(){return e},e}let x=r.ZP.div.withConfig({componentId:"sc-1af56965-0"})(s(),e=>e.revert&&(0,r.iv)(c())),k=r.ZP.div.withConfig({componentId:"sc-1af56965-1"})(h(),e=>e.withLogo?50:100,e=>e.backgroundColor||"#FFFFFF",e=>!e.backgroundColor&&(0,r.iv)(d())),y=r.ZP.h2.withConfig({componentId:"sc-1af56965-2"})(l()),b=r.ZP.li.withConfig({componentId:"sc-1af56965-3"})(p(),e=>e.listItemColor||"#000000"),v=r.ZP.span.withConfig({componentId:"sc-1af56965-4"})(u()),j=r.ZP.div.withConfig({componentId:"sc-1af56965-5"})(f());r.ZP.div.withConfig({componentId:"sc-1af56965-6"})(g()),r.ZP.img.withConfig({componentId:"sc-1af56965-7"})(m());let C=r.ZP.div.withConfig({componentId:"sc-1af56965-8"})(w());var Z=t(81560);let I=e=>{let{listItemColor:n,title:t,listItems:a,button:r,withVideo:c,backgroundColor:s,logo:d,revert:h,videoSrc:l,titleId:p}=e,u=(0,o.useMemo)(()=>1===a.length?(0,i.jsx)(v,{children:a[0]}):(0,i.jsx)("ul",{children:a.map((e,t)=>(0,i.jsx)(b,{listItemColor:n,children:e},"".concat(t,"-node-list")))}),[n,a]);return(0,i.jsxs)(x,{revert:h,children:[d&&(0,i.jsx)(C,{children:d}),(0,i.jsxs)(k,{backgroundColor:s,withLogo:!!d,children:[(0,i.jsx)(y,{id:p,children:t}),u,r&&(0,i.jsx)(j,{children:r}),c&&(0,i.jsx)(Z.n,{src:l})]})]})}},48503:function(e,n,t){"use strict";t.d(n,{P:function(){return o}});var i=t(85893);t(67294);let o=()=>(0,i.jsx)("script",{lang:"en",type:"text/javascript",src:"https://app.termly.io/resource-blocker/cefc5b9d-b616-45fa-a2e8-95fe10ef3c66?autoBlock=off"})},81560:function(e,n,t){"use strict";t.d(n,{n:function(){return s}});var i=t(85893),o=t(7297),a=t(15437);function r(){let e=(0,o.Z)(["\n  display: flex;\n  overflow: hidden;\n  padding-bottom: 40%;\n  position: relative;\n  border-radius: 9px;\n  height: 0;\n\n  @media (max-width: 640px) {\n    padding-bottom: 60%;\n  }\n\n  iframe {\n    left: 0;\n    top: 0;\n    height: 100%;\n    width: 100%;\n    aspect-ratio: 16 / 9;\n    position: absolute;\n  }\n"]);return r=function(){return e},e}let c=a.ZP.div.withConfig({componentId:"sc-282f1ea1-0"})(r()),s=e=>{let{src:n,controls:t}=e;return(0,i.jsx)(c,{children:(0,i.jsx)("iframe",{src:n,allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture;
1 web-share",referrerPolicy:"strict-origin-when-cross-origin",allowFullScreen:!0})})}},94560:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return ey}});var i=t(85893),o=t(31696),a=t(74509),r=t(41664),c=t.n(r),s=t(83418),d=t(88911),h=t(7297),l=t(15437),p=t(74258),u=t(57286),f=t(61401);function g(){let e=(0,h.Z)(["\n  display: flex;\n  width: 100%;\n  padding-bottom: 96px;\n  flex-direction: column;\n  align-items: center;\n  gap: 100px;\n\n  "," {\n    margin-right: calc(-1 * var(--main-layout-horizontal-padding));\n    align-items: flex-start;\n    padding-top: 20px;\n  }\n\n  "," {\n    max-width: 55%;\n    border-radius: 12px 0 0 12px;\n  }\n\n  @media (max-width: 1024px) {\n    "," {\n      margin-right: 0;\n      align-items: center;\n    }\n\n    "," {\n      max-width: 100%;\n      border-radius: 12px;\n    }\n  }\n"]);return g=function(){return e},e}function m(){let e=(0,h.Z)(["\n  margin-bottom: 32px;\n"]);return m=function(){return e},e}function w(){let e=(0,h.Z)(["\n  display: flex;\n  width: 100%;\n  max-width: 1440px;\n  justify-content: center;\n  align-items: center;\n  flex-direction: column;\n"]);return w=function(){return e},e}function x(){let e=(0,h.Z)(["\n  width: 100%;\n  max-width: 600px;\n  height: auto;\n  object-fit: contain;\n  border-radius: 12px;\n  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);\n\n  @media (max-width: 768px) {\n    max-width: 100%;\n  }\n"]);return x=function(){return e},e}function k(){let e=(0,h.Z)(["\n  background-color: #3157b0 !important;\n  width: fit-content;\n  border-color: #3157b0 !important;\n"]);return k=function(){return e},e}function y(){let e=(0,h.Z)(["\n  width: 100%;\n  margin-bottom: 80px;\n\n  @media (max-width: 768px) {\n    margin-bottom: 48px;\n  }\n"]);return y=function(){return e},e}function b(){let e=(0,h.Z)(["\n  width: 100%;\n  max-width: 1000px;\n  padding: 48px 0;\n\n  @media (",") {\n    padding: 32px 0;\n  }\n"]);return b=function(){return e},e}function v(){let e=(0,h.Z)(["\n  font-size: 36px;\n  font-weight: 700;\n  line-height: 1.25;\n  color: #1a1a1a;\n  margin: 0 0 24px 0;\n\n  @media (",") {\n    font-size: 28px;\n    margin-bottom: 16px;\n  }\n"]);return v=function(){return e},e}function j(){let e=(0,h.Z)(["\n  font-size: 18px;\n  line-height: 1.7;\n  color: #333;\n  margin: 0 0 20px 0;\n  max-width: 900px;\n\n  &:last-child {\n    margin-bottom: 0;\n  }\n\n  a {\n    color: #9d25dc;\n    text-decoration: none;\n    border-bottom: 1px solid #9d25dc;\n\n    &:hover {\n      color: #8a1fc4;\n      border-bottom-color: #8a1fc4;\n    }\n  }\n\n  strong {\n    color: #9d25dc;\n    font-weight: 700;\n  }\n\n  @media (",") {\n    font-size: 16px;\n  }\n"]);return j=function(){return e},e}function C(){let e=(0,h.Z)(["\n  list-style: none;\n  padding: 0;\n  margin: 0 0 24px 0;\n  display: flex;\n  flex-direction: column;\n  gap: 16px;\n  max-width: 900px;\n"]);return C=function(){return e},e}function Z(){let e=(0,h.Z)(['\n  font-size: 17px;\n  line-height: 1.6;\n  color: #333;\n  padding-left: 28px;\n  position: relative;\n\n  &:before {\n    content: "✓";\n    position: absolute;\n    left: 0;\n    color: #9d25dc;\n    font-weight: 700;\n    font-size: 18px;\n  }\n\n  a {\n    color: #9d25dc;\n    text-decoration: none;\n    border-bottom: 1px solid #9d25dc;\n    font-weight: 600;\n\n    &:hover {\n      color: #8a1fc4;\n      border-bottom-color: #8a1fc4;\n    }\n  }\n\n  @media (',") {\n    font-size: 16px;\n  }\n"]);return Z=function(){return e},e}function I(){let e=(0,h.Z)(["\n  width: 100%;\n  border-collapse: collapse;\n  text-align: left;\n  font-size: 17px;\n  line-height: 1.6;\n  color: #333;\n\n  caption {\n    caption-side: top;\n    text-align: left;\n    font-size: 16px;\n    color: #555;\n    padding-bottom: 16px;\n  }\n\n  th,\n  td {\n    padding: 16px;\n    border-bottom: 1px solid #ececec;\n    vertical-align: top;\n  }\n\n  thead th {\n    font-size: 15px;\n    font-weight: 700;\n    color: #1a1a1a;\n    text-transform: uppercase;\n    letter-spacing: 0.04em;\n    border-bottom: 2px solid #e0e0e0;\n  }\n\n  tbody th {\n    font-weight: 600;\n    color: #1a1a1a;\n    width: 26%;\n  }\n\n  tbody td:last-child {\n    color: #1a1a1a;\n    font-weight: 600;\n  }\n\n  @media (",') {\n    display: block;\n\n    thead {\n      display: none;\n    }\n\n    tbody,\n    tr,\n    th,\n    td {\n      display: block;\n      width: auto;\n    }\n\n    tr {\n      padding: 16px 0;\n      border-bottom: 1px solid #ececec;\n    }\n\n    th,\n    td {\n      border-bottom: none;\n      padding: 4px 0;\n    }\n\n    tbody th {\n      font-size: 15px;\n      text-transform: uppercase;\n      letter-spacing: 0.04em;\n      color: #666;\n      width: auto;\n    }\n\n    td:before {\n      content: attr(data-label) ": ";\n      font-weight: 700;\n      color: #1a1a1a;\n    }\n  }\n']);return I=function(){return e},e}function P(){let e=(0,h.Z)(["\n  list-style: none;\n  padding: 0;\n  margin: 0;\n  display: grid;\n  grid-template-columns: repeat(2, 1fr);\n  gap: 24px;\n\n  @media (",") {\n    grid-template-columns: 1fr;\n  }\n"]);return P=function(){return e},e}function A(){let e=(0,h.Z)(["\n  padding: 28px;\n  background: #fafafa;\n  border-radius: 12px;
1\n  border: 1px solid #f0f0f0;\n\n  @media (",") {\n    padding: 20px;\n  }\n"]);return A=function(){return e},e}function S(){let e=(0,h.Z)(["\n  font-size: 20px;\n  font-weight: 700;\n  color: #1a1a1a;\n  margin: 0 0 12px 0;\n\n  @media (",") {\n    font-size: 18px;\n  }\n"]);return S=function(){return e},e}function T(){let e=(0,h.Z)(["\n  font-size: 16px;\n  line-height: 1.6;\n  color: #555;\n  margin: 0;\n\n  @media (",") {\n    font-size: 15px;\n  }\n"]);return T=function(){return e},e}function z(){let e=(0,h.Z)(["\n  display: inline-flex;\n  align-items: center;\n  font-size: 17px;\n  font-weight: 600;\n  color: #9d25dc;\n  text-decoration: none;\n  transition: all 0.2s ease;\n\n  &:hover {\n    color: #8a1fc4;\n    transform: translateX(4px);\n  }\n"]);return z=function(){return e},e}function W(){let e=(0,h.Z)(["\n  display: flex;\n  align-items: center;\n  gap: 32px;\n  flex-wrap: wrap;\n  margin-top: 8px;\n"]);return W=function(){return e},e}function _(){let e=(0,h.Z)(["\n  display: flex;\n  align-items: center;\n  gap: 16px;\n  flex-wrap: wrap;\n  margin-top: 24px;\n"]);return _=function(){return e},e}let q=l.ZP.div.withConfig({componentId:"sc-d16c4370-0"})(g(),u.qb,u.Sy,u.qb,u.Sy);l.ZP.div.withConfig({componentId:"sc-d16c4370-1"})(m());let B=l.ZP.div.withConfig({componentId:"sc-d16c4370-2"})(w()),E=l.ZP.img.withConfig({componentId:"sc-d16c4370-3"})(x()),F=(0,l.ZP)(p.Q).withConfig({componentId:"sc-d16c4370-4"})(k()),R=l.ZP.div.withConfig({componentId:"sc-d16c4370-5"})(y()),D=l.ZP.section.withConfig({componentId:"sc-d16c4370-6"})(b(),f.B.xs),Y=l.ZP.h2.withConfig({componentId:"sc-d16c4370-7"})(v(),f.B.xs),Q=l.ZP.p.withConfig({componentId:"sc-d16c4370-8"})(j(),f.B.xs),O=l.ZP.ul.withConfig({componentId:"sc-d16c4370-9"})(C()),N=l.ZP.li.withConfig({componentId:"sc-d16c4370-10"})(Z(),f.B.xs),G=l.ZP.table.withConfig({componentId:"sc-d16c4370-11"})(I(),f.B.md),L=l.ZP.ol.withConfig({componentId:"sc-d16c4370-12"})(P(),f.B.md),M=l.ZP.li.withConfig({componentId:"sc-d16c4370-13"})(A(),f.B.xs),U=l.ZP.h3.withConfig({componentId:"sc-d16c4370-14"})(S(),f.B.xs),H=l.ZP.p.withConfig({componentId:"sc-d16c4370-15"})(T(),f.B.xs),K=(0,l.ZP)(c()).withConfig({componentId:"sc-d16c4370-16"})(z()),X=l.ZP.div.withConfig({componentId:"sc-d16c4370-17"})(W()),V=l.ZP.div.withConfig({componentId:"sc-d16c4370-18"})(_());var J=t(30013),$=t(56224),ee=t(30972);let en="Mobile scan app",et="Self check-in kiosk mode",ei="Check-in limit (e.g. 1 entry per ticket)",eo="Apple Wallet & Google Wallet tickets",ea="Add attendees manually",er={scanApp:en,kiosk:et,scanLimit:ei,analytics:"Check-in analytics",earlyWindow:"Early check-in window",wallet:eo,pdfQr:"PDF tickets with QR codes",manualAdd:ea},ec={ios:"https://apps.apple.com/us/app/ticket-spot-check-in/id6449327292",android:"https://play.google.com/store/apps/details?id=io.ticketspot.app"},es=["Scan a QR code with the phone or tablet camera, on iOS or Android","Use a USB or Bluetooth barcode scanner instead of the camera at a busy gate","See when a code has already been used, with a check-in history kept per attendee","Find someone by last name or email when they cannot produce a code","Add a walk-up attendee on the spot","Accept the ticket however the attendee has it: PDF, Apple Wallet or Google Wallet"],ed=["Every scan is checked against your live attendee list, so each scanning device needs a working internet connection","Test the signal at the doorway itself, not at the box office — a marquee, a basement room or a far gate can be fine on paper and dead where you actually stand","Keep a phone hotspot or a dedicated router as backup if the venue Wi-Fi is shared with the audience"],eh=["Attendees scan their own code at a tablet instead of queueing for a staffed desk","A thermal printer beside the kiosk can print the badge as they check in","Our conference walkthrough measures a kiosk lane at 120-180 attendees an hour against roughly 60 for a staffed one"],el=[{who:"Festivals and concerts",why:"High arrival rates through a small number of gates, with every scanner reading one list.",href:"/solutions/festivals-concerts"},{who:"Conferences and trade shows",why:"A long registration peak before a keynote, where self-service and badges do the work.",href:"/solutions/conferences-trade-shows"},{who:"Parks, tours and timed entry",why:"Repeated arrivals across a day, each valid only inside its own window.",href:"/solutions/parks-tours-timed-entry"},{who:"Workshops and classes",why:"Small, frequent sessions where attendance is the record that matters afterwards.",href:"/solutions/workshops-classes"},{who:"Fundraisers and galas",why:"Named guests and tables, where finding one person quickly matters more than raw speed.",href:"/solutions/fundraisers-raffles"}],ep=[{title:"Install the app",body:"Download Ticket Spot Check-In on the iPhone, iPad or Android device you will use at the door, and sign in with your organizer account."},{title:"Pick the event",body:"Choose the event on the device, and check the device has signal where you will actually be standing. Scans are validated against the live list, so the door needs a connection."},{title:"Scan, or look them up",body:"Point the camera at the code, or use a connected barcode scanner. If someone has no code, search their last name or email and check them in by hand."},{title:"Read the numbers afterwards",body:"Check-in analytics show who arrived and when, which is the part that tells you whether the door plan worked."}],eu=[{aspect:"Finding an attendee",paper:"Read down an alphabetical printout",app:"Scan the code, or search a last name"},{aspect:"A ticket used twice",paper:"Only caught if the same volunteer remembers the name",app:"The second scan is flagged, with a check-in history per attendee"},{aspect:"Two doors at once",paper:"Two lists that disagree by the end of the night",app:"Every device reads the same live list, so a checked-in attendee shows as checked in at all of them"},{aspect:"A refunded ticket",paper:"Still printed on the list",app:"Rejected as soon as the refund goes through"},{aspect:"What you know afterwards",paper:"A stack of annotated paper",app:"Check-in analytics showing who arrived and when"}],ef=[{question:"What is an event check-in app?",answer:"An event check-in app is the tool your staff use at the door to admit people. It reads the QR code on each attendee's ticket, confirms that the ticket is valid and has not already been used, and records that the person arrived. It replaces a printed guest list, and it is the only part of the ticketing chain your attendees watch you operate."},{question:"Which devices does the Ticket Spot check-in app run on?",answer:"iPhone, iPad and Android ph
1ones and tablets. You can scan with the device camera, or connect a USB or Bluetooth barcode scanner, which is faster than a camera at a busy gate."},{question:"Does the check-in app work without an internet connection?",answer:"No. The app checks every scan against your live attendee list, so each scanning device needs a working internet connection at the door. Plan for that the way you would plan for power: test the signal at the doorway itself rather than at the box office, and keep a phone hotspot or a dedicated router as backup if the venue Wi-Fi is shared with the audience. The upside of validating live is that there is no stale copy anywhere — a ticket refunded seconds ago is already rejected, and two gates can never disagree."},{question:"Can more than one person scan at the same time?",answer:"Yes. Run the app on as many devices as you have staff and gates. Every device reads the same live attendee list, so someone admitted at one door immediately shows as checked in at the others."},{question:"What happens if someone tries to use the same ticket twice?",answer:"The second scan is flagged rather than quietly accepted. The app shows that the ticket has already been used and keeps a check-in history per attendee, which turns a duplicate into a conversation at the door instead of two people in one seat."},{question:"What if an attendee arrives without their ticket?",answer:"Search their last name or email address and check them in by hand. You can also add a walk-up attendee on the spot, from ".concat((0,ee.Y2)(ea)," up.")},{question:"Can attendees check themselves in?",answer:"Yes, with self check-in kiosk mode, from ".concat((0,ee.Y2)(et)," up. Attendees scan their own code at a tablet, and a thermal printer beside it can print their badge as they go through.")},{question:"Can I stop one ticket being used for multiple entries?",answer:"Yes. Set a check-in limit per ticket type — one entry per ticket, for example — from ".concat((0,ee.Y2)(ei)," up. There is also an early check-in window on the same tier, which controls how far ahead of the start time a ticket will scan.")},{question:"Which plan includes the check-in app?",answer:"The mobile scan app is included from ".concat((0,ee.Y2)(en)," up, at no extra cost per device or per scan. Self check-in kiosk mode and check-in analytics start on ").concat((0,ee.Y2)(et),". The app itself is a free download from the App Store and Google Play; you sign in with your Ticket Spot account.")},{question:"Does it read Apple Wallet and Google Wallet passes?",answer:"Yes. From ".concat((0,ee.Y2)(eo)," up, attendees get Apple Wallet and Google Wallet passes as well as a PDF ticket with a QR code, and the app reads whichever one they present.")}];var eg=t(50848);function em(){let e=(0,ee.Y2)(er.scanApp),n=(0,ee.Y2)(er.kiosk),t=(0,ee.Y2)(er.analytics);return(0,i.jsx)(s.A,{children:(0,i.jsx)(q,{children:(0,i.jsxs)(B,{children:[(0,i.jsx)(d.M,{logo:"https://cdn.ticketspotapp.com/website/features/feature-checkin-app.png",logoAlt:"The Ticket Spot event check-in app scanning a QR code ticket on a phone",title:"Event Check-In App for iOS and Android",subtitle:"Scan QR code tickets at the door on a phone or tablet, catch a code that has already been used, and find anyone who arrives without theirs — every scan checked against your live attendee list.",caption:"EVENT CHECK-IN",icon:(0,i.jsx)(eg.Z,{size:46,strokeWidth:1.5}),iconColor:"#9d25dc"}),(0,i.jsxs)(D,{children:[(0,i.jsx)(Y,{children:"What is an event check-in app?"}),(0,i.jsx)(Q,{children:"An event check-in app is what your staff hold at the door. It reads the QR code on an attendee's ticket, confirms the ticket is valid and has not already been used, and records that the person arrived. It replaces the printed guest list — and it is the one part of your ticketing that every attendee watches you operate."}),(0,i.jsxs)(Q,{children:["Ticket Spot's check-in app runs on iPhone, iPad and Android. It is a free download and you sign in with your organizer account; the scanning itself is included from"," ",(0,i.jsx)("strong",{children:e})," up, with no per-device or per-scan charge. The tickets it reads are the ones you"," ",(0,i.jsx)(c(),{href:"/create-and-customize-tickets",children:"set up when you created the event"}
1),", so there is nothing to import and no separate attendee list to keep in step."]}),(0,i.jsxs)(V,{children:[(0,i.jsx)(F,{target:"_blank",href:ec.ios,withIcon:!0,size:"large",children:"Download for iOS"}),(0,i.jsx)(F,{target:"_blank",href:ec.android,withIcon:!0,size:"large",children:"Download for Android"})]})]}),(0,i.jsx)(R,{children:(0,i.jsx)(J.t,{title:"What the app does at the door",listItemColor:"#9d25dc",listItems:[...es],logo:(0,i.jsx)(E,{src:"https://cdn.ticketspotapp.com/website/features/complete%20checkin.png",alt:"A checked-in attendee record in the Ticket Spot check-in app"})})}),(0,i.jsxs)(D,{children:[(0,i.jsx)(Y,{children:"The app needs a connection at the door"}),(0,i.jsx)(Q,{children:"A field, a basement conference room and a marquee all have the same problem, and it is the question organizers ask first. The answer is a straight no: Ticket Spot has no offline check-in mode. Every scan is checked against your live attendee list, so a device with no signal cannot admit anyone until the signal is back."}),(0,i.jsx)(O,{children:ed.map(e=>(0,i.jsx)(N,{children:e},e))}),(0,i.jsx)(Q,{children:"Treat connectivity at the gate the way you treat power: something to check on the walkthrough, not on the day. What you get in exchange is that no device is ever working from a stale copy — a ticket refunded seconds ago is already rejected, a ticket already scanned at another gate is already flagged, and two doors cannot drift apart."})]}),(0,i.jsx)(R,{children:(0,i.jsx)(J.t,{title:"Barcode scanners for a busy gate",listItemColor:"#00A911",backgroundColor:"#E6FAE8",listItems:["Connect a USB or Bluetooth barcode scanner that sends keystrokes — most models work without a driver","Aim and pull a trigger instead of framing a code on screen, which is what makes the difference on a long line","Run scanners and phone cameras side by side on the same gate","Every scan lands in the same check-in record, whichever device read it"],logo:(0,i.jsx)(E,{src:"https://cdn.ticketspotapp.com/website/features/external%20scanning.png",alt:"A handheld barcode scanner reading a QR code ticket at an event entrance"})})}),(0,i.jsxs)(D,{children:[(0,i.jsx)(Y,{children:"Scanning tickets against checking off a printed list"}),(0,i.jsxs)(G,{children:[(0,i.jsx)("caption",{children:"The same door, run two ways. Most of what an app buys you shows up in the exceptions, not in the ordinary arrival."}),(0,i.jsx)("thead",{children:(0,i.jsxs)("tr",{children:[(0,i.jsx)("th",{scope:"col",children:"At the door"}),(0,i.jsx)("th",{scope:"col",children:"Printed guest list"}),(0,i.jsx)("th",{scope:"col",children:"Check-in app"})]})}),(0,i.jsx)("tbody",{children:eu.map(e=>(0,i.jsxs)("tr",{children:[(0,i.jsx)("th",{scope:"row",children:e.aspect}),(0,i.jsx)("td",{"data-label":"Printed guest list",children:e.paper}),(0,i.jsx)("td",{"data-label":"Check-in app",children:e.app})]},e.aspect))})]})]}),(0,i.jsxs)(D,{children:[(0,i.jsx)(Y,{children:"Letting attendees check themselves in"}),(0,i.jsx)(O,{children:eh.map(e=>(0,i.jsx)(N,{children:e},e))}),(0,i.jsxs)(Q,{children:["Kiosk mode is available from ",(0,i.jsx)("strong",{children:n})," up. If you are planning a registration desk around it, the"," ",(0,i.jsx)(c(),{href:"/blog/features/kiosk-mode-badge-printing-conference-checkin",children:"walkthrough of kiosk mode and badge printing for conference check-in"})," ","covers the hardware, the lane maths and what goes wrong."]})]}),(0,i.jsxs)(D,{children:[(0,i.jsx)(Y,{children:"Who runs check-in this way"}),(0,i.jsx)(O,{children:el.map(e=>(0,i.jsxs)(N,{children:[(0,i.jsx)(c(),{href:e.href,children:e.who})," —"," ",e.why]},e.href))})]}),(0,i.jsxs)(D,{children:[(0,i.jsx)(Y,{children:"How to set it up"}),(0,i.jsx)(L,{children:ep.map(e=>(0,i.jsxs)(M,{children:[(0,i.jsx)(U,{children:e.title}),(0,i.jsx)(H,{children:e.body})]},e.title))})]}),(0,i.jsxs)(D,{children:[(0,i.jsx)(Y,{children:"Which plans include check-in"}),(0,i.jsxs)(Q,{children:["Scanning arrives in two steps. The mobile scan app is included from ",(0,i.jsx)("strong",{children:e})," up, on as many devices and for as many scans as you need. Self check-in kiosk mode, check-in analytics, per-ticket check-in limits and the early check-in window all start on ",(0,i.jsx)("strong",{children:t}),"."]}),(0,i.jsx)(Q,{children:"The app itself costs nothing to download from either store — what the plan buys is the scanning, not the softw
1are."}),(0,i.jsxs)(X,{children:[(0,i.jsx)(F,{target:"_blank",href:"https://ticketspotapp.com/manage",withIcon:!0,size:"huge",children:"Start Selling Tickets"}),(0,i.jsx)(K,{href:"/pricing",children:"Compare plans →"})]})]}),(0,i.jsx)($.r,{items:ef})]})})})}var ew=t(48503);t(67294);let ex="Event Check-In App for iOS & Android | Ticket Spot",ek="Scan QR code tickets at the door on a phone, tablet or barcode scanner. Duplicate scans flagged, attendee lookup by name, and check-in analytics afterwards.";function ey(){let e=(0,o.or)({type:"MobileApplication",name:"Ticket Spot Check-In App",applicationCategory:"BusinessApplication",operatingSystem:"iOS, Android",description:"Event check-in app for iOS and Android. Scan QR code tickets with the camera or a barcode scanner, flag duplicate scans, look attendees up by name, and run self check-in kiosks.",featureList:["QR code ticket scanning","iOS and Android apps","USB and Bluetooth barcode scanner support","Duplicate scan detection with per-attendee check-in history","Attendee lookup by last name or email","Self check-in kiosk mode","Check-in limits per ticket type","Check-in analytics"],offers:(0,ee.z4)(er.scanApp)}),n=(0,o.Nu)(ef);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(a.fj,{title:ex,description:"An event check-in app that scans QR code tickets on iPhone, iPad and Android. Flags a ticket used twice, finds attendees by name, runs self check-in kiosks.",canonicalPath:"/event-check-in-app",keywords:"event check in app, event check-in app, event check in software, attendee check-in app, check in app for events, conference check-in app, event ticket scanner, event scanner app, qr code scanning app for events, ticket scanning app, self check-in kiosk",image:"https://cdn.ticketspotapp.com/website/features/feature-checkin-app.png",ogType:"website",ogTitle:ex,ogDescription:ek,twitterCard:"summary_large_image",twitterTitle:ex,twitterDescription:ek,schemas:[e,n],children:(0,i.jsx)(ew.P,{})}),(0,i.jsx)(em,{})]})}}},function(e){e.O(0,[459,4622,119,6223,9122,8751,3418,2916,972,9774,2888,179],function(){return e(e.s=65212)}),_N_E=e.O()}]);

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.