Event

Events are all of the ticketed activities that happen within a Convention, ie: things that you need more than just your Badge to attend. Events are accessed via /api/event.

Properties

See "Object Properties" in Introduction for basic shared properties.

Complete details in EventProperties. It also has these extra read-only properties:

actual_price

The current price to attend this event based upon all the various settings through-out the convention.

available_count

The number of tickets available for this event.

Related Objects

See "Related Objects" in Introduction for how to use them.

convention

The Convention where the event will be held.

host

The User that will act as host for this event. This provides a limited view of the user object because you likely won't have the privileges to access the real user object.

room

The Room where the event will be held.

space

The primary Space where the event will be held.

startdaypart

The DayPart when the event will start.

submission

The EventSubmission that created the event (if any).

type

The EventType that for this event.

user

The User that will act as host for the event. Most likely you won't have the privileges to use this object, so use host instead.

Relationships

See "Relationships" in Introduction for how to use them.

dayparts

The complete list of DayParts for this event.

eventgroups

EventGroups for this event (if any).

eventgroupevents

EventGroupEvents for this event (if any).

mytickets

The list of Tickets for this event based upon the user that makes the request to this relationship.

possiblerooms

The list of Rooms compatibile with this event.

slots

Slots for this event.

spaces

The complete list of Spaces for this event.

tickets

Tickets for this event.

Queryable
ticket_number
Qualifiers
badge_id
event_id
picked_up
verified

waits

EventWaits for this event.

Includes

See "Includes" in Introduction for how to use them.

attendees

A list of attendees formatted like:

 [
    {
        "name" : "Badge Name Goes Here",
        "ticket_number" : 105,
    },
    ...
 ]

eventgroups

A list of event groups formatted like:

  [
     {
         "name" : "Featured Events",
     },
     ...
  ]

mywait

If the user that requested this event is waiting for tickets to open up for this event, then it their <EventWait> object will be returned with the event data.

scheduleintegrity

You must be a convention organizer or have the scheduling ConventionPrivilege to use this include. If you do an analysis will be performed on this event telling you what problems you might encounter. It will return a string of text-based warnings.

waits

A list of the names of people waiting for tickets to become available for this event.

 [
    "Badge Name Goes Here",
    ...
 ]

Services

The services used to fetch and manipulate events.

Search Events

We use a search engine called Algolia (https://www.algolia.com) for our event data. This allows you to perform fast and complex searches that aren't possible with our Rest API.

To access the Algolia search engine you'll need 3 bits of information:

First you'll need to know the index name. We name our indexes using the Convention ID plus _events. So if the convention had an id of xxx then the index in Algolia would be called xxx_events.

Second, our application ID is 5V0BUFDX8J.

Third, our public key is a25692c12853aea7a77c5a7125498512.

Algolia's API documentation can be found here: https://www.algolia.com/doc/

And they have a really sweet UI builder that can be found here: https://community.algolia.com/instantsearch.js/

If you really just want to perform a rudamentary query on our database, then use the events relationship in Convention.

Create Event

 POST /api/event
Required Params
session_id
name
max_tickets
priority
type_id

Returns the same as a normal read.

Read Event

 GET /api/event/xxx

Returns:

 {
   "id" : "xxx",
   "name" : "The Captain is Dead",
   ...
 }

Update Event

 PUT /api/event/xxx

Returns the same as a normal read.

Delete Event

 DELETE /api/event/xxx

Returns:

 {
   "success" : 1
 }

Wait For Tickets

Create an EventWait for the user who's session_id you use for this service.

 POST /api/event/xxx/wait

Returns the same as a normal read.

Stop Waiting For Tickets

Delete an EventWait for the user who's session_id you use for this service.

 DELETE /api/event/xxx/wait

Returns:

  {
    "success" : 1
  }

Become the Host

If the event doesn't have a host, and it is claimable then you can use this method to become the host.

POST /api/event/xxx/claim

Returns the same as a normal read.

Step down as the Host

If you are the host and the event is claimable, you can call this to step down.

POST /api/event/xxx/unclaim

Returns the same as a normal read.