Case Study

How Make it Social and Enta Improved the Online Checkout

Gone are the days of the ticket buying burden landing on the lap of one poor soul. Perhaps they send out a few texts about an event, get a bunch of their friends interested, and then proceed to buy 10 tickets. But wait, as it transpires, only 6 people are actually able to attend the event, leaving the ticket buyer in the lurch and short on money. This won’t do!

We offer your customers the option to ‘book socially’. This allows the group leader to send out invitations to their friends from the checkout. Each group member then pays for their own ticket only, which means nobody is left in the lurch financially. Once a quorum is established, the group leader confirms the purchase and the tickets are confirmed. It’s that simple.

Continue reading How Make it Social and Enta Improved the Online Checkout

News

Social Checkout Arrives in London’s West End

Fans of Wicked can now book tickets as a group with more ease than ever before by using an innovative new social booking platform.

Wicked and technology start-up, Make it Social, have just launched the West End’s first ever Social Booking Service to make it easier than ever before for groups of friends and family to book tickets to see this critically acclaimed show. It’s really simple, book seats for everybody but pay individually.

Reserve for all, pay for yourself

The Make it Social user experience is designed to give social groups the most enjoyable and hassle-free booking experience where users reserve all the tickets they need for friends but each group member pays individually.

Continue reading Social Checkout Arrives in London’s West End

BusinessTechnology

Why Should You Socialise Your Checkout?

We are the new generation of online ticketing and our aim is to use the social revolution to bring people together for genuine social experiences. Our team recently travelled to the Phocuswright Travel Innovation Summit in LA to present this vision to the world. This is what we had to say.

The state of the industry at the moment

There are so many events and experiences being sold online that people have more opportunities to get together with friends than ever before.

The global travel and live events industry is worth $2.9 trillion (i.e. nearly double the annual GDP of Canada). An estimated $870 billion of this amount is attributed to social and group bookings; however, there is massive potential to grow this part of the pie, as roughly 25% of planned social activities remain merely as plans.

Continue reading Why Should You Socialise Your Checkout?

Development

Webhook Support for Product Availability

The Requirement

Currently, the Make it Social Product API provides a production-ready booking service for experience providers with the following features.

  • It is a product repository accessible through a Restful API;
  • It has a builtin booking engine also accessible via Restful API;
  • It uses RRule to specify product availability by date and time;
  • And it supports group-size and vacancy control;
  • It notifies the product owner via webhook for booking status.

While this is enough for the Make it Social hosted products, it does not support those hosted on third-party booking engines.In our previous monolithic system, we built plugins to support as many third-party booking engines as necessary.But in the new PAPI system, we use a different approach, namely, the webhooks. Instead of calling various APIs with their specified data format, we let the third-party engines or a middle service to handle our requests.

The Webhooks

The client or a middleman service must listen on an endpoint for availability and booking requests by PAPI on behalf of the users.The requests will be a HTTP POST call to the endpoint, for example:

curl -X POST -d '{"start_date":"2016-01-01T09:30:00Z",..}' https://example.com/products/availability -H "Content-Type:application/json"

It’s product provider’s responsibility to configure these webhooks and setup a webservice to listen on these endpoints.This can be done by adding the following to either the provider or the product dataset.

{
	"webhooks": {
		"availability": "https://..",
		"prepayment": "https://..",
		"postpayment": "https://..",
		"shared_secret": ".."
	}
}

The shared_secret is a string to be used by PAPI to hash the post request for a signature.

Availability endpoint

This endpoint will be called when a user joins the activity.Minimal request data:The post body will be a JSON string like the following example.

{
	"provider_id": "..",
	"product_id": "..",
	"group_size": 2,
	"start_date": "yyyy-mm-ddTHH:MM:SSZ",
	"end_date": "yyyy-mm-ddTHH:MM:SSZ",
	"time_code": "",
	"rate_code": "",
	"hash": "hash(..)"
}

The product_id is the unique product ID on PAPI.

Expected response

{
	"available": true,
	"hash": "hash(..)"
}

or

{
	"available": false,
	"reason": "Error calling the booking engine",
	"hash": "hash(..)"
}

Pre-payment endpoint

This will be called immediately before the user starts the payment.

The Request

{
	"id": "booking_id",
	"provider_id": "..",
	"product_id": "..",
	"currency": "GBP",
	"amount": 199.99,
	"user": {
		"uid": "user_id",
		"first_name": "<first name>",
		"last_name": "<surname>",
		"email": "email@example.com",
		"address": [
			"s1": "street",
			"s2": "",
			"city": "City",
			"postcode": "postcode",
			"country": "GB"
		],
		"data_capture": {
			"name": "value"
		}
	}
	"group_id": "group_id",
	"start_date": "yyyy-mm-ddTHH:MM:SSZ",
	"end_date": "..",
	"group_size": 2,
	"rate_code": "",
	"time_code": "",
	"voucher": "",
	"extras": [
		{
			"xid": "product_id",
			"name": "product name",
			"price": 10.00
		}
	],
	"timestamp": 1445526011477,
	"hash": "hash(..)"
}

Expected Response

The webhook handler should return with an availability status, and a booking_id if done so. The booking_id will be used for confirm or cancel after payment.

{
	"available": true,
	"reserved": 1,
	"booking_id": "",
	"expire_at": "ISO time",
	"hash": "hash(..)"
}

The reserved and expire_at properties are optional.The response for failed reservation:

{
	"available": false, 
	"reason": "No longer available",
	"hash": "hash(..)"
}

Post-payment endpoint

This will be called after a successful or failed payment. To confirm a successful payment, the request body will contain a property action:”CONFIRM”, otherwise, action:”CANCEL”.

Request data

The request body will be the same as that for pre-payment, plus “prepayment”: {} from the response of pre-payment call if done.

{
	"action": "CONFIRM",
	"prepayment": {
		"booking_id": "1234"
	}
	...
}

Expected response

{
	"status": "OK",
	"ref_no": "the reference number",
	"link": "URL for user to collect the ticket or to read the guide",
	"hash": "hash(..)
}

or for failure:

{
	"status": "FAILED",
	"reason": "..",
	"hash": "hash(..)
}

Note on pre- and post-payment endpoints

It is not necessary to have both depending on the booking engine. But at least one should be available for booking. If pre-payment booking (reservation) is available, then a booking_id in any format must be available so that later confirmation or cancellation can use as the ID, unless confirmation or cancellation are not necessary.

The Signature

Post to the endpoint as well response data received from the webhook should have a signature as a hash of the data content and a shared secret.
The hashing content is a string concatenation of all the properties flattened into a key=value array. For example:

{
	"action": "CONFIRM",
	"prepayment": {
		"booking_id": "a1223"
	}
}

will be converted into the following array of strings.

 ["action=CONFIRM","booking_id=a1223"]

And then concatenate the strings together and append the shared secret to it, and then hash it using sha256 and encode the result in base64.The signature generation function can be something like this:

function hash(obj, secret) {
	var buf = [];
	function flattern(obj){
		for (var k in obj) {
			var v = obj[k];
			if (typeof(v)=='object') {
				flattern(v);
			} else {
				buf.push(k+'='+obj[k]);
			}
		}
	}
	flattern(obj);
	buf.sort();
	buf.push(secret);
	return crypto.createHash('sha256')
		.update(buf.join(''))
		.digest('base64');
}
Marketing

2 Ways Social Booking Bolsters Online Sales

Captivate your customers.  Maximise your means.

The benefits reaped from group ticket sales can be game changing, no matter the size of your event.  It is a great advantage for your customers as it simplifies the organisation of attending an event as a group, but it also offers you incentives beyond increased sales; like more data points and less stress on your ticketing platform.  

There are many methods of encouraging social booking for your event, beyond the abovementioned and more obvious ways.  Really, its up to you what these are; we just want to share some ideas with you. Here are the two ways groups can improve your online sales:    

Continue reading 2 Ways Social Booking Bolsters Online Sales

Case Study

Social Booking Doubles The Transaction Value for The Kia Oval

Our recent case study definitely proves that social booking should be one of the main focus points when optimising online booking flow. Learn how social booking works for Surrey County Cricket Club.

The Challenge

Cricket supporters have been making it social at the Kia Oval since 1845. Yet, all this time they have been in in the dark with regards to their customer preferences. Its our job to amend that.

Always seeking to improve its customer services, the Kia Oval was attracted by the MiS technology, which enables customers to easily book tickets as a social group. Consumers pay individually for their tickets and the Kia Oval has visibility of all attendees’ preferences and data. This includes seating location, dietary requirements and number of match programmes ordered.

Continue reading Social Booking Doubles The Transaction Value for The Kia Oval

Technology

How our new technology can keep you ahead of the curve

At Make it Social, we believe in staying ahead of the curve.  Be the best you can be, that’s what we say. Staying ahead often means being the first to implement something fresh. That’s why we work with businesses to provide a leading social booking interface and functionality that enables them to capture the growing social booking sector better and be innovative with it to-boot.

Behind the scenes, we’re no different. We’re using next generation JavaScript and web technologies to stay ahead and build a new platform for our clients.

By building progressive web components using Google Polymer library  we’re able to quickly compose bespoke, highly responsive solutions and enhanced user experiences to meet a full potential of custom client needs.

Continue reading How our new technology can keep you ahead of the curve

Marketing

Tips and tricks for increasing group ticket sales

The ups and downs of selling tickets can feel like a never-ending merry-go-round. Sometimes tickets sell themselves and are snapped up before they even go on sale, other times sluggish sales threaten empty seats, lost revenue and stress in the run up to a big event.

Whether it’s a conference, concert or game, thankfully, there’s a lot you can do to enhance ticket sales both pre-sale and pre sell-out. Here we share our tips to help you drive sales whatever speed the carousel turns.

Continue reading Tips and tricks for increasing group ticket sales

Marketing

Mini moments that maximise your means

When you’re thinking about new ways to engage your clients – both current and new – the marketing mind is often a hive one. Lots of fluttering ideas and thoughts, each meritorious, some just a breath of an idea. But in marketing, miniature can be mighty. A small spend here, a tiny tweak there equals potentially big impact for your business that can be felt by you and your clients; it’s the butterfly effect.

At Make It Social we really value micro moments like these. We recognise the importance of customer intention and engagement, and know that it doesn’t have to be massive to make waves for us or our clients. Changing something as simple as freeing groups up to book easier on your site can unlock the door and hold it wide open to increased revenue through bigger groups, more bookings, and repeat business.

Continue reading Mini moments that maximise your means

News

Kia Oval bowled over by new group booking partnership

It’s nice when something new works surprisingly well, isn’t it? We knew our latest partnership with The Kia Oval would, but for clients, new marketing and sales methods can feel like trial and error. In spite of any cast iron plan in place and anticipated outcomes – essential for any marketing activity – it’s only as good as the new sales channel you implement.

So when one of our latest clients – hallowed home of international test cricket and Surrey Cricket Club, The Kia Oval – signed on to managing group bookings in partnership with us, they were delighted with the increase in group bookings that derived from one link on their website and organic web traffic alone.

Continue reading Kia Oval bowled over by new group booking partnership