XTS API
From EUTC Wiki
XTS Application Programming Interface
Correct (though incomplete) as of 2008-07-18 (RC1 "Fat Cat")
General Errors
These errors can occur when calling any command, or when calling a command incorrectly. Errors are returned as an [[#<error>] document.
- 401 notAuthorised You are not authorised to perform the action. You may need to supply a password, or it might simply be impossible to do what you want to do from the machine you're on.
- 400.1 unrecognisedCommand The command is not recognised. Either you spelled it wrong, the API has changed since the documentation was written or you're simply doing it wrong.
Commands
getshows
Parameters
- No parameters (yet)
Returns
A <shows> document containing #<showsummary>s representing all shows in the database.
Errors
- Never returns an error.
getshow
Parameters
- showid The ID of the show to get.
Returns
A #<show> representing the show.
Errors
- 404.3 showNotFound if the show doesn't exist in the database.
getperformances
Parameters
- showid The ID of the show to get the performances of.
Returns
A <performances> document containing #<performance>s representing all performances for the specified show.
Errors
- 404.3 showNotFound if the show doesn't exist in the database.
getperformance
Parameters
- performanceid The ID of the performance to get.
Returns
A #<performance> representing the performance.
Errors
- 404.2 performanceNotFound if the performance doesn't exist in the database.
XML
<error>
Details an error that occured while processing your request.
Elements
- @type The type number of the error, consists of a major and an (optional) minor part separated by a decimal point.
- <message> A human-readable description of the error.
Example
<error type="400.1">
<message>Unrecognised command.</message>
</error>
<showsummary>
Gives some summary details about a show in the database.
Elements
- <id> The ID of the show.
- <name> The name of the show.
- <tagline> The show's tagline / strapline / subtitle.
Example
<showsummary>
<id>1</id>
<name>Alice In Wonderland</name>
<tagline>Texas Woman's University</tagline>
</showsummary>
<show>
A <show> tag describes a single show in the database.
Elements
- <id> The ID of the show.
- <name> The name of the show.
- <tagline> The show's tagline / strapline / subtitle.
- <description> The show's description, if supplied. The usefulness of this field is debatable. I imagined it would carry publicity information that could be insta-formatted into web pages on the Bedlam Theatre website. Perhaps we should leave this tag as "reserved for future deprecation".
Example
<show>
<id>15</id>
<name>Assassins</name>
<tagline>Rather Like a Shark/DULOG</tagline>
<description/>
</show>
<performance>
A <performance> tag describes a single performance in the database.
Elements
- <id> The ID of the performance.
- <showid> The ID of the performance.
- <start> The start time of the performance in seconds since the UNIX epoch.
- <startdatetime> The human-readable start time of the performance.
- <tickets> Ticket details incorporating:
- <total> The total number of seats for the performance (ie the maximum number of tickets that can be sold).
- <sold> The number of tickets that have been sold (net).
- <booked> The number of tickets that are still booked (ie, awaiting collection).
- <heldback> The number of tickets that are held back, ie, reserved for later sale.
- <remaining> The number of tickets that are immediately available for sale.
Example
<performance>
<id>1</id>
<showid>1</showid>
<start>1217841300</start>
<startdatetime>2008-08-04 10:15</startdatetime>
<tickets>
<total>90</total>
<sold>0</sold>
<booked>1</booked>
<heldback>18</heldback>
<remaining>71</remaining>
</tickets>
</performance>