On Celtic Nights I built all of the ticket pages which work by making requests to a Ticket Management API and I use the data returned to build the upcoming events, calendar, times etc. The website allows customers to easily purchase tickets to Celtic Nights events.
I built them a custom calendar interface where only days with tickets available are selectable and are shown in different colours depending on the amount of tickets available. After selecting a date the customer is then brought to a form where they can select a time, number of tickets and enter their details on submitting the form I then redirect the customer to the Stripe hosted payment page. After the customer has entered their payment details and been charged they are redirected to either a success or error page depending on the status of their payment. All of these steps also involve sending data to the api to create the purchase on the Ticket Management system.