Jul
How to work with Ingresso API for Theatres Data
If you planning to build a platform for web or mobile applications to book theatre tickets in London, UK then Ingresso API is the best solution for you.
Here, we in Ficode have integrated Ingresso API with a booking system and custom seat planners to book seats with a live ticketing system.
Ingresso provides single connection API which allows you to sell tickets from multiple ticketing systems, set-up your own pricing structure and access live inventory.
Ficode has expertise in the implementation of Ingresso API for many projects. The Ingresso API is designed to allow you to sell from Ingresso’s inventory of event tickets. By integrating with the Ingresso API you can view and purchase live ticketing inventory from several different venues . Some example websites that have integrated with the Ingresso API are Amazon (https://tickets.amazon.co.uk/) , lastminute.com (https://www.lastminute.com/theatre/) , https://www.disneytickets.co.uk/ and https://www.boxofficetheatre.co.uk/ .
Let us explain you, how this api works and its implementation.
Step – 1 : Retrieve a list of events :
An event is a theatre show with its details and geographic location. Events can be searched by any Theatre name, location, ‘country_code’ , ‘offers_only’, category of theatre like family, musical etc.
- A) Search Events :
We can cache all events listed in our database and keep updating weekly for the fastest possible response.
Example Request: curl https://demo.ticketswitch.com/f13/events.v1 \ -u "username:password" \ -d "keywords=lion king" \ -d "country_code=uk" \ --compressed \ -G
- B) Get Detail of event by ID :
Details of particular event will have slider images, review ratings, video-iframe, show details and price information.
Example Request: curl https://demo.ticketswitch.com/f13/events_by_id.v1 \ -u "username:password" \ -d "event_id_list=3DI,4EF" \ --compressed \ -G
Step – 2 : Retrieve a list of performances for an event :
Performance is shown date/time. The API will not return performances that are more than 2 years in the future. Ingresso provides performance by 2 methods:
- Performances List :
It returns a list of performances for a particular event . This method is used to dynamically populate the calendar.
Example request : curl https://demo.ticketswitch.com/f13/performances.v1 \ -u "username:password" \ -d "event_id=3DI" \ -d "page_length=10" \ --compressed \ -G
- B) Get Details of Performance by ID :
It returns cached data from Ingresso and return details for one or more performances by their ID but this call is not recommended by Ingresso.
Example request : curl https://demo.ticketswitch.com/f13/performances_by_id.v1 \ -u "username:password" \ -d "perf_id_list=3DI-B2E,4EF-B2F" \ --compressed \ -G
Step – 3 : Retrieve availability for a performance, including seat numbers if the event has a seat planner:
It returns real-time ticket data which are currently available for a performance. It includes example seats, discount options and seat-blocks based on searched input data.
Example request : curl https://demo.ticketswitch.com/f13/availability.v1 \ -u "username:password" \ -d "perf_id=3DI-B0I" \ --compressed \ -G
Step – 4 : Purchase the reserved tickets :
Before buying the tickets, ingresso reserves the event for some time for you so that other users can not buy the same ticket until you release that ticket or the time has expired.
- A) Reserve Ticket: Tickets are reserved only for a particular user for a fixed time and after that time seat become available for other users. The time varies from 8 to 10 minutes once the ticket is added to the trolley.
Example request : curl https://demo.ticketswitch.com/f13/reserve.v1 \ -u "username:password" \ -d "perf_id=9CD-5" \ -d "ticket_type_code=STALLS" \ -d "price_band_code=A/pool" \ -d "no_of_seats=2" \ -d "seat0=A1" \ -d "seat1=A2" \ --compressed \ -X POST
- B) Release Tickets :
This method is used to release tickets from the trolley so that other users can avail the ticket.
Example request : curl https://demo.ticketswitch.com/f13/release.v1 \ -u "username:password" \ -d "transaction_uuid=f2158be3-d29e-11e6-8aab-0025903268dc" \ --compressed \ -X POST
- C) Purchase :
This method is the final call to purchase a reserved ticket if reservation time is not elapsed. If we get a successful response from Ingresso then the ticket is booked. We need to implement payment methods to get payment from customers like stripe, PayPal etc.
We need to send all customer details to Ingresso before the ticket is booked and purchased.
Example request curl https://demo.ticketswitch.com/f13/purchase.v1 \ -u "username:password" \ -d "transaction_uuid=61cfd4eb-1f5b-11e7-b228-002sdf5903268dc" \ -d "first_name=Tom" \ -d "last_name=Cruse" \ -d "address_line_one=Greater London" \ -d "address_line_two=United Kingdom" \ -d "town=London" \ -d "county=London" \ -d "postcode=W7 8ML" \ -d "country_code=uk" \ -d "phone=0123 456 7890" \ -d "user_can_use_customer_data=true" \ -d "email_address=testapi@gmail.com" \ -d "send_confirmation_email=true" \ --compressed \ -X POST
Hurray, the ticket is booked by Ingresso and you can follow this simple approach to implement for your application. That’s it! we hope you enjoyed this article and has some basic knowledge about the workflow of ingresso API.
Contact us if you are interested in knowing more about API integration or if you have any queries about building the Theatre Booking system.