alfio-event / alf.io Goto Github PK
View Code? Open in Web Editor NEWalf.io - The open source ticket reservation system for conferences, trade shows, workshops, meetups
Home Page: https://alf.io
License: GNU General Public License v3.0
alf.io - The open source ticket reservation system for conferences, trade shows, workshops, meetups
Home Page: https://alf.io
License: GNU General Public License v3.0
TicketRepository.freeFromReservation does not clear up special_price_id_fk column.
This is an issue as we cannot reuse a code
See current query
@Query("update ticket set status = 'FREE', tickets_reservation_id = null where status = 'PENDING' "
+ " and tickets_reservation_id in (:reservationIds)")
int freeFromReservation(@Bind("reservationIds") List<String> reservationIds);
Edit: actually I'm not sure that it's the only place that we need to change/check.
What we are seeing is this error (how we were able to create is an open issue)
Caused by: org.postgresql.util.PSQLException: ERROR: duplicate key value violate
unique constraint "unique_special_price"
Support the definition (through admin area) of a set of "generic" discount codes, which should apply on a limited timeslot, should be linked to the event and should affect only visible categories.
The BUC is:
a user inserts the promo code "HEY-HEY-PICK-ME" in the main page. If the given code matches exactly (case-insensitive comparison) a promo code defined for the current event, then the discount will be applied; otherwise we'll search for special price codes, as today
When a restricted category expires, the admin application cancels the remaining tokens (correct) but doesn't create it again on the new category.
A member of jug Milano, during our presentation, pointed out that it could make sense to have a "catch all" category in the event, and that category should be the one at "full price".
After a little bit of analysis, we really like the original idea, but we would rather implement it as following:
This would simplify a lot the implementation of #39, since the waiting queue could be a special unbounded queue.
please feel free to share your thoughts
see #51 , we need a way to define connection properties without specifying it in the command line
Allow the creation of free events and hide all the price-related fields
At the moment, there is a single field for the description.
In admin, event page: sort token by use, name, for ticket, sort by time
1 month before the event we should be able to send an email to all participants to review the information they provided and eventually edit them (unique link per participant)
The configuration GUI must be redesigned in order to be more user-friendly and more effective
It can be useful, as an admin, to be able to see and edit tickets details
Create email sending queue in order to be fault tolerant. This would also help with the statistics
Build an Android application that allows the receptionists to scan tickets at check-in
As the deployed server can be everywhere, selecting the correct timezone of a event is fondamental, as all the dates will depend on it.
For supporting other payment flow (where the ACK from the gateway can be hours or days later), we will need to an additional state for the TicketReservation
I would guess.
Currently, as defined in the enum TicketReservationStatus
we have the following states:
PENDING, IN_PAYMENT, COMPLETE, STUCK
The transition is, PENDING
-> IN_PAYMENT
-> COMPLETE
| STUCK
The PENDING
state is when the user has reserved a ticket but not paid, if the user has not completed the transaction in the configured timeout, the reservation will be removed.
The IN_PAYMENT
state is when the user is paying (this is done in a transaction, so if there are no failure on the stripe side and our side this state is not visible (at the moment there is a error page for handling the IN_PAYMENT
and STUCK
page, see ReservationController#showReservationPage, last branch )).
So, for supporting the async case, we will need :
PENDING
and IN_PAYMENT
.When the payment has been confirmed, the reservation should transition directly to COMPLETE
and it should send an email to the user(s) and let them download/see the tickets.
At the moment the user cannot see/interact with the TicketController until the reservation has a COMPLETE
status, so on this side we are covered.
it should be possible to specify a descriptive name for an event, for example:
name: My Awesome Event 2015
shortName: MyAwesomeEvent2015
the shortName could also be automatically generated (checking for duplicates)
Allow payment proxies such as Stripe, PayPal as well as on-site payment.
add users to existing lists for each successful booking
https://apidocs.mailchimp.com/
add https://coveralls.io/ integration :). Should be quite simple.
In the ticket view, add a button for saving the event date for the following calendars:
Hi, I know this is not the right place to be asking this, but I honestly cannot find information anywhere else. Alf.io looks like brilliant software and I would love to use it on my website. I'm just wondering, how do I install it? I cannot find instructions anywhere, or even information on where to get instructions or help.
Sorry again for putting this message here but it is honestly a last resort me. Thank you in advance for any help, I greatly appreciate it.
Implement partial editing mode for events.
It should be possible to manually register payment that came via different channel than supported in the system. It would be great if it can be also automated. For example by uploading CSV file with registrationIDs and paid amounts and system should mark corresponding registrations as Paid.
Whenever system can't match registrationID and amount of payment, it should be reported to the admin.
Add support for Markdown in the description field for both event and ticket category
We need an additional field where the ticket buyer could add additional info to the organizer
In the field description we should explicitly mention to write there informations about food habits (vegan, vegetarian, allergic to milk, etc)
Optional:
1 month before the event we should also be able to send an email to all participants to review the information they provided and eventually edit them (unique link per participant)
Most likely, we are missing some index on the various foreign_key side.
once http://www.klimpr.com will be ready to receive money from a web site when a registered user click on it.... it will be cheaper and swiss made :-)
It appears that default Payment Type is always STRIPE, even if the event is free of charge and there's no payment involved
Currently we support (and they are always visible) the following optional fields:
We should let the admin decide:
For those that were not able to buy a ticket.
If the organizer decide to add more places and/or somebody decide to free up his place, those that are in the queue could have a chance to get them before everybody else.
In order to improve readability, we should add the text "expired on xxx at yyy" on expired categories
In the qrcode for the check in operator, expose the full site info (encoded json).
This will simplify the configuration of the android alf.io check in client.
Send an e-mail containing the generated code for a restricted category. Assignees should be loaded using a CSV file
I think export should display all details about tickets.
At the moment the user can only link an image :D
For some reasons the organizers could need to reduce the number of available seats of an active category. Currently this operation is allowed unless there are already confirmed reservations in the category.
When loading an event form DB for edit, if there is any field not valid, the save button is disabled but the field is not marked with the red border.
To discover the invalid field you can use command $('.ng-invalid') browser console
The error is reproducible with the current test data because the test event do not have https in the imageUrl.
Steps to reproduce it:
At the moment we "only" check the js.
Restrict for the others cases (css, connections, ...)
see http://i.imgur.com/rrKHDlB.png .
Price should be 100%, not 92.59% .
put the qrcode in the upper right corner of the pdf.
We have noticed that the qr code scanner has some problem when the qrcode has been cut in half by the crease of the folded ticket
Define a set of process URLs in order to track the process using Google analytics
Misc notes:
Add export attendees' data as CSV functionality. This can be useful for statistics purposes
In production mode we should enforce https only mode.
with STS headers : http://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security (we will need to check if request.isSecure() or request.getRequestURL starts with https:// OR if we the X-Forwarded-Proto header is present, that its https
force the cookies to be emitted as https only: onStartup of the Initializer ->
servletContext.setSessionTrackingModes(Collections.singleton(SessionTrackingMode.COOKIE));
servletContext.getSessionCookieConfig().setHttpOnly(true);
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.