Application Kata "Box office"

Write an application that can be used to buy movie tickets online.

The following illustration shows the start page of the application.

All showings are displayed in the format shown. The user can click on one of the times within a movie to select the movie, the day of the week and the time. This takes them to the seating plan, where they can select one or more seats.

In the occupancy plan, spaces that are already occupied are shown in gray and cannot be selected. All free seats can be marked by the user. Each time the number of seats selected by the user changes, the current total is recalculated and displayed. If the user has selected at least one seat, the Booking is activated. From there, the user is taken to the payment dialog.

The user's credit card information is requested in the payment dialog. Once all the data has been entered, the Next button is activated. Finally, a PDF is generated for the user's order containing all the relevant data.

The performances are taken from the file Ideas.txt loaded. It is structured as a CSV file. The individual details of the screenings of a movie are separated by slashes. Each entry consists of the day of the week, the time, the auditorium and the price. The screenings are separated by commas.

The Name of the Rose;
    Mon/17:00/Saal 1/7.00,Mon/20:00/Saal 1/8.00,Tue/17:00/Saal 2/7.50,
    Wed/16:00/hall 1/7.00,Wed/19:00/hall 3/7.00,Wed/22:00/hall 1/7.00,
    Thu/16:00/hall 2/7.00,Thu/19:00/hall 3/7.00,Fri/17:00/hall 3/7.00,
    Fri/20:00/hall 3/7.00,Fri/23:00/hall 1/7.00,Sat/17:00/hall 1/7.00,
    Sat/20:00/Saal 2/7.00,Sun/15:00/Saal 1/7.00
Pumuckl;
    Mon/17:00/Saal 1/7.00,Tue/17:00/Saal 1/8.00,Wed/14:00/Saal 2/7.50,
    Thu/14:00/hall 1/7.00,Fri/17:00/hall 3/7.00,Sat/14:00/hall 1/7.00,
    Sun/15:00/Saal 1/7.00
The Shoe of the King;
    Mon/19:15/Saal 1/7.00,Mon/21:00/Saal 1/8.00,Tue/19:15/Saal 2/7.50,
    Tue/21:00/Saal 1/7.00,Wed/16:00/Saal 3/7.00,Wed/19:00/Saal 1/7.00,
    Wed/22:00/Saal 2/7.00,Thu/17:00/Saal 3/7.00,Fri/17:20/Saal 3/7.00,
    Fri/20:20/Saal 3/7.00,Fri/23:20/Saal 1/7.00,Sat/17:00/Saal 1/7.00,
    Sat/20:00/Hall 2/7.00,Sun/15:00/Hall 1/7.00

The lines are only broken up here to save space. This example file actually consists of three lines. 

The layout of the auditoriums is stored in text files. A file must be created for each auditorium with the auditorium name as the file name plus .txt exist as an extension. In the files, a seat is represented by a X as shown in the following example of the file Room 1.txt to see:

    XXXXXXXXXXXXXXX
  XXXXXXXXXXXXXXXXXXXXX
 XXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXX

Variations

The credit card information can be checked for correct assembly become.

en_USEnglish