How QRAVenta works
A quick, searchable walkthrough for organisers — from creating an event to generating batches of QR tickets and scanning attendees at the door. Attendees don't buy anything here — you create the tickets, print or share them, and admit guests yourself.
Press / to focus · Esc to clear
01 Overview
QRAVenta is a ticket-creation platform for event organisers. It lets you set up events, define ticket tiers, design the ticket layout, generate batches of QR tickets, hand them out however you like (print, email, WhatsApp, physical delivery), and scan them at the door.
There is no online ticket-selling here — attendees don't buy anything on this site. You generate the tickets you need, download or print them, and distribute them yourself. The platform charges you a small fee for each batch of tickets you generate (set by the system administrator), which is paid through PesaPal.
What you can do
- Create unlimited events with rich descriptions, images, and multiple sessions.
- Define ticket types (Regular, VIP, Early Bird) — these are tiers you use to organise your own tickets, not products sold online.
- Design the physical look of your tickets — template, size, orientation, custom background.
- Generate batches of QR tickets, pay per batch, and download them.
- Print as PDF, or download individual QR PNGs + a CSV of ticket numbers.
- Assign scanner staff to specific events and control who scans what.
- Watch check-ins in real time from the dashboard.
02 Quick start
In a hurry? Here's the whole flow in nine steps. Each one is explained in detail further down.
| # | Step | Where |
|---|---|---|
| 1 | Create your organiser account | admin/register.php |
| 2 | Create an event | admin/event.php |
| 3 | Add ticket types (tiers) | admin/ticket_types.php |
| 4 | Design the ticket look | admin/event.php → Ticket Designer |
| 5 | Add scanner staff | admin/event.php → Scanner Staff |
| 6 | Generate a batch of tickets (this is where you pay) | admin/tickets.php |
| 7 | Download or print the batch | admin/all_tickets.php |
| 8 | Scan at the door | admin/scanner.php |
| 9 | Track attendance | admin/checked_in.php |
03 Create your account
To create events and generate tickets you need an organiser (admin) account. Attendees never need one — they only receive the QR ticket you give them.
What to do
- Go to
admin/register.php. - Enter your name, email, and a password of at least 8 characters.
- Submit the form — you'll be signed in automatically.
- You'll land on the admin dashboard.
admin/login.php.
If you forget your password, ask a superadmin to reset it for you.
04 Create an event
An event is the container for your ticket types, ticket batches, and scanners. Everything starts here.
What to do
- From the dashboard, click Create Event (or go to
admin/event.php). - Fill in the Basic Information: event name, description, primary date, start/end time.
- Add the venue, city, organiser name, and contact details.
- Optionally add a Google Maps embed URL and a hero image.
- Add extra sessions if your event runs on multiple days.
- Choose visibility: draft, published, or cancelled.
- Tick the three organizer acceptance boxes at the bottom.
- Click Save Event.
Free vs ticketed events
Tick Free entry if your event doesn't charge attendees. This hides the event's "ticket sale info" section on the public page and shows a "Free" badge. It does not affect your ability to generate QR tickets — you can still create and distribute QR tickets for a free event.
Online events
If your event is virtual, tick This event is online and fill in the platform name (Zoom, Meet, YouTube Live, etc.) and join URL. An "Online" badge will appear on the event page.
05 Add ticket types
A ticket type is a category you use to organise your own QR tickets — for example Regular, VIP, Student, or Early Bird. Each type has its own label and a quantity that caps how many tickets you can generate for it.
What to do
- Open your event:
admin/event.php?id=…. - Click Ticket Types in the top-right, or go to
admin/ticket_types.php?event_id=…. - Click Add Ticket Type.
- Enter a name (e.g. "VIP"), a price for your internal reference, and the maximum number of tickets.
- Save — the type now appears in the list.
- Add as many types as you need.
06 Design your tickets
The Ticket Designer controls what every printed ticket looks like — the same design is used on the public ticket page, in the PDF download, and in the scanner preview.
What to do
- On the event page, scroll to 🎟️ Ticket Designer.
- Pick a template: Classic, Modern, Minimal, or Custom.
- Choose orientation (portrait / landscape) and size (e.g. A6, A5, or a custom width/height in mm or inches).
- Adjust the QR size if needed.
- For the Custom template, upload an image or PDF background.
- Click Upload — a progress bar confirms the file was saved.
- In the live preview, drag the QR block to place it exactly where you want.
- Use the snap buttons (Top Left, Center, Bottom Right…) for pixel-perfect alignment.
- Click Save Event to keep the design.
07 Add scanner staff
Scanner staff are accounts that can only verify and check in tickets for the events you grant them. They can't see other events, ticket generation, or any other admin data.
Two ways to add a scanner
Option A — Invite someone new
- On the event page, scroll to 🔐 Scanner Staff for this Event.
- Fill in the email, name, and a password (at least 8 characters).
- Click Add / Grant Scanner Access.
- Share the email and password with the scanner — they sign in at
admin/login.phpand go straight to the scanner.
Option B — Grant an existing scanner access
- Enter only the scanner's email and click Add / Grant Scanner Access.
- The system recognises the existing account and adds this event to their list.
- No new password needed — they use their existing one.
08 Generate a batch
Generating tickets creates the actual ticket rows — each with a unique ticket number, a unique token, and its own QR code. You generate tickets in batches: you choose a ticket type and a quantity, and you pay a batch fee to the platform.
What to do
- From your event, click Generate Tickets, or go to
admin/tickets.php?event_id=…. - Choose a ticket type.
- Enter the quantity (how many tickets in this batch).
- Choose where the QR should open — the ticket page or the event page.
- Click Pay & Generate. You'll be redirected to PesaPal to pay the batch fee.
- After payment, you'll return to the tickets page and your batch will appear.
- You can now download or print the tickets.
Pricing rules
Batch pricing is set by the system administrator in tiers (packages). Each tier covers a range of quantities and has a fixed price. The tickets page shows you the current tiers so you can pick the right batch size for your budget.
TKT-). The system will verify the payment
with PesaPal and generate the tickets safely. See Troubleshooting.
09 Distribute tickets
Once a batch exists, you can print the tickets yourself, share the QR codes digitally, or export the batch as a PDF for a printing house.
Ways to share
- Print PDF: download a print-ready PDF where each page is one ticket.
- QR + CSV: download a ZIP with one PNG per QR plus a CSV listing ticket numbers.
- Public ticket link: every ticket has a public URL —
ticket.php?token=…— you can send via email, WhatsApp, or SMS. - Screenshot the preview: the ticket page renders identically to the print version.
10 Scan at the door
The scanner uses the device camera to read the QR on each ticket, verifies it with the server, and (if valid) lets you admit the guest with one tap.
What to do
- Sign in as a scanner (or admin) and go to
admin/scanner.php. - Tap 📷 Start Scanner and allow camera access when asked.
- Point the camera at the ticket's QR code.
- The result appears below the camera:
- ✅ Valid ticket — ready to check in. Tap ✓ Check In to admit.
- ⏳ Already checked in — shows who scanned it and when.
- ✕ Cancelled — the ticket is void.
- 📅 Event has already ended — the exact end date is shown.
- ⛔ Not assigned to this event — you can't scan tickets for events you're not granted.
- The camera stays pinned at the top, so you can scan the next ticket immediately.
11 Track attendance
The dashboard and the Checked-In Log show live attendance as it happens.
What you can see
- Dashboard: total events, tickets issued, checked in, and attendance rate.
- All Tickets: filter by event, status, or search across ticket number, event, and type.
- Checked-In Log: every admission with the exact time and who scanned it.
- Ticket View: click any ticket to see its full history — issued, checked in, scanner, and time.
- Scanner page: live "My Admissions Today" and "My Total Admissions" counters.
12 Ticket statuses
Every ticket is always in one of three states.
| Status | Meaning | Colour |
|---|---|---|
| Issued | The ticket exists, is valid, and hasn't been scanned yet. | Blue |
| Checked In | The ticket has been scanned and the guest admitted. | Green |
| Cancelled | The ticket has been voided — it can't be scanned. | Red |
13 Downloads (PDF & CSV)
You can export tickets in three different formats, depending on what you need.
| Export | Contains | Best for |
|---|---|---|
| All Tickets (PDF) | Every ticket for the selected event, one per page. | Sending the whole batch to a printing house. |
| Selected (PDF) | Only the tickets whose checkboxes you ticked. | Printing a small number, or reprinting lost tickets. |
| QR Codes + CSV | A ZIP with one PNG per QR + a CSV of ticket numbers, types, statuses, tokens, and ticket URLs. | Custom printing, mailing lists, or spreadsheet analysis. |
14 Pricing & paying
Using the platform costs nothing to set up — creating events, adding ticket types, designing templates, and adding scanner staff are all free. You only pay when you generate a batch of tickets.
How the batch fee works
- The system administrator defines pricing tiers — for example, 1–50 tickets = one fee, 51–200 tickets = another, etc.
- Each tier has a fixed price and a valid currency.
- When you generate a batch, the tier that matches your chosen quantity determines the fee.
- You pay the fee through PesaPal, directly to the platform.
- After payment, the tickets are generated immediately and appear in your event.
How the price tiers are shown
The Generate Tickets page for your event displays the current tiers on the left. Pick a ticket type and quantity that fits the tier you want to pay for.
What happens after you click Pay & Generate
- You're redirected to the PesaPal payment page.
- You complete the payment with your preferred method (card, mobile money, etc.).
- PesaPal redirects you back to the platform.
- The system verifies the payment with PesaPal and generates your tickets.
- The batch appears in All Tickets, ready to download or print.
TKT-). The system will verify the
payment with PesaPal and generate the tickets safely. See
Troubleshooting
for details.
15 Free tier
You can try the ticket generation without creating an account — the public pages let you generate a small number of QR codes for free.
| Feature | Limit |
|---|---|
| Public QR codes per visitor | 10 |
| Public "Create an event" tier | 1 event, up to 5 tickets |
16 FAQ
Answers to the questions we get most often. All searchable above.
Are attendees supposed to buy tickets through this site?
No. This platform is for creating tickets, not selling them online. You generate the tickets you need, then distribute them yourself — print them, send the QR links by email or WhatsApp, hand them out physically, or use any other method you prefer.
What exactly am I paying for?
You pay the platform a batch fee each time you generate a batch of tickets. The fee is set by the system administrator through pricing tiers. It covers the cost of generating the ticket rows, the QR codes, and the associated storage and processing.
Do I need my own Pesapal account?
No. All payments go through the platform's own Pesapal integration. You just choose a quantity, click Pay & Generate, and pay on the Pesapal page like any other online checkout.
Can I reprint a lost ticket?
Yes. Open All Tickets, find the ticket number, click the row to preview it, then use Download PDF or the print button. The QR stays the same, so the original is still valid.
What happens if the same ticket is scanned twice?
The second scan shows Already checked in along with the original timestamp and the name of the scanner who first admitted it. No second admission is recorded.
Can a scanner scan tickets for more than one event?
Yes. From the event page, enter their email in the Scanner Staff section and click Add / Grant Scanner Access. They'll then see both events in their scanner scope.
Do I need internet to scan?
Yes. The scanner needs to verify each ticket with the server, so an active connection is required. Consider a mobile hotspot at the door.
What does "not assigned to this event" mean?
The scanner account is trying to scan a ticket for an event they haven't been granted access to. Ask an admin to grant access from the event's Scanner Staff section.
Can I cancel a ticket after it's issued?
Yes. Open All Tickets, locate the ticket, and set its status to
cancelled. From then on, scanning shows "This ticket has been
cancelled" and the ticket can't be admitted.
I paid but the tickets never appeared. What do I do?
Open the tickets page for the event and click Already Paid?
Enter the QRAVenta payment reference (the one starting with TKT-).
The system verifies the payment directly with PesaPal and generates the tickets.
Do not pay again.
Does the ticket design affect the print size?
Yes — the designer's width/height (in mm or inches) determines the physical size of every page in the PDF export. The preview shows the exact aspect ratio.
Can I upload a PDF as a ticket background?
Yes. In the designer's Custom template, choose a PDF file. The first page is rasterised at high DPI and used as the background. Only the first page is used.
How are check-in times recorded?
In the scanner's local timezone — the offset is sent with every check-in. That means the times you see match what was showing on the scanner's device clock.
Can I export attendance to a spreadsheet?
The QR Codes + CSV download includes a CSV with ticket number, event, type, status, token, URL, and QR filename. Open it in Excel, Sheets, or any spreadsheet app.
Can I use the CSV with Adobe InDesign?
Yes. The CSV is a plain comma-separated file. Convert it to a tab-delimited text file and use it as a data-merge source in InDesign. The QR PNGs in the same ZIP are named to match the rows.
17 Troubleshooting
Common issues and what to do about them.
I paid but no tickets were generated
Don't pay again. On the tickets page, click Already Paid?
and paste your QRAVenta reference — the one beginning with TKT-
that appeared when you started the payment.
The system will:
- Look up the local order for that reference.
- Confirm the payment with PesaPal.
- Verify the amount and currency.
- Generate the tickets if the payment is complete.
If PesaPal reports the payment as pending, wait a moment and try again. If it reports failed, cancelled, or reversed, no tickets will be generated.
Where do I find my QRAVenta payment reference?
It begins with TKT- followed by 12 characters (letters and
numbers). You'll see it:
- On the PesaPal payment page just before you pay.
- In the payment confirmation from PesaPal (if you received one).
- In the platform's activity log for your account.
If you can't find it, contact the system administrator with the email you used and the approximate time of the payment.
The camera won't start on the scanner page
Camera access requires HTTPS. If your site uses plain HTTP, the browser blocks the camera entirely.
Also confirm you granted the permission prompt — some browsers require you to reset site permissions and try again.
The scanner can't read a QR code
Try: hold the ticket 15–20 cm from the camera, avoid glare, increase screen brightness if scanning from another screen, and use the Torch button if available. Very creased paper can confuse the reader.
An event says "no tickets generated"
You need to generate tickets for that event from admin/tickets.php. Pick the ticket type and quantity, then complete the batch payment.
I can't save my event
The three organizer acceptance boxes must be ticked. If any is unchecked, the event won't save — both the browser and the server enforce this.
The PDF download is blank or slow
Large batches (hundreds of pages) can take a few seconds. Blank pages usually
mean the ticket background image failed to load — verify the file is still in
uploads/tickets/.
My recovery says "This payment belongs to a different event"
The payment reference you entered was made for a different event. Open the correct event's tickets page and use Already Paid? there — the recovery option is scoped to the event you started the payment from.
My recovery says "This payment has already been completed"
Good news — the tickets from that payment have already been generated. Open All Tickets for the event, filter by the ticket type you paid for, and you'll find them.
No matches found
Try a different keyword, or browse the table of contents.
Ready to create your first event?
Sign up for an organiser account, or jump straight to the dashboard if you already have one.