(Last updated on: February 27, 2023)
Festival_pass schema: festival_pass_id int(10) incrementing – the primary key auth char(8) shows_id int(10) chartlist_id int(10)
Scanning
A festival pass ticket will be built around the pass’s bar code. When scanned, the festival pass record will not be found because the search is for the chartlist_id and the shows_id. That tells Scantix to look in the festival_pass table. select shows_id, chartlist_id from festival_pass where festival_pass_id and auth and shows_id = limit 1. This should return only one record. The next query will be: select chartlist_id, tixused from chartlist where chartlist_id= limit 1. If tixused > 0 the ticket has been used. The scan will be refused. Otherwise, we will give the command, update chartlist set tixused=1 where chartlist_id= limit 1 and the festival pass holder will be let in.
Selling
A festival pass is a season ticket. It will have a bar code using the chartlist_id and auth as per standard procedure. Since it is a season ticket, it will also have a list of performances attached. These performances will also have their bar codes. At the completion of the sales process, the festival_pass table will be written. Each performance will have an entry in the festival_pass table. This will be the shows_id and the chartlist_id.
Updating
Any updates done in the sales records will affect the festival_pass table. This needs to be kept up to date. A festival pass has a bar code, same as a single event. However, we only use the auth field. When festival passes are sold, they will be sold as season tickets. The season ticket will have a bar code. When it is written, the * same * chartlist.auth field will be written for each performance’s bar code. For a regular bar code, scan the barcode. Select * from chartlist where chartlist_id=? and chartdata.id=? Verify as is done now if not found, select sale_num, master_id, shows_id from chartlist left join mainsale using(sale_num) where auth=< the auth field from the ticket>.
This will return a reference to a sales record.
Check if the sale is part of a season package sale by the mainsale.shows_id in the season_ticket_performances table.
If the scanning time is within the startscan and endscan datetimes, it will be concluded that the season package is valid to be scanned. If the chartlist.tixused is zero, the field will be changed and the person will be let in.
This will require a change to Wintix if seating charts are used. Right now, Wintix counts the records in the chartlist every time the chart is opened for reporting, sales or editing. We will need to define a chart record as having a chartdata_id >0 but the plan_id is zero.
This will work for either GA or reserved events.
Sept. 1, 2021