The basic idea is that you have some of players, and some events like rehearsals leading up to a concert, and you want to know which players are planning to be at which events.
Since most orchestras give more than one concert, and the list of players playing in one concert may be different from those playing in another, the system can store multiple registers, one for each 'Event series'. An event series has a name and a description.
An event series also has a list of players and a list of events, which define the rows and columns in the register.
Users are people who have access to the system, regardless of which event series they are playing in. A user has a first name, last name, and email address. The system also stores the information required to let players log in to the system, and what level of access each player has.
Although the system stores each players' email address and full name, this information is only visible to people with speciall access rights. In the publicly visible pages, it only shows a player's first name and last initial, along with which part they play in a particular rehearsal series.
The list of players for a rehearsal series says, for each user who is playing in the series, which part they play.
Each event in a series has a name, description, venue, and start and end time (and date).
There are facilities for exporting the list of events so they can be imported into diary software, and into a MediaWiki page.
For a given event series, the register lists events across the top, and players down the side. In each cell of the register, it shows the players' attendance as one of:
The attendance information is shown nicely colour-coded.
Anyone who know the right URL can go to the register and see the attendance information. This is a read-only view.
Each user has a special URL with a token on the end, like ...?t=VDcHOaWWq0XHUwXDD6wJZwzKTqbciiKwoFrToTZ8. This gives that user access to update their own attendance information.
Users with a higher level of access than that have to log in with an email address and password. There are two classes of people with a higher level of access, Organisers and Administrators. Adminsitrators can slightly more than Organisers, but the difference is small. These users can edit any player's attendance, and can edit the list of users, players, events and event series.