Image Image Image Image Image Image Image Image Image Image

Flatiron Hot! News | January 17, 2018

Scroll to top


Case Study for the Age of Cloud Services: NYCSCC Extends and Expands Tripleseat Event Venue Portal

Case Study for the Age of Cloud Services:  NYCSCC Extends and Expands Tripleseat Event Venue Portal
Flatironhot Contributor

Reported by the Flatiron Hot! News Editorial Staff with the assitance of Corey Shapiro and Kazem Moradi

  • Customers at a NYC-based conference center can now book and pay online, schedule site tours, include more information on their event inquiries
  • In an age of cloud services and the need for ever greater responsiveness and customization, one New York small business did some cutting-edge integration to streamline its operations and better serve its customers in the competitive event planning industry

Tripleseat Logo 1NYC Seminar and Conference Center (sponsor of Flatiron Hot! News) is always looking to take advantage of the latest technology to better serve its clients as they plan and execute their events at our New York Chelsea/Flatiron flagship HQ.  As our regular clients know, we streamlined the planning and booking process earlier this year by integrating the industry-leading Tripleseat Event Planning Portal in all aspects of our operations.  Our clients have taken advantage of this in a big way, and can now communicate with our staff via the cloud for all event-related matters like booking rooms, placing catering orders, making payments, viewing invoices, and recording last-minute changes.  Tripleseat, which offers real-time viewing and updating of event details through the internet on both mobile and desktop devices, enables a real-time overview of everything related to clients’ events in a truly revolutionary, transformative manner.

NYCSCC LogoAs great as Tripleseat is, our staff is always on the lookout for ways to improve our event-planning process, both for our customers and to streamline and enhance our own internal operations.  In our first year with Tripleseat, our sales and event management teams brought to our IT staff’s attention a “wish list” of additional features they wanted to add to Tripleseat’s already robust feature set. Tripleseat is a generalized web application for the event planning industry, and with an installed base of over 2,000 restaurants, event venues, and conference centers, its feature set can’t possibly accommodate every need for every business.  As a specialized value technology conference center, NYCSCC has its own unique needs.  Fortunately, the wizards at Tripleseat have included a powerful programming API interface that allows outside programmers to customize and extend their web app – and that’s exactly what NYCSCC has done.

NYCSCC’s team identified three specific areas where additional functionality was needed.  First, Tripleseat’s generalized Inquiry Request Form which is embedded seamlessly in NYCSCC’s branded website and collects event inquiries via the web from our customers, allowed only limited information to be collected on event details.  Second, there was no Tripleseat form that allowed for site tour requests to be made at our New York location – an important factor in selling our space.  And third, there was no way for our existing clients who are familiar with our space and use us on a regular basis to actually put in a request for a room and have it automatically be placed on Tripleseat’s master on-line schedule; they could only put in a request for a room and wait for our staff to process it manually from the Tripleseat back-end and create the appropriate lead, contact, and booking/event entry and place it on the master schedule of rooms.  After consulting with Tripleseat’s tech support staff, it became clear that we could use the Tripleseat API and engage our own IT staff to add the functionality using a combination of custom programming, special web forms, and some other ingenious cloud services.

NYCSCC’s programmer and integration expert, Corey Shapiro, and its webmaster, Kazem Moradi, responded to the challenge by identifying two ideal cloud services that would solve the problem.  First, Formsite, a powerful and flexible form scripting service with its own extensible API, could be used to create detailed customized and user-friendly forms that could solicit from NYCSCC’s customers all the information required by the event and sales staff for inquiry requests, site tours, and on-line event bookings.  Then, specialized code could be created to parse, extract, and post the information in the proper format out of Formsite by its API, and then pass it over the internet into Tripleseat via its API and automatically create, according to its schema and business logic, the appropriate leads, contacts, accounts,  and bookings.  The code would be run periodically by special programs on a real-time basis at the online service Heroku, which allows for the hosting of web applications in the language of choice, Ruby.

This type of special custom integration with cloud services such as Tripleseat is becoming increasingly necessary, as businesses seek to fine-tune their processes and offerings to meet their clients’ needs.  Corey and Kazem worked closely with the programmers and tech support team at Tripleseat, who were very responsive, and built out the API and consulted with NYCSCC’s team to make sure everything was in sync.  By the end of the project, the new forms, added to the NYCSCC website, allowed the seamless integration and posting of the expanded inquiry requests, site tours, and event bookings into the Tripleseat portal, where NYCSCC staff could process and manage the events without skipping a beat.

Flatiron Hot! News asked Corey Shapiro to give some insight into the process of doing this very special programming and integration project.

Solving a Business Problem and Integrating Web Services: How NYCSCC Did It

As a small event management business, it is useful to have a website like Tripleseat to help us input data about event scheduling, payment, catering, client’s requests, and other important information.  Tripleseat allows us to stay organized and otherwise take advantage of the site’s capabilities.  Until recently, for Tripleseat to help us manage our data, we had to manually enter it into Tripleseat from various web forms the customer filled out on our website.  To create these forms, NYCSCC uses the web application Formsite.  We like Formsite because it is simple to use, and the forms we built with it allow clients to give us their information in an organized and streamlined manner whenever they want, without having to worry about out staff’s availability.

Editing a Form Site Form

Editing a Form Site Form

In the past we would look at the results of each form that someone filled out, and use the Tripleseat website’s interface to enter this information in the form of leads, accounts, contacts, events, and bookings.

Tripleseat Event Creation Tool

Tripleseat Event Creation Tool

Entering all of this data piece by piece was rather repetitive and time consuming.  Our company thought it would be better to use a more automated process.  We wanted a way to directly transfer information online from our forms into Tripleseat.

Tripleseat does have a built-in feature that supports this sort of transfer.  Their lead form is made to easily connect with their website and capture information about potential clients.

Tripleseat Standard Lead Form

Tripleseat Standard Lead Form

However, the form is only built to receive basic information, and our company wanted to submit more detailed information, some of which might be about items related to Tripleseat data structures other than leads.  As a solution, NYCSCC set out to create web programs that could take the results of Formsite forms and submit them to Tripleseat by using each service’s API.

Single Result Table in Formsite

Single Result Table in Formsite

Tripleseat Account Page

Tripleseat Account Page

My ongoing project is to build these programs from scratch, maintain them, and make sure they continue to work properly.  I decided to use the Ruby programming language, because of my relative familiarity with the language and its online capabilities.  First, I began to build a program that could retrieve the results from our ‘Facilities Reservation’ form and put them in Tripleseat.

NYCSCC's Formsite Enhanced Reservation Request Form

NYCSCC’s Formsite Enhanced Reservation Request Form

Our company designed the Facilities Reservation form to give returning customers and people who know exactly what they want an easy way to let us know what they need for their event.  My program allows the integration of this form with Tripleseat by retrieving xml data from the Formsite API, converting it to a hash, and inputting the data to the Tripleseat API using an OAuth access token.  The program has several functions that can manipulate, convert, and transfer various blocks of data, and facilitates the use of these functions to accomplish the overall goal of creating accounts, contacts, bookings and events through the Tripleseat API.

NYCSCC also wanted to create our own new and improved version of Tripleseat’s Lead form, so we decided to build a new Formsite form along with an accompanying program to act as a replacement.

NYCSCC's Enhanced Tripleseat Reservation Request Form!

NYCSCC’s Enhanced Inquiry Request Form

Our new ‘Inquiry and Site Tour’ form has various features in addition to gathering basic contact information and an event’s start and end times.  The ‘inquiry’ component of the form collects information about space, catering, and equipment requirements, and accommodates requests for events that last more than one day.  The ‘site tour’ component allows customers to book a date and time to view our space and learn firsthand whether what we offer is a good fit for their possible event.  As a conference center, it is convenient for NYCSCC to have all of this information about prospective clients in one place, and we ascertained that a Tripleseat lead would be an ideal location.


Tripleseat Account Page

Tripleseat Account Page

Figure 6: Tripleseat Lead Created by my Program

The program that I built to transfer the information from the Inquiry and Site Tour Form works similarly to my first one.  It is generally simpler since it only has to work with leads, rather than multiple, more complex Tripleseat data types.  On the other hand, this program often needs to transfer more information than a typical Tripleseat lead contains, so I decided that any extra information would be put in the additional information field.  This meant that I had to put in some work to ensure that content is formatted in an attractive, intuitive, and user-friendly manner.

Once these programs were complete, it was time to put them on a web server.  Web servers are beneficial because they allow you to access and run your program from anywhere at any time.  The process of deploying the program online is quite straightforward once you choose your specific web platform and learn what it is capable of.  To ensure that the web-based aspects of my assignment would be accomplished successfully, I took advantage of outside help (from Singlebrook Technologies).  In the end, we decided to go with Heroku as a web platform.

Heroku Interface

Heroku Interface

After overcoming a few errors involving buildpacks and gemfiles, I committed my first deployment to Heroku and downloaded two important add-ons.  The first one is used to schedule the activation of my program. Right now, Heroku runs my program every 10 minutes, because it is useful to have form results transferred upon completion.  It may be possible to be even more efficient and create a program that monitors Formsite forms as they are completed and activates itself in response.  One advantage to this would be that the program would easily know which form results to look at without the need to sift through the Formsite API looking for recently submitted results the way my code does currently.  For now, though, the method of timed program execution is adequate for our purposes.

The second add-on is a logging system that keeps track of processes on the web server.  Using a log is helpful because it allows me to see the server’s progress at any given time.  I also take advantage of the log by having my program output important information to it, allowing me to see the progress of the integration as well.  I want the inner workings of my program to be transparent enough that in the case of an error, I can see what is going wrong.  I decided to use the add-on instead of Heroku’s built-in logging feature because it is able to save log data from previous days.  This way I don’t have to worry about not checking the log often enough and missing something important.

Right now, I am working on an enhanced version of both my original program and the Facilities Reservation Form that work together to allow clients to book multiple rooms for a single booking.  While multi-room bookings do not make up a huge percentage of our business, it’s nice to give our clients more options when they book an event online, even if the logic behind multi-room bookings can get a little confusing.  For example, I must create a program that is flexible enough to submit events that use two different rooms at the same time as well as events that use three rooms at three different times.  In addition, I must make sure that the nature of these events are clear to both the client who is filling out the form, and NYCSCC’s staff, who are managing the event using Tripleseat.  To tackle a project like this, it is important to have a solid understanding of the way Tripleseat organizes its data, but if you are running a business that often schedules events at odd hours, taking the time to process user data efficiently and effectively can improve your organizational capabilities in the long run.

In conclusion, with a little creative web form design, and a detailed knowledge of both the Formsite and Tripleseat APIs as well as the business logic and database schema required by both on-line services, it is a straightforward and reasonable task to customize their operation for any event or hospitality-based business.  If any other members of the Tripleseat community of users would like to share our knowledge and experience in doing this kind of integration and customization, feel free to reach out to us at