>E-Ticket Module (Drupal)
E-Ticket Module (Drupal)
The E-Ticket module is a module I developed for a site I built with Drupal, http://www.pimpsandhoessociety.org.uk. The event needed to sell 200 tickets and we decided the easiest way to do that was sell them online instead of chasing people for money! The module works using the Drupal E-Commerce API and adds an E-Ticket product type that can be sold. You can limit the amount of tickets for the event, and on checkout, the user is presented with a form to add ticket details, which are saved in a guestlist.
Features:
-
A new E-Ticket product type
-
Availability Management - set the maximum number of tickets available, and these are reduced each time a ticket is purchased
-
E-ticket details are captured for each ticket on checkout form. Are also included on review page before user makes final purchase
-
Automatic e-mail sent to main ticket holder with all ticket details as confirmation
-
E-ticket details added to database and accessed through sortable guestlist page which can be printed out to manage events
|
|
Requirements:
This module has been written for Drupal 4.7 and above, and tested againsted MySQL V.5.0.18. It requires the ECommerce module (http://drupal.org/project/ecommerce) version 4.7.x-2.1 with all core sub-modules enabled as well as the Tangible product type module.
To Do:
I am providing this module 'working', however I have a few things that need to be done before this module can be used easily by most users. The major limitation at the moment is for times sake, I have hard-coded the E-ticket details form and it only works with one product node at the moment (although the database captures the node ID so will be possible to sell multiple E-Tickets for different nodes soon). The list I have at the moment is:
- Make E-Ticket details form configurable, maybe like the Profiles module, or at least provide a generic form and hook for extending the details captured.
- Make E-Ticket module work with more than one node. At present guestlist shows all e-tickets regardless of associated node. Easy fix I think.
- Make a proper E-Ticket's settings page.
- Intrgrate with rich text e-mails so that confirmation details can be formatted in table properly and not messy as they are currently. Possibly send confirmation e-mails to all ticket holders.
- Port module to Drupal V.5.0
Design Notes:
The module is built on top of the ECommerce APIs:
- productapi - Adds E-Ticket product type to site.
- checkoutapi - Adds E-Ticket details form to checkout process and details to review on Order Review page.
- transactionapi - Inserts E-Ticket details into database once transaction is created.
Other points to note is the guestlist will only show E-Tickets where the payment status is 'Completed', and if inventory management is enabled, the stock will be reduced each time an order is completed. Deleted a transaction also deletes the assosiated E-tickets for that transaction and increases the stock again.
Known Issues:
- Guestlist shows all tickets regardless or assosiated node for E-Ticket.
- Forms is not configurable and hardcoded for Pimps and Hoes party.
- Refunded or cancelled transactions do not update E-Tickets to return tickets to available.
Download:
The module is now available from Drupal.org: http://drupal.org/project/eticket



