Complete step-by-step instructions, visual process diagrams, and troubleshooting guides for Ticket Buyers, Event Organizers, Platform Admins, and Gate Security.
Eldoret Sherehe is a high-speed, secure event ticketing infrastructure designed specifically for Kenya. It bridges Public Ticket Buyers, Safaricom M-Pesa Daraja APIs, Event Organizers, and Gate Check-In Security with instant STK Push, automated SMS ticket delivery, and encrypted 5-character alphanumeric QR passes.
The public event page on Eldoret Sherehe provides a seamless, continuous workflow where attendees can explore event logistics, select single or group passes, apply promo codes, and complete payment via Safaricom M-Pesa without ever needing to create an account, log in, or reload the page.
Browse event details: exact gate opening and closing times, dress code, age guidelines, artist lineup. If the organizer added GPS coordinates, attendees get a Venue & Location Guide with 1-click Google Maps navigation; if omitted, only the clean venue name is shown.
Choose between Single Tickets (1 QR pass per unit) and Group Passes (clearly stating persons admitted, e.g. Couples = 2 PDFs, Squad = 4 PDFs). Live cart updates counts and totals in real time.
Enter a promoter or campaign code (e.g., VIP200). The engine instantly validates tier eligibility and subtracts flat cash amounts (e.g. -KES 200), showing net payable totals immediately.
Provide Name, Email, and Phone. Toggle "Pay with different M-Pesa number" if gifting passes. On payment, you receive 1 consolidated SMS with download links to each ticket and separate emails for each ticket generated (each with its own PDF pass attached).
During payment, an interactive modal runs a 60-second countdown while listening to Safaricom Daraja callbacks. If a payment issue occurs, the system provides an immediate, plain-language diagnostic explanation:
When an attendee selects multiple packages or quantities (e.g., Regular Pass × 3 or a combination of Regular, VIP, and Group passes), the fulfillment engine ensures optimal clarity and sharing ease:
Instead of sending multiple separate SMS messages that clutter the buyer's inbox, the system dispatches one single SMS listing download links for all issued tickets:
CONFIRMED! Event: Nairobi Tech Summit Passes (3): 1. Regular Pass (A1B2C): https://eldoretsherehe.com/download.php?code=A1B2C 2. Regular Pass (D3E4F): https://eldoretsherehe.com/download.php?code=D3E4F 3. Regular Pass (G5H6J): https://eldoretsherehe.com/download.php?code=G5H6J Show QR code at gate.
For every individual ticket issued (e.g. 3 passes = 3 separate emails), a dedicated email is dispatched with the pass number (e.g. Pass 1 of 3, Pass 2 of 3) and that ticket's specific PDF attached directly (M-Tickets_Pass_[CODE].pdf):
https://eldoretsherehe.com/download.php?code=A7X9K).Organizing events on Eldoret Sherehe gives you full self-service control: custom ticket packages, live revenue dashboards, M-Pesa STK push for your attendees, direct SMS broadcasts, and real-time gate scanner apps.
Open register.php, provide your Brand/Company Name, Email, and Phone number. Registration is free with instant account creation.
You can update your security settings or change your password anytime under ?tab=password using instant SMS or Email OTP.
The platform operates on a transparent, affordable Pay-As-You-Go Credit System. Organizers maintain a small credit wallet that powers event listings and outgoing SMS notifications.
?tab=wallet).Organizers can create events with custom ticket categories (Early Bird, Regular, VIP, Corporate Table), banner posters, venue directions, and hard capacity limits.
?tab=events) in your organizer dashboard.When clicking Pin / Search on Map next to coordinates, organizers can choose any of 4 fast methods:
-1.2884, 36.8233) and click Apply.
Once an event is saved, add your custom pricing tiers under the event card:
For gate sales, walk-in attendees paying cash, or complimentary VIP passes, organizers do not need to route through M-Pesa. Use the built-in Box Office module (?tab=sell).
Choose which event and ticket tier the customer is purchasing at the desk.
Enter the customer's mobile number so they receive their SMS ticket pass instantly.
Click Issue Ticket. The ticket is immediately generated, recorded in reports, and validated at the gate.
The Transactions module (?tab=transactions) gives organizers a live audit trail of every purchase attempt, confirmed payment, and check-in status.
| Status Badge | Meaning | Action Available |
|---|---|---|
| PAID | Payment confirmed via Safaricom M-Pesa. Ticket is valid and ready for gate scan. | |
| USED | Ticket has already been verified and admitted at the gate by security. | View timestamp of admission. |
| PENDING | STK Push prompt was dispatched to phone; waiting for user PIN entry. | Auto-polls or user can re-try. |
| FAILED | User cancelled STK prompt, timed out, or had insufficient M-Pesa balance. | Can re-initiate booking. |
?tab=transactions using their 5-character code or M-Pesa receipt, click Resend, and the system immediately dispatches a fresh SMS.
Need to announce a gate opening time, parking advisory, artist line-up release, or weather alert? The Broadcast tab (?tab=broadcast) lets organizers message all confirmed ticket holders of any event in bulk.
?tab=broadcast).Gate security and ushering teams use the built-in web scanner at admin/validate.php. It works seamlessly on any Android, iPhone, tablet, or laptop browser without installing any app from the App Store.
Tap Scan QR Code on the validator screen. Your browser will ask for camera permission. Point the rear camera at the customer's QR code. Scanning happens in under 200 milliseconds!
If an attendee's phone screen is severely cracked, battery dying, or smudged, type their 5-character alphanumeric code (e.g. A7X9K) directly into the text box and click Validate Code.
07... or 254....
SLK9XX...), and the organizer can resend the SMS instantly.
?tab=configs, attendee ticket funds land directly in their own Safaricom Paybill or Till number in real-time. For platform-managed accounts, settlements are reconciled and disbursed via B2C M-Pesa or bank transfer as outlined in the organizer agreement.
promoter_login.php?action=forgot for promoters).The AlphaBridge B2B Event Vendor Marketplace seamlessly connects Event Organizers directly with vetted local Eldoret service providers across 14 Master Categories: Sound & Audio Engineering, Staging & Truss Rigging, DJ Backlines, Photography & Drone Cinematography, Mobile Catering & Mixologists, VIP Portable Sanitation, Security Stewards & Bodyguards, Event Décor & Thematic Draping, LED Video Walls & Livestreaming, Master of Ceremonies (MC), Heavy-Duty Tents & Marquees, Silent Diesel Power Generators, Paramedic Ambulances, and Stage Lighting & SFX.
Event gear suppliers, sound technicians, caterers, DJs, and security firms in Uasin Gishu County can list their company, publish rental gear inventories, receive tender inquiries, and issue binding legal quotations and invoices.
Navigate to vendor_register.php. Enter your Business Name, Primary Contact Person, official phone, registered email, and physical yard/office location (e.g. Eldoret CBD, Pioneer, Elgon View, Rivatex, Annex, Kapsoya).
Eldoret Yard LocationConfigure your direct receiving channel so organizers can pay milestone deposits and final balances directly to your account:
In the Vendor Portal, click Add Catalogue Item:
per_day, per_event, per_hour, per_head, per_sqm, per_unit.Under the Quotes & RFQs tab, review incoming direct inquiries or open tenders. Click Build Quote to populate itemized line items, add transport/setup fees, apply customer discounts, define the deposit percentage (e.g. 50%), and set terms.
Instant Corporate PDF QuoteEvent hosts can plan equipment requirements, estimate production costs, request competitive quotations, negotiate revisions, and execute binding contracts inside their dashboard at Admin → Vendor Marketplace.
Select your event from the top dropdown bar. All procurement wishlists, RFQ dates, venue locations, and production P&L metrics will automatically bind to that event.
Browse the verified directory, click Add to Wishlist, and tune quantity and days needed. The live estimator calculates your gear budget before you contact vendors.
Pathway A: Send a Direct RFQ to a single supplier.
Pathway B: Broadcast an Open Tender across Eldoret. Note: To broadcast an open tender, organizers must have an active event listing (settled listing fee) and post the tender for their selected active listed event.
Evaluate proposals from competing suppliers side-by-side: review line rates, transport setup fees, deposit requirements, and vendor verification trust badges.
Need a counter-offer? Submit revision messages directly into the quote discussion thread. Vendors submit revised quote versions (v2, v3) with updated totals.
Clicking Accept Quote automatically locks pricing, declines competing bids, and generates an official Commercial Invoice (INV-XXXXXX) with deposit terms.
The system unifies ticketing box office cashflows with supplier procurement into a live bottom-line metric:
To protect organizers and ensure high service standards across Uasin Gishu County, the platform maintains a rigorous verification protocol before certifying event service providers.
Compliance officers verify national identification, business permits, physical equipment yard addresses, and proven event execution records before awarding the trusted supplier seal.
Verified suppliers receive top ranking in search queries, a green [✓] Verified Eldoret Supplier trust badge on public directories, and certified trust marks on all official PDF documents.
All formal Quotations (QT-XXXXX), Commercial Invoices (INV-XXXXXX), and Official Receipts (REC-XXXXX) generated by the system embed a scannable authenticity QR code linked to verify_doc.php.
The Event Stall Vendor & Booking System integrates physical event booth allocation into Eldoret Sherehe. Event organizers can advertise booth spaces across 10 specialized categories, set upfront lock deposits, negotiate pricing directly with vendors, receive automated two-stage M-Pesa payments, enforce automated lock expiration countdowns, and verify vendor staff credentials at the event gate.
Vendors register and organizers filter booths using this standard taxonomy:
Checkboxes for venue preparation and gate scanner displays:
Visit stalls.php or click the stalls banner on any event ticket checkout page. Inspect dimensions, utilities, full price, upfront deposit required, remaining slots, and organizer direct WhatsApp links.
Click Book at Listed Price to pay the standard terms, OR click Negotiate with Organizer to propose a custom total fee and upfront deposit alongside a pitch describing your setup.
Select Pay via M-Pesa STK Push. Paying the upfront amount locks your position, reserves 1 slot, assigns your booth code (e.g. ST-02), and starts your balance countdown timer.
Track your timer in vendor_portal/index.php?tab=stalls. Complete the remaining balance via M-Pesa before the timer reaches 0 to unlock your Vendor Staff Entry QR Passes and official Allocation Certificate.
In ?tab=stalls, click Create Stall Package. Enter full price, upfront lock amount, inventory count, and expiration rule (countdown days vs cutoff date).
Review exhibitor proposals with Accept (locks custom rates), Counter-Offer (counter price + deposit + note), or Decline with instant SMS alerts.
Allocate complimentary spots to sponsors (KES 0) or log cash payments collected offline. Instant vendor registration creates their account automatically.
When security scans a Vendor Staff Pass (STP-...):
The financial dashboard maintains strict wall-fencing between revenue streams:
The Promoter & Influencer Ecosystem enables Event Organizers to partner with campus brand ambassadors, club resident DJs, MCs, street hype teams, and digital content creators using Event-Specific Manual Cash Promo Codes. The platform tracks ticket conversions with mathematical precision while keeping commission payouts transparent, direct, and settlement-flexible.
No affiliate URLs, tracking query parameters, or browser cookies. All buyer discounts and promoter sales attributions operate strictly through memorable uppercase Promo Codes entered at checkout.
No percentage calculations. Organizers manually configure exact flat Cash Amounts (in KES) for buyer discounts and promoter commissions per individual ticket tier (e.g. KES 100 off, KES 50 commission).
The platform does not hold or move promoter commission funds. Promoters invoice organizers directly for accrued earnings, choose their preferred payout channel, and mark payments received to issue official receipts.
As an Event Promoter (Campus Ambassador, MC, DJ, or Influencer), you earn direct cash commissions whenever ticket buyers use your unique Promo Code during checkout on Eldoret Sherehe. Here is how to register, promote, track sales, and get paid.
Visit promoter_register.php. Enter your Full Name, Email, Phone Number, and a secure password.
Public RegistrationThe event organizer assigns an active Promo Code (e.g. CAMPUS50) to your account. Your dashboard will display your code.
Share your code across social media and campus. Track live ticket sales, gross revenue, and accrued commission in your portal.
Live TelemetryClick Generate Invoice. Select your payout option (M-Pesa, Bank, Cash, Till, Paybill, Cheque). Mark as paid upon settlement.
Direct Settlements0712345678). The organizer sends funds directly to your phone.
Once the organizer sends the payment to your phone or bank account, log in to your promoter portal and locate the invoice under My Invoices. Click Mark as Paid (or Partially Paid), enter the transaction code (e.g. M-Pesa reference RKT92JSL4Q or bank transfer reference), and submit. The system instantly marks the tickets as settled and generates an official PDF Transaction Receipt for both you and the organizer.
Event Organizers have complete autonomy to create, allocate, monitor, and settle promoter campaigns inside the Organizer Dashboard at admin/index.php?tab=promoters. Here is how to configure promo codes, set profit margins, and manage payouts.
Click Create Promo Code. Specify the uppercase alphanumeric code (e.g. VIP100). Link to a registered promoter or keep as an in-house marketing code.
Select which ticket packages are eligible. Input exact flat cash amounts: Buyer Discount (KES) and Promoter Commission (KES).
Protect margins with expiration cutoffs: Date/Time Expiry, Max Total Tickets Cap, and Max Redemptions Per Phone.
Buyer Discount + Promoter Commission < Ticket Price. For example, on a KES 1,000 ticket, granting a KES 100 buyer discount and a KES 50 promoter commission leaves you with a healthy net of KES 850 per ticket sold.
The system records every buyer interaction with promo codes in real time inside promoter_redemption_attempts. Organizers can inspect where potential buyers drop off:
When a promoter raises an invoice, it appears under ?tab=promoters&sub=invoices with status Pending.
A university student promotes the campus music festival to classmates.
CAMPUS50Headline DJ promotes VIP Lounges and Table Packages on Instagram.
DJHYPEMCOrganizer runs their own social media ad without an external promoter.
FLASH100stk_pushed attempt in the funnel telemetry logs, but does NOT credit commission or deduct sales cap quotas. Commission is only credited when the payment successfully clears into paid status.
Clear demarcation of roles ensures smooth operations, financial transparency, and fast issue resolution:
| Action / Operational Feature | Event Organizer | Event Promoter | Primary Portal |
|---|---|---|---|
| Self-Registration & Profile Setup | Organizer Sign Up | Yes (Free Public Link) | promoter_register.php |
| Create Promo Codes & Uppercase Strings | Full Control | View Assigned Only | admin/?tab=promoters |
| Configure Flat KES Discounts & Commissions | Full Control | Read-Only | admin/?tab=promoters |
| Set Budget Caps, Expirations & Per-Phone Limits | Full Control | Read-Only | admin/?tab=promoters |
| Real-Time Ticket Sales & Revenue Telemetry | All Event Campaigns | Personal Code Only | Both Portals |
| Generate Commission Invoices & Pick Payout Rail | Receive & Review | Initiates Invoice | promoter_portal/ |
| Execute Direct External Payment (Off-Platform) | Executes Payment | Receives Funds | Bank / M-Pesa App |
| Acknowledge Payment & Issue Official PDF Receipt | Downloads Receipt | Marks Paid & Generates | promoter_portal/ |
When attendees encounter promo code validation errors during checkout, use this reference matrix to quickly diagnose and resolve the issue:
| Error Message On Screen | Root Cause | Organizer Fix (Dashboard) | Promoter / Buyer Action |
|---|---|---|---|
Code has expired |
The promotional campaign cutoff date/time has passed. | Edit promo code in ?tab=promoters and extend the expiration date/time. |
Promoter contacts organizer to request campaign extension. |
Usage limit reached |
The maximum total ticket redemption quota set by organizer is exhausted. | Increase the Max Total Redemptions limit in promo code settings. | Promoter celebrates reaching target and requests additional ticket allocation. |
Phone limit exceeded |
The buyer's phone number has already used this code the maximum allowed times. | Adjust Max Per Phone setting if bulk purchases are permitted. | Buyer must complete checkout without promo or use alternate ticket tier. |
Code not valid for tier |
Buyer added a tier that does not have a discount allocated in this campaign. | Check eligible tiers in modal; assign flat KES cash discount to selected tier. | Promoter advises buyers on specifically which ticket packages the discount applies to. |
Invalid promo code |
Typo entered by buyer, or promo code is paused / archived by organizer. | Verify promo code exists and status is set to Active. | Buyer checks spelling. (Note: codes are case-insensitive and whitespace-trimmed). |
To protect customer privacy, proprietary financial records, and ticket integrity, Eldoret Sherehe enforces multi-layered defense-in-depth across the web server, application runtime, and database tiers. This section documents our directory lockdown, file upload protections, custom error routing, and OWASP Top 10 penetration-testing safeguards.
Options -Indexes prevents web visitors from inspecting folder contents.
uploads/tickets/ is denied via Apache 2.4/2.2 rules and index 403 guards.
php_flag engine off completely neutralizes executable web shells.
Previously, visiting eldoretsherehe.com/uploads/tickets/ without an active index file allowed web visitors to browse and download ticket PDFs. The system now enforces a Triple-Layer Access Barrier:
| Defense Layer | Mechanism | Protection Effect |
|---|---|---|
Master .htaccess |
RewriteRule ^uploads/tickets(/.*)?$ - [F,L] |
Intercepts URL requests at the Apache server level and immediately responds with 403 Forbidden before hitting disk. |
Folder .htaccess |
Require all denied & Deny from all |
Hardware/server-level file access denial matching both Apache 2.4 and Apache 2.2 syntax. |
Directory index.php |
http_response_code(403); header("Location: /error.php?code=403"); |
Fallback PHP script redirection guaranteeing a styled 403 landing page even on non-Apache environments (Nginx/LiteSpeed). |
download.php?code=XXXXX. The endpoint verifies that the 5-character alphanumeric ticket code is registered in MySQL, belongs to an active event, and holds a confirmed payment status before streaming the PDF binary.
/uploads/tickets/ — PDF ticket cache/uploads/promoter_invoices/ — Promoter commission invoices/uploads/promoter_receipts/ — Payment receipts/vendor/ — Composer dependencies and library internals/scratch/ — Temporary testing scripts and data files/.git/ — Git metadata, commits, and branch history
Protects log files (e.g., mpesa_log.txt, email_error.log), database exports, environment configurations, and server configuration files (php.ini) from public exposure.
The platform utilizes a centralized, modern error interface configured via Apache ErrorDocument directives. It automatically intercepts HTTP status codes and delivers branded user recovery options:
INC-403-1760619200) and instructs search engine web crawlers not to index the error page (X-Robots-Tag: noindex, nofollow).
Summary of security controls audited and implemented prior to third-party vulnerability assessment:
| OWASP Category | Mitigated Vulnerability | Enforced Protection in Eldoret Sherehe |
|---|---|---|
| A01: Broken Access Control | IDOR & Unauthenticated File Access | Multi-tenant checks (organizer_id & vendor_id ownership verification), strictly required superadmin session in setup_db.php & sync_repair.php, and 403 access barriers on upload directories. |
| A02: Cryptographic Failures | Data Leakage & Plaintext Secrets | Database exception messages masked in production (no credentials in die() output), password hashing using PASSWORD_DEFAULT (bcrypt), and secure HTTPS headers. |
| A03: Injection | SQL Injection (SQLi) | 100% of dynamic queries use PDO prepared statements with bounded parameters (? or :name). Raw string concatenations eliminated. |
| A04: Insecure Design | Arbitrary File Upload & Shell Execution | Multi-stage upload validation in admin/index.php: whitelisted extensions, mime_content_type(), binary getimagesize() check, cryptographically unguessable filenames, and php_flag engine off in upload folders. |
| A05: Security Misconfiguration | Directory Browsing & Verbose Errors | Options -Indexes enforced globally, ini_set('display_errors', 0) set in all production endpoints, sensitive dot-files and backup archives blocked. |
| A07: Identification & Auth | Brute Force & Session Hijacking | Timezone-immune OTP verification, rate-limiting on redemption, session regeneration on login, and strict role segregation. |
Our operations support team is on standby to assist event hosts, gate security teams, and attendees.