Event Types API Documentation

Overview

This collection represents types of events occurring at a gym, such as climbing sessions and classes.

Subcollections

  • Questions
  • Schedules
  • Schedule Exceptions
  • Location Settings
  • Pricing Matrices
  • Waitlist Entries

Fields

Name Type Restrictions Required? Description
id integer Automatic Automatic The unique identifier of the Event Type. This is placed in the URL when making API calls for the Event Type.
url string Automatic Automatic The unique API URL of the Event Type.
name string Must not be blank. Yes The Event Type's name.
schedule_type string Must be one of the supported schedule types. May not be changed after creation. Yes How events of this type are scheduled (repeating, one-off, or rolling). See the schedule types section.
description_text string (markdown) None No A long-form description of the Event Type, shown in the Scheduling Web App. Markdown is supported.
status string Must be one of the supported statuses. Yes The Event Type's publishing status, which determines its availability within the Scheduling Web App. For more information, see the status section.
reserves_area_capacity boolean None No Whether reservations for this Event Type consume capacity in their gym area for the duration of the event (so that other events in the same area cannot oversubscribe it).
late_booking_window_minutes integer Must be less than 60. No How many minutes after an event's start the event may be reserved. This allows users to make bookings after the event has begun, or if set to a negative value, prevents them from booking too close to the start of the event. Defaults to 15 if not provided.
is_listed boolean None No Whether this Event Type is listed in the gym's Scheduling Web App homepage. Defaults to True if not provided.
has_automatic_check_in boolean None No Whether reservations for this Event Type automatically count as a check-in for the customer when the event begins.
max_reservations_per_day_for_customer integer or null None No The maximum number of reservations a single customer may hold for events of this type on any given day. Leave blank for no limit.
allow_customer_cancellation boolean None No Whether customers may cancel their own reservations for events of this type.
customer_cancellation_window_hours integer or null None No How many hours before an event customers may cancel their reservation. After this window, cancellations are no longer permitted.
customer_cancellation_currency_refund_amount decimal or null None No The currency amount refunded when a customer cancels a reservation in time.
customer_cancellation_currency_refund_as_credit boolean None No Whether the refund on cancellation is issued as account credit rather than back to the original payment method.
refund_voucher_on_customer_cancellation boolean None No Whether an event voucher consumed by the booking is returned to the customer when they cancel.
min_participant_age integer or null None No The minimum age a participant must be in order to book this Event Type. Leave blank for no minimum.
max_participant_age integer or null None No The maximum age a participant may be in order to book this Event Type. Leave blank for no maximum.
calendar_color_hex string Must be a 6-character hex color code (without leading #). No The display color used for events of this type on the Staff Site calendar.
require_login_for_booking boolean None No Whether customers must be logged in to book this Event Type (vs. allowing guest checkout).
tax_rate_id integer or null Must be the ID of a tax rate belonging to the organization. No The tax rate applied to bookings of this Event Type.
tax_rate_name string Automatic Automatic The name of the tax rate referenced by tax_rate_id.
max_participant_count integer or null None No The maximum number of participants allowed per event. Leave blank for no limit.
max_bookings_per_event integer or null None No The maximum number of separate bookings allowed per event (e.g. limit to 10 bookings even if there's seating for more participants).
waitlist_scope string None No How the waitlist is scoped — e.g. per event, per Event Type, or disabled.
allow_customers_to_join_waitlist boolean None No Whether customers may add themselves to the waitlist when an event is full.
display_waitlist_count_in_climber_app boolean None No Whether the current waitlist size is shown to customers in the Climber App.
display_pricing_in_climber_app_listings boolean None No Whether prices are displayed alongside events of this type in the Climber App listings.
automatically_invite_off_waitlist boolean None No Whether customers should be automatically invited off the waitlist when a spot opens up.
min_hours_before_event_for_automatic_waitlist_invite integer or null None No The minimum number of hours before an event at which automatic waitlist invitations will still be sent.
hours_to_accept_waitlist_spot integer or null None No How many hours a customer has to accept a waitlist invitation before it is rescinded.
require_payment_method_to_join_waitlist boolean None No Whether customers must have a payment method on file to join the waitlist.
require_membership_ts_and_cs_to_join_waitlist boolean None No Whether customers must have accepted the organization's membership terms & conditions to join the waitlist.
is_private_event_request_form boolean None No Whether this Event Type is a private-event request form rather than a directly bookable type.
has_limited_location_availability boolean None No Whether this Event Type is only available at specific locations (see allowed_location_ids) rather than every location in the organization.
allowed_location_ids array of integers Each value must be a location ID belonging to the organization. Applies only when has_limited_location_availability is true. No The list of location IDs at which this Event Type is offered.
allowed_location_names array of strings Automatic Automatic The names of the locations referenced by allowed_location_ids.
created_at string (ISO-8601 datetime) Automatic Automatic When the Event Type was added to the Capitan database.
updated_at string (ISO-8601 datetime) Automatic Automatic When the Event Type's record in the Capitan database was last updated.
questions_url string (URL) Automatic Automatic The API URL of this Event Type's Questions subcollection.
schedules_url string (URL) Automatic Automatic The API URL of this Event Type's Schedules subcollection.
schedule_exceptions_url string (URL) Automatic Automatic The API URL of this Event Type's Schedule Exceptions subcollection (one-off overrides to the recurring schedule).
location_settings_url string (URL) Automatic Automatic The API URL of this Event Type's per-location settings subcollection.
pricing_matrices_url string (URL) Automatic Automatic The API URL of this Event Type's Pricing Matrices subcollection.
waitlist_entries_url string (URL) Automatic Automatic The API URL of this Event Type's Waitlist Entries subcollection.
capitan_scheduler_url string (URL) Automatic Automatic The URL of this Event Type within the Scheduling Web App.

Statuses

Name Syntax Description
Draft DRA An unpublished draft Event Type. In the Scheduling Web App, the Event Type is only visible to gym staff.
Active ACT An active Event Type. The Event Type is available to all users.
Retired RET A retired Event Type. The Event Type is not available in the Climber App, except for the purpose of displaying past reservations.

Schedule Types

Name Syntax Description
Repeating REP An Event Type whose events recur on a regular weekly schedule.
One-off ONE An Event Type for individual, non-recurring events (e.g. a multi-part class or a private event).
Rolling ROL An Event Type for ongoing rolling-enrollment programs where customers join an open roster rather than booking a specific date.

Filters

See the filtering documentation for more information on how to use filters in the Capitan API.

Name Syntax Description
General Search search Filters for Event Types whose name contains the given search terms.
Status status Filters for Event Types with the given status.
Schedule Type schedule_type Filters for Event Types with the given schedule type.
Waitlist Scope waitlist_scope Filters for Event Types with the given waitlist scope.
Location ID location_id Filters for Event Types offered at the given location. The provided value must be a location ID. Matches Event Types that are unrestricted (has_limited_location_availability=false) or that explicitly include this location.
Event Category ID event_category_id Filters for Event Types assigned to the given event category.

Operations

List

Request
GET /api/event-types/

Response
200 OK
{
    "count": 11,
    "next": "https://api.hellocapitan.com/api/event-types/?page=2",
    "previous": null,
    "results": [
        {
            "id": 42,
            "url": "https://api.hellocapitan.com/api/event-types/42/",
            "name": "Belay Class",
            ...
        },
        ...
    ]
}

Read

Request
GET /api/event-types/42/

Response
200 OK
{
    "id": 42,
    "url": "https://api.hellocapitan.com/api/event-types/42/",
    "name": "Belay Class",
    ...
}

Create

Request
POST /api/event-types/
{
    "name": "Bouldering Technique Session",
    "schedule_type": "REP",
    "status": "DRA"
}

Response
201 Created
{
    "id": 53,
    "url": "https://api.hellocapitan.com/api/event-types/53/",
    "name": "Bouldering Technique Session",
    ...
}

Replace

Request
PUT /api/event-types/53/
{
    "name": "Bouldering Technique Class",
    "schedule_type": "REP",
    "status": "DRA"
}

Response
200 OK
{
    "id": 53,
    "url": "https://api.hellocapitan.com/api/event-types/53/",
    "name": "Bouldering Technique Class",
    ...
}

Update

Request
PATCH /api/event-types/53/
{
    "name": "Bouldering Technique Master Class"
}

Response
200 OK
{
    "id": 53,
    "url": "https://api.hellocapitan.com/api/event-types/53/",
    "name": "Bouldering Technique Master Class",
    ...
}