How to work with Ingresso API for Theatres Data
If you planning to build a platform for web or mobile application to book theatre tickets in London, UK then Ingresso API is the best solution for you.
Here, we in Ficode has integrated Ingresso api with booking system and custom seat planners to book seats with 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 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 are able to view and purchase live ticketing inventory from a number of 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 detail and geographic location . Event 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 list in our database and keep updating weekly for 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 show 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 performance 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 Detail 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 tickets data which are currently available for a performance. It includes example seats, discounts options and seat-blocks based of 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 a period of time for you so that other user can not buy same ticket until you release that ticket or time is expired.
- A) Reserve Ticket : Tickets are reserved only for a particular user for a fixed time and after that time seat becomes available for other users. The time varies from 8 to 10 minutes once ticket is added to 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 trolley so that other user 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 successful response from Ingresso then ticket is booked. We need to implement payment method to get payment from customer like stripe, paypal etc.
We need to send all customer details to Ingresso before 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@example.com" \ -d "send_confirmation_email=true" \ --compressed \ -X POST
Hurray, ticket is booked by Ingresso and you can follow this simple approach to implement for your application. That’s it! , Hope you enjoyed this article and has some basic knowledge about workflow of ingresso API.