HiEventsDev / Hi.Events

Open-source event management and ticket selling platform. Perfect for concerts, conferences, and everything in between 🎟️
https://hi.events
Other
2.24k stars 200 forks source link

🌟 Easier implementation of repeating events #191

Open richard-lee-863 opened 2 months ago

richard-lee-863 commented 2 months ago

Is your feature request related to a problem? Please describe. If we need to create a regular, re-occurring event. Say for instance, an event that runs every Tuesday and Thursday night, every week, between a start and end date. It seems currently to do that we'd have to set up a single event, with all ticketing, and then duplicate that from Tuesday to Thursday, then again duplicate for each individual date required.

Describe the solution you'd like An easier way to manage this might be to have a scheduling system where you can automatically have events 'renew' or get duplicated when the old one expires, so that manual duplication is not required.

Describe alternatives you've considered

Additional context It would also be nice to have a clear way to define event instances that might link to a common "Type" of event, sort of like an "event template". For example, in my repeating example above, that could be a pub quiz where ticketing and times etc.. is always the same, the only thing that changes is the dates. So you wouldn't necessarily need all the overhead of more ticketing etc.. being duplicated, if it can link to a "template"

elronalds commented 2 months ago

This would be a great addition to Hi.Events. We are using the system for a weekly event, same time every week and the duplicate event feature has helped with managing this. It would be great if it was more set and forget though. I still need duplicate the event, upload homepage feature image for the event (this has been fixed in v0.7.0-alpha.2) then I need to adjust the ticketing dates that the tickets go on sale.

For example, we don't start selling tickets for the next weekly event until the previous event has commenced. Once the event starts, the next week's tickets can be purchased as next week is promoted during the running event. From a usability point of view we don't want customers purchasing tickets for the wrong event so only one weekly event is open for ticket sales at a time. It would be great if this was more automated for weekly or recurring events from an event creation and date management point of view.

grablair commented 1 month ago

To add onto the ideas above, a "Calendar View" could also be helpful for these use cases.

In our case, we have 12+ performances, starting on different days with varying start times (matinees, weekdays, weekend events, etc). Right now they are modeled as separate tickets (which is now a lot more user-friendly thanks to the "collapsable tickets" logic in https://github.com/HiEventsDev/Hi.Events/pull/254). However, a calendar view for multi-instance events would probably be a better user-experience in this case (rather than scrolling through a long list of dates in plain english).

It could work like the following:

  1. Allow events to be marked as multi-instance events.
  2. Add settings to specify date/times for all the instances. The organizer should be able to model this in several ways: explicit date/times, recurrence rules, or a combination of the two. Being able to connect to something like a Google Calendar to automatically load all the dates could be helpful.
  3. Allow tickets to be marked as "relative/recurring". A selection box will allow you to then select which start date/times the ticket should be implicitly copied to. This way, if you edit the ticket, all instances tickets will be reflected (with any date/time setting moved relative to the instance start time). For exceptions, you simply don't select that instance (say, if you want one ticket price for matinees and one for evenings).
  4. For multi-instance events, load a calendar view on the event page, with events listed for all instances.
  5. Upon selecting an event from the calendar, the tickets related to that event will appear below the calendar and the view will be automatically shifted to that section.

Some more thought is probably needed regarding whether all relevant models should be able to be marked as "relative/recurring" (e.g. promo codes, capacity assignment). I'll think about this more!