API Documentation
Contents
Version Change History
Date | Change Notes | Version |
---|---|---|
12/28/08 | Added Error Listing | 0.2 |
06/16/09 | Added Retrieve Seating Chart Section | 1.0 |
06/17/09 | Added PHP sample code | 1.01 |
03/15/10 | Added the CustomerInfo and EmailAddress tags. Used to look-up transactions at the POS. | 1.02 |
04/13/10 | Added Gift Balance functions (requires server version 7.0.7564+).
Added gift number to purchase request, which allows adding money to an existing gift card (requires server version 7.0.7564+). |
1.03 |
11/22/10 | General document clean-up. Corrected 'GiftInfo' to be 'GiftInformation'. |
1.04 |
11/30/10 | Added test server information, credit card information, gift card information, etc Updated PHP sample code to contain additional sample packets |
1.05 |
12/13/10 | Added sample of purchase ticket response Updated sample response for GiftInformation, showing Registered Card information |
1.06 |
06/11/13 | Added multiple <Payment> sample Added GroupID for Reserved Seating – Seat Chart |
1.07 |
01/07/2014 | Corrected an error in the Fees section regarding <TicketFee> | 1.08 |
01/15/2015 | emoved sample code (too many people using for production environments) Switched from DIGEST to BASIC authentication |
1.09 |
03/20/2015 | Removed obsolete Seating Chart sample request | 1.10 |
06/03/2015 | Added WorldPay HostedCheckout sample requests and responses Added 3rd party credit card processing sample request |
1.11 |
10/24/2016 | Added CheckRedeem request sample Added GetSeatLayouts request sample |
1.12 |
02/08/2017 | Added Bit Field values for various new amenities | 1.13 |
05/30/2017 | Fixed documentation error with the CHECKSEATPICKS response | 1.14 |
10/19/2017 | Fixed typo in ‘CHECKSEATPICKS’ sample request Added GridRef to ‘GETSEATPLANFORPERF’ response |
1.15 |
02/02/2018 | Added note regarding GZIP compression now being required for schedule request | 1.16 |
07/24/2018 | Updated test credit card information Added Bit Field values for various new amenities |
1.17 |
08/13/2018 | Added TransactionDetails request sample Added Redeem request sample |
1.18 |
09/26/2019 | Added <SOGen> node to schedule data to indicate SoldOutGeneral state Updated verbiage on <SO> and Added gift card PIN node to BUY request Added 3rd party gift card support Added custom seat pricing data to GETSEATPLANFORPERF call Added note regarding send confirmation emails on purchase via API Updated existing error numbers / messagess |
1.19 |
11/25/2019 | Updated seat type nodes to support new types Added support for 3rd party gift cards into the GIFTINFORMATON call |
1.20 |
01/31/2020 | Added Heartland HostedCheckout test card information Added Heartland HostedCheckout sample requests and responses |
1.21 |
05/04/2020 | Updated seat status nodes to support Buffer seat status | 1.22 |
Introduction
RTS Ticketing has created an open interface to accommodate third party access to our sales engine. In order to allow access, we have created an HTTPS server that accepts XML packets.
Credit card payments are processed either through the POS locations’ credit card processing account, or through your own processing account. So a separate shopping cart or credit card processing account is not needed, but you have the option of building your own.
Purchased tickets can be redeemed at the locations POS at for actual tickets. These tickets can be redeemed using any of three methods:
- The credit card that was used to purchase the tickets
- The receipt number assigned to the purchase
- The bar code that is provided by the purchase response packet.
Note: Some locations do not have bar code readers or the bar code may be illegible when printed on a low-quality printer. It is strongly suggested that the confirmation number is also printed with the bar code.
Communication
Communications with the locations POS server are done using a HTTPS Post of an XML packet. Basic authentication is performed for each Post.
The URL for posting data is:
https://<Theatre RTN Number>.formovietickets.com:<port>/Data.ASP
Note: The listening port is 2235 (not the default web server port 80)
Test Server Information
It is a good idea to develop your application against a test server, and not against a live theatre server. Below is the information for the RTS Test Servers:
!! NOTE: These are not web pages, they cannot be viewed in a browser !!
WorldPay Non-E2E Server (also known as Mercury Classic Server):
The endpoint URL is: https://5.formovietickets.com:2235/Data.ASP
WorldPay E2E Server (also known as Mercury EMV Server):
The endpoint URL is: https://5.formovietickets.com:2245/Data.ASP
Heartland Secure Server:
The endpoint URL is: https://5.formovietickets.com:2255/Data.ASP
The credentials for these servers are:
Schedule and Selling Username: test
Schedule and Selling Password: test
Test Card Information
!! NOTE: The <ChargeAmount> for the test WorldPay cards cannot exceed $10 !!
The test credit card information for the WorldPay Non-E2E server is:
Number | 5499-9901-2345-6781 |
Expiration | Any future month and year (mmyy format) |
AVS Street | 150 Mercury Village |
AVS Postal | 81301 |
CVV | 5499-9901-2345-6781 |
Customer Name | Any name |
The test credit card information for the WorldPay E2E server is:
Number | 4003-0001-2345-6781 |
Expiration | Any future month and year (mmyy format) |
AVS Street | 150 Mercury Village |
AVS Postal | 81301 |
CVV | 5499-9901-2345-6781 |
Customer Name | Any name |
The test credit card information for the Heartland Secure server is:
Number | 4640-6977-8499-8 |
Expiration | 12 / 2025 |
AVS Street | 6860 Dallas Pkwy |
AVS Postal | 75024 |
CVV | 5499-9901-2345-6781 |
Customer Name | Any name |
To obtain a test gift card number, purchase a new gift card, and then use the returned number as your future test gift card number. See Gift Card / Loyalty Card Information for details on purchasing new gift cards.
Performance Schedule
!! NOTE: GZIP Compression is required when requesting schedule data !!
!! NOTE: Sending in <ShowAvalTickets> and <ShowSales> values that do not match the settings on the locations configured schedule API account will result in a 401 – Unauthorized error !!</span
Performance Schedule - Sample Request Packet
<Request> <Version>1</Version> <Command>ShowTimeXml</Command> <ShowAvalTickets>1</ShowAvalTickets> <ShowSales>1</ShowSales> <ShowSaleLinks>1</ShowSaleLinks> </Request>
Performance Schedule - Sample Response Packet
<Response> <ShowSchedule> <FileVersion>1.1</FileVersion> <RtsVersion>7.0.7238.0</RtsVersion> <LinkPrefix> https://www.readyticket.net/webticket/webticket2.aspWCI=BuyTicket&WCI= </LinkPrefix> <Tickets> <Ticket> <Code>1</Code> <Name>Adult</Name> <Price>7.5</Price> <Tax>.5</Tax> </Ticket> <Ticket> <Code>2</Code> <Name>Child</Name> <Price>7</Price> <Tax>.43</Tax> </Ticket> </Tickets> <Films> <Film> <Title>+21 STRANGE TITLE</Title> <TitleShort>+21 STRANGE TITLE</TitleShort> <Length>120</Length> <Rating>NC17</Rating> <WebSite>http://www.rts-solutions.com</WebSite> <FilmCode>+24230</FilmCode> <MtFilmCode></MtFilmCode> <Shows> <Show> <DT>200811261235</DT> <Aud>1</Aud> <ID>+24230|200811261235|1</ID> <SaleLink>%2B21+STRANGE+TITLE,112620081235,1,5,NC17</SaleLink> <RE>225</RE> <Sold>22</Sold> <SO>0</SO> <LI>0</LI> <TIs> <TI> <C>1|1</C> </TI> <TI> <C>1|2</C> </TI> </TIs> </Show> </Shows> </Film> </Films> </ShowSchedule> </Response>
Node | Child Node | Type | Required | Description <Request> |
---|---|---|---|---|
Version | None | Char | Yes | 1 |
Command | None | Char | Yes | ShowTimeXml |
ShowAvalTickets | None | Integer | No | Not 1 = Do not return available tickets (default) 1 = Return available tickets |
ShowSales | None | Integer | No | Not 1 = Do not return sales (default) 1 = Return sales |
Node | Child Node | Type | Required | Description <ShowSchedule> |
---|---|---|---|---|
FileVersion | None | String | Yes | 1.1 |
RtsVersion | None | String | Yes | Version of the POS |
LinkPrefix | None | String | Yes | Used to construct a direct ticketing link for a performance |
Tickets | Ticket | Sub Node | Maybe | Lists available tickets |
Films | Film | Sub Node | Yes | Lists films scheduled |
Node | Child Node | Type | Required | Description <Ticket> |
---|---|---|---|---|
Code | None | String | Yes | Ticket code used in purchase transactions |
Name | None | String | Yes | Ticket name as it should be displayed on the Internet |
Price | None | Decimal | Yes | Total ticket price |
Tax | None | Decimal | Maybe | Any tax included in the ticket price |
Node | Child Node | Type | Required | Description <Film> |
---|---|---|---|---|
Title | None | String | Yes | Film title name |
Length | None | String | Yes | Film length (minutes) |
WebSite | None | String | Maybe | URL associated with the film in the POS |
FilmCode | None | String | Maybe | RTS Film Code setup in the POS |
Shows | Show | Sub Node | Yes | List of available shows for a film |
Node | Child Node | Type | Required | Description <Show> |
---|---|---|---|---|
DT | None | String | Yes | Showing time (yyyyMMddhhmm) |
Aud | None | String | Yes | Auditorium name |
ID | None | String | Yes | Performance ID, used in purchase transactions |
Link | None | String | Maybe | URL to purchase tickets page. The <LinkPrefix> is inserted before this tag when creating the complete URL |
RE | None | Integer | Maybe | Number of seats remaining in the auditorium |
Sold | None | Integer | Maybe | Number of seats sold in the auditorium |
SO | None | Integer | Maybe | 1 if show is sold out (internet) state |
SOGen | None | Integer | Maybe | 1 if show is sold out (general) state |
LI | None | Integer | Maybe | 1 if show is in low seats state |
TIs | TI | Sub Node | Maybe | List of tickets available for this show |
Selling - Fees and Adjustments
The Open Interface API currently allows for 2 different types of Fees, and an Adjustment.
The <TicketFee> item is a single charge added to the transaction.
The <TransactionFee> item is a single charge added to the transaction.
The <Adjust> item is an adjustment used to modify the charge amount. If you sell 3 tickets with -$1 in this item, it will deduct $1 from your transaction amount. This amount can be positive or negative, depending on how you wish to adjust the transaction.
All three of these items are placed inside the <Fees> tags inside the purchase packet, see page 13 for a sample packet. These items can be used in any purchase packet: tickets, items, gift cards, etc.