Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
app Mark order as paid if ticket price is zero Aug 17, 2018
bootstrap (localization) Several big changes: May 3, 2018
config added default config option Jul 5, 2018
database Added charging tax at the organiser level Jul 9, 2018
public Fix QR code scanning in Safari (inc. iOS). Jun 20, 2018
resources When an order is refunded display the actual refunded amount. Aug 17, 2018
storage Resend Ticket Email Mar 11, 2016
tests Added charging tax at the organiser level Jul 9, 2018
.bowerrc - First commit Feb 29, 2016
.dockerignore Reformat code Sep 6, 2016
.env.example installer improvements Jul 6, 2018
.gitattributes - First commit Feb 29, 2016
.gitignore (localization) Several big changes: May 3, 2018
.htaccess Explicitly enable rewrite engine in .htaccess Sep 6, 2016
Dockerfile-composer used mysql in the containers by default Jul 4, 2018
Dockerfile-nginx Docker dev environment (#90) May 11, 2016
Dockerfile-php used mysql in the containers by default Jul 4, 2018
Gruntfile.js Added jquery.payment to make card-input easier Jun 20, 2016
LICENSE Updating licence Apr 19, 2016
VERSION Version bump Aug 11, 2016
artisan - First commit Feb 29, 2016
bower.json Removed password type and char limit from CVC input Jun 20, 2016
composer.json moved library to require from require dev so can deploy from master Jul 18, 2018
composer.lock moved library to require from require dev so can deploy from master Jul 18, 2018
docker-compose.yml Installer improvements Jul 6, 2018
nginx.conf Docker dev environment (#90) May 11, 2016
package.json Update repo url in package.json Aug 11, 2016
phpspec.yml - First commit Feb 29, 2016
phpunit.xml Added charging tax at the organiser level Jul 9, 2018
readme.md Added instructions for how to enable the dummy payment gateway Jul 9, 2018
server.php Applied fixes from StyleCI Mar 5, 2016


Attendize Attendize


Open-source ticket selling and event management platform


PLEASE NOTE: Attendize is in the early stages of development and therefore is likely to contain bugs and unfinished features.

Please ask any questions/report bugs here: https://github.com/Attendize/Attendize/issues

Demo Event Page: http://attendize.website/e/799/attendize-test-event-w-special-guest-attendize Demo Back-end Demo: http://attendize.website/signup

Attendize is an open-source event ticketing and event management application built using the Laravel PHP framework. Attendize was created to offer event organisers a simple solution to managing general admission events, without paying extortionate service fees.

Current Features (v1.X.X)

  • Beautiful mobile friendly event pages
  • Easy attendee management - Refunds, Messaging etc.
  • Data export - attendees list to XLS, CSV etc.
  • Generate print friendly attendee list
  • Ability to manage unlimited organisers / events
  • Manage multiple organisers
  • Real-time event statistics
  • Customizable event pages
  • Multiple currency support
  • Quick and easy checkout process
  • Customizable tickets - with QR codes, organiser logos etc.
  • Fully brandable - Have your own logos on tickets etc.
  • Affiliate tracking
    • track sales volume / number of visits generated etc.
  • Widget support - embed ticket selling widget into existing websites / WordPress blogs
  • Social sharing
  • Support multiple payment gateways - Stripe, PayPal & Coinbase so far, with more being added
  • Support for offline payments
  • Refund payments - partial refund & full refunds
  • Ability to add service charge to tickets
  • Messaging - eg. Email all attendees with X ticket
  • Public event listings page for organisers
  • Ability to ask custom questions during checkout
  • Browser based QR code scanner for door management


  • Theme support
  • Plugin Support
  • Localisation
  • Increased test coverage
  • Laravel 5.4
  • IOS/Android check-in / door management apps
  • Coupon/discount code support
  • Support for more payment providers
  • WordPress Plug-in


Feel free to fork and contribute. If you are unsure about adding a feature create a Github issue to ask for Feedback.


To get developing straight away use the pre-configured Docker environment and follow the steps below. Docker needs to be installed on your machine for this to work. Follow the Docker installation steps for your environment here https://docs.docker.com/install

Docker dev environment installation steps

  1. Clone the codebase from Github

git clone https://github.com/Attendize/Attendize

  1. Change directory to the cloned codebase

cd Attendize

  1. Make a copy of the laravel environment file. It can be useful to set APP_DEBUG=true to help you debug any issues you might have

cp .env.example .env

  1. Set permissions correctly on storage and public/user_content folders

chmod -R a+w storage chmod -R a+w public/user_content

  1. Run the docker-compose build command

docker-compose build

  1. Run composer to pull in the various dependencies for the project

docker run --rm -it -v $(pwd):/usr/share/nginx/html/attendize attendize_composer composer install

  1. Run the Laravel generate a key for the app

docker run --rm -it -v $(pwd):/usr/share/nginx/html/attendize attendize_php php artisan key:generate

  1. Run docker-compose up to create the development environment. You can drop the -d flag to see output from the containers which is useful for debugging.

docker-compose up -d

At this point you should be able to browse to


You can follow the web instructions to continue installing Attendize. If you are comfortableon the command line you can run Step 9 below.

  1. Run the command to create the various database tables
docker-compose run php php artisan attendize:install

Attendize should now be available at http://localhost:8080 and maildev at http://localhost:1080

Enabling Dummy Payment Gateway for testing purposes

To be able to test the journey of buying and paying for tickets from the event page you need to have a payment gateway enabled else you can't complete the journey. To enable the dummy gateway that allows you to go through the journey end to end change the configuration option enable_dummy_payment_gateway in ./config/attendize.php to true

'enable_dummy_payment_gateway'  => true

Manual Installation

Attendize should run on most pre-configured LAMP or LEMP environments as long as certain requirements are adhered to.


PHP Version and Extension

PHP >= 5.5.9 OpenSSL PHP Extension PDO PHP Extension Mbstring PHP Extension Tokenizer PHP Extension Fileinfo PHP Extension GD PHP Extension


MySQL version 5.6 and 5.7 have been tested

Apache and Nginx

Most versions should work. Check the troubleshooting guide below for correct Nginx and Apache configurations.


If you have an old version of Attendize installed you can destroy your old environments using the commands below. Please take note that if you have a pre-existing MySQL

Most problems can be fixed my making sure the following files and folders are writable:

Storage/app/ Storage/framework/ Storage/logs/ Storage/cache/ public/user_content/ bootstrap/cache/ .env Always check the log in Storage/logs as it will likely show you what the problem is.

Trouble generating PDF tickets? / Checkout failing

Attendize uses Wkhtml2PDF to generate tickets. If you are getting errors while generating PDFs make sure all the driver files in vendor\nitmedia\wkhtml2pdf\src\Nitmedia\Wkhtml2pdf\lib executable.

Also make sure the setting for WKHTML2PDF_BIN_FILE is correct in the .env file. The acceptable options are:

  1. wkhtmltopdf-0.12.1-OS-X.i386 - Mac OS X 10.8+ (Carbon),
  2. 32-bitwkhtmltopdf-amd64 - Linux (Debian Wheezy),
  3. 64-bit, for recent distributions (i.e. glibc 2.13 or later)
  4. wkhtmltopdf-i386 - Linux (Debian Wheezy), 32-bit, for recent distributions (i.e. glibc 2.13 or later)

TokenMismatchException error

This error can occur when the session expires, try refreshing the page.

Installer not showing up?

Try navigating to your-site.com/public/. If that works and your-site.com/ doesn't, it means your server configuration needs to be updated.


Make sure the mod_rewrite module is enabled and the .htaccess file is being recognised.


On Nginx, use the following directive in your site configuration: location / { try_files $uri $uri/ /index.php?$query_string; }

Seeing 'Maximum function nesting level of '100' reached' error?

This appears to occur when xdebug is enabled.

Adding: xdebug.max_nesting_level = 200 to php.ini and restarting apache should solve the issue.


Attendize is open-sourced software licensed under the Attribution Assurance License. See https://www.attendize.com/licence.php for further details. We also have white-label licence options available.