Skip to content
Permalink
master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time

Theatre Booking

Build a website for a local theatre company. They have a single stage and, due to the cost of building the stage sets, aim to have two performances per day (matinee and evening) and run each production for 2 weeks (28 performances). All play, performance and order dates should be stored in a database.

Stage 1

The core functionality consists of three screens:

  1. The home screen should display the current play being performed, each should display:
    1. The name of the show
    2. A thumbnail of the poster
    3. The date of the first performance
    4. The date of the last performance
  2. Clicking on either the poster thumbnail or name should display the full details of that play including the dates and times of the performances. If there are any tickets remaining there should be a link or button next to the performance. Clicking this adds a ticket for that performance to the shopping cart. The page should display:
    1. A photo of the performance
    2. The name of the play
    3. A detailed, multi-line, formatted description of the play
    4. A detailed, multi-line cast list
    5. A list of the 28 performances (dates and times)
    6. A note of how many tickets are left from each performance
    7. The cost per ticket
  3. There should be a link or button on both the screens to take the user to their shopping cart where they can:
    1. See the cost per show and total cost
    2. Change the ticket quantity for each performance
    3. Delete a performance

Stage 2

The intermediate tasks require you to make changes to the functionality:

  1. The theatre plan productions over the next three months meaning they know the current production and also the next two productions coming up. The home page should now display both the current production and the two that will follow.
  2. The tickets are in three price bands reflecting where in the auditorium they are. There are a fixed number of each type and fir each production the customer should be able to add a mix of all three types to their order and the production details screen should show how many are remaining: 2. Rear Stalls: these seats are located towards the rear of the main auditorium. 3. Circle: these are located in the balcony placed above the rear stalls, they cost 50% more then the rear stalls.
    1. Front Stalls: these are the most expensive (best seats in the house) and are located towards the front of the main auditorium. They cost twice as much as the rear stalls.

Stage 3

  1. There should be an admin user who can:
    1. Add new productions and should be prevented from having a start or end date that overlaps an existing performance.
    2. Edit existing productions.
    3. View the ticket sales and gross income for each show plus the income for each show.