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
.
See "Object Properties" in Introduction for basic shared properties.
Complete details in EventProperties. It also has these extra read-only properties:
The current price to attend this event based upon all the various settings through-out the convention.
The number of tickets available for this event.
The Event's max_quantity
(maximum tickets) minus its number of reserved seats (including host reservations).
Fields sold_count
and max_tickets
are deprecated and replaced in use by taken_count
and max_quantity
,
respectively.
See "Related Objects" in Introduction for how to use them.
The alternate DayPart preferred for when the event will start.
The Convention where the event will be held.
The primary DayPart preferred for when the event will start.
The Room where the event will be held, if it will be in a single room.
The Space where the event will be held, if it will be in a single space.
The DayPart when the event will start.
The EventSubmission that created the event (if any).
The event's EventType.
See "Relationships" in Introduction for how to use them.
The complete list of DayParts to which this event is scheduled. This includes DayParts assigned via EventSessions.
EventGroups for this event (if any).
EventGroupEvents for this event (if any).
EventHosts for this event (if any).
By itself this will only return user_id
s associated with the event.
To include user information,
see "Related Objects" in Introduction.
EventReservations for this event (if any).
The list of Users hosting the event.
The list of Users with EventReservations for this event (if any).
The list of Tickets for this event based upon the user that makes the request to this relationship.
The list of Rooms compatibile with this event.
The complete list of Rooms to which this event is scheduled. This includes Rooms assigned via EventSessions.
EventSessions created for this event. Note this set does not include the information for the event's first session, which is stored with the event.
Slots to which this event is scheduled. This includes Slots assigned via EventSessions.
The complete list of Spaces to which this event is scheduled. This includes Spaces assigned via EventSessions.
Tickets for this event.
EventWaits for this event.
EventWarnings for this event (if any). Note, this gets all warnings for the event and all its EventSessions. See "Get Event Main Session Warnings" for how to get the warnings only for the event's main session.
The text of the warning.
See "Includes" in Introduction for how to use them.
Event also has all includes defined in "Includes" in EventSession.
A list of attendees formatted like:
[ { "name" : "Badge Name Goes Here", "ticket_number" : 105, }, ... ]
Returns 1
if the auto-scheduler can be used to schedule the event, 0
if not.
A list of event groups formatted like:
[ { "name" : "Featured Events", }, ... ]
Returns whether the Event has enough seats for all BadgeTypes unreserved_quantity
associated via the Event's EventGroups. 1
means true, 0
means false.
For Events not in an EventGroup this will likely still return 1
(true).
Returns 1
if the user making the request has an open reservation for the event, 0
if not.
An array of the badge numbers (if any) of the host user_id
for this event.
[ 219, 220, ... ]
A list of hosts formatted like:
[ { "name" : "Mr Major Host", "email" : "emails@hostsgalore.gosh", "user_id" : "[user ID]", }, ... ]
Returns three flag values (1
means true, 0
means false):
Whether the Event is in more than one EventGroup.
Whether the Event is in more than one EventGroup that has its tickets_autoincluded
set to true.
Whether any EventGroup the Event is in has its tickets_autoincluded
set to true.
Returns 1
if the user making the request is attending the event, 0
if not.
Returns 1
if the user making the request is hosting the event, 0
if not.
An array of the names of the spaces the event is scheduled to. This will appear only if the event is actually scheduled to multiple spaces. It will also add an array called multi_rooms
, if the spaces are in separate rooms, containing the names of the spaces' rooms.
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.
Updates the event's ticket price
to its EventType price override, if any.
Returns an array of reservations in the following format:
[ { "name" : "John Q. Normal", "champion" : 1, }, .. ]
Replaced by schedule_integrity
.
A list of the names of people waiting for tickets to become available for this event.
[ "Badge Name Goes Here", ... ]
The services used to fetch and manipulate 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.
POST /api/event
Returns the same as a normal read.
GET /api/event/xxx
Returns:
{ "id" : "xxx", "name" : "The Captain is Dead", ... }
PUT /api/event/xxx
Returns the same as a normal read.
DELETE /api/event/xxx
Returns:
{ "success" : 1 }
Note that any schedule information is not
copied to the duplicate event. The event's EventSessions and EventHosts will be copied to the duplicate event.
POST /api/event/xxx/duplicate
The event's EventSubmission id
will not be copied into the duplicate event.
Returns the same as a normal read, but of the duplicate event.
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.
Delete an EventWait for the user who's session_id
you use for this service.
DELETE /api/event/xxx/wait
Returns:
{ "success" : 1 }
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.
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.
To add a user to an event as a host, call the following endpoint with POST. To remove a host, call with DELETE.
POST /api/event/xxx/host/:user_id DELETE /api/event/xxx/host/:user_id
Returns the same as a normal read.
Adds a reservation to an Event. Only organizers or admins can edit the Event this way.
POST /api/event/xxx/attendee-reservation
Returns the same as a normal read.
Removes a reservation from an Event. Only organizers or admins can edit the Event this way. See also EventReservation.
DELETE /api/event/xxx/attendee-reservation/:reservation_id
Returns the same as a normal read.
Adds event's main session to the Slots identified by slot_ids
. This cannot be used to assign Slots to an event's other EventSessions.
POST /api/event/xxx/assign-slots
One or more id
values identifying specific Slots.
All Slot id
s must identify an existing Slot. Identified Slots must: not be already assigned; not be reserved; all be in the same Space; all be on the same ConventionDay; and must all be in sequence. If any of these is not true, no Slot is assigned (the request is all-or-nothing).
Can be 1
or 0
. When set to 1
, indicates to un-assign all currently assigned Slots from the event's main session, before assigning the ones identified in slot_ids
.
Can be 1
or 0
. When set to 1
, indicates to use the single id
in slot_ids
as the starting slot and to assign Slots subsequent to that one in the same space to the event's main session until its duration is met. If you set this flag, you must pass only one id
in slot_ids
, or an error will occur.
Returns the same as a normal read.
This endpoint is DEPRECATED. Use "Un-Assign Slots from Event" instead.
Removes event from all slots to which it is currently scheduled. This includes all the slots assigned to the event's EventSessions.
POST /api/event/xxx/schedule-unassign-all
Returns the same as a normal read.
This endpoint is DEPRECATED. Use "Un-Assign Slots from Event" instead.
Removes event from the slots to which its main session is currently scheduled. This has no effect on slots assigned to the event's EventSessions.
POST /api/event/xxx/schedule-unassign-session
Returns the same as a normal read.
Removes the event from the Slots identified by request parameter.
POST /api/event/xxx/unassign-slots
NOTE that these parameters are not BOTH required, but one is always required.
One or more id
values identifying specific Slots. If any id
s are received that are not assigned to the event, an error will occur, and no Slots are unassigned.
The scope
parameter can be set to the value session
, which indicates to unassign all Slots assigned to the event's main session; or event
, which indicates to unassign all Slots assigned to the event and all its EventSessions. Pass this if you just want to unschedule the event without worrying about Slot id
s.
Returns the same as a normal read.
Gets the BadgeTypes related to the Event via any associated EventGroups.
GET /api/event/xxx/eventgroups/badgetypes
Returns the list of related BadgeTypes.
Gets list of EventWarnings for only the event's main session. This will only be useful if the event has additional EventSessions.
GET /api/event/xxx/warnings/session
Deletes resolved warnings for the event.
DELETE /api/event/xxx/warnings/resolved
The scope
parameter can be set to the value session
, which indicates to delete all EventWarnings associated with the event's main session; or event
, which indicates to delete all EventWarnings associated with the event and all its EventSessions. Default session
is assumed if scope
is not passed.
Returns:
{ "success" : 1 }