# PassPass Documentation — Full content > Complete plain-text version of the public PassPass documentation, for direct > ingestion by language models. PassPass is an event ticketing and management platform for organizers in Belgium and Europe: event creation, online ticket sales, Stripe Connect payments, attendee management, on-site scanning, and integrations. Each article below is delimited by a `---` separator and carries its canonical source URL, its category and its last-modified date. Content is served in its source language (English preferred when available); the same articles are also published in French and Dutch under https://docs.passpass.be/fr and https://docs.passpass.be/nl. Index of articles by category: https://docs.passpass.be/llms.txt Articles included: 38 Last content update: 2026-08-19 --- # PassPass News | May 2026 Source: https://docs.passpass.be/en/categories/nouveautes/nouveaut-s-passpass-mai-2026 Category: What's new Language: en Updated: 2026-06-06 This May was dedicated to the integration of the analytics beta, the opening to connectors (API, webhooks), and continuous improvements of the basic flows. Analytics New module available for each event. Track your sales and audience in real-time from a single screen: visits, conversion rate, revenue, average basket, day-by-day sales evolution, ticket distribution, traffic sources, geographical origin, purchase hours and days, and the proportion of new vs recurring participants. Go to your event page, Analytics tab. Real-time sales notifications Via the mobile app PassPass Organizer, each new sale triggers a push notification on your phone. Track your registrations without opening the dashboard. → iOS - App Store → Android - Play Store Notifications can be suspended at any time in the app settings. Sharing links for promo codes and hidden tickets No need to ask your participants to manually enter a code. Share a direct link that automatically applies your promo code or unlocks your hidden tickets. An added convenience for your participants. Retrieve the link via the menu (three dots) of your promo code, or from the code configuration panel. Learn more: Using promo codes Improved participant management Several improvements in managing your participants. Enhanced tables → filters on your promo codes, new columns, faster access to your data Accessible custom fields → your custom fields are now visible and editable directly from the participant record or the order. When manually adding a participant, you can also fill in all the fields of your form (previously, only name, first name, and email were available) Personal notes → add internal notes to your participants for better tracking Simplified Excel import → when importing participants via Excel, your tickets are directly offered in a dropdown menu. No need to search and copy the ID manually Enhanced export and scanning → retrieve more data in your exports, including check-in (validation) times of your participants Badge printing PassPass now offers a custom badge printing system for your events. Upon arrival, your participants' tickets are scanned, and a personalised badge is printed in seconds. Professionalise and streamline entry management. Badges are customised to your event and can display participant-related data: name, company, access type, or any other field collected during registration. Printing equipment is available for rent. Contact us for a quote. Discover the badge printing service Contact us Expanded billing data collection The billing form now supports more countries outside the European Union, to better accommodate your international participants. Public API and Webhooks Connect PassPass to your tools and workflows. The public REST API allows you to read your data from an external system. Webhooks send real-time notifications for each important event. Use cases: CRM synchronisation, accounting export, automations via Zapier, Make, or n8n. Go to Settings → Developers to create your API keys and webhook endpoints. Learn more: Public API and Webhooks Work in progress In the interest of continuous tool evolution, here are the themes expected for the coming weeks: Ticketing integrated into your website → unify your branding and ticketing for a modern and intuitive user journey, without leaving your spaces. Advanced customisation: fonts, colours, rounding... New event page → more customisation with configurable sections: artist/speaker line-up, schedule, FAQ, image gallery... Promotional code management tool → interface optimisation for managing a large number of promo codes Multidate events → facilitate multi-date event management MCP PassPass → connect PassPass to your AI assistants (ChatGPT, Claude, ...) to assist you in reading your data, analytics, improvement suggestions, etc. Questions, feedback, or suggestions? Feel free to contact our product manager Jean: jean@passpass.be --- # Add Participants: Manual and CSV Import Source: https://docs.passpass.be/en/categories/manage-your-participants/ajouter-des-participants-manuel-et-import-csv Category: Manage Your Participants Language: en Updated: 2026-06-01 1. Manual participant addition Access participant management From your event dashboard, go to the Participants section and click the Add a participant button. Enter information First name: participant's first name Last name: participant's last name Email: valid email address (required for sending confirmation) Custom fields: if you have set up a custom form, you can fill in all fields directly when adding Assign tickets Select the ticket type to assign and choose the quantity. You can assign multiple ticket types to the same participant. Validation and confirmation Check the entered information and click Confirm addition. The participant will automatically receive a confirmation email containing the event details, their tickets in QR code format and practical information. Completely free Manually adding participants is entirely free, regardless of the number of tickets assigned. This feature is ideal for: Inviting VIPs or partners Offering seats to your team Managing press tickets Assigning seats following competitions Irreversible action Once added, the participant cannot be removed from your list. Only the deletion of their free tickets is possible. 2. Import via CSV file For large additions, CSV import allows you to add multiple participants simultaneously. Download the template In the Participants section, click Import participants and download the predefined CSV template available in the modal. The template contains the following columns: First name: participant's first name Last name: participant's last name Email: valid email address Ticket: open the dropdown to select directly from your existing tickets Quantity: number of tickets of this type Prepare your file Complete each line with a participant's information. Respect the exact column names. For the "Ticket" column, use the dropdown which displays all your existing tickets by default. Managing multiple tickets To assign multiple ticket types to the same participant, create multiple lines with the same name/email and change the ticket and quantity on each line. Including add-ons Add-ons can also be assigned. Select them from the dropdown in the "Ticket" column. The "Quantity" column also works for add-ons. Import and validation Select your completed CSV file and click Import. PassPass displays all correctly formatted lines. Check that the information matches your expectations. Common errors include: Invalid or poorly formatted email Ticket not selected in the dropdown Empty required fields Incorrect data format In case of errors, correct your CSV file and re-upload the corrected file. Repeat until you get 100% valid lines. If all lines are valid, click Confirm import. Participants are added and each participant automatically receives their confirmation email. Best practices Data preparation Check the validity of email addresses Remove duplicates from your list Standardize the format of names Managing large volumes For large volumes, divide your file into several smaller imports. This makes error detection easier and allows better process control. --- # Connect Google Analytics 4 to your ticketing system Source: https://docs.passpass.be/en/categories/integrations-and-tools/connecter-google-analytics-4 Category: Integrations and tools Language: en Updated: 2026-08-17 Your PassPass sales pages automatically send their data to your Google Analytics 4 account: visitors, cart additions, purchases, and amounts. You measure what your ads and posts bring in, directly in the tools you already use. Available for all organizers, without any specific activation. Before you start You need a Google Analytics 4 account and its measurement ID. It always starts with G- and looks like G-XXXXXXXXXX. Where to find it: in Google Analytics, Admin → Data Streams → click on your web stream. The ID is displayed at the top right. Don't have an account yet? Create one at analytics.google.com. It's free. Where to paste your ID Two possible levels depending on your needs. For all your events (recommended) Organizer Profile → Settings → Tracking & Pixels Your ID applies to all your events, including those you will create later. You configure it once and don't have to revisit it. For a specific event Your event → Advanced Settings → Tracking & Pixels Useful when an event needs to feed a separate account, for example, a co-produced festival where the partner tracks their own numbers. An event that sets its own Google Analytics ID replaces the organization's ID only for Google Analytics. If you also had a Meta Pixel at the organization level, it continues to apply normally. Click Save. It's active immediately. Where it applies Your event page on passpass.be → yes Your organizer page on passpass.be → yes Ticketing widget integrated into your site → no Event list widget integrated into your site → no When ticketing is integrated into your own site via the widget, the sale takes place on your site, not on passpass.be. The ID entered here does not apply. Your widgets send their data directly to the measurement tool already installed on your site, providing you with more reliable measurement. What you receive in Google Analytics Once connected, your Google Analytics account receives the entire purchase journey: view_item : a visitor opened your event page view_item_list : your organizer page was displayed select_item : a visitor clicked on an event from your organizer page add_to_cart : a ticket was added to the cart begin_checkout : the purchase journey started select_promotion : a promo code was applied payment_started : the visitor proceeds to payment purchase : the sale is confirmed, with the amount and ticket details order_expired : the cart expired without purchase generate_lead : someone contacted you from the page Each event also carries the name and ID of the concerned event, allowing you to compare your events with each other. Three settings to make in Google Analytics Without these settings, your data arrives but remains difficult to exploit. Allow five minutes. 1. Exclude Stripe from traffic sources The payment takes place on Stripe, then the buyer returns to the confirmation page. Without this setting, Google Analytics thinks it's a new visitor coming from Stripe and attributes the sale to Stripe instead of your ad or newsletter. Result: your campaigns show zero conversion while they generate sales. Admin → Data Streams → your stream → Configure tag settings → List of unwanted referrals Add: stripe.com checkout.stripe.com 2. Mark purchase as a key event Admin → Events → enable Mark as key event on the purchase line This allows Google Analytics (and Google Ads if you use it) to treat your sales as conversions. 3. Declare custom dimensions To be able to filter your reports by event, declare this information once. Admin → Custom Definitions → Create a custom dimension (Event scope) Create one per line, copying the name exactly: pp_event_name : filter and compare by event pp_event_id : technical ID of the event pp_language : compare your languages pp_organization_name : useful if you manage multiple organizations Verify it works Open your event page on passpass.be in a new tab Accept cookies in the banner In Google Analytics, go to Reports → Real-time You should appear as an active user in less than a minute, and the view_item event should display in the list Standard reports take 24 to 48 hours. Don't worry if Monetization or Acquisition are still empty on the first day. The Real-time report confirms the connection is working. This is normal. Google Analytics only counts visitors who accepted cookies in the consent banner. PassPass's internal statistics measure everyone anonymously. A discrepancy of 30 to 60% is common. Yes, both fields are independent and coexist without conflict. But if you already configure Google Analytics inside your Tag Manager container, don't enter it here as well: you would count each sale twice. Check that it starts with G-. A GT- ID is a Google tag, an AW- is a Google Ads account, a UA- is the old Universal Analytics stopped since 2023. Only the G-XXXXXXXXXX format is accepted. Yes for most of the journey: view_item, add_to_cart, and begin_checkout trigger without payment. Only purchase requires an actually paid order. Then take your cheapest rate. A free ticket does not go through payment and would not trigger the same journey. Yes, at any time, in the same place. Collection stops immediately. Data already sent remains in your Google Analytics account. --- # Generate invoices for your participants Source: https://docs.passpass.be/en/categories/finance-payments/g-n-rer-des-factures-pour-vos-participants Category: Finance & Payments Language: en Updated: 2026-05-23 When a participant purchases a ticket on PassPass, you, the organizer, are the legal seller. PassPass acts as a technical intermediary and facilitates the transaction, but the sale is concluded between you and your participant. Invoices must therefore be issued in your name, not in the name of PassPass. To simplify this step, PassPass provides an invoice generation module. This tool allows you to create, number, and send PDF invoices to your participants, directly from orders exported from your PassPass dashboard. Access the invoicing module → invoice.passpass.be The invoicing module is a separate tool from your regular dashboard. Your PassPass account (dashboard.passpass.be) does not work on this module → you need to create a new account on invoice.passpass.be. Create your account Go to invoice.passpass.be and create a new account. This account is independent from your PassPass account → even if you use the same email address, it is a separate account with its own password. Once registered, you will arrive at your invoicing dashboard. Configure your settings Before generating your first invoice, configure your billing information in Settings : Company number → your VAT or company number Legal name → the official name of your organization Billing address → the address that will appear on your invoices Product description → the label that appears on the invoice line (for example "Workshop access"). You can include the tag {event_name} to automatically insert the event name Document language → choose the language in which invoices will be generated (French, Dutch or English) Create an event From your dashboard, click Create an invoice then select New event. Give it a name (for example, the name of your PassPass event) and set the applicable VAT rate. If you have already created an event and want to add new participants, simply select the existing event instead of creating a new one. Import your participants You have two options to add participants : Manual entry → enter the information one by one Import via Excel file (recommended) → directly import the file exported from your PassPass dashboard To export the file from PassPass : Go to the Orders section of your PassPass dashboard Click Export to download the Excel file In the invoicing module, click Import and select this file The module tells you how many rows are valid → this number corresponds to paid orders (free orders do not generate an invoice). Importing in multiple batches You don't need to wait until all orders are in to start invoicing. For example, one week after your event, export your orders from PassPass and import them to send a first batch of invoices. The following week, simply re-export all orders for the event from your PassPass dashboard, then re-import this file into the same event on invoice.passpass.be → the module automatically excludes orders for which an invoice has already been issued. No need to sort or adjust your import file, the module handles it. Preview your invoices Before validating, you can preview each invoice by clicking the preview icon. Each invoice displays : Issuer → your billing details (based on your settings) Recipient → the information of the person who placed the order Amount excl. VAT and VAT → PassPass tickets are sold VAT included, the invoice details the breakdown Balance due → 0 € since the invoice is issued after purchase (the participant has already paid) Number and validate Assign an invoice number by configuring your numbering sequence : Prefix → for example "INV2026" or any other format matching your accounting Starting number → adjust it to follow the sequence already started in your accounting journal Number of digits → adjust the number of digits after the prefix A preview at the bottom left shows the result in real time (for example INV2026-121, INV2026-122, etc.). Once satisfied, click Validate invoices to generate them. Make sure to follow your numbering sequence to avoid inconsistencies in your accounting. PassPass is not responsible for managing your numbering sequence. Send invoices Once the invoices are validated, you can send them by email directly from the module. You can adjust the language of the sending email. Your participants will receive an email inviting them to download their invoice. By clicking the link, they access a page where they can download the PDF for their accounting. Track and export From your dashboard, you can track the status of each invoice using the status indicators → invoice sent, downloaded, etc. For your own accounting, select your invoices and export them : PDF export → for archiving or manual sending UBL export → structured format compatible with accounting software (Horus, Falco, Accountable, etc.) enabling automatic import and sending via the Peppol network Some accounting software can also automatically generate a Peppol invoice from a PDF. Check the features of your software. Go to invoice.passpass.be. The module is accessible to all PassPass organizers. You need to create a new account → your PassPass account (pro.passpass.be) does not work on this module. Yes, you can create as many events as needed in the module. Each event has its own participant list and its own invoices. The module automatically detects duplicates → already generated invoices will not be recreated. You can therefore re-import your orders at any time. No, only orders with an amount greater than 0 € generate an invoice. Once validated, an invoice can no longer be modified. Make sure to check your settings and preview before validating. --- # Scan tickets and control access with PassPass Source: https://docs.passpass.be/en/categories/manage-your-participants/scanner-les-tickets-et-contr-ler-les-acc-s-avec-passpass Category: Manage Your Participants Language: en Updated: 2026-04-07 Solution 1: Manual Control via Excel Export Traditional Method For events without mobile equipment or those who prefer a paper version: Export the list of your participants from the "Participants" tab Print or view the Excel file on a tablet/computer Manually check off participants upon their arrival This method works but has limitations: no real-time updates, risk of manual errors, and no traceability of arrival times. Solution 2: PassPass Organizer Mobile App (Recommended) The app is completely free to download and use for all PassPass organizers. App Download PassPass offers native mobile apps available on smartphones and tablets via the stores: App Store (iOS): Search for "PassPass Organizer" Direct link: PassPass Organizer App Store (IOS / Apple) Play Store (Android): Search for "PassPass Organizer" Direct link: PassPass Organizer Play Store (Android) The app allows you to track all key information of your event in real-time: sales, participants, orders, and especially to control access professionally. Validator Configuration Add Members to the Validation Team Access Team Management From your event dashboard, click on "My Team" This section lists all members with access to your event Invite a Validator Click on "Add Member" Enter the person's email address Select the "Validator" role from the dropdown menu Invitation Process The invited person will automatically receive an invitation email They must click on "Accept Invitation" If they do not yet have a PassPass account, they will be guided to create one Once the account is created, they will have access to the event with validation permissions As a validator, a member does not have access to the dashboard or financial data of your event. Only to the mobile app for validating entries. Validator Login to the App Download and Login The validator downloads the PassPass Organizer app They log in with the same credentials as their PassPass web account The app automatically syncs their event access Access to Features Dedicated interface for ticket scanning Participant list for manual validation History of validations performed Ticket Scanning System QR Code Scan The app offers a scanning system with color codes for immediate identification: Valid Ticket (Green) The participant can enter Their status automatically changes to "Validated" The validation time is recorded Already Scanned Ticket (Orange - Warning) Alert message with the date and time of the first scan Allows identification of reuse attempts The validator can allow or deny access depending on the context Invalid Ticket (Red - Error) Ticket linked to another event Ticket canceled or deleted Corrupted or falsified QR code Access automatically denied Validation by Participant List For special cases where QR scanning is not possible: Manual Search Search interface by name, first name, or email Instant results in the participant list Ideal for participants who forgot their ticket Validation by Swipe Swipe right on the participant's name Immediate validation of their entry Same traceability as QR code scan Usage Situations Participants uncomfortable with technology Lost or forgotten PDF ticket Unreadable printed tickets …. Tracking and Validation History Detailed Information by Participant By clicking on a participant in the app: Complete History of validations Exact Dates and Times of each scan Utility for Conflict Resolution This traceability allows you to: Verify in case of participant complaint Analyze entry flows by time slots Detect potential validation anomalies Best Validation Practices Team Preparation Validator Training Install and test the app before the event Train your team on the different color statuses Prepare procedures and define your entry policies for special cases Recommended Equipment Recent smartphones with good camera quality External batteries for long events Stable internet connection (4G/WiFi) Frequently Asked Questions How many validators can I add? No limit on the number of validators. Add as many members as needed depending on the size of your event. Do validators have access to financial data? No, the "Validator" role only provides access to ticket scanning and the participant list. No financial data is accessible. Can the same ticket be scanned multiple times? The system detects multiple scans and displays an orange warning. The validator can decide whether to allow or not depending on the context. Does the app work on all smartphones? The app is compatible with iOS 12+ and Android 8+. A functional camera is required for QR scanning. Can I see validations in real-time from my dashboard? Yes, validations appear in real-time on your web dashboard via the "Scan and Entries" tab, allowing global monitoring of attendance, and this data is also exportable. --- # Which status to choose to link your account? (Company, non-profit, unincorporated association, individual) Source: https://docs.passpass.be/en/categories/finance-payments/quel-statut-choisir-pour-lier-votre-compte Category: Finance & Payments Language: en Updated: 2026-07-28 When linking your account via Stripe (our payment provider), the first question asked is your organisation's entity type. This choice determines the documents you will be asked for, and it is where most blockages occur. Identify your situation below before starting the link. A wrong entity type can block the verification and force you to restart the configuration from scratch. Overview | Your situation | Stripe account type | Documents to prepare | |---|---|---| | Company (SRL/BV, SA/NV, SC/CV...) | Company | Business IBAN, CBE/VAT number, articles of association, representative's ID | | Non-profit (ASBL/vzw) | Non-profit organisation | IBAN, CBE number, articles published in the Official Gazette, representative's ID | | Unincorporated association with a company number | Non-profit organisation | IBAN, CBE number, representative's ID | | Unincorporated association without a company number | ⚠️ Special case, see below | | | Self-employed (natural person) | Sole proprietorship | IBAN, CBE/VAT number, ID | | Individual (no registered activity) | Individual | IBAN + ID card | | Self-employed via an activity cooperative (Smart...) | ⚠️ Not compatible, see below | | Company (SRL/BV, SA/NV, SC/CV…) The simplest case. Select Company, fill in your CBE/VAT number and the IBAN of the business account. Stripe automatically checks your data against the Crossroads Bank for Enterprises. The ID of the legal representative (and of any beneficial owners at 25% or more) will be requested. Never fill an optional field with "None", "/" or "N/A", especially the VAT number field. Stripe then considers a number was provided and rejects it repeatedly, which blocks the whole file. If you have no VAT number, leave the field empty. Non-profit (ASBL/vzw) Select Non-profit organisation. Stripe requests an official document proving the existence of your non-profit. Accepted documents: The publication of your articles of association in the annexes of the Belgian Official Gazette (downloadable free of charge from ejustice.just.fgov.be) A recent CBE extract mentioning your non-profit A simple PDF of your internally signed articles is often rejected by Stripe, as it is not a verifiable official document. Always use the version published in the Official Gazette. Unincorporated association: the tricky case An unincorporated association (association de fait / feitelijke vereniging) has no legal personality. As a result, it often has no official document to submit, while Stripe requires one for verification. It is the leading cause of complete blockage we encounter. Recommended option: the sole proprietorship The solution we recommend: one representative of the association registers as a sole proprietorship (natural person) with a business one-stop shop, then links the account in their own name with that company number. Registration via an accredited business one-stop shop (allow around €90 in CBE registration fees) The Stripe verification becomes simple: CBE number + ID card Revenue is paid to the account associated with this activity Discuss it with your accountant or a business one-stop shop regarding tax implications: the ticketing revenue will be received in the name of this sole proprietorship. Alternative: the "association without legal personality" option Stripe offers an "Association without legal personality" option (NL: vereniging zonder rechtspersoonlijkheid), but it is not very visible in the flow and its configuration differs depending on whether your association has a company number: With a company number: select this option and fill in the number, the verification proceeds normally. Without a company number: the verification then relies entirely on the person linking the account (ID card + IBAN). In practice, this path fails regularly, hence our recommendation of the sole proprietorship above. Individual Organising an event in your own name, without a structure? Select Individual. Your ID card and your IBAN are enough. Revenue is then received in your own name. Depending on the amounts and the frequency of your events, this may have tax implications. Check with your accountant. Self-employed via an activity cooperative (Smart, etc.) If you work through an activity cooperative such as Smart, you do not have your own company number: the standard Stripe link is not compatible with this structure. Contact our support, we will set up a suitable payout solution with you. Foreign structure (France, Switzerland…) Linking also works with a structure established outside Belgium: select the country of your structure on the first screen, then follow the equivalent flow (SIREN/SIRET in France, UID in Switzerland…). The country can no longer be changed after validation. Check it carefully before continuing. A wrong country requires a full account reset via our support. Changing status along the way? Your organisation is moving from unincorporated association to non-profit, or from individual to self-employed? The entity type of an existing Stripe account cannot be freely changed. Contact our support: we reset your link so you can restart it with the right status, without losing your balance. Submit the publication in the Belgian Official Gazette rather than an internal PDF. If the blockage persists, contact our support with a screenshot of the Stripe request. No, a bank account does not replace an official registration document. See the two options described above (sole proprietorship or association without legal personality). Yes, if you link the account as an individual or sole proprietorship. For a company or a non-profit, the IBAN must match the organisation. --- # Export Participant Data Source: https://docs.passpass.be/en/categories/manage-your-participants/exporter-les-donn-es-des-participants Category: Manage Your Participants Language: en Updated: 2026-03-10 Access export options Navigate to export Access your event Open the dashboard of your relevant event Click on the "Participants" tab in the left menu Locate the “Actions” export button At the top right of the participants table Click on the "Actions" button Two export options appear in the dropdown menu Type 1: Export Excel (basic data) Type 2: Export form data (complete data) Type 1: Export Excel (basic data) Basic export content This export contains the essential information of each participant: Included columns: ID : Unique identifier of the participant First name : Participant's first name Last name : Participant's last name Email : Participant's email address Nom du ticket : Ticket type (e.g., ticket paid, ticket demo) Prix d'achat : Amount paid for the ticket (0 for free tickets) Code promo : Discount code used (if applicable) Dernière validation : Ticket validation status Date d'achat : Timestamp of purchase or addition Type 2: Export form data (complete data) Usage condition: This option is only available if you have created custom fields in your purchase path. If no custom form has been configured, only the basic Excel export is available. Configuration from "Purchase Path": Custom fields are configured when creating your tickets via the "Purchase Path" option. This allows you to add specific questions, mandatory fields, or multiple options according to your needs. Complete export content This export includes all the information collected during registration: Basic data: All information from the basic Excel export Plus all data from custom fields Custom form data: Answers to custom questions Additional collected information Dietary preferences, specific needs Multiple choices, checkboxes Comments and free text areas Billing data is not included in participant exports, even if the billing option is enabled for your event. Why this limitation? Billing data is linked to a global order, not to a specific participant. An order may include multiple tickets for different participants. Access billing data Alternative procedure: Access the "Orders" tab in your event dashboard Export order data to obtain billing information This data includes billing addresses, VAT numbers, and other tax information Frequently Asked Questions Can I export only certain participants? The export concerns all participants of the event. For a specific selection, before exporting, select the targeted individuals, or use Excel filters after export. Are the data updated in real-time? No, the export reflects the state at the time of generation. Re-export to get the most recent data. Can I export in CSV format? Currently, only the Excel format is available. You can convert the Excel file to CSV from your spreadsheet software. Do the exported data comply with GDPR? Yes, but you must process this personal data in accordance with GDPR. Use it only for managing your event and secure its storage. Can I see which participants used a promo code? Yes, the "Code promo" column indicates the code used. Empty boxes (-) correspond to participants who did not use a discount. Can I automate exports? Manual exports cannot be automated. For automatic synchronization, contact our support to explore setting up webhooks. Where to find billing data? Billing data is not in the participant export. Go to the "Orders" tab to export this transaction-specific information. --- # Resolve a Stripe Verification Block Source: https://docs.passpass.be/en/categories/finance-payments/resoudre-un-blocage-de-verification-stripe Category: Finance & Payments Language: en Updated: 2026-07-28 Stripe, our payment provider, is legally required to verify the identity of each organization receiving funds (KYC regulation). When information is missing or unrecognized, payouts are suspended. Your sales, however, continue normally and your money remains safe in your PassPass balance. Find below the most common blockages, by symptom. Where to see what's blocking? Go to Finances → Payout Methods then open your Stripe dashboard: missing elements are listed there. If in doubt, the email Stripe sent you contains a direct link to the required action. “Your account is restricted” / “Restricted access” This message means that a verification information is missing or expired, not that your account is sanctioned. Log in via Finances → Payout Methods → Manage. Open the section indicating the required information. Complete each listed item (document, address, number...). Submit: the review usually takes a few hours to 2 business days. If the list of required information is empty but the message persists, contact our support: some blockages need to be lifted on the Stripe side. I received an email “ [Action required]” This email is legitimate and important: Stripe asks you to complete information before a deadline, otherwise payouts are suspended. Follow the link in the email (or go through your dashboard) and complete the request. Doubt the authenticity of an email? Do not click on anything and go directly through Finances → Payout Methods in PassPass: if an action is really required, it will be visible there. My ID document or statutes are rejected The most common reasons for rejection: Unreadable photo: reflections, cropped document, low resolution. Take a new photo flat, in full light, with all 4 corners visible. Unofficial document: for an ASBL, a PDF of internal statutes is not enough. Submit the publication to the Belgian Official Gazette or a BCE extract. Name inconsistency: the name on the document must match exactly the one provided in the account. Expired document. Verification of owners fails For companies and ASBL, Stripe asks to confirm the beneficial owners and directors. If you get an error when confirming: Ensure each listed person has all fields completed (date of birth, full address, role). Remove duplicate people or those no longer part of the organization. Then confirm the list via the provided button, then submit. If the error persists, contact our support with a screenshot: we escalate directly to Stripe. “Almost finished” that never completes Stripe indicates that your account is “almost ready” but nothing is unlocking? There is usually one of the following elements remaining: The Stripe terms of service to accept (a discreet box at the bottom of your Stripe dashboard) An unconfirmed IBAN A document submitted but still under review (allow up to 48h) I click on “Complete onboarding” but return to the same screen If the Stripe process redirects you to PassPass without any changes (loop), it's almost always because an element was modified along the way (legal status, email, company number) and the file needs to be manually reconciled. Contact our support: we reset the connection properly, without loss of your balance. My payouts are on hold but everything seems validated Two separate verifications must be green: The PassPass validation of your organization (usually within 24 to 48h after your registration) The Stripe verification of your identity An account can display “approved” on one side and remain pending on the other. The complete status is visible in Finances → Payout Methods. If a payout date is pushed back without explanation, it's a sign that a Stripe verification is still ongoing. What our support can do (and cannot do) We can: see the exact status of your verification, tell you precisely what's blocking, reset your connection (wrong country, wrong status, email change), escalate a case to Stripe. We cannot: approve a case on behalf of Stripe or bypass a KYC requirement. These legal obligations apply to all payment providers. During any blockage, your money is safe. Sales continue, funds accumulate in your balance and are fully paid out once the blockage is lifted. --- # Link your bank account and receive your revenue Source: https://docs.passpass.be/en/categories/finance-payments/lier-votre-compte-bancaire-et-recevoir-vos-recettes Category: Finance & Payments Language: en Updated: 2026-07-28 To receive your ticketing revenue on your bank account, you need to link it via Stripe, our payment provider. This guide covers the whole journey: preparation, linking, verification and payout. The essentials Stripe is our payment provider, a global reference in secure online payments. No additional fees to expect: Stripe fees are covered by us, already included in the PassPass fees. You can sell before linking your account: funds accumulate safely on your PassPass balance. For each sale, 65% of the amount is available immediately and 35% is held for 30 days. This is a security reserve, not a fee: everything comes back to you. Learn more Linking is done via Finances → Payout methods and involves two validations: PassPass (24 to 48h) and the Stripe verification. Once active, a payout reaches your account within 2 to 3 business days. 1. Before you start: your status and documents The first choice in the process is your organisation's entity type (company, non-profit, unincorporated association, individual...). Take the time to choose it correctly: it determines which documents are requested, and a wrong choice can block the verification. Which status to choose? Company, non-profit, unincorporated association, individual → Unincorporated association without a company number? This is the most frequently blocked case: without legal personality, you have no official document to submit while Stripe requires one. Our recommendation is that one representative registers as a sole proprietorship. Full details in the article above. Also prepare, depending on your status: the IBAN of the destination account, the representative's ID card, and where applicable your company number (CBE) and your articles of association published in the Belgian Official Gazette. Three pitfalls to avoid The country: it cannot be changed after validation. A mistake requires a full reset via support. The email address: it is the permanent identifier of your Stripe account. Use a durable address belonging to the organisation, not a personal address that may change, nor an address tied to a phone number you might cancel (two-factor authentication depends on it). Access: do not share a single Stripe login between several people. Two-factor authentication is personal; add team members instead. 2. Linking your account, step by step From your dashboard, open Finances → Payout methods. Click Configure: you are redirected to the Stripe flow. Select your country then your entity type (see section 1). Fill in your organisation's details and the destination IBAN. Submit the requested verification documents (sharp photos, all 4 corners visible). Accept the Stripe terms of service. This step is easy to miss but necessary: without it, payouts remain blocked. You are redirected back to PassPass and the verification runs its course. 3. After linking: understanding where you stand Two separate validations must be completed. An account can be "approved" on one side and still pending on the other: | Status | What it means | What you need to do | |---|---|---| | Pending PassPass validation | Our team validates your organisation (24 to 48h) | Nothing, your sales run normally | | Information required (Stripe) | A document or piece of data is missing | Complete it via Finances → Payout methods | | Verification in progress | Stripe is reviewing your file (up to 48h) | Nothing, a little patience | | Active | Everything is validated | Your payouts follow the chosen frequency | How do you know everything is OK? When your payout method shows the active status and no action is listed in your Stripe dashboard. If an amount stays blocked while everything seems validated, it is often the Stripe terms of service left to accept or an IBAN to confirm. A blockage, a rejected document, a "restricted account" message? Resolve a Stripe verification blockage → 4. Receiving your money Once the link is active, your available funds are paid out according to the frequency you choose in Finances → Payout methods: Manual: you trigger each payout yourself Daily, weekly or monthly: automatic payouts Allow 2 to 3 business days between the trigger and the arrival on your account. Receiving nothing although everything is validated? Check your frequency: if it is set to Manual, no payout leaves without your action. Switch to automatic or trigger a payout manually. Does the amount received seem lower than your sales? That is the 35% security reserve, released automatically 30 days after each purchase. It is not a fee. Understanding reserves and payouts → 5. Common issues That is the security reserve: 65% is available immediately, 35% is held for 30 days then paid out in full. Nothing is lost. Details here. A piece of verification information is missing or was not recognised. Follow our troubleshooting guide by symptom. These elements cannot be changed after validation. Contact our support: we reset your link without losing your balance. Changing the IBAN is done via your Stripe dashboard. Changing the entity type (for example moving to a non-profit) requires a reset by our support. The 30-day reserve is a requirement of our payment provider and cannot be lifted case by case. Plan ahead: link your account as soon as sales open and choose a daily frequency. You will receive 65% of each sale as it comes, without waiting for the event. Your exports and accounting documents are available in Finances → Accounting. Export your financial data. Related articles Which status to choose? (Company, non-profit, unincorporated association, individual) Understanding Stripe Connect: reserves and payouts Resolve a Stripe verification blockage Export your financial data for accounting --- # Edit and delete a participant Source: https://docs.passpass.be/en/categories/manage-your-participants/modifier-et-supprimer-un-participant Category: Manage Your Participants Language: en Updated: 2026-03-10 1. Access Management Options Locate a Participant Access Your Event Open the dashboard of your concerned event Click on the "Participants" tab in the menu Identify the Participant Browse through the list of your registered participants Use the search bar to quickly locate a specific participant Participants are displayed with their name, email, and ticket type Access Actions Locate the three dots (...) to the right of each row in the table Click on these dots to open the actions menu 2. Edit Participant Information Editing Procedure Open Editing Click on the three dots (...) to the right of the participant's row Select "Edit" from the dropdown menu Edit Information First Name : Edit the first name if necessary Last Name : Correct the last name Email : Update the email address Tickets : Add, remove, or modify assigned tickets Save Changes Verify the modified information Click on "Save" to confirm the changes Email Address Modification No automatic email resend. When you modify a participant's email address, no new confirmation email is automatically sent to the new address. Recommended Procedure: Modify the email address in the dashboard Copy the direct link to the participant's ticket via the three dots (...) to the right of the participant's row Personally send this link to the new email address Inform the participant of the change and the procedure This manual step ensures that the participant receives their ticket information at their new address. 3. Remove a Participant Important Restriction: Free Tickets Only Deletion Limitation Deleting participants is currently only possible for free tickets. Participants who have purchased paid tickets through the online ticketing system cannot be removed from the dashboard. Deletion Procedure Verify Ticket Type Ensure the participant only has free tickets Paid tickets appear with a price indication Open Deletion Options Click on the three dots (...) to the right of the participant's row Select "Delete" from the dropdown menu Deletion Confirmation A confirmation window appears Read the warning carefully Confirm your choice by clicking on "Permanently Delete" --- # Connect Google Tag Manager to your ticketing system Source: https://docs.passpass.be/en/categories/integrations-and-tools/connecter-google-tag-manager Category: Integrations and tools Language: en Updated: 2026-08-17 Google Tag Manager is a distribution box: you plug in Google Analytics, the Meta Pixel, TikTok, Google Ads, all powered by the same events. You add or remove a destination without ever asking us for anything. If you work with an agency or a webmaster, this article is the one to pass on to them. Google Tag Manager is not active by default. It is activated upon request to our team. A Tag Manager container can execute code on pages where your buyers' data transit. We activate the feature for organizers who need it. Contact us to activate Tag Manager Where to paste your container ID Your ID starts with GTM- and looks like GTM-XXXXXXX. You find it at the top of your Tag Manager workspace. For all your events (recommended) Organizer profile → Settings → Tracking & Pixels For a specific event Your event → Advanced configurations → Tracking & Pixels An event that defines its own container replaces the organization's one, only for Tag Manager. Your other IDs (Google Analytics, Meta Pixel) continue to be inherited normally. Two scenarios Scenario A: your buyers purchase on passpass.be Your container is loaded on your event page and on your organizer page. It receives all the events of the journey. Security restriction: our pages host a purchase session and personal data. The "custom HTML" tags and the "custom JavaScript variables" of your container will not execute. Everything else works normally: Google Analytics, Google Ads, Meta Pixel, TikTok, and other models from the Tag Manager gallery. Scenario B: the ticketing is integrated on your site The widget sends its events directly into the dataLayer of your page, on your own domain. Your Tag Manager runs on your site, as usual. No restrictions from us: it's your site, your rules No third-party cookie, no broken session, no loss of attribution A more reliable measurement than a redirect to passpass.be Nothing to enter in PassPass for this scenario: just have your container installed on your site. The Tag Manager field on your dashboard is only for scenario A. The only condition: your site's domain must be listed in the widget's authorized domains. What your container receives These events are identical in both scenarios: view_item_list : a list of events has been displayed select_item : an event from the list has been clicked view_item : an event page has been opened add_to_cart / remove_from_cart : ticket added or removed from the cart select_promotion : a promo code has been applied begin_checkout : the purchase journey starts add_payment_info : a payment method is chosen payment_started : departure to payment (last measurable point before Stripe) purchase : sale confirmed purchase_cancelled : return from payment without purchase order_expired : cart expired generate_lead : contact form sent Data structure E-commerce information is in an ecommerce object, in the standard Google Analytics 4 format. Information specific to PassPass is at the root, prefixed pp_. { "event": "purchase", "pp_organization_id": "...", "pp_organization_name": "Ma structure", "pp_event_id": "14", "pp_event_name": "Conférence 2026", "pp_language": "fr", "ecommerce": { "transaction_id": "8421", "value": 205.20, "currency": "EUR", "coupon": "EARLY10", "items": [ { "item_id": "tkt_standard", "item_name": "Entrée Standard", "item_category": "Conférence 2026", "price": 100.00, "quantity": 2, "index": 0 } ] } }Amounts are in decimal euros, never in cents. When a buyer arrives from your organizer page or from the list widget, item_list_id is retained until purchase. You can measure the revenue generated by your organizer page. The list widget ID is embed_event_list. Configure Tag Manager 1. Create a variable for the event name Variables → New → type Data Layer Variable Key name: event. Name it DLV - event. 2. Create a unique trigger Triggers → New → type Custom Event Check "Use regex matching", then paste: ^(view_item_list|select_item|view_item|add_to_cart|remove_from_cart|select_promotion|begin_checkout|add_payment_info|payment_started|purchase|purchase_cancelled|order_expired|generate_lead)$3. Create a Google Analytics 4 tag Tags → New → type Google Analytics: GA4 event Event name: {{DLV - event}} Expand More settings → E-commerce → check "Send e-commerce data", source Data Layer Trigger: the one created in step 2 A single tag covers all events. The e-commerce box automatically maps items, amounts, and transaction ID. 4. Add the PassPass context Create a data layer variable for pp_event_id, pp_event_name, pp_organization_name and pp_language, then add them in Event Parameters on the tag. Then declare them in Google Analytics: Admin → Custom Definitions → Event scope, copying the names exactly. Without this step, they arrive but remain invisible in the reports. 5. Publish Preview mode is not enough: click Submit for your tags to apply to your real visitors. Exclude Stripe from traffic sources Payment goes through Stripe, then the buyer returns. Without this setting, Google Analytics attributes all your sales to Stripe instead of your campaigns. Admin → Data Streams → your stream → Configure tag settings → List of unwanted referrals Add: stripe.com checkout.stripe.com embedded.passpass.be (only if you use embedded widgets) Test Open Preview mode in Tag Manager by entering the relevant URL (passpass.be for scenario A, your own site for scenario B) Unfold the journey: events appear in the left column, your tags under Tags Fired Check in Google Analytics → Admin → DebugView. Preview mode automatically enables debugging Upon returning from Stripe, the preview session will be lost. Check the purchase in Reports → Real-time, one minute later. Take a paid ticket to test: a free ticket does not go through payment and does not trigger the same journey. This is intentional (scenario A). Use the corresponding template in the Tag Manager gallery. On your own site (scenario B), no restrictions apply. We only allow one container per page. Two containers would share the same data layer. Group your tags into a single container. On passpass.be, only visitors who have accepted cookies are measured. A gap of 30 to 60% is common. On your own site, it's your consent banner that decides. Yes, both fields are independent. But if your container already contains a Google Analytics configuration, do not enter the same ID in both: you would count each sale twice. The expected format is GTM-XXXXXXX. A G- ID is Google Analytics, a GT- a Google tag, an AW- a Google Ads account. --- # Resend tickets to a participant Source: https://docs.passpass.be/en/categories/manage-your-participants/resend-tickets-to-a-participant Category: Manage Your Participants Language: en Updated: 2026-03-29 Il arrive qu'un participant vous contacte parce qu'il n'a pas reçu son billet, que l'email de confirmation est tombé dans ses spams, ou qu'il a simplement perdu son ticket. Depuis votre dashboard, vous pouvez récupérer le lien de téléchargement de ses billets en quelques clics et le lui transmettre manuellement. Méthode 1 : depuis la liste des participants C'est la méthode la plus rapide si vous connaissez le nom ou l'email du participant. Rendez-vous dans Participants depuis le menu de votre événement Recherchez le participant par son nom ou email via la barre de recherche Tout à droite de la ligne du participant, cliquez sur les trois petits points ("..."). Il peut être nécessaire de scroller horizontalement pour voir cette colonne. Cliquez sur "Copier le lien des tickets" Le lien est copié dans votre presse-papier. Transmettez-le au participant par le canal de votre choix (email, WhatsApp, SMS...). Le menu "..." se trouve tout à droite du tableau. Si vous ne le voyez pas, scrollez horizontalement vers la droite. Méthode 2 : depuis le détail d'une commande Si vous connaissez le numéro de commande, ou si vous préférez passer par la vue Commandes : Rendez-vous dans Commandes depuis le menu de votre événement Cliquez sur l'ID de la commande pour ouvrir le détail En haut à droite de la page de détail, cliquez sur "Copier le lien des tickets" Transmettez le lien au participant. Vous pouvez aussi accéder à la commande depuis la liste des participants : assurez-vous que la colonne Commande est visible dans le tableau (via le bouton "Vue" qui permet de choisir les colonnes affichées), puis cliquez sur le numéro de commande pour ouvrir le détail. Que contient le lien ? Le lien de téléchargement reprend tous les billets liés à la commande. Si un acheteur a commandé 3 tickets (pour lui et deux amis, par exemple), le lien donne accès aux 3 billets. Le participant pourra télécharger les tickets en PDF ou les ajouter à son Apple Wallet / Google Wallet. Le lien est le même que celui envoyé dans l'email de confirmation initial. Il ne s'agit pas d'un nouveau billet — c'est le même lien d'accès aux tickets de la commande. Quand utiliser cette fonctionnalité Voici les situations les plus fréquentes où un participant peut avoir besoin de recevoir à nouveau ses billets : Le participant n'a pas reçu l'email de confirmation (email tombé dans les spams, adresse mal saisie) Le participant a perdu son billet ou supprimé l'email par erreur Le participant a changé de téléphone et n'a plus accès à son wallet ou ses fichiers L'acheteur souhaite transmettre un billet à un ami qui n'a pas reçu le lien Un participant vous contacte le jour de l'événement en disant qu'il ne retrouve pas son ticket Recherchez-le dans la liste des participants par son nom ou email. Utilisez le menu "..." pour copier le lien de ses tickets, puis envoyez-le-lui par email ou message. Conseillez-lui de vérifier ses spams si le problème venait de l'email initial. Oui. Les tickets sont liés à une commande, et le lien donne accès à tous les billets de cette commande. Si un acheteur a commandé 4 tickets, le lien permettra de télécharger les 4 billets. Non, le lien reprend l'ensemble des tickets de la commande. Il n'est pas possible d'isoler un seul billet. Le participant recevra le lien vers tous les tickets liés à sa commande. Le lien de téléchargement reste actif tant que la commande est valide. Vous pouvez le transmettre à tout moment, y compris le jour de l'événement. Le menu d'actions se trouve tout à droite du tableau. Si votre écran est trop petit ou que vous avez beaucoup de colonnes visibles, scrollez horizontalement vers la droite pour le voir apparaître. --- # Create and configure your tickets Source: https://docs.passpass.be/en/categories/sell-your-tickets/cr-er-et-configurer-vos-tickets Category: Sell your tickets Language: en Updated: 2026-04-14 Creating tickets is the first step to putting your tickets on sale. Whether you're organizing a free event with registration or a festival with multiple pricing categories, PassPass allows you to configure each ticket according to your needs: price, quantity, sales period, visibility, and more. Create Your First Ticket To create a ticket, go to Ticket Management > Tickets from your event menu. Click on Create a Ticket Enter the ticket name (e.g., "General Admission", "VIP Pass", "Child Ticket"). This name is visible to your buyers and can be translated into multiple languages. Add a description (optional). You can also click on Add detailed description to provide more information about what the ticket includes. Set the available quantity. Leave blank for unlimited stock, or specify a precise number to limit sales. Indicate the price including tax. Enter 0 for a free ticket. Click on Add to save your ticket. You can rearrange the display order of your tickets by dragging and dropping using the icon to the left of each ticket. Free or Paid Ticket PassPass handles both paid and free events. The difference is simply at the price level: Paid Ticket: indicate an amount including tax. Service fees apply (2% of the price + €0.60 per ticket). Free Ticket: set the price to €0. No service fees apply. The buyer sees a Validate button instead of Pay and is not redirected to a payment page. Even for a free event, creating a €0 ticket allows you to collect registrations, have a list of participants, and scan tickets at the entrance. Advanced Options Each ticket has advanced options accessible during its creation or modification. They allow you to precisely control when and how your tickets are sold. Sales Period Define when your ticket is purchasable: Event Start (default): the ticket is on sale from now until the event starts. Event End: the ticket remains on sale even after the event starts, until it ends. Custom Dates: choose specific start and end dates. Ideal for early bird tickets or phased sales. Ticket Visibility Control how your ticket appears on the sales page: Visible (default): the ticket is always displayed, even if it is not yet on sale or sold out. Visible if on sale: the ticket only appears during its active sales period. Visible with promo code: the ticket is hidden by default and only appears when a buyer enters a valid promo code associated with this ticket. Hidden: the ticket never appears on the sales page. Useful for internal tickets or manual invitations. Combine Visible with promo code and a 0% promo code to create a "secret" ticket accessible only to those with the code, without applying a discount. Learn how in our Using Promo Codes guide. Quantities per Order You can limit the number of tickets a buyer can take in a single order: Minimum per order: set a minimum (default: 1). Useful if you sell tickets in batches (e.g., minimum 2 for a duo offer). Maximum per order: limit the maximum number (default: unlimited). Practical to prevent resale or ensure fair access. Manage Your Existing Tickets From the Tickets page, you have an overview of all your tickets. Each line displays the name, price, number of sales relative to capacity, and ticket status. Click on the ... menu to the right of a ticket to edit, duplicate, or delete it. You can also change the display order by dragging and dropping. Common Use Cases Simple Event with a Single Rate Create a single "Entry" ticket with the desired price. This is the most common case for conferences, parties, or workshops. Free Event with Registration Create a €0 ticket to allow participants to register. You get a complete list of participants and can scan tickets at the entrance, just like for a paid event. Festival with Multiple Rates Create multiple tickets (Adult, Child, VIP) and organize them into groups for a clear presentation on your sales page. See our Organize Your Tickets with Groups guide for more information. Early Bird Presale Create an "Early Bird" ticket with custom dates (e.g., from March 1 to March 15) and a "Normal" ticket whose sale starts on March 16. The Visible if on sale option will automatically hide the early bird ticket once its period ends. Limit Resale (Anti-Scalping) Set a maximum per order (e.g., 4 tickets) to prevent a single buyer from acquiring a large number of tickets. For even stronger protection, you can configure a shared limit that applies to multiple ticket types simultaneously. Go Further Organize Your Tickets by Category — Group your tickets (Adult, Child, VIP…) for a clearer sales page. → Organize Your Tickets with Groups Offer Extras to Your Participants — T-shirts, parking, meals… Add extras that appear in addition to your tickets. → Offer Extras Make Your Tickets Personal — Collect the name, first name, and email of each participant to individually identify each ticket. → Customize the Purchase Form Customize the Appearance of Your Tickets — Assign a different visual to each ticket so that your participants immediately identify their ticket (Day 1, VIP, etc.). → Customize Your PDF and Wallet Tickets Yes, you can change the price of a ticket at any time. Orders already placed retain the price paid at the time of purchase. The new price only applies to future sales. The available quantity of a ticket is the stock specific to that ticket. The capacity of a group is the combined total of all tickets in the group. For example, if a "Standard" group has a capacity of 200 and contains an Adult ticket and a Child ticket, the total of both cannot exceed 200, regardless of the distribution. Set the ticket visibility to Visible with promo code. Then create a promo code (even at 0% discount) and associate it with this ticket. Only people who enter the code will see the ticket appear on the sales page. Service fees are 2% of the price including tax + €0.60 per paid ticket. Free tickets (€0) have no service fees. These fees are displayed separately in the buyer's order summary. Yes, create a ticket for each phase and configure custom dates for each sales period. Set visibility to Visible if on sale so that only the ticket for the active phase is visible on your page. --- # PassPass News | April 2026 Source: https://docs.passpass.be/en/categories/nouveautes/passpass-news-april-2026 Category: What's new Language: en Updated: 2026-04-07 Here is a comprehensive overview of all the new features rolled out this month. This update is major → complete multilingual support, new mobile app, advanced ticket management, redesigned purchasing journey, and numerous improvements to assist you. New mobile app The PassPass mobile app has been completely rebuilt.The old app is no longer functional for access control → you need to download the new version “PassPass Organizer” from the App Store or Google Play. What’s changing: Redesigned interface → clearer and faster navigation Real-time entry tracking → view the number of people entered directly from the app Improved scanning → enhanced performance and reliability for ticket control PassPass Organizer: → IOS - App Store → Android - Play Store Custom ticket visuals Each ticket can now have its own design, both on the PDF ticket and on the Wallet pass (Apple Wallet / Google Wallet). PDF tickets Add a custom image to the PDF ticket Choose whether to display the event date on the ticket Wallet pass 3 image options → event banner, custom image, or no image Ticket assignment → assign a visual to all tickets or to specific tickets Go to Ticket Management > Visuals to configure your designs. Explore ticket customization: Customize your PDF and Wallet tickets Multilingual FR / NL / EN PassPass is now fully multilingual. You can create your event content in French, Dutch, and English, and the entire flow automatically adapts to your participant's language. What is translated: Event page → title, descriptions, location, all the content you write Purchasing journey → ticket names, add-ons, form fields, buttons Confirmation emails → sent in the participant's language PDF and Wallet tickets → generated in the participant's language Admin interface → the dashboard is also available in FR, NL, and EN Each text field of your event now has a language indicator (FR, EN, NL) to write your translations directly. You can also be assisted by automatic translation. Translate your events: Set up a multilingual event Ticket and add-on groups Organize your tickets and add-ons into groups to structure your sales page. Groups allow you to visually group tickets by category (e.g., "Access", "Packages", "Catering options") and apply common rules. Configure ticket groups: Organize your tickets with groups Advanced limits The limits system has been completely revamped to offer more control over quantities: Min / max per order → set a minimum and maximum number of tickets per order Rules between groups → configure cross constraints between ticket groups (e.g., maximum 2 tickets in total between the "VIP" group and the "Premium" group) Rules between tickets → apply combined limits between specific tickets These rules apply automatically in the purchase journey → the participant is guided without being able to exceed the configured limits. Shared Limits Between Tickets Hidden tickets and promo codes Create tickets that are only visible when a buyer enters a specific promo code. This is ideal for exclusive presales, VIP access, or partner invitations. To configure a hidden ticket → in the advanced options of the ticket, set the display to "Visible with promo code", then create a promo code associated with this ticket (even at 0% discount for simple unlocking). Use promo codes Named tickets You can now request the first name, last name, and email of each participant in a much more flexible way. 3 modes available → Mandatory, Optional, or Do not ask Independent configuration → one setting for tickets, another for add-ons Configuration in Purchase journey > Custom fields, section "Participant personal information". Configurable VAT display You can now choose how your prices are displayed to your participants. Three modes are available: Prices including VAT (default) → the price includes VAT Prices excluding VAT → VAT visible on tickets → each ticket displays the amount excluding VAT + VAT separately Prices excluding VAT → VAT visible in the summary only → tickets display the price excluding VAT, VAT appears in the summary You can also set a default VAT rate and the customize by ticket or supplement. Configuration in Advanced configurations > VAT display. Configure VAT Display Enhanced purchase journey The participant side purchase journey has been redesigned to be smoother and faster: Smoother animations → smoother transitions between steps UX improvements → optimizations to reduce friction and increase conversions These improvements are automatic → your buyers benefit immediately without any action on your part. Enriched event pages The description of your event can now include videos and images directly in the content. The same goes for the detailed descriptions of your tickets → you can enrich each ticket with visual content to better present what is included. Formatted fields New types of fields are available in the order form and the participant form: Email → automatic email format validation Phone → phone format with country code Date → integrated date picker Number → numeric field with validation These formatted fields ensure clean and usable data in your exports. Improved billing data collection The billing form has been redesigned to save time and reduce errors. Autocomplete by business number → enter your business number and the billing data (name, address, VAT) will fill in automatically Adapted for businesses not subject to VAT → the form adapts to the VAT status of the business to only request the necessary information Result → a faster purchase journey for participants ordering on behalf of a business. Refreshed dashboard The administration interface has been updated with a refreshed design. Navigation is clearer and the entire interface is more consistent. If you use PassPass daily, you will notice a more pleasant and faster experience. Marketing tracking The configuration of tracking IDs (Google Analytics, Meta Pixel, etc.) has been improved. You can add and manage your tracking identifiers more easily from Advanced configurations > Tracking & Pixels. Integration of the Meta Pixel on your PassPass ticketing And then? We continue to build. The coming weeks will bring even more improvements. In the meantime, if you have any questions or feedback about these new features, feel free to contact us via the contact form on your event page or directly from the chatbot at the bottom right. --- # Create your first event in 5 minutes Source: https://docs.passpass.be/en/categories/getting-started/cr-ez-votre-premier-v-nement-en-5-minutes Category: Getting Started Language: en Updated: 2026-03-27 1. Create an organizer account Create an account on the organizer portal dashboard.passpass.be 2. Create the foundation of your event Once logged into your PassPass account: Click on "Create an event" from your dashboard Complete the essential information: Event title Date and time (start/end) Location Venue name (free text field where you can indicate: venue name, webinar, online, specific address, address to be confirmed, etc.) Specific address (optional) Add an attractive banner (recommended dimensions: 1920x1080px) Description (present your event attractively) Save this basic information All event information can be modified throughout its lifecycle. 3. Add tickets In the "Tickets" tab, click on "Create a ticket". Define for each ticket type: Ticket name (e.g., Early Bird, Standard, VIP, ... ) Price (free or paid) Available quantity Availability period You can add add-ons to your tickets (merchandising, VIP options, meals, workshops, etc.) 4. Publish an event Choose the publication mode: Public : visible to everyone on PassPass and indexed on search engines like Google Private : accessible only via a direct link (not accessible from search engines) Click on "Publish my event" For publishing events with paid tickets, you must link a Stripe Connect account to receive payments to your bank account. This setup can be done later to collect the money from your first sold tickets. In the meantime, this money will be stored in your organization's balance. Use the "Preview" option to see your event page as your participants will see it Share your event: Copy the direct link to your event page and share it on your various communication channels 5. Understand the user journey and registration management 6. Add team members --- # Add and manage team members Source: https://docs.passpass.be/en/categories/manage-your-organization/ajouter-et-g-rer-les-membres-d-quipe Category: Manage Your Organization Language: en Updated: 2026-03-10 PassPass allows you to add collaborators at two different levels according to your needs: Organization Level: Members added at this level have access to all existing and future events of your organization Event Level: Members added at this level only have access to a specific event This flexibility allows you to tailor permissions according to each collaborator's role, whether they are a permanent partner or a temporary partner for a one-time event. Add a Member at the Organization Level To add a member to your organization (global access to all events): Access your PassPass dashboard Click on the "Settings" tab at the top of the page Select the option to add a member Select the appropriate role from: Event Manager: Can create and modify events Administrator: Can manage organization and event settings Super Administrator: Has all rights, including managing administrators When adding a member, they will receive an invitation email to join your organization: If the person already has a PassPass account, they will simply need to log in If the person does not have an account yet, they will be invited to create one and will be automatically added to your organization based on the email you provided Add a Member at the Event Level To add a member to a specific event only: Access the dashboard of the relevant event Select the "My Team" tab in the left sidebar menu. Click on "Add a member" Enter the person's email address Select the role specific to the event: Validator: Responsible for ticket scanning, without access to financial or sensitive data Event Manager: Can modify the event Administrator: Can modify the event and manage members Depending on the roles, you can define access to “the ticket scanning application” which allows validating event entries. As with adding at the organization level, an invitation email will be sent to the new member. The login or account creation process follows the same rules. --- # Export your financial data for accounting Source: https://docs.passpass.be/en/categories/finance-payments/exporter-vos-donn-es-financi-res-pour-la-comptabilit Category: Finance & Payments Language: en Updated: 2026-03-27 Access Transaction Export Step 1: Navigation Log in to your PassPass dashboard Go to the "Finances" tab in the main menu Locate the transactions section with your listed payouts Step 2: Initiate Export Click on "Export Transactions" A settings window opens automatically Select Your Period PassPass offers several options to customize your export according to your accounting needs: Predefined Periods Current Month : All transactions for the current month Current Quarter : Transactions from the last 3 complete months Current Year : All transactions since January Since the Beginning : Complete account history Custom Period Select specific dates according to your needs Ideal for quarterly reports or specific accounting periods Intuitive calendar interface for precise selection Excel Report Content The generated document is organized into three distinct sheets for comprehensive financial analysis: "Information" Sheet (Export Summary) Export Type : Financial export Selected Period : Start and end dates of the export Organization : Name of your PassPass organization Statistics : Total number of payouts and payments for the period "Payouts" Sheet (Transfers to Your Account) ID : Unique identifier for each payout Amount : Amount credited to your bank account (in euros) Account : Destination bank account Initiation Date : When PassPass initiated the payout Arrival Date (Estimate) : When the funds arrived in your account "Payments" Sheet (Details of Individual Transactions) ID : Unique number for each payment First Name/Last Name : Buyer's identity Email : Participant's email address Net Amount : Amount you receive after fees Gross Amount : Price paid by the participant Fees : PassPass commission deducted Payment Date : Transaction timestamp --- # Integrate the ticketing system on your website Source: https://docs.passpass.be/en/categories/integrations-and-tools/int-grer-la-billetterie-sur-votre-site-web Category: Integrations and tools Language: en Updated: 2026-08-19 Integrate the PassPass ticketing module directly on your website or application. No more redirection to an external page: your visitors purchase on-site, in one click. When clicking a button on your site, a modal opens with the complete checkout (ticket selection, form, payment). Generally, market alternatives opt for integrating the ticketing directly into the website body, which can cause issues like double scroll, mobile rendering, and user experience. PassPass opts for a dedicated modal within your website that opens on button click and perfectly adapts to all screens. Customize the modal style to match your visual identity: colors, font, rounding, light or dark mode. The result gives the feeling of a native module on your site. From your event dashboard, go to Advanced Settings → Website & Apps Integration in the left sidebar menu to configure the widget. Customize Appearance Adapt the widget to your site's style: Primary Color : buttons and accents. Monochrome option to automatically derive the entire theme from this color Light / Dark / Custom Mode : choose according to your site, or let automatic detection. The custom mode allows for more advanced configuration with the modal background color and the color of the inserts (ticket cards background, order summary, etc.) Font : your site's font for a consistent rendering Button Rounding and Shape : adjust the border-radius and choose between default, square, or rounded buttons Analyze My Site Use our analysis tool to pre-configure your modal style based on your website. Enter your site's URL, PassPass detects your colors, font, rounding, and light/dark mode. Check the result and apply with one click. Add Your Authorized Domains The widget only works on domains you authorize. This is a security measure to prevent the use of your widget on a third-party site. Add each domain from the widget configuration. If you sell from multiple sites, list them all. Without an authorized domain, the widget remains configured but the modal will be blocked by the browser on your site. Remember to add your domain before testing. Preview Test the rendering directly from your dashboard before going live. A live preview updates with each style modification. Mobile/desktop toggle available to check rendering on both formats. Integrate on Your Site Click on Integrate to access the 3 integration methods. Choose the one that fits your context. Method 1: Ready-to-Paste Button (the simplest) PassPass generates a styled button with the complete code. Copy-paste it on your page where the button should appear. The button style defaults to your site's analysis and can be independently modified. Method 2: Connect Existing Buttons Your site already has one or more purchase buttons. Insert the PassPass script in your site's header, then add an attribute to each button that should open the modal. Your design does not change. Method 3: Programmatic Triggering For advanced integrations. Insert the PassPass script, then trigger the modal from your own code at the desired moment. Ideal for forms, custom events, or any specific scenario. Pass Parameters via Your URL You can pre-configure the modal by adding parameters to your page's URL. When the modal opens, these parameters are automatically taken into account. Two parameters available: pp_lang → forces the modal language (FR, NL, or EN). Useful if your page is in Dutch and you want the ticketing to display in Dutch as well. pp_code → pre-fills a promo code. The visitor arrives with the promotion already applied or the hidden ticket already unlocked. Add the parameters to the end of your URL with a ? before the first parameter, and a & between each additional parameter. One parameter: yoursite.com?pp_lang=NL Two parameters: yoursite.com?pp_lang=NL&pp_code=PARTNER The visitor arrives on your page, opens the modal, and has the ticketing directly configured according to your parameters. Ideal for targeted campaigns (newsletter, social media, partners). Transmit Instructions to Your Webmaster No need to draft a brief. Click on Copy for my webmaster to generate an instruction document ready to send via email or Slack. It contains the code for the 3 methods and the steps to follow. You retain control over the authorized domains configuration from your dashboard. If the integration is done on a new domain, add it to your configuration for the widget to work. Compatibility The widget works on all types of sites: WordPress, Wix, Squarespace, Webflow, static sites, or custom applications. No framework required, the script weighs less than 10kb. For any technical questions or need for support, feel free to contact our support. Contact us --- # Understanding the purchase journey of your participants Source: https://docs.passpass.be/en/categories/parcours-d-achat/comprendre-le-parcours-d-achat-de-vos-participants Category: Purchase journey Language: en Updated: 2026-06-24 When a visitor clicks on a purchase button on your event page, they enter the PassPass checkout process. Understanding what your participants see helps you better configure your tickets, add-ons, and forms. Here is the complete step-by-step process. The 4 steps of the checkout The checkout process opens in a modal window over your event page. An indicator at the top shows the progress in 4 steps: Step 1: Tickets The buyer sees the list of your available tickets with their name, description, and price. They use the +/- counters to select the desired quantity. Tickets are organized according to your groups, and hidden or not yet on sale tickets are not displayed. If a promo code is entered, a green "Discount" badge appears on the relevant tickets, and the original price is crossed out with the new price next to it. Step 2: Add-ons If you have created add-ons, they appear at this step. The buyer can add extras (T-shirts, parking, meals...) to their order. If you have no add-ons, this step is automatically skipped. Step 3: Contact Information The buyer fills out the order form (name, email, and your custom fields). If you have enabled participant fields, they will need to fill in the information for each ticket. This is also where your additional terms and billing data collection appear, if configured. You can customize the fields of this step in Customize the purchase form. Step 4: Payment For paid orders, the buyer is redirected to the secure payment page (Stripe) to finalize their order. For free orders, this step is replaced by a simple Validate button. Order summary Throughout the checkout, an order summary is displayed on the right side. It contains: The thumbnail, title, date, and location of your event The selected items with quantity and price The subtotal The Discount line (if a promo code is applied) The service fees The final total Service fees PassPass applies a service fee of 2% of the total price + €0.60 per paid ticket. These fees are transparently displayed in the order summary. Paid tickets : fees = 2% of the price + €0.60. Example: a ticket at €15 → fee of €0.90. Free tickets (€0): no service fees. Paid add-ons : same fees as tickets (2% + €0.60). Free add-ons: no fees. Payment methods At step 4, the buyer is redirected to the secure payment page (Stripe). The available payment methods are: Bancontact (highlighted for the Belgian market) Credit card (Visa, Mastercard) Apple Pay / Google Pay American Express (optional) Klarna - Payments in 3 installments (optional) Timer and cancellation A countdown of about 25 minutes is displayed at the top of the checkout. It temporarily reserves the selected tickets. If the buyer does not finalize within the allotted time, the reservation expires and the tickets become available again. If the buyer clicks the close button (X) while their cart is not empty, a confirmation modal asks if they wish to resume or cancel their order. Promo code in the checkout A "Promo code" tag is visible at the top of the checkout as well as above the total. The buyer can click on it to enter a code. Once applied, the discounts are immediately visible in the summary and on the relevant tickets. Want to create discount codes or unlock hidden tickets? Check out Using promo codes. Bancontact (highlighted for the Belgian market), Visa, Mastercard, Apple Pay/Google Pay, American Express, Klarna. Payments are securely processed via Stripe. About 25 minutes. A countdown is displayed at the top of the checkout. After this period, the reservation expires and the tickets are put back on sale. Yes, paid add-ons are subject to the same service fees as tickets: 2% of the total price + €0.60. Only free tickets and add-ons (€0) have no fees. A confirmation modal asks the buyer if they wish to resume or cancel their order before closing. If they confirm the cancellation, the order is lost and they will have to start over. However, any promo code will remain applied in the browser session. --- # Customize your confirmation messages Source: https://docs.passpass.be/en/categories/parcours-d-achat/personnaliser-vos-messages-de-confirmation Category: Purchase journey Language: en Updated: 2026-06-24 {"document":{"type":"doc","content":[{"type":"paragraph","content":[{"type":"text","text":"After finalizing their order, your participants receive a confirmation email and see a confirmation screen on the display. PassPass allows you to customize these two messages to share practical information: exact location, access instructions, guidelines, or simply a thank you note."}]}},{"type":"paragraph","content":[{"type":"text","text":"Go to "},{"type":"text","marks":[{"type":"bold"}],"text":"Purchase Path > Personalized Messages"},{"type":"text","text":" from your event menu."}]}} --- # Offer supplements (extras) Source: https://docs.passpass.be/en/categories/sell-your-tickets/proposer-des-suppl-ments-extras Category: Sell your tickets Language: en Updated: 2026-04-02 Add-ons allow you to offer additional options when purchasing tickets: T-shirts, parking, meals, drinks, goodie bags, or any other extras. They appear separately from tickets in the purchase process and allow you to increase your revenue per order without complicating your ticketing offer. Add-ons are not entry tickets and do not generate a scannable ticket. Like paid tickets, they are subject to the same service fees. Create an Add-on Go to Ticket Management > Add-ons from your event menu. Click on Create an Add-on Enter the add-on name (e.g., "Festival T-shirt", "Parking Spot", "VIP Menu"). This name is visible to your buyers and can be translated. Add a description (optional) to specify what the add-on includes. You can also add a detailed description. Set the available quantity. Leave blank for unlimited stock. Indicate the price including tax. Set to 0 for a free add-on. Click on Add. Advanced Options Add-ons have the same advanced options as tickets: Sales Period Choose when your add-on is purchasable: from the start of the event (default), until the end of the event, or during custom dates. Useful if you offer an add-on only in presale. Visibility As with tickets, you can set visibility to: Visible, Visible if on sale, Visible with promo code or Hidden. How Add-ons Appear to the Buyer Add-ons appear at step 2 of the purchase process, just after ticket selection. The buyer sees the name, description, and price of each add-on with a +/- counter to choose the desired quantity. Add-ons are automatically available for all orders — there is no direct link between a specific ticket and an add-on. If a buyer purchases any ticket, they will see all of your add-ons at the next step. Add-ons vs Tickets: Differences Dedicated QR code : tickets and add-ons each generate their own PDF with a distinct QR code, allowing them to be differentiated and scanned separately. Service fees : paid add-ons are subject to the same service fees as tickets (2% + €0.60). Checkout step : tickets are purchased at step 1, add-ons at step 2. Advanced options : add-ons share the same options as tickets (sales period, visibility), but do not have native min/max per order. Add-ons are an excellent way to increase your revenue per order. Offer relevant extras (parking, merch, meals) to enrich your participants' experience. Common Use Cases Merchandising Sales Create an add-on for each variant (T-shirt S, T-shirt M, T-shirt L, T-shirt XL) with a limited quantity per size. Use an add-on group to group all sizes under one title (e.g., "Festival T-shirt") and make the purchase process clearer for your participants. See Organize your tickets with groups for more information. Parking Option Create a "Parking Spot" add-on with a capacity limited to the number of available spaces. You can also use a shared limit if the parking is shared between multiple ticket types. Optional Meals or Drinks Offer a "Full Menu" or "Open Bar" add-on that participants add to their order. This is an excellent way to anticipate the number of meals to prepare. Yes, paid add-ons are subject to the same service fees as tickets: 2% of the price including tax + €0.60 per add-on. Free add-ons (€0) have no fees. Add-ons are displayed to all buyers, regardless of the type of ticket purchased. There is no direct ticket-add-on association in the creation form. If you want to limit an add-on, you can use the visibility option Visible with promo code to display it only to buyers with a specific code. If the available quantity is reached, the add-on displays "sold out" in the checkout and can no longer be added to the order. The buyer can still finalize their order for tickets only. Yes, promo codes can apply to add-ons. When creating a promo code, you can choose to associate the discount with all tickets and add-ons, or only with specific items. See Using promo codes for more information. --- # Understanding Stripe Connect: Holds and Payouts Source: https://docs.passpass.be/en/categories/finance-payments/comprendre-stripe-connect-retenues-et-versements Category: Finance & Payments Language: en Updated: 2026-03-27 What is Stripe Connect? Stripe Connect is a payment solution used by millions of businesses worldwide, integrated with PassPass to manage all the financial transactions of your event. Just like Bancontact for local payments, Stripe has become an international reference for secure online payment management. Main Features Maximum Security All your transactions are protected by the strictest security standards in the market, with PCI DSS level 1 certification. Your data and that of your participants are secured according to international banking standards. Direct Payments and Automation Funds are deposited directly into your bank account without intermediaries. No manual handling is necessary once the setup is complete. International Support Accept payments in over 135 currencies with automatic conversion. Your participants can pay in their local currency. Total Transparency Detailed tracking of each transaction, from ticket sale to deposit into your bank account. You maintain full control over your finances. Setting Up Your Stripe Connect Account Why is this step necessary? Linking your bank account via Stripe Connect complies with KYC (Know Your Customer) regulations, mandatory for all payment providers. This verification protects both your business and your participants against fraud. Stripe Connect is only used for deposits to your bank account. You can sell and collect payments without waiting for this setup which can be done later. Required Documents For Individuals: IBAN of your bank account Official ID (identity card or passport) For Businesses: IBAN of the business bank account Business/Tax ID number Legal documents (articles of incorporation, publication in the official journal) ID of the legal representative Setup Process Start Selling Immediately : You can create your event and start ticket sales even before the Stripe setup Secure Storage : Payments are automatically stored in your PassPass organization balance Stripe Setup : When you first need a payout, you will be guided to the Stripe setup. Document Verification : Secure submission of your documents Validation : Processing usually completed within 24-48 hours Active Payouts : Automatic transfer of funds to your bank account The Hold System: How It Works Basic Principle When a participant buys a ticket, the amount is automatically divided: 65% are immediately available in your PassPass balance 35% are temporarily held for 30 days Concrete Example: Ticket sold: €10 on August 1st €6.50 immediately available for payout €3.50 held until August 31st On September 1st: the €3.50 are automatically released Why This Hold? This system meets legal obligations and provides protection for everyone: Protection Against Disputes : Funds available for potential refunds Financial Security : Coverage in case of technical issues or cancellations Regulatory Compliance : Adherence to standards imposed by banking networks Important: The hold starts from the purchase date, not the event date. Payout Frequencies PassPass offers you total flexibility to manage your payouts according to your cash flow needs. Available Options Automatic Payouts Daily : Ideal for high volumes or immediate cash flow needs Weekly : Balance between frequency and administrative management (recommended option) Monthly : For simplified accounting management Manual Payouts Total Control : You decide when to trigger payouts Cash Flow Management : Optimize your financial flows according to your needs Simple Reactivation : Switch back to automatic at any time How to Change Your Frequency Access your financial settings in PassPass => “Finances” tab Select your preferred frequency The change takes effect immediately for upcoming payouts Fees and Transparency PassPass Fees Commission : 2% + 0.60 incl. VAT of the ticket amount No Hidden Fees : What you see is what you pay Payout Schedule Payouts are made according to your chosen frequency, respecting standard banking delays (1-2 business days to reach your account). Frequently Asked Questions Can I change my bank account after setup? Yes, contact our support to securely update your bank information. Do the 35% held generate interest? No, it is a security hold, not an investment. The funds are fully returned to you and will be gradually paid to your bank account. Can I see the details of my holds? Yes, your financial dashboard displays the available amount and the amount on hold with release dates. Stripe has limited me, what should I do? A Stripe limitation usually occurs when KYC information is missing or incorrect. You will automatically receive an email with a link to complete the missing data. It is often due to missing documents or an unreadable ID. Simply follow the email instructions to unlock your account. What types of payments are accepted? Stripe accepts all modern payment methods: Visa, Mastercard, Bancontact, American Express, and many others. PassPass fees remain fixed (2% + €0.60) regardless of the payment method used. PassPass absorbs the cost differences between payment methods to guarantee you fixed and predictable pricing. --- # Use promo codes Source: https://docs.passpass.be/en/categories/sell-your-tickets/utiliser-les-codes-promo Category: Sell your tickets Language: en Updated: 2026-05-30 Promo codes allow you to offer percentage discounts to your buyers or unlock hidden tickets reserved for certain people. They are a powerful tool for managing your pre-sales, rewarding your partners, or creating exclusive access. Create a Promo Code Go to Ticket Management > Promo Codes from your event menu. Click on Create a Promo Code Define the code that your buyers will need to enter (e.g., EARLY20, PARTNER, VIPACCESS). The code must be in uppercase letters and numbers only, without spaces or special characters. Add an internal note (optional) to remind yourself who or what this code is for (e.g., "For sponsor partners"). This note is only visible to your team. Indicate the percentage value of the discount. For example, 20 for a 20% discount. Enter 0 if you want to use the code only to unlock a hidden ticket, without applying a discount. Set the usage limit (optional). Leave blank for unlimited use, or specify a maximum number (e.g., 50 for 50 total uses). Choose the availability period: as long as sales are possible (default), or custom dates to limit the code to a specific period. In advanced options, choose to associate the code with all tickets or with specific tickets. Two Types of Use Discount Code The classic case: a code with a percentage value (e.g., EARLY20 = 20% discount). When a buyer enters the code, the relevant tickets display a green "Discount" badge, the original price is crossed out, and the new price appears next to it. The discount is also displayed as a separate line in the order summary. Discount codes only apply to paid tickets. Free tickets (0 €) are not affected by a discount code. Unlock Code A 0% discount code, associated with a ticket whose visibility is set to Visible with promo code. The ticket is invisible on the sales page until the buyer enters the code. The ticket then appears in the list, and the buyer can purchase it normally. This is the ideal mechanism for: Exclusive pre-sales (ticket reserved for newsletter subscribers) Partner or sponsor access Free invitations (100% code + hidden ticket) You can combine both: a 50% code associated with a hidden ticket. The buyer unlocks the ticket AND gets a discount. How the Buyer Uses a Promo Code During the purchase process, a "Promo Code" tag is displayed at the top of the checkout. The buyer clicks on it to open a modal, enters their code, and clicks on Apply. A confirmation message appears, and the discount (or unlocked ticket) is immediately applied. The buyer also sees the remaining number of uses for the code, which can create a sense of urgency if the number is limited. Share a promo code via a link When you create a promo code, a share link is automatically generated. This link activates the code by default, without the buyer having to enter it manually. In practice: the buyer clicks on your link, arrives on the sales page with the promotion already applied (or the hidden ticket already unlocked), and can purchase directly. Retrieve the link via the menu (three dots) of your promo code, or from the code's configuration panel. Common Use Cases Early Bird EARLY20 code with a 20% discount, limited to 100 uses, available during the first 2 weeks of sales. Share it in your newsletter to reward early sign-ups. Partner Invitation PARTNER100 code with a 100% discount, limited to 20 uses. Your partners get free access by entering this code. No need to create a separate ticket. Secret VIP Ticket Create a "VIP Pass" ticket with visibility Visible with promo code, then a VIPACCESS code at 0%. Only those with the code can see and purchase the VIP ticket. Refer to Create and configure your tickets to set up visibility. Yes, promo codes only accept uppercase letters and numbers, without spaces or special characters. For example: EARLY20, VIP2024, PARTNER. The limit is global, across all orders. If you set a limit of 50, the code can be used 50 times in total. The value of a promo code applies to a ticket (or add-on) and not to an entire order. The new code replaces the old one. However, if the old code had unlocked a hidden ticket, that ticket remains visible even after the code change. The discount, however, is recalculated according to the new code. Yes, when creating the code, you can choose to associate the discount with all tickets and add-ons or with specific items. An add-on like a T-shirt can also benefit from the discount. --- # Customize the purchase form Source: https://docs.passpass.be/en/categories/parcours-d-achat/personnaliser-le-formulaire-d-achat Category: Purchase journey Language: en Updated: 2026-06-24 The purchase form is what your participants fill out when placing their order. By default, PassPass requests the buyer's first name, last name, and email. But you can go much further: add custom fields, collect information per participant (nominative tickets), enable billing data collection, and more. Go to Purchase Path > Custom Fields from your event menu. Two Levels of Forms PassPass offers two levels of data collection, catering to different needs: Order Fields These fields are requested once per order, regardless of the number of tickets purchased. They are used to collect the main buyer's contact details, contact or billing data. By default, a "First name, last name, email" field is already present and mandatory. Participant Fields These fields are requested for each ticket in the order. If a buyer takes 3 tickets, they must fill out these fields 3 times, once per participant. This is the mechanism that allows your tickets to be nominative. By default, a "First name, last name, email" field is present but optional. Make Your Tickets Nominative This is one of the most common questions: how to identify each participant individually? The answer lies in the participant fields. In the Participant Personal Information section, enable the collection of first name, last name, and email for each participant. Choose whether this information is Mandatory or Optional. For truly nominative tickets, choose Mandatory. (Optional) Add additional participant fields to collect other information per person: phone number, T-shirt size, dietary requirements, etc. The information collected per participant is viewable and exportable from the Participants view of your event. You can thus generate a complete nominative list before the big day. Add a Custom Field Whether for order fields or participant fields, the creation process is the same: Click on Add a Field in the desired section (Order or Participants). Enter the field label (e.g., "Phone number", "T-shirt size"). This label is visible to the buyer and can be translated. Check Mandatory Field if you want to enforce entry. Select the appropriate field type (see below). (Optional) Add a description to guide the buyer. (Optional) Limit display to certain tickets only (by default, the field is displayed for all tickets). Available Field Types Formatted Field: email, phone, number, or date, with automatic format validation. Short Text: single-line text field. Text Field: multi-line text area for longer responses. Single Choice: the buyer chooses one option from a list (e.g., size S/M/L/XL). Multiple Choice: the buyer can check multiple options (e.g., food allergies). Selection: dropdown menu to choose an option. Additional Condition: checkbox to accept conditions (T&Cs, internal regulations, etc.). Text Without Field: information block displayed in the form without an input field. Useful for displaying a reminder ("Bring your ID"). Billing Data Collection For professional or B2B events, you can enable billing data collection via a dedicated toggle. This automatically adds the fields: company name, VAT number and billing address. These data are exportable from the Orders tab of your event. The billing section is a global toggle. You cannot configure billing fields individually. Organize Your Fields You can rearrange the order of your fields by dragging and dropping using the icon to the left of each field. The order you set is the order in which the fields appear to the buyer during checkout. Each field has a ... menu to edit or delete it. A previewer is available to the right of your configuration. By default, it only displays order fields. Select a ticket in the simulator to see the participant fields assigned to that ticket. Display a Field Conditionally Create conditional fields that only appear when certain response conditions are met. For example, a "VAT Number" field that only appears if "Status" = Company or Self-employed. To configure: open a field, enable the Display Conditionally toggle, choose the trigger field, operator, and value. The conditional field automatically appears indented under its trigger field with an orange badge. Multiple conditions can be combined with AND (all true) or OR (at least one true). To learn more: Conditional Fields: Configuration and Examples Common Use Cases Nominative Tickets: enable participant personal information in mandatory mode. Each ticket will be associated with a name. T-shirt Size Choice: add a participant field of type "Single Choice" with options S, M, L, XL. Phone Number per Participant: add a participant field of type "Formatted Field" in phone mode. General Conditions to Accept: add an order field of type "Additional Condition" mandatory. Informative Text: use a "Text Without Field" to display a reminder ("Attention: bring your ID") without requiring input. B2B Event with Billing: enable billing data collection to obtain company name, VAT, and address. Field Specific to a Ticket: a "Dietary Requirements" field only for tickets that include a meal, use the "Display only for certain tickets" option. An order field is filled out once by the buyer (for the entire order). A participant field is filled out for each ticket in the order. If someone buys 3 tickets, they will fill out the participant fields 3 times. Enable the Participant Personal Information section and set it to Mandatory. Each buyer will need to provide the first name, last name, and email of each participant. This information is then visible in your participant list and exportable. Yes, when creating the field, use the Display only for certain tickets option and select the relevant tickets. If you leave this field empty, it will display for all tickets. Participant field data is visible in the Participants view of your event and is exportable. Billing data is available in the Orders tab. It's an information block displayed in the form without requiring input from the buyer. Ideal for displaying a reminder or instruction ("Arrive 30 minutes before the event starts"). --- # Display your events on your website Source: https://docs.passpass.be/en/categories/integrations-and-tools/afficher-vos-v-nements-sur-votre-site-web Category: Integrations and tools Language: en Updated: 2026-08-07 Automatically display the list of your PassPass events on your website, reflecting your brand. When you create or modify an event on PassPass, it automatically appears on your site, no maintenance required. Go to Settings → Integrations → Event List to configure the widget. Setup Click on New Integration Configure the appearance and behavior. A live preview updates in real-time with each modification Click on Embed, copy the code and paste it on your site where the list should appear. You can also send the instructions to your webmaster directly from this step The code looks like this:
The widget is inserted where you place the
and adapts to the width of your section. Display Layout Three layout options depending on your context: Grid → visual cards, ideal for a dedicated "Our Events" page List → compact agenda format, suitable for a sidebar or a reduced section Calendar → daily timeline, when dates are paramount Click Action on an Event Open the event page → redirects to the full event page on PassPass (description, banner, location, dates, tickets...) for visitors who want to know more before purchasing Open the ticketing on your site → directly opens the purchase modal on your site (ticket selection, form, payment) without going through the event page. For a more direct purchase path Both buttons → each event displays "Tickets" and "Learn more". Ideal for maximizing conversion while keeping access to the full page Button text is customizable (e.g., "Book", "View Event"). Additional Options Show past events → completed events appear at the bottom of the list, faded out Show summary → adds the short description of each event Customize Appearance Adapt the widget to your site's style: Colors → button color (your brand color), background color, card color Font and rounding → font style and corner radius Button style → default, square or rounded Transparent cards (grid and calendar) → image and text without frame, to fully blend with your site Analyze My Site Use our analysis tool to pre-configure the widget style based on your website. PassPass automatically detects your colors and font. Allowed Origins The widget only works on domains you authorize. Add each domain from the integration configuration. Without an authorized domain, the widget will not display on your site. Remember to add your domain before testing. Propagate Parameters via Your URL You can pre-configure the widget by adding parameters to your page URL. When the modal opens, these parameters are automatically taken into account. Two parameters available: pp_lang → forces the modal language (FR, NL or EN). Useful if your page is in Dutch and you want the ticketing to also display in Dutch. pp_code → pre-fills a promo code. The visitor arrives with the promotion already applied or the hidden ticket already unlocked. Add the parameters at the end of your URL with a ? before the first parameter, and an & between each additional parameter. One parameter: yoursite.com?pp_lang=NL Two parameters: yoursite.com?pp_lang=NL&pp_code=PARTNER The visitor arrives on your page, opens the modal, and has the ticketing directly configured according to your parameters. Ideal for targeted campaigns (newsletter, social media, partners). Best Practices Background color → use the same color as your section so the widget integrates seamlessly. The widget is edge-to-edge and inherits your page margins Button color → choose a well-contrasted color. A light button on a light background becomes unreadable Grid for a dedicated page, List for a compact section, Calendar when dates are paramount "Both buttons" if you want to maximize conversion while keeping access to the full page Only public and published events appear. Drafts and private events are excluded Automatic synchronization → new event published = automatic appearance, nothing to copy Multilingual → the widget displays in the visitor's language (FR/EN/NL) Responsive → adapts to mobile and desktop automatically Troubleshooting The widget does not display → check that your domain is in the allowed origins and that the
is present on your page Changes do not appear → remember to save the configuration. The preview shows unsaved changes No visible events → check that your events are published and public For any technical questions or need for assistance, feel free to contact our support. Contact us --- # Display a field conditionally Source: https://docs.passpass.be/en/categories/parcours-d-achat/afficher-un-champ-sous-condition Category: Purchase journey Language: en Updated: 2026-06-24 Create conditional fields that only display when certain response conditions are met. For example, a "VAT Number" field that only appears if "Status" = Company or Self-employed. Go to Purchase Journey → Custom Fields from your event menu. Configure a condition Open an existing field or create a new one Locate the toggle Display under condition (orange icon) Activate the toggle. A panel appears with: Display this field if → select the trigger field (the question whose answer drives the display) Operator → choose the condition (is, is not, contains, etc.) Value → enter the expected value Save The trigger field is chosen only once. Changing the trigger field resets the conditions. Available operators The proposed operator depends on the type of the trigger field: Single choice / Selection → is, is not Multiple choice → contains, does not contain Short text / Text field → contains, is empty, is filled Formatted field (number) → is, is not, greater than, greater than or equal to, less than, less than or equal to Formatted field (email / phone / date) → contains, is empty, is filled Additional condition (checkbox) → is checked, is not checked The operators "is empty", "is filled", "is checked" and "is not checked" do not require a value. Multiple conditions You can add multiple conditions on the same trigger field via the button + Add a condition. A connector appears between conditions: AND → all conditions must be met OR → at least one condition must be met All conditions apply to the same trigger field. Visual reading In your field list, a conditional field appears indented under the field it depends on, with an orange badge. Hovering over the badge displays a tooltip summarizing the applied rule. Clicking on the badge directly opens the field configuration. Fields can be reordered by drag-and-drop. Moving a "parent" field moves its entire group. Troubleshooting I don't see my other question in the list → it already depends on this field (no loop possible) or it's the field itself My field has moved → it has been automatically repositioned under its trigger field, this is normal I can't add a condition → the previous condition is incomplete, or all options are already used How to remove the condition? → deactivate the toggle "Display under condition". Settings are saved if you reactivate it What happens if I delete a trigger field? → a window will prompt you to also delete dependent fields or keep them by removing the condition For any technical questions or need for assistance, feel free to contact our support. Contact us --- # Organize your tickets with groups Source: https://docs.passpass.be/en/categories/sell-your-tickets/organiser-vos-tickets-avec-les-groupes Category: Sell your tickets Language: en Updated: 2026-04-07 Pourquoi utiliser les groupes de tickets ? Quand votre événement propose plusieurs types de billets, vos visiteurs peuvent se sentir perdus face à une longue liste de choix. Les groupes de tickets permettent d'organiser visuellement vos billets par catégorie directement sur votre page de vente. Par exemple, un festival pourrait organiser ses billets en trois groupes : "Pass journaliers" (Vendredi, Samedi, Dimanche), "Pass multi-jours" (Weekend, Full Festival) et "Tarifs réduits" (Étudiant, Enfant). Chaque groupe apparaît comme une section distincte sur la page de vente, avec la possibilité d'être replié ou déplié par défaut. Créer un groupe de tickets Pour créer un groupe, suivez ces étapes : Rendez-vous dans Gestion des tickets > Tickets Cliquez sur la flèche à côté du bouton "Créer un ticket" Sélectionnez Ajouter un groupe Remplissez les informations du groupe (voir ci-dessous) Cliquez sur Ajouter pour créer le groupe Informations du groupe Nom du groupe : le titre qui s'affichera sur votre page de vente (par exemple "Pass journaliers"). Ce champ est multilingue si vous avez activé le support multilingue. Description : un texte optionnel qui apparaît sous le nom du groupe pour guider l'acheteur. Également multilingue. Affichage initial : choisissez si le groupe apparaît Replié ou Déplié par défaut sur la page de vente. Si vous avez activé le support multilingue, le nom et la description du groupe peuvent être traduits dans chaque langue configurée. Les options avancées du groupe Chaque groupe dispose de paramètres qui contrôlent le comportement des tickets qu'il contient. Ces règles s'appliquent au niveau du groupe, indépendamment des règles individuelles de chaque ticket. Capacité maximale du groupe Vous pouvez définir une capacité maximale pour l'ensemble du groupe. Cette capacité représente le nombre total de tickets pouvant être vendus dans ce groupe, tous types confondus. Par exemple, si votre groupe "Pass journaliers" a une capacité de 500, alors le total combiné des tickets Vendredi, Samedi et Dimanche ne pourra pas dépasser 500. Minimum et maximum par commande Vous pouvez contrôler combien de tickets de ce groupe un visiteur peut acheter en une seule commande : Minimum par commande : nombre minimum de tickets du groupe requis pour valider la commande. Utile pour les offres "lot" (ex : minimum 2 tickets). Maximum par commande : nombre maximum de tickets du groupe par commande. Permet d'éviter les achats excessifs et de garantir un accès équitable. Pour des contraintes de vente qui s'appliquent à des tickets de groupes différents (par exemple limiter le total à 4 tickets tous types confondus), utilisez plutôt les limites partagées. Ajouter des tickets dans un groupe Une fois votre groupe créé, deux méthodes s'offrent à vous pour y ajouter des tickets : Créer un ticket directement dans le groupe : cliquez sur le bouton "Créer un ticket" qui apparaît à l'intérieur du groupe. Le ticket sera automatiquement assigné à ce groupe. Glisser-déposer un ticket existant : depuis la liste de tickets, faites glisser un ticket vers le groupe souhaité en utilisant l'icône de déplacement (6 points) à gauche du ticket. Vous pouvez aussi réorganiser l'ordre des tickets au sein d'un groupe par glisser-déposer. Les tickets qui ne sont assignés à aucun groupe apparaissent dans la section "Non groupés" en haut de la page. Modifier ou supprimer un groupe Pour modifier un groupe existant, cliquez sur l'icône engrenage à côté du nom du groupe. Vous pouvez ajuster le nom, la description, l'affichage initial et les options avancées. Pour supprimer un groupe, cliquez sur l'icône corbeille. La suppression d'un groupe est définitive. Les tickets contenus dans le groupe ne seront pas supprimés : ils seront automatiquement déplacés dans la section "Non groupés". Cas d'usage concrets Festival multi-jours Créez un groupe par type de pass : "Pass journaliers" (avec un ticket par jour), "Pass multi-jours" (Weekend, Full Festival) et "Tarifs réduits" (Étudiant, Enfant, Groupe). Chaque groupe a sa propre capacité et ses propres règles. Concert avec zones Organisez vos tickets par zone : "Fosse" (debout, capacité limitée), "Tribune" (places assises numérotées) et "VIP" (accès backstage inclus). Le visiteur voit immédiatement les options par catégorie. Tarifs entreprise et particulier Séparez vos offres en "Tarifs particuliers" et "Tarifs entreprise". Le groupe entreprise peut avoir un minimum par commande de 5 tickets, tandis que les particuliers n'ont pas de minimum. Non, un ticket ne peut appartenir qu'à un seul groupe à la fois. Si vous déplacez un ticket vers un autre groupe, il quittera automatiquement le groupe précédent. Les tickets du groupe ne sont pas supprimés. Ils sont simplement déplacés dans la section "Non groupés" et restent visibles sur votre page de vente. Oui, chaque groupe apparaît comme une section distincte avec son nom et sa description. Les visiteurs peuvent replier ou déplier chaque groupe pour voir les tickets qu'il contient. Oui, vous pouvez réorganiser l'ordre des groupes par glisser-déposer dans la page Gestion des tickets. L'ordre affiché dans le dashboard correspond à l'ordre sur la page de vente. La capacité d'un groupe s'applique uniquement aux tickets de ce groupe. Une limite partagée peut s'appliquer à des tickets de groupes différents et même inclure des suppléments. Les deux fonctionnent indépendamment. --- # Customize your PDF and Wallet tickets Source: https://docs.passpass.be/en/categories/sell-your-tickets/customize-your-pdf-and-wallet-tickets Category: Sell your tickets Language: en Updated: 2026-04-07 Chaque participant reçoit un billet au format PDF par email, et peut l'ajouter à son Apple Wallet ou Google Wallet. Par défaut, ces billets utilisent la miniature et la couleur de votre événement. Mais vous pouvez aller plus loin en créant des visuels personnalisés et en les attribuant à différents types de tickets pour une expérience sur mesure. Rendez-vous dans Gestion des tickets > Visuels depuis le menu de votre événement. Comment fonctionnent les visuels Un visuel est un template qui définit l'apparence du billet reçu par le participant. Il impacte deux supports : Le billet PDF joint à l'email de confirmation. Le pass Wallet (Apple Wallet / Google Wallet) que le participant peut ajouter à son téléphone. Chaque visuel peut être attribué à un ou plusieurs tickets. Cela signifie que des tickets différents peuvent avoir des apparences complètement différentes. Le comportement par défaut Si vous ne créez aucun visuel personnalisé, tous vos tickets et suppléments utilisent le visuel par défaut de votre événement : La miniature (thumbnail) de l'événement est utilisée comme image du billet. La couleur principale de l'événement est appliquée au design. C'est suffisant pour la plupart des événements simples. Mais dès que vous avez plusieurs types de tickets, la personnalisation par visuel devient un vrai atout. Créer un visuel personnalisé Cliquez sur Créer un visuel Donnez un nom au template (par exemple : "Visuel VIP", "Pass Day 1", "Billet Standard"). Ce nom vous aide à identifier le visuel dans votre liste. Personnalisez l'apparence : image, couleurs et thème du billet. Choisissez si ce visuel est compatible Wallet (Apple Wallet / Google Wallet). Attribuez le visuel aux tickets ou suppléments concernés. Attribuer des visuels différents par ticket C'est la fonctionnalité la plus puissante : chaque ticket (ou supplément) peut avoir son propre visuel. Cela permet à vos participants d'identifier immédiatement leur billet et renforce le branding de votre événement. Dans le tableau des visuels, la colonne Attribution indique le nombre de tickets liés à chaque visuel. Cliquez sur un visuel pour voir et modifier les tickets qui l'utilisent. Cas d'usage courants Festival multi-jours Créez un visuel distinct par journée : "Visuel Day 1" avec une image et couleur spécifiques, "Visuel Day 2" avec un autre design. Les participants savent immédiatement quel jour correspond à leur billet, que ce soit sur le PDF ou dans leur Wallet. Expérience VIP premium Créez un visuel "Gold" ou "Premium" pour vos tickets VIP avec un design distinctif (couleurs dorées, image premium). Les détenteurs de tickets VIP reçoivent un billet visuellement différent qui renforce la valeur perçue de leur achat. Branding par catégorie Un événement qui combine concert et afterparty peut avoir un visuel "Concert" et un visuel "Afterparty" avec des ambiances graphiques différentes. Chaque billet raconte son propre univers. Suppléments avec visuel dédié Même les suppléments peuvent avoir un visuel personnalisé. Un supplément "Parking" peut afficher un plan d'accès sur le billet, tandis qu'un supplément "T-shirt" peut montrer un aperçu du design. Tous vos tickets et suppléments utiliseront le visuel par défaut, basé sur la miniature et la couleur principale de votre événement. Vos participants recevront quand même un billet PDF et pourront l'ajouter à leur Wallet. Oui, un visuel peut être partagé entre plusieurs tickets. Par exemple, un visuel "Standard" peut être attribué à la fois au ticket Adulte et au ticket Enfant si vous souhaitez qu'ils aient la même apparence. Oui, à condition que le visuel soit configuré comme compatible Wallet. La colonne Wallet dans le tableau des visuels indique si chaque template est compatible (Oui/Non). Oui, vous pouvez modifier un visuel à tout moment. Les billets déjà envoyés conservent l'ancien design, mais les nouveaux billets utiliseront le visuel mis à jour. --- # Set up a multilingual event Source: https://docs.passpass.be/en/categories/parcours-d-achat/set-up-a-multilingual-event Category: Purchase journey Language: en Updated: 2026-06-24 PassPass allows you to offer your event in multiple languages → French, Dutch, and English. Your participants will automatically see the content in their language. This feature applies to the entire journey → event page, tickets, add-ons, order form, confirmation emails, and tickets. Activate translation Go to Settings (in the sidebar, next to Finances) → section Languages and activate the option Translate events. Once activated, each available language (FR, NL, EN) appears in the settings. Select the languages in which you want to offer your event. Translate your content Once translation is activated, a language indicator appears to the right of each text field and each image of your event. How it works: Locate the language icon to the right of the field (e.g., FR 1/2, NL, EN) Click on the desired language to switch to that version Write or paste your translation in the field Do the same for each field → title, description, location, ticket names, add-ons, etc. Images can also be different by language → useful if your visuals contain text. Use automatic translation To save time, PassPass offers an option for automatic translation accessible from each translatable field. Automatic translation generates a first version in the target language based on your original content. It works field by field → click on the automatic translation option available on each translatable field. It's a good starting point to speed things up, especially if you have a lot of content to translate. Be sure to proofread and adjust the generated translations. Automatic translation provides a functional base, but it lacks the specific context of your event → some phrasings or terms specific to your industry deserve manual tweaking for optimal results. What is automatically translated by PassPass Some elements of the journey are already translated by PassPass in the 3 languages, without any action from you: Buttons and interface of the purchase journey → "Buy", "Continue", "Pay", etc. Confirmation emails → structure and system texts PDF and Wallet tickets → system labels Event page → interface elements (sharing, navigation, etc.) You only need to translate your own content → the texts you write to describe your event, your tickets, and your add-ons. Best practices Start by writing your entire event in your main language Then use automatic translation field by field to generate the translations Proofread each translation, especially ticket and add-on names that may have specific meanings Test the purchase journey in each language to ensure everything displays correctly Yes, translation is optional. If you do not activate it, your event remains in the language in which you wrote it. The content displays in your main language (the one in which you wrote the event). However, the interface and static content can adapt to its language (purchase buttons, emails, …) It provides a solid foundation for getting started quickly. We recommend proofreading the translations, especially for terms specific to your event. The tool prioritizes simplicity and speed → it's up to you to refine according to your needs. Yes, you can translate only the most important fields (title, description) and leave the rest in the main language. The language indicator to the right of each field displays the number of languages provided (e.g., FR 1/2 means that only French is filled in out of 2 activated languages). --- # Integration of the Meta Pixel on your PassPass ticketing Source: https://docs.passpass.be/en/categories/integrations-and-tools/int-gration-du-meta-pixel-sur-votre-billetterie-passpass Category: Integrations and tools Language: en Updated: 2026-08-07 This documentation explains how to connect a Meta Pixel (formerly Facebook Pixel) to a PassPass event to track conversions, measure the return on investment of your Meta (Facebook / Instagram) campaigns, and optimize your marketing performance. On PassPass, the Meta Pixel is configured at the level of each event. This ensures precise and independent tracking by event. Objective of the Integration The integration of the Meta Pixel allows you to: measure the number of orders generated by your Meta ads analyze the sales value from your campaigns track page views at key stages of the purchase journey (ticketing, cart, confirmation) Prerequisites Before starting, make sure to: have a Meta advertising account have created a Meta Pixel in the Meta Events Manager have access to the relevant event in your PassPass dashboard If you do not yet have a Meta Pixel, you can create one via the official Meta documentation: https://www.facebook.com/business/help/952192354843755 Step 1: Obtain Your Meta Pixel ID To connect the Pixel to PassPass, you need to retrieve its identifier. Access the Ads Manager of Meta Go to Events Manager, then Data Sets Select your Pixel and copy the Pixel ID (a sequence of 15 to 16 digits) Direct access to data sets: https://business.facebook.com/settings/datasets Step 2: Link the Meta Pixel in PassPass The Meta Pixel is directly linked to a specific event. Open the relevant event in your PassPass dashboard Access the Advanced Configurations tab in the left sidebar Paste the Meta Pixel ID Save Once saved, the Meta Pixel is active and connected to this event! Automatically Tracked Events Once the Pixel is connected, PassPass automatically triggers the following standard Meta events: PageView => Loading of the ticketing page AddToCart => Adding a ticket to the cart Purchase => Completed purchase Verify the Integration is Working Properly Method 1: Meta Pixel Helper Extension Install the Meta Pixel Helper extension for Google Chrome: https://chromewebstore.google.com/detail/meta-pixel-helper Open the ticketing page of your event Ensure that the Pixel on your PassPass event page is detected and that the ID matches the one in your Meta Events Manager Meta documentation on Pixel Helper: https://www.facebook.com/business/help/823677331451951 Method 2: Test Data in Meta Events Manager Access the Meta Events Manager Select your Data Set Open the Test Data Enter the URL of the PassPass ticketing page (e.g., the registration confirmation page URL => try the complete purchase journey with a test free ticket that you can delete after your tests). Observe the events returned in the Meta Events Manager => Test Data Official Meta documentation: https://www.facebook.com/business/help/2040882565969969 Important Information The Pixel is Linked to an Event Each Meta Pixel is associated with a specific event in PassPass. This allows for clear performance analysis by event and prevents data mixing between multiple events. The Meta Pixel Collects Data, It Does Not Launch Ads The Meta Pixel only allows for data collection. The creation of advertising campaigns, custom audiences, and conversion goals is done directly in Meta tools. Go Further Create custom audiences based on visitors and buyers https://www.facebook.com/business/help/744354708981227 --- # Test your purchase journey before launching sales Source: https://docs.passpass.be/en/categories/parcours-d-achat/test-your-purchase-journey-before-launching-sales Category: Purchase journey Language: en Updated: 2026-06-24 Avant de partager votre événement au grand public, il est fortement recommandé de tester le parcours d'achat de bout en bout. L'objectif → vérifier que vos tickets, suppléments, formulaires, messages de confirmation et billets fonctionnent exactement comme prévu, sans avoir à effectuer un vrai paiement. Pourquoi tester ? Un test de bout en bout vous permet de vérifier plusieurs points avant que vos premiers vrais acheteurs ne passent commande : Comprendre le parcours Les tickets et suppléments s'affichent correctement (nom, prix, description) Les champs du formulaire de commande sont bien configurés (champs obligatoires, nominatifs, facturation) Le message de confirmation après achat est correct Le billet PDF et le Wallet sont générés avec les bonnes informations et le bon visuel Méthode 1 → Ticket de test gratuit La méthode la plus simple pour tester sans aucun paiement. Créez un ticket de test à 0 € (par exemple "Test interne"). Vous pouvez le rendre caché pour qu'il ne soit pas visible publiquement. Ouvrez votre page événement publique et cliquez sur "Réserver ma place" Parcourez toutes les étapes → sélection des tickets, suppléments, formulaire de coordonnées, validation La commande étant gratuite, vous arrivez directement à la confirmation sans passer par le paiement Stripe Vérifiez le message de confirmation, téléchargez le billet PDF, ajoutez-le au Wallet → tout doit correspondre à ce que vous avez configuré Si votre ticket de test est caché (visibilité "Visible avec code promo"), créez un code promo à 0 % pour le déverrouiller. Ça vous permet de tester à la fois le ticket et le code promo en une seule commande. Méthode 2 → Code promo à 100 % Cette méthode permet de tester le parcours avec vos vrais tickets payants, tout en ramenant le total à 0 €. Créez un code promo à 100 % de réduction (par exemple TEST100) avec une limite d'utilisation à 1 ou 2 Ouvrez votre page événement, cliquez sur "Code promo" et saisissez votre code TEST100 Sélectionnez vos tickets payants → le prix passe à 0 € grâce à la réduction de 100 % Complétez le parcours → la commande est gratuite, pas de passage par Stripe Vérifiez la confirmation, les billets, le visuel → tout comme un vrai acheteur le verrait L'avantage de cette méthode → vous voyez exactement l'expérience que vivra votre acheteur (prix affichés, prix barrés, badge réduction), tout en gardant le total à 0 €. Nettoyer après le test Une fois votre test terminé, pensez à faire le ménage pour ne pas polluer vos données réelles : Supprimez les participants de test depuis la liste Participants (menu "..." → Supprimer le participant) Supprimez le ticket de test si vous en avez créé un spécialement Supprimez ou désactivez le code promo de test (TEST100) pour éviter qu'il ne soit utilisé par un vrai acheteur Bonne pratique → dupliquer l'événement Plutôt que de tester directement sur votre événement final (et devoir nettoyer ensuite), la meilleure approche est de dupliquer votre événement pour créer une copie de test. La duplication récupère toutes vos configurations → tickets, suppléments, champs personnalisés, messages, visuels. Vous obtenez un événement identique sur lequel vous pouvez tester librement, sans toucher à l'original. Le workflow recommandé : Configurez votre événement complètement (tickets, suppléments, formulaire, messages, visuels) Dupliquez l'événement → vous obtenez une copie avec toutes les configurations Testez sur la copie → commandes de test, vérification des billets, parcours complet Publiez l'événement original → il est vierge de toute donnée de test, prêt pour les vrais acheteurs Supprimez la copie de test → elle a rempli son rôle Cette approche est particulièrement utile pour les événements complexes avec beaucoup de tickets, suppléments et champs personnalisés. Vous testez en conditions réelles sans risque de mélanger données de test et vraies commandes. Checklist de test Avant de publier, vérifiez chaque point : Les tickets affichent le bon nom, la bonne description et le bon prix Les suppléments apparaissent à l'étape 2 avec les bons tarifs Le formulaire de coordonnées affiche les bons champs (et les bons champs obligatoires) Si les tickets sont nominatifs → les champs nom/prénom/email par participant s'affichent correctement Le message de confirmation après achat est correct et contient les bonnes informations Le billet PDF se génère avec le bon visuel et les bonnes informations Le Wallet (Apple/Google) affiche le bon thème et les bonnes données Les codes promo fonctionnent (réduction appliquée ou ticket déverrouillé) Avec les méthodes décrites ci-dessus (ticket gratuit ou code promo à 100 %), le total est à 0 € et vous ne passez pas par Stripe. C'est la manière la plus simple de tester. Si vous souhaitez tester le flux Stripe lui-même (redirection, choix du moyen de paiement), vous devrez effectuer un vrai achat avec un petit montant puis demander un remboursement. Oui, les commandes de test apparaissent dans vos participants, commandes et statistiques comme de vraies commandes. C'est pourquoi il est recommandé de tester sur un événement dupliqué plutôt que sur l'original, pour garder des données propres. Oui, l'événement doit être publié pour accéder à la page publique et au checkout. Vous pouvez le publier en mode "Privé" → il ne sera pas visible sur votre page organisation ni indexé par les moteurs de recherche. Seules les personnes ayant le lien direct pourront y accéder. Utilisez la méthode 2 → créez un code promo à 100 % de réduction (ex: TEST100). Appliquez-le sur vos vrais tickets payants et le total passera à 0 €. Vous testez l'expérience exacte de vos acheteurs, avec les prix barrés et la réduction appliquée, sans payer. Non. La duplication crée un événement avec les mêmes configurations (tickets, suppléments, formulaire, messages, visuels), mais sans aucune donnée de participants ou de commandes. Vous repartez d'une base complètement vierge. --- # Configure VAT Display Source: https://docs.passpass.be/en/categories/sell-your-tickets/configure-vat-display Category: Sell your tickets Language: en Updated: 2026-04-02 PassPass vous permet de configurer l'affichage de la TVA sur vos tickets et suppléments. Vous pouvez afficher les prix TTC (tout compris) ou HTVA (hors taxes), et définir un taux de TVA global ou personnalisé par ticket. Cette configuration est purement informative : elle modifie l'affichage pour vos participants, mais n'affecte pas le montant réellement facturé. L'affichage TVA est informatif uniquement. PassPass ne fait pas de déclaration TVA pour l'organisateur. Vous restez responsable de votre propre comptabilité et déclarations fiscales. Accéder aux paramètres TVA Rendez-vous dans Configurations avancées > Affichage TVA depuis le menu de votre événement. Cette page regroupe deux réglages : le mode d'affichage des prix et le taux de TVA appliqué par défaut. Choisir le mode d'affichage des prix Trois modes sont disponibles. Sélectionnez celui qui correspond à votre type d'événement et à votre public. Prix TTC (par défaut) Le prix affiché inclut la TVA. C'est le mode par défaut, adapté à la majorité des événements grand public. Par exemple, un ticket à 121 € TTC sera affiché tel quel : 121 €. Prix HTVA — TVA visible sur les tickets Le montant hors taxes et la TVA sont affichés séparément sur chaque ligne de ticket. Par exemple, un ticket affichera 100 € + 21 € TVA. Ce mode convient aux événements B2B où vos participants ont besoin de voir le détail de la TVA pour chaque article. Prix HTVA — TVA visible au résumé uniquement Les tickets affichent le prix hors taxes (par exemple 100 € HTVA), mais le montant de la TVA n'apparaît que dans le récapitulatif de commande, en fin de parcours d'achat. Ce mode offre un affichage plus épuré tout en gardant la transparence fiscale au moment du paiement. Pour un événement grand public (concert, festival, soirée), restez sur le mode Prix TTC. Pour un événement B2B (conférence, séminaire, salon professionnel), passez en Prix HTVA pour que vos participants puissent identifier le montant de TVA récupérable et ainsi que diminuer la perception du prix réel. Définir le taux de TVA par défaut En dessous du mode d'affichage, un champ vous permet de définir le taux de TVA par défaut pour votre événement. Ce taux s'applique automatiquement à tous vos tickets et suppléments. En cas de doute sur le taux applicable, consultez votre comptable. PassPass affiche la TVA à titre informatif et ne se substitue pas à un conseil fiscal. Personnaliser le taux par ticket ou supplément Le taux de TVA par défaut s'applique à l'ensemble de votre événement, mais vous pouvez l'ajuster individuellement pour chaque ticket ou supplément. C'est utile lorsque votre événement combine des prestations soumises à des taux différents. Pour modifier le taux d'un ticket ou supplément spécifique, rendez-vous dans les paramètres de ce ticket ou supplément et renseignez le taux de TVA souhaité. Ce taux remplacera le taux par défaut uniquement pour cet élément. Exemple concret : votre événement utilise un taux par défaut de 21 %, mais vous proposez un supplément repas soumis à 12 %. Vous pouvez laisser 21 % sur vos tickets d'entrée et configurer 12 % uniquement sur le supplément repas. Ce que voit le participant Selon le mode d'affichage choisi, l'expérience du participant varie lors du parcours d'achat : En mode Prix TTC : les prix affichés sur les tickets et dans le résumé de commande incluent la TVA. Aucune ligne TVA séparée n'apparaît. En mode HTVA visible sur les tickets : chaque ticket affiche le montant HTVA et le montant de TVA séparément. Le résumé de commande détaille aussi la TVA. En mode HTVA visible au résumé uniquement : les tickets affichent le prix HTVA, et la TVA totale n'apparaît que dans le récapitulatif de commande, juste avant le paiement. Dans tous les cas, le montant total payé par le participant reste identique. Seul l'affichage change. Cas d'usage courants Événement grand public Concert, festival, soirée : gardez le mode Prix TTC (par défaut). Vos participants veulent voir un prix clair et final, sans détail fiscal. Conférence B2B Séminaire, salon professionnel : activez Prix HTVA — TVA visible au résumé. Vos participants professionnels pourront identifier le montant de TVA récupérable lors de leur comptabilité. Événement avec taux mixtes Votre événement propose des tickets d'entréeet un supplément repas traiteur. Configurez le taux par défaut, puis modifiez le taux du supplément repas individuellement. Activez le mode HTVA pour que la distinction soit visible pour vos participants. Non. Le mode d'affichage est purement informatif. Que vous affichiez 121 € TTC ou 100 € + 21 € TVA, le participant paie exactement le même montant. Seule la présentation change. Non. PassPass affiche la TVA à titre informatif pour vos participants, mais ne se substitue pas à votre comptable. La déclaration et le paiement de la TVA restent de votre responsabilité en tant qu'organisateur. L'affichage TVA concerne le parcours d'achat (sélection des tickets et résumé de commande). Les billets PDF et Wallet affichent le prix du ticket sans détail TVA séparé. Oui, vous pouvez définir le taux à 0 % si votre activité est exonérée de TVA. Cela signifie simplement qu'aucune ligne TVA ne sera affichée, quel que soit le mode choisi. Oui, le mode d'affichage est global à l'événement et s'applique à tous les éléments : tickets et suppléments. Chaque supplément peut avoir son propre taux de TVA, mais le mode d'affichage (TTC ou HTVA) reste le même pour tous. --- # Public API and Webhooks Source: https://docs.passpass.be/en/categories/integrations-and-tools/api-publique-et-webhooks Category: Integrations and tools Language: en Updated: 2026-08-07 PassPass offers a REST API and webhooks to connect your ticketing system to your external tools: CRM, accounting, marketing, automations. Go to Settings > Developers to access these features. For any technical questions or need for support, feel free to contact our support. Contact support Public API The API allows you to read the data of your events, orders, and participants from an external system. Connection Information Base URL : https://api.passpass.be/api/public Authentication : Authorization: Bearer Interactive Documentation (Swagger) : api.passpass.be/api/public/docs Complete Technical Reference : Public API: Technical Reference Create an API Key Go to Settings > Developers. Click on New API Key. Give a descriptive name to your key (e.g., "Sync CRM", "Export accounting"). Check the necessary permissions. Copy the generated key and keep it in a safe place. The secret is displayed only once. Available Permissions Each key only has access to the data you authorize. All permissions are read-only. Events (events:read) : title, description, dates, locations, tickets, gauges Orders (orders:read) : buyer, purchased tickets, payment status, billing Financial Orders (orders:read:financial) : service fees and net amount to be refunded Order Form (orders:read:form_answers) : order form responses Attendees (attendees:read) : identifier, assigned ticket, check-in status Attendee Contact (attendees:read:contact) : first name, last name, and email Financial Attendees (attendees:read:financial) : amount paid per attendee Attendee Form (attendees:read:form_answers) : attendee form responses Full Attendees (attendees:read:full) : access token to the ticket QR code (sensitive) The contact, form_answers, and full extensions provide access to personal data. Only activate them if the recipient system is GDPR compliant. Before connecting your system, test your calls with a tool like Postman. Paste the base URL, add your key in the Authorization header, and check that you receive the expected data. Webhooks Webhooks send a notification to a URL of your choice for each important event (payment received, ticket scanned...). Ideal for real-time reactions without continuously querying the API. Complete Technical Reference : Webhooks: Technical Reference Create an Endpoint Go to Settings > Developers. Click on New Webhook Endpoint. Enter your server's URL. Check the types of events to receive. Select the permissions to control the data included in the payload. Available Events order.created : order created order.paid : order paid (includes finalized free orders) order.cancelled : order cancelled order.expired : order expired ticket.validated : ticket validated at entry event.published : event published event.updated : event updated Security and Reliability Each notification is signed via the X-PassPass-Signature header. Your server should verify this signature to confirm that the request indeed comes from PassPass. If your server does not respond, PassPass automatically retries with increasing delays (6 attempts). After 20 consecutive failures, the endpoint is disabled to prevent unnecessary sends. Permissions work the same way as for the API: you control exactly what data is included in each notification. Best Practices Only activate the necessary permissions. Less exposed data, less risk. Never share an API key publicly. Avoid placing it in a GitHub repository or accessible code. Use environment variables. Verify webhook signatures. Check the X-PassPass-Signature header for each received notification. Respond quickly to webhooks. Your endpoint should return an HTTP 200 without delay. If processing takes time, acknowledge receipt and process in the background. Use Cases Synchronize Attendees with a CRM Use the API with the attendees:read and attendees:read:contact permissions, or set up a webhook on order.paid, to automatically send each new attendee to HubSpot, Brevo, Salesforce, or any other CRM. Export Orders to Your Accounting Use the API with the orders:read and orders:read:financial permissions to retrieve amounts, service fees, and payment statuses, and inject them into your accounting software. No-code Automations with Zapier, Make, or n8n Combine the API or webhooks with an automation tool to create workflows without coding. Some examples: add a Mailchimp contact for each sale, send a Slack notification when a ticket is scanned, feed a Google Sheet in real-time. --- # Public API: technical reference Source: https://docs.passpass.be/en/categories/integrations-and-tools/api-publique-reference-technique Category: Integrations and tools Language: en Updated: 2026-08-07 This article is intended for the person consuming the PassPass REST API. For an overview and configuration from the dashboard, see Public API and Webhooks. Interactive documentation (Swagger): api.passpass.be/api/public/docs Authentication Each request carries your API key in the Authorization header: GET /api/v1/events HTTP/1.1 Host: api.passpass.be Authorization: Bearer pk_live_9f2c4a1b...The key is linked to your organization. All returned data is automatically filtered on your organization. The key's secret is displayed only once at creation. If you lose it, perform a rotation from the dashboard (the old secret stops working immediately). Validate your configuration at startup with GET /v1/me : it is the only endpoint that requires no scope. Available Endpoints The API is read-only. 7 GET endpoints: GET /v1/me : introspection of your API key (scopes, organization, last use). No scope required GET /v1/events : list of your events (all statuses, drafts, and private included). Scope: events:read GET /v1/events/:id : detail of an event. Scope: events:read GET /v1/orders : list of orders. Scope: orders:read GET /v1/orders/:id : detail of an order. Scope: orders:read GET /v1/events/:eventId/attendees : attendees of an event. Scope: attendees:read GET /v1/orders/:orderId/attendees : attendees of an order. Scope: attendees:read Permissions (scopes) Scopes control the fields returned, not just access to endpoints. An unauthorized field is absent, not null. events:read : access to event endpoints orders:read : access to order endpoints (amount, buyer, billing, line items, status) orders:read:financial : service_fee, payout_amount, refundable_amount, historical_service_fee orders:read:form_answers : order form answers attendees:read : access to attendee endpoints (minimal data, no personal data) attendees:read:contact : first_name, last_name, email attendees:read:financial : ticket_price attendees:read:form_answers : attendee form answers attendees:read:full : access_token (automatically includes contact and financial) Scopes are fixed at key creation. To change permissions, create a new key and remove the old one. access_token is the secret identifier behind the ticket's QR code. Only request attendees:read:full if your system truly needs it. Pagination All lists are paginated: { "data": [], "total": 137, "page": 1, "limit": 25, "total_pages": 6 }Parameters: ?page= (default 1) and ?limit= (default 25, maximum 100). Always paginate up to total_pages and reread the returned limit. Conventions Fields in snake_case (exception: buyer and billing in camelCase) Amounts in euros (not in cents). 25 = 25.00€ Dates in ISO 8601 UTC Multilingual fields: {"fr": "...", "en": "...", "nl": "..."} Field not authorized by scopes: absent, not null New fields possible without notice, do not reject an unknown field Events GET /v1/events returns all your events (drafts and private included, only deleted are excluded). No status or date filter on the API side: filter on the client side on status / start_at. Use case: gauge dashboard, ticket stock tracking, event list in a back-office. { "id": 1535, "title": {"fr": "Mon événement"}, "short_description": {"fr": "Description courte"}, "address_label": {"fr": "Bruxelles"}, "address_full": {"fr": "Rue de la Loi 1, 1000 Bruxelles"}, "status": "published", "visibility": "public", "sold_count": 128, "max_capacity": 500, "start_at": "2026-06-01T18:00:00.000Z", "end_at": "2026-06-01T23:00:00.000Z", "timezone": "Europe/Brussels", "currency": "EUR", "tickets": [ { "id": 4525, "type": "ticket", "name": {"fr": "Entrée Standard"}, "description": null, "price": 25, "vat_rate": 21, "max_quantity": 300, "sold_count": 128, "visibility": "visible", "sell_start_at": null, "sell_end_at": null } ], "created_at": "2026-01-12T14:22:00.000Z", "updated_at": "2026-04-17T09:00:00.000Z" }Orders GET /v1/orders returns the orders of your organization. Available Filters status : paid (default), pending, cancelled, or all created_after : ISO-8601 date, orders created from this moment (inclusive) created_before : ISO-8601 date, orders created up to this moment (inclusive) By default, only paid orders are returned. Use ?status=all if you want the full picture (cancellations, ongoing carts). This is the most common trap for accounting reconciliations. Statuses paid : paid and not canceled cancelled : canceled (whether paid or not). Expired orders (abandoned cart) are also found here pending : neither paid nor canceled (ongoing cart, pending transfer) Use case: accounting export, financial reconciliation, CRM synchronization. { "id": 65817, "event_id": 1535, "status": "paid", "origin": "online", "currency": "EUR", "amount_total": 200, "buyer": { "firstName": "Marie", "lastName": "Dupont", "email": "marie@example.com" }, "billing": { "identifierType": "vat", "companyName": "Demo Corp SRL", "vat": "BE0123456789", "vatCountry": "BE", "addressStreet": "Rue de la Loi 1", "addressCity": "Bruxelles", "addressZip": "1000", "addressCountry": "BE" }, "line_items": [ { "type": "ticket", "ticket_id": 4525, "name": {"fr": "Entrée Standard"}, "quantity": 2, "unit_amount": 100, "subtotal": 200 } ], "form_answers": null, "paid_at": "2026-04-17T10:00:00.000Z", "cancelled_at": null, "created_at": "2026-04-17T10:00:00.000Z", "updated_at": "2026-04-17T10:00:00.000Z", "service_fee": 4.6, "payout_amount": 195.4, "refundable_amount": 4.6, "historical_service_fee": 4.6 }Understanding the Fields buyer : identity entered at checkout (first name, last name, email). In camelCase. billing : company billing data. Present only if the buyer checked "I order on behalf of a company" at checkout. Otherwise null. In camelCase. Contains: identifierType (vat or enterprise), companyName, vat, vatCountry, addressStreet, addressCity, addressZip, addressCountry. line_items : order details. Each line has a type: ticket : purchased ticket, unit_amount = unit price fee : service fee (a single aggregated line) discount : promo code / discount, negative unit_amount Financial block (scope orders:read:financial) : service_fee : current service fee historical_service_fee : fees fixed at the time of sale payout_amount : net amount to be paid to the organizer refundable_amount : part of the fees still refundable form_answers (scope orders:read:form_answers) : answers to the custom order form. Attendees GET /v1/events/:eventId/attendees or GET /v1/orders/:orderId/attendees returns the attendees. One attendee = one ticket. Only attendees with status active are returned. Canceled or draft tickets are absent. Use case: attendance list, offline access control, nominative export. { "id": "019fdb0d-...", "event_id": 1535, "order_id": 65817, "status": "active", "ticket": { "id": 4525, "type": "ticket", "name": {"fr": "Entrée Standard"} }, "first_name": "Marie", "last_name": "Dupont", "email": "marie@example.com", "ticket_price": 100, "access_token": "019fdb0d-...", "created_at": "2026-04-17T10:00:00.000Z", "updated_at": "2026-04-17T10:00:00.000Z", "form_answers": [ { "type": "selection", "field_id": "abc123...", "question_title": {"fr": "Quel est votre statut actuel ?"}, "answer": {"fr": "Indépendant"} }, { "type": "unique-choice", "field_id": "def456...", "question_title": {"fr": "Régime alimentaire"}, "answer": {"fr": "Végétarien"} }, { "type": "short-text", "field_id": "ghi789...", "question_title": {"fr": "Nom entreprise"}, "answer": "Demo Corp" }, { "type": "formatted-field", "field_id": "jkl012...", "question_title": {"fr": "Téléphone"}, "answer": "+32400000000" }, { "type": "formatted-field", "field_id": "mno345...", "question_title": {"fr": "Code postal"}, "answer": "1000" } ] }Understanding the Fields Fields are conditioned by scopes. Absent if the scope is not granted: first_name, last_name, email (scope attendees:read:contact) ticket_price (scope attendees:read:financial) : amount in euros form_answers (scope attendees:read:form_answers) : attendee form answers. Possible types: selection, unique-choice, short-text, formatted-field. The selection and unique-choice types have multilingual answers, the others have string answers access_token (scope attendees:read:full) : the secret identifier behind the ticket's QR code, read by the PassPass Organizer mobile app during entry control. This token can, for example, be reassigned on a badge to replicate a QR code readable by PassPass ticket control. Transmitting this token is equivalent to giving access to the ticket Introspection GET /v1/me returns your key information. No scope required. { "api_key_id": "019d-...", "api_key_prefix": "pk_live_9f2c4a1b", "api_key_name": "Production server", "organization_id": "019d-...", "scopes": ["events:read", "orders:read", "attendees:read"], "last_used_at": "2026-04-17T09:58:00.000Z", "created_at": "2026-01-12T14:22:00.000Z" }Limits 100 requests per minute per API key. Beyond that: HTTP 429. If your need is real-time, use webhooks instead of polling. Error Codes 401 : key absent, invalid or disabled 403 : valid key but insufficient scope 404 : resource nonexistent or outside your organization 400 : invalid parameter (status, date format...) 429 : quota exceeded (100 req/min) API or Webhooks? React to a sale in real-time → Webhooks order.paid Synchronize a CRM continuously → Webhooks + API for catch-up Accounting export, reconciliation → API /v1/orders?status=all&created_after=... Attendance list, access control → API /v1/events/:id/attendees Gauge dashboard / stocks → API /v1/events (sold_count, max_quantity) Replay a past history → API (the webhooks do not replay the past) The robust scheme: webhooks for real-time + periodic API call to catch up on what a network incident might have missed. For any technical questions or need for support, feel free to contact our support. Contact us --- # Personalized tickets Source: https://docs.passpass.be/en/categories/sell-your-tickets/personalized-tickets Category: Sell your tickets Language: en Updated: 2026-04-02 Par défaut, seul l'acheteur d'une commande est identifié (nom, prénom, email). Les tickets nominatifs permettent d'aller plus loin : chaque participant doit (ou peut) être identifié individuellement avec son propre nom, prénom et email. C'est indispensable pour les événements nécessitant un contrôle d'accès strict, une communication personnalisée ou une traçabilité par participant. Activer les tickets nominatifs Rendez-vous dans Parcours d'achat > Champs personnalisés depuis le menu de votre événement. En bas de la page, vous trouverez la section Informations personnelles des participants. Il n'y a pas de toggle "tickets nominatifs" séparé. C'est la section Informations personnelles des participants qui contrôle ce mécanisme. Deux réglages indépendants sont disponibles : Pour chaque ticket — choisissez Obligatoire, Facultatif ou Ne pas demander Pour chaque supplément — choisissez Obligatoire, Facultatif ou Ne pas demander Les tickets et les suppléments se configurent séparément. Vous pouvez par exemple rendre les tickets nominatifs (obligatoire) tout en laissant les suppléments non nominatifs, ou l'inverse. Les trois modes expliqués Obligatoire L'acheteur doit renseigner le nom, prénom et email de chaque participant. Pour chaque ticket de la commande, un formulaire individuel s'affiche avec ces trois champs obligatoires. L'acheteur ne peut pas passer à l'étape suivante sans les avoir tous remplis. C'est le mode recommandé pour les événements avec contrôle d'accès nominatif, badges personnalisés ou obligations légales d'identification. Facultatif Une checkbox "Attribuer les tickets" apparaît dans le parcours d'achat. Si l'acheteur la coche, les champs nom, prénom et email s'affichent pour chaque ticket. S'il ne la coche pas, il passe directement à l'étape suivante sans identifier les participants. Ce mode est idéal si vous souhaitez encourager l'identification sans bloquer l'achat. L'acheteur garde le choix. Ne pas demander Aucune information par participant n'est demandée. Pas de checkbox, pas de champs. Seules les coordonnées de l'acheteur (champs de commande) sont collectées. C'est le comportement par défaut. Ce que voit le participant Le formulaire nominatif apparaît à l'étape Coordonnées du parcours d'achat (étape 3 sur 4). Selon le mode configuré : Mode Obligatoire Pour chaque ticket de la commande, un bloc s'affiche avec les champs Nom, Prénom et Email. Si l'acheteur a pris 3 tickets, il verra 3 blocs à remplir. Tous les champs sont requis — impossible de valider sans les compléter. Mode Facultatif Une checkbox "Attribuer les tickets" s'affiche en haut de la section. Si l'acheteur la coche, les mêmes blocs nom/prénom/email apparaissent pour chaque ticket. S'il ne la coche pas, cette section est vide et il peut continuer vers le paiement. Mode Désactivé Aucun champ par participant n'apparaît. L'étape Coordonnées ne contient que les champs de commande (coordonnées de l'acheteur, facturation, champs personnalisés éventuels). Tickets et suppléments : deux configurations séparées Le point clé est que les tickets et les suppléments ont chacun leur propre réglage. Vous pouvez combiner les modes librement : Tickets Obligatoire + Suppléments Ne pas demander — chaque porteur de ticket est identifié, mais les suppléments (parking, T-shirt, repas) ne sont pas attribués individuellement Tickets Obligatoire + Suppléments Obligatoire — identification complète, chaque ticket et chaque supplément sont attribués à un participant nommé Tickets Facultatif + Suppléments Ne pas demander — l'acheteur peut choisir d'attribuer les tickets, les suppléments ne sont jamais nominatifs Cas d'usage courants Festival avec contrôle d'accès strict Passez les tickets en Obligatoire. Chaque participant sera identifié par nom, prénom et email. Au moment du scan à l'entrée, le nom affiché correspondra à la personne qui se présente. Les suppléments (consommations, parking) peuvent rester sur Ne pas demander. Conférence avec badges nominatifs Tickets en Obligatoire, suppléments (repas, workshop) aussi en Obligatoire. Vous saurez exactement qui participe à quel atelier et qui prend le repas. Les données nominatives seront disponibles dans l'export participants. Attribution optionnelle Tickets en Facultatif. Un groupe d'amis achète 5 tickets ensemble. L'acheteur peut cocher "Attribuer les tickets" pour donner les noms de chaque personne, ou laisser vide si tout le monde entre avec l'acheteur. Ça ne freine pas l'achat. Vente simple sans identification pour chaque ticket Laissez les deux sur Ne pas demander (par défaut). L'achat est rapide, seules les coordonnées de l'acheteur sont collectées. C'est le mode le plus fluide pour les événements grand public où l'identification individuelle n'est pas nécessaire. Les informations nominatives (nom, prénom, email de chaque participant) sont disponibles dans la section Participants de votre événement. Vous pouvez les consulter en ligne ou les exporter. Oui, rien n'empêche l'acheteur de saisir les mêmes informations pour chaque ticket. Mais l'objectif des tickets nominatifs est justement d'identifier chaque participant de manière distincte. Le mode Obligatoire ajoute des champs à remplir, ce qui allonge l'étape Coordonnées. Si vous craignez un impact sur les conversions, utilisez le mode Facultatif : seuls les acheteurs motivés prendront le temps de remplir les informations. Le réglage nominatif s'applique à tous les tickets de l'événement. Il n'est pas possible de rendre un type de ticket nominatif et un autre non. En revanche, tickets et suppléments ont chacun leur propre réglage indépendant. Chaque participant identifié reçoit son propre billet (PDF ou Wallet) à l'adresse email renseignée. L'email de confirmation de commande est envoyé à l'acheteur principal. --- # Webhooks: Technical Reference Source: https://docs.passpass.be/en/categories/integrations-and-tools/webhooks-reference-technique Category: Integrations and tools Language: en Updated: 2026-08-07 This article is intended for the person implementing the reception of PassPass webhooks. For an overview and configuration from the dashboard, see Public API and Webhooks. Understanding the Data Each webhook contains one or more data blocks. Here is what each represents. Order : a transaction made by a buyer. Contains the total amount, payment status, buyer's identity, details of purchased tickets (line_items), and possibly company billing data (billing). Attendees : one entry per ticket in the order. If a buyer takes 3 tickets, there will be 3 entries in attendees. Each entry contains the ticket type, ticket status, and depending on your permissions: participant contact details, price paid, form responses, and the ticket access token. Event : basic information about your PassPass event (title, dates, location, status). This block is identical in all types of webhooks. Billing : company data of the buyer (name, VAT, address). Present only if the buyer checked "I am ordering on behalf of a company" at checkout. Otherwise null. Form answers : responses to the custom fields you have configured. Present at two levels: at the order level (form_answers in order) and at the participant level (form_answers in each attendee). Access token : the secret identifier behind a ticket's QR code, read by the PassPass Organizer mobile app during entry control. This token can, for example, be reassigned on a badge to replicate a QR code readable by PassPass ticket control. Be careful when using it: transmitting this token is equivalent to giving access to the ticket. Available Events Each type of event sends different data blocks: order.created : order created (before payment) → order, event, attendees order.paid : payment confirmed (also includes completed free orders) → order, event, attendees order.cancelled : order cancelled → order, event, attendees order.expired : cart expired (25 min without payment) → order, event, attendees (empty) ticket.validated : ticket scanned at entry → scan, participant event.published : event published → event event.updated : event updated → event, changed_fields Permissions (scopes) The data included in the payload depends on the permissions configured on your endpoint. An unauthorized field is absent from the payload, not null. events:read : event block (title, dates, location, status) orders:read : basic order block (amount, buyer, billing, line items, status) orders:read:financial : service_fee, payout_amount, refundable_amount, historical_service_fee orders:read:form_answers : order form responses attendees:read : minimal participant block (ID, ticket, status, dates) attendees:read:contact : first_name, last_name, email attendees:read:financial : ticket_price attendees:read:form_answers : participant form responses attendees:read:full : access_token (automatically includes contact and financial) access_token is the secret identifier behind the ticket's QR code. Request attendees:read:full only if your system truly needs it. Payload Structure Each webhook is a JSON POST with this envelope: { "type": "order.paid", "created_at": "2026-04-17T10:00:00.000Z", "data": { } }Conventions: All fields are in snake_case Amounts are in euros (not in cents). 25 = 25,00€ Dates are in ISO 8601 UTC Multilingual fields are objects {"fr": "...", "en": "...", "nl": "..."} Exception: buyer and billing blocks are in camelCase The payload can receive new fields without notice. Do not reject an unknown field Complete Example: order.paid Triggered when a payment is confirmed, or when a free order is finalized. It is the most used event: it confirms that a participant has completed their registration. Use case: add the participant to your CRM, send a welcome email, update your accounting, trigger a Zapier/Make/n8n workflow. { "type": "order.paid", "created_at": "2026-04-17T10:00:00.000Z", "data": { "order": { "id": 65817, "event_id": 1535, "status": "paid", "origin": "online", "currency": "EUR", "amount_total": 200, "buyer": { "firstName": "Marie", "lastName": "Dupont", "email": "marie@example.com" }, "billing": { "identifierType": "vat", "companyName": "Demo Corp SRL", "vat": "BE0123456789", "vatCountry": "BE", "addressStreet": "Rue de la Loi 1", "addressCity": "Bruxelles", "addressZip": "1000", "addressCountry": "BE" }, "line_items": [ { "type": "ticket", "ticket_id": 4525, "name": {"fr": "Entrée Standard"}, "quantity": 2, "unit_amount": 100, "subtotal": 200 } ], "form_answers": null, "paid_at": "2026-04-17T10:00:00.000Z", "cancelled_at": null, "created_at": "2026-04-17T10:00:00.000Z", "updated_at": "2026-04-17T10:00:00.000Z", "service_fee": 4.6, "payout_amount": 195.4, "refundable_amount": 4.6, "historical_service_fee": 4.6 }, "event": { "id": 1535, "title": {"fr": "Mon événement"}, "short_description": {"fr": "Description courte"}, "address_label": {"fr": "Bruxelles"}, "locality_type": "physical", "start_at": "2026-06-01T18:00:00.000Z", "end_at": "2026-06-01T23:00:00.000Z", "timezone": "Europe/Brussels", "currency": "EUR", "status": "published", "visibility": "public" }, "attendees": [ { "id": "019fdb0d-...", "event_id": 1535, "order_id": 65817, "status": "active", "ticket": { "id": 4525, "type": "ticket", "name": {"fr": "Entrée Standard"} }, "first_name": "Marie", "last_name": "Dupont", "email": "marie@example.com", "ticket_price": 100, "access_token": "019fdb0d-...", "created_at": "2026-04-17T10:00:00.000Z", "updated_at": "2026-04-17T10:00:00.000Z", "form_answers": [ { "type": "selection", "field_id": "abc123...", "question_title": {"fr": "Quel est votre statut actuel ?"}, "answer": {"fr": "Indépendant"} }, { "type": "unique-choice", "field_id": "def456...", "question_title": {"fr": "Régime alimentaire"}, "answer": {"fr": "Végétarien"} }, { "type": "short-text", "field_id": "ghi789...", "question_title": {"fr": "Nom entreprise"}, "answer": "Demo Corp" }, { "type": "formatted-field", "field_id": "jkl012...", "question_title": {"fr": "Téléphone"}, "answer": "+32400000000" }, { "type": "formatted-field", "field_id": "mno345...", "question_title": {"fr": "Code postal"}, "answer": "1000" } ] } ] } }Example: ticket.validated Triggered when a ticket is scanned via the PassPass Organizer mobile app. Use case: update a real-time attendance board, trigger badge printing, send a notification to your team upon a VIP's arrival. { "type": "ticket.validated", "created_at": "2026-04-17T10:00:00.000Z", "data": { "scan": { "id": "019d-...", "type": "scan", "direction": "enter", "created_at": "2026-04-17T10:00:00.000Z" }, "participant": { "id": "019fdb0d-...", "event_id": 1535, "order_id": 65817, "status": "active", "ticket": { "id": 4525, "type": "ticket", "name": {"fr": "Entrée Standard"} }, "first_name": "Marie", "last_name": "Dupont", "email": "marie@example.com", "ticket_price": 100, "created_at": "2026-04-17T10:00:00.000Z", "updated_at": "2026-04-17T10:00:00.000Z" } } }Example: event.updated Triggered when a tracked field of your event is modified (title, dates, location, description, status...). The payload contains the state of the event after modification and the list of changed fields. Use case: synchronize event information on your website, notify your team of a date or location change. { "type": "event.updated", "created_at": "2026-04-17T10:00:00.000Z", "data": { "event": { "id": 1535, "title": {"fr": "Mon événement (modifié)"}, "short_description": {"fr": "Nouvelle description"}, "address_label": {"fr": "Bruxelles"}, "locality_type": "physical", "start_at": "2026-06-01T18:00:00.000Z", "end_at": "2026-06-01T23:00:00.000Z", "timezone": "Europe/Brussels", "currency": "EUR", "status": "published", "visibility": "public" }, "changed_fields": ["title", "short_description"] } }Signature Verification Each request contains a signature header: x-passpass-signature: t=1776412800,v1=9f2c...The signature is an HMAC-SHA256 calculated with your secret (whsec_...) on the string .. Node.js: const crypto = require('crypto'); function verify(rawBody, header, secret, toleranceSec = 300) { const parts = Object.fromEntries( header.split(',').map((kv) => kv.split('=')) ); const t = Number(parts.t); if (!t || Math.abs(Date.now() / 1000 - t) > toleranceSec) return false; const expected = crypto .createHmac('sha256', secret) .update(`${t}.${rawBody}`) .digest('hex'); const a = Buffer.from(expected, 'hex'); const b = Buffer.from(parts.v1 || '', 'hex'); return a.length === b.length && crypto.timingSafeEqual(a, b); }Python: import hmac, hashlib, time def verify(raw_body: bytes, header: str, secret: str, tolerance: int = 300) -> bool: parts = dict(kv.split("=", 1) for kv in header.split(",")) ts = int(parts.get("t", 0)) if not ts or abs(time.time() - ts) > tolerance: return False expected = hmac.new( secret.encode(), f"{ts}.".encode() + raw_body, hashlib.sha256 ).hexdigest() return hmac.compare_digest(expected, parts.get("v1", ""))Reject requests with a timestamp older than 5 minutes. HTTP Headers Each webhook request contains these headers: x-passpass-event : event type (e.g. order.paid). Allows routing without parsing the body x-passpass-signature : HMAC signature to verify authenticity x-passpass-timestamp : Unix timestamp (seconds) used in the signature x-passpass-idempotency-key : deduplication key. Stable for the same event, including retries. Deduplicate on this field on the receiver side x-passpass-delivery-id : unique delivery attempt identifier. Useful for debugging Retries and Deactivation Your endpoint must respond HTTP 2xx in less than 10 seconds. Any other code, a timeout, or a network error counts as a failure. In case of failure, PassPass retries 6 times with exponential backoff: 1, 2, 4, 8, 16, 32 minutes. After 20 consecutive failures, the endpoint is automatically deactivated. It must be manually reactivated from your dashboard. A success resets the counter to zero. Acknowledge receipt immediately (HTTP 200) and process in the background. If processing is long, do not make PassPass wait. Testing Your Endpoint From your dashboard (Settings → Developers), click Test on your endpoint. PassPass sends a demo payload to your URL to validate the connection and signature verification. Test payloads use recognizable identifiers: IDs starting from 9,999,000, email demo@passpass.be, names "Demo ...". The delivery history is viewable from your dashboard. Each send (successful or failed) is recorded there with your server's response code. For any technical questions or need for support, feel free to contact our support. Contact us --- # Shared limits between tickets Source: https://docs.passpass.be/en/categories/sell-your-tickets/shared-limits-between-tickets Category: Sell your tickets Language: en Updated: 2026-04-07 Les limites partagées vous permettent de définir des contraintes de vente communes à plusieurs tickets et suppléments. Contrairement aux groupes (qui organisent visuellement vos tickets), les limites partagées agissent sur la logique de vente : capacité totale, minimum et maximum par commande — appliqués de manière transversale, indépendamment des groupes. Les limites partagées fonctionnent indépendamment des groupes de tickets. Vous pouvez appliquer une limite à des tickets issus de groupes différents, ou même combiner tickets et suppléments dans une même limite. Accéder aux limites partagées Rendez-vous dans Gestion des tickets > Tickets. Cliquez sur la flèche à droite du bouton Créer un ticket, puis sélectionnez Limites partagées. Créer une limite partagée Donnez un nom à votre limite (par exemple : "Capacité totale salle A", "Max 4 par commande"). Ce nom est visible uniquement par vous. Sélectionnez les tickets et/ou suppléments concernés. La liste est filtrable pour afficher uniquement les tickets ou uniquement les suppléments. Définissez la capacité totale : le nombre maximum de billets vendables pour l'ensemble des tickets sélectionnés combinés. Configurez le minimum par commande et le maximum par commande (optionnel). Ces limites s'appliquent au total combiné des tickets sélectionnés dans une seule commande. La capacité d'une limite partagée est le total combiné de tous les tickets sélectionnés, pas une limite individuelle par ticket. Si votre limite est de 200 et que vous avez sélectionné "Adulte" et "Enfant", le total des deux ne pourra pas dépasser 200, quelle que soit la répartition. Cas d'usage courants Anti-scalping (limiter par commande) Vous souhaitez qu'un acheteur ne puisse pas prendre plus de 4 billets au total, quel que soit le type. Créez une limite partagée avec un maximum par commande de 4, en sélectionnant tous les tickets concernés. Sans cette limite, un acheteur pourrait prendre 4 tickets Adulte et 4 tickets Enfant. Limiter les suppléments Vous proposez un supplément "Place de parking" avec seulement 50 places. Créez une limite partagée avec une capacité de 50 sur ce supplément pour garantir de ne pas vendre plus de places de parking qu'il n'en existe. Mixer tickets et suppléments Vous organisez un dîner avec 100 places au total. Le repas peut être inclus dans un ticket "Dîner VIP" ou ajouté comme supplément "Option dîner". Créez une limite partagée de 100 englobant le ticket VIP et le supplément dîner pour garantir qu'il n'y ait jamais plus de 100 repas vendus au total. Limites partagées vs groupes de tickets Ces deux fonctionnalités sont souvent confondues, mais elles ont des rôles très différents : Les groupes organisent l'affichage de vos tickets sur la page de vente (visuel, repliable/déplié). Un groupe peut aussi avoir sa propre capacité, mais elle ne concerne que les tickets de ce groupe. Les limites partagées définissent des contraintes de vente transversales. Elles peuvent inclure des tickets de groupes différents et même des suppléments. Elles n'ont aucun impact sur l'affichage. Vous pouvez parfaitement utiliser les deux en même temps. Par exemple : un groupe "Standard" (Adulte + Enfant) pour l'affichage, et une limite partagée qui englobe Standard + VIP pour la capacité totale du lieu. Oui, un même ticket peut être inclus dans plusieurs limites partagées. Toutes les contraintes s'appliquent simultanément. Par exemple, un ticket peut être soumis à la fois à une limite de capacité du lieu (300) et à une limite anti-scalping (max 4 par commande). Non, les limites partagées ne sont pas affichées sur votre page de vente. L'acheteur voit uniquement le stock restant de chaque ticket individuel. Si la limite partagée est atteinte, les tickets concernés apparaîtront comme épuisés. Oui, la sélection est filtrable entre Tickets et Suppléments. Vous pouvez mixer les deux dans une même limite, ce qui est utile quand un même produit (repas, parking…) est proposé à la fois via un ticket et un supplément. Le maximum par commande d'un ticket s'applique uniquement à ce ticket spécifique. Le maximum par commande d'une limite partagée s'applique au total combiné de tous les tickets inclus dans cette limite. Par exemple, si Adulte et Enfant ont chacun un max de 4 mais une limite partagée avec un max de 4 aussi, l'acheteur ne pourra prendre que 4 billets au total (pas 4 + 4). --- # Create a waves system (wave sales) Source: https://docs.passpass.be/en/categories/sell-your-tickets/create-a-waves-system-wave-sales Category: Sell your tickets Language: en Updated: 2026-04-02 The wave system (or sales by waves) is a pricing strategy that involves selling your tickets in several phases at progressive prices. The first wave is the cheapest, and each subsequent wave is more expensive. This mechanism rewards early buyers, creates a sense of urgency, and helps you generate revenue earlier. PassPass does not offer a "create a wave" button, but the ticketing system is flexible enough to set up a complete and effective wave system. Here's how. The principle: one ticket per wave Each wave corresponds to a distinct ticket with its own name, price, and quantity. For example, for a festival: Wave 1 → Early Bird : 15 €, limited to 100 tickets Wave 2 → Regular : 25 €, limited to 400 tickets Wave 3 → Last Minute : 35 €, limited to 100 tickets The idea: when Wave 1 is sold out, the buyer sees they "missed" the best price and hurries to buy in Wave 2 before it also sells out. Set up your waves step by step Go to Ticket Management > Tickets from your event menu. 1. Create a ticket for each wave Click on Create a ticket and create one ticket per wave. For each ticket: Give a clear name indicating the wave: "Wave 1 — Early Bird", "Wave 2 — Regular", "Wave 3 — Last Minute". Your buyers will immediately see the progression. Set an increasing price for each wave. The price gap should be significant enough to create urgency (for example, +10 € between each wave). Limit the available quantity of each wave. This is what makes the wave "end" and the buyer move to the next one. Without a limit, the wave never sells out and the effect is lost. 2. Set visibility (the key ingredient) This is where it all happens. In the advanced options of each ticket, set ticket display to Visible (not "Visible if on sale"). Why "Visible" and not "Visible if on sale"? Because a sold-out ticket remains displayed on your sales page with the mention "Sold Out". The buyer sees that Wave 1 at 15 € is already sold out, which reinforces the sense of urgency (FOMO) and encourages them to buy the next wave without delay. If you use "Visible if on sale", the ticket disappears once sold out. The buyer doesn't know a lower price existed and loses all comparison effect. 3. Display the number of tickets remaining To amplify urgency, enable the display of remaining stock. In the advanced options of each ticket, go to Labels and select Show the number of tickets remaining. A badge appears on the sales page, for example "12 tickets remaining". When the number decreases, the buyer thinks "there aren't many spots left" and proceeds to purchase. The "tickets remaining" label is particularly effective on the last tickets of each wave. It turns scarcity into a conversion lever. 4. (Optional) Use sales periods For even more precise control, you can configure custom dates for each wave instead of relying solely on stock. For example: Wave 1: from March 1st to 15th (or until sold out) Wave 2: from March 16th to April 15th Wave 3: from April 16th until the event day Both approaches combine: if Wave 1 sells out before March 15th, the buyer sees "Sold Out" but Wave 2 is not yet on sale. This creates a double effect: "I missed Wave 1" and "Wave 2 opens soon". 5. (Optional) Organize with a group If your event has other types of tickets (VIP, Child, etc.), create a ticket group named "General Admission" to group your waves and keep the sales page readable. The waves will appear together in a dedicated section. Complete example: festival with 3 waves Here is a concrete example of configuration for a festival with 400 seats: Wave 1 → Early Bird : 15 €, 100 tickets, visibility Visible, tickets remaining label activated Wave 2 → Regular : 25 €, 400 tickets, visibility Visible, tickets remaining label activated Wave 3 → Last Minute : 35 €, 100 tickets, visibility Visible, tickets remaining label activated Result on the buyer's side: the sales page displays the 3 tickets simultaneously. The buyer sees "Wave 1 — Early Bird: 15 €" with "Sold Out", "Wave 2 — Regular: 25 €" with "47 tickets remaining", and "Wave 3 — Last Minute: 35 €" pending. The comparison is immediate: the price increases with each wave, better to buy now. Best practices Always keep sold-out waves visible This is the number one rule. A sold-out ticket displayed on the sales page is your best marketing argument. The buyer thinks "Wave 1 is already gone, I won't miss Wave 2". If you hide completed waves, you lose all the progression effect. Properly dose quantities per wave If Wave 1 has too many spots, it won't sell out quickly enough and the urgency won't be created. As a general rule, plan for 20 to 30% of your total capacity for the first wave, so it sells out quickly and triggers the domino effect on the following waves. Communicate on wave changes Announce the opening of each wave on your social networks and by email. "Only 20 tickets left in Wave 2!" is a powerful message to trigger purchases. The "tickets remaining" label visible on the sales page amplifies this message. Don't multiply waves too much Two to four waves are sufficient for most events. Too many waves (5+) dilute the effect and complicate your sales page. Three waves is the sweet spot: early bird, regular, last minute. Advanced variations Waves by category For a large event, you can apply the wave system to each ticket category separately. For example, a "VIP" ticket with its own waves (VIP Early Bird, VIP Regular) and a "Standard" ticket with its own. Use ticket groups to visually organize everything. Secret wave with promo code Create a special "Friends & Family" wave with visibility Visible with promo code. Only people with the code will be able to purchase at this exclusive rate. Combine it with a discount code for a double advantage (reduced wave price + additional discount). Waves with shared limit If you want the total capacity of your event to be respected regardless of the distribution between waves, create a shared limit encompassing all wave tickets. For example, a shared limit of 400 seats across the 3 waves ensures the total never exceeds your venue's capacity. Technically, each wave is a distinct ticket in PassPass. But you can assign them the same ticket visual (PDF and Wallet), the same access, and the same add-ons. For the participant, the experience on the day is identical — only the price paid differs. Yes, you can modify the available quantity of a ticket at any time. If a wave sells faster than expected, you can reduce the stock of the next wave to balance. Tickets already sold are not affected. That's precisely the desired effect. The buyer sees Wave 1 at 15 € and Wave 3 at 35 €, the comparison is immediate. They understand that the price increases over time and that Wave 1's stock is limited. If they don't want to pay more, they buy now. Activate the option in Advanced Options > Labels for each ticket. A red badge appears on the sales page with the exact number of remaining spots (for example, "23 tickets remaining"). The counter updates in real-time with each purchase. Both approaches work. If you want automatic control, use sales periods (custom dates) so each wave opens and closes on specific dates. If you prefer a more organic system based on demand, use only quantities: when Wave 1 is sold out, buyers naturally move to Wave 2. You can also combine both.