Schemas
AttendanceRecordResource
idattendance_sheet_idprogram_signup_idstatusnotesmarked_atmarked_bycan_updateWhether the current viewer may update this record.
created_atupdated_atattendance_sheetThe attendance sheet this record belongs to.
program_signupThe program signup (attendee) this record tracks.
AttendanceSheetResource
idregistration_opportunity_idsRegistration opportunity identifiers linked to this attendance sheet.
datecan_updateWhether the current viewer may update or delete this sheet.
can_add_personWhether the current viewer may register a person from this sheet.
created_atupdated_atrecordsCountparentProgramProgram this attendance sheet belongs to (derived from first registration opportunity).
registrationOpportunitiesRegistration opportunities this attendance sheet includes.
recordsAttendance records for this sheet.
BookingRequestResource
iduuidPublic identifier used by guest form links.
starting_atending_atcostQuoted cost in integer cents.
reasondisplay_textOptional calendar label.
declined_atdecline_reasonuser_idguest_idorganization_idbookable_entity_idbooking_state_idrecurring_idtransaction_idform_responses_lockedcreated_atupdated_atdeletion_reasondeleted_atreadable_start_timereadable_end_timecan_cancelWhether the owner may still cancel this request.
starting_at_utc_tsUnix timestamp of starting_at in UTC.
ownerResolved booking contact. Prefer this over the raw user/guest/organization relations.
Facility this request is for. Slim {id, name} by default; the full
bookable entity is returned when include=bookableEntity is sent.
Workflow state. Slim {id, state_name, color} by default; the full
state model is returned when include=bookingState is sent.
userguestorganizationbooking_itemstagsfilesnotesform_submissionsrecurring_bookingbooking_contact_detailstransactionfacilitiesstarting_at_tscombined_notestotal_amount_of_invoicesinvoices_paidassociated_recurring_idsreadable_booking_item_one_namereadable_booking_item_two_namereadable_booking_item_one_descriptionreadable_booking_item_two_descriptionmost_expensive_hourly_ratecost_for_user_and_availabilityflat_total_for_user_and_availabilityowner_nameowner_emailowner_telephoneparticipantsparticipant_nameremaining_recurring_bookingsbooking_item_onebooking_item_twofacilities_with_costcreated_bynext_stateThe state this request advances to next in the facility's workflow.
Present when append=next_state is requested; null when the request is already in the final state.
previous_stateThe state this request can be moved back to.
Present when append=previous_state is requested; null when the request is in the first state.
CardDeliveryActivityResource
idThe unique identifier of the activity log entry.
request_hashUnique request hash for tracing the request from API call to delivery.
messageHuman-readable message describing the card delivery event.
delivered_atISO 8601 timestamp of when the card was delivered.
timestampUnix timestamp of when the card was delivered.
user_idThe ID of the user who received the card.
member_idThe member ID of the user who received the card.
obfuscated_emailsArray of obfuscated email addresses where the card was sent.
emails_attemptedArray of obfuscated email addresses that failed to send.
email_countTotal number of emails sent.
Types of membership cards delivered.
statusDelivery status.
failure_reasonFailure reason if status is failed.
error_messageError message associated with the failure.
CustomProfileFieldResource
idtenant_idnamedisplay_on_membership_carduser_editablelockedparent_profile_field_idcreated_atupdated_atdeleted_atCustomProfileFieldValueResource
idtenant_idvalueuser_idcustom_profile_field_idcreated_atupdated_atdeleted_atcustom_profile_fieldFacilityResource
idThe unique identifier of the facility.
namedescriptiontypeHow bookings are made: instant confirms immediately, request
needs a manager to approve.
parent_idThe id of the facility this one sits inside, or null when it is a top-level facility.
capacityThe maximum number of people the facility holds.
booking_intervalThe length in minutes of each bookable slot.
minimum_lengthThe shortest bookable duration, in hours.
maximum_lengthThe longest bookable duration, in hours.
future_daysHow many days ahead members may book.
basis_timeThe time of day booking slots are aligned from.
booking_request_deadlineHow many hours before the start time a booking request must be submitted.
booking_instructionsInstructions shown to members when they book.
user_recurring_bookingsWhether members may create repeating bookings themselves.
user_specified_reasonWhether members must give a reason when booking.
publicly_exposedWhether the facility's schedule is visible to the public.
publicly_exposed_allow_bookingsWhether the public schedule also accepts bookings.
publicly_exposed_hide_user_namesWhether the public schedule hides who made each booking.
manager_onlyWhether only managers may book the facility.
prompt_for_booking_ownerWhether the booking form asks who the booking is for.
prompt_for_adding_more_usersWhether the booking form asks for additional members to add.
prompt_for_number_of_guestsWhether the booking form asks how many guests are attending.
memberships_requiredStripe product ids of the memberships a member must hold to book, or null when the facility is open to everyone.
membership_requirement_modeWhether a member needs any one (or) or all (and) of
memberships_required.
statusWhether the facility is currently bookable or has been archived.
profile_imagesort_orderPosition of the facility in the manually ordered list.
archived_atISO 8601 timestamp of when the facility was archived, or null while it is active.
created_atISO 8601 timestamp of when the facility was created.
updated_atISO 8601 timestamp of when the facility was last changed.
The facility this one sits inside. Included when the parent
relation is requested.
childrenThe sub-facilities inside this one. Included when the children
relation is requested.
FamilyMember
iduser_idinvited_user_idguest_idnameemailtelephonegenderdate_of_birthageallergiesmedicalprimarypending_invitecreated_atupdated_atdeleted_atRelations
MembershipTypeResource
idtitledescriptionproduct_idtypebase_membership_idstatusmetadatarenewal_notificationsrenewal_notifications_pre_expirationrenewal_notifications_post_expirationrenewal_notifications_pre_expiration_daysrenewal_notifications_post_expiration_dayspre_expiration_leadupuser_auto_renewalsexclude_from_taxmembership_card_idhiddenhide_starting_at_pricevisibility_requires_base_membershipforced_bundle_with_baseWhen true (add-ons only), the add-on is only offered bundled with its base; the base is not listed alone.
exclude_from_parent_tenant_feeform_iddisable_default_cardsort_ordermanual_order_enabledcreated_atupdated_atdeleted_atuser_blocked_from_membership_checkoutWhether the authenticated member is blocked from purchasing a membership because their coverage is provided through a family group holder's membership instead. Only computed on the show endpoint for an authenticated member; null otherwise (e.g. guests, or contexts that don't compute this, such as the index listing).
user_can_purchaseWhether the authenticated member can purchase this membership type according to MembershipTypePolicy::purchase. Only computed on the show endpoint for authenticated members; null otherwise.
Waivers associated with this membership type.
Plans associated with this membership type.
audienceRaw per-locale values and their provenance for the manager translation editor,
plus each field's translation mode (auto translates into every supported
locale, source shows the English value everywhere). Omitted for non-manager
readers.
ParentProgramOptionResource
idtitledraftarchived_atPlanResource
idtenant_idmembership_type_idnicknamedescriptionamountstatusplan_idsubscription_schedule_idmetadataboundary_idplan_to_hidepricing_typeis_business_planmax_beneficiariesintervalsort_ordermanual_order_enabledcreated_atupdated_atdeleted_ataudienceuser_in_boundaryRaw per-locale values and their provenance for the manager translation editor,
plus each field's translation mode (auto translates into every supported
locale, source shows the English value everywhere). Omitted for non-manager
readers.
Program
idUnique identifier for the program.
titleDisplay name of the program shown to users.
descriptionDetailed description of the program, may contain HTML.
event_start_dateWhen the program's events begin. All registration opportunities run within this window.
event_end_dateWhen the program's events end. All registration opportunities run within this window.
registration_start_dateWhen registration opens for this program. Users cannot sign up before this date.
registration_end_dateWhen registration closes for this program. Users cannot sign up after this date.
ongoingWhether this is an ongoing program with no fixed end date.
statusCurrent status of the program (e.g. Active, Archived, Draft, Upcoming, Ongoing, Past, dates_not_set when no aggregate event window exists).
datesHuman-readable formatted event date range for display.
registration_datesHuman-readable formatted registration date range for display.
is_eventWhether this program represents a single event rather than a series of registration opportunities.
draftWhether this program is in draft mode and not yet published.
is_hiddenWhether this program is hidden from public listings.
profile_imageURL to the program's profile/header image.
limitLegacy capacity limit alias retained for compatibility with existing clients.
total_spotsTotal number of signup spots across all registration opportunities.
available_spotsNumber of remaining spots available to be claimed.
total_signupsTotal active signups across registration opportunities.
reserved_spotsNumber of spots reserved by capped registration opportunities.
reserved_spots_signupsNumber of signups currently consuming reserved spots.
reserved_spots_remainingRemaining reserved spots after reserved signups are counted.
uncapped_spotsNumber of spots available to uncapped registration opportunities.
uncapped_spots_signupsNumber of signups currently consuming uncapped spots.
uncapped_spots_remainingRemaining uncapped spots after uncapped signups are counted.
demographicAudience demographic label for this program.
instructorInstructor or facilitator name shown for this program.
location_nameOptional display name for the physical location.
location_addressOptional street address for the location.
Latitude for map display when a location is set.
Longitude for map display when a location is set.
is_onlineWhether the program is delivered online.
readable_event_start_dateHuman-readable event start date in tenant timezone.
readable_event_end_dateHuman-readable event end date in tenant timezone.
event_start_timeEvent start time in tenant timezone (24-hour HH:mm).
event_end_timeEvent end time in tenant timezone (24-hour HH:mm).
registration_start_timeRegistration open time in tenant timezone (24-hour HH:mm).
registration_end_timeRegistration close time in tenant timezone (24-hour HH:mm).
display_onlyWhether this program is display-only and not intended for signup.
unsplash_author_nameUnsplash credit author name for the selected profile image.
unsplash_author_linkUnsplash credit URL for the selected profile image author.
multiple_signupsWhether users may submit multiple signups for this program.
prompt_for_number_of_guestsWhether checkout prompts for number of guests.
prompt_for_registrantWhether checkout prompts for registrant selection.
waitlist_enabledWhether waitlist functionality is enabled for this program.
force_participant_selectionWhether participants must be selected before checkout.
show_participant_listWhether participants can view the participant list for this program.
hide_participant_detailsWhether enrollment counts, participant avatars, and spots remaining are hidden on the program page.
pay_by_cashWhether this program allows cash payment option.
registration_feeRegistration fee amount in minor currency units (for example, cents).
cap_registration_feeWhether registration fee is applied once per checkout instead of per signup.
ignores_tax_ratesWhether this program is configured to ignore tenant tax rates.
collection_additional_informationWhether additional signup form data should be collected.
require_emergency_contact_informationWhether emergency contact information is required at signup.
block_facility_calendarsWhether facility calendars should be blocked by this program.
auto_archiveWhether registration opportunities under this program are automatically archived after their event dates pass.
auto_archive_daysNumber of days after event_end_date to wait before auto-archiving (0 = immediately).
participant_must_hold_membershipWhether the selected participant for a signup must hold the membership that gates the chosen price tier.
form_idOptional linked form identifier for additional questions.
allow_file_uploadsWhether registrants are allowed to upload files during signup.
file_uploads_requiredWhether at least one file upload is required at signup.
file_uploads_maxMaximum number of files allowed per signup, or null for default behavior.
volunteer_opportunities_idsVolunteer opportunity identifiers linked to this program.
facility_idsFacility identifiers linked to this program.
sort_orderDisplay order for sorting in listings.
manual_order_enabledWhether this item is pinned in the recommended sort order.
gl_codeGL code for accounting/financial reporting on program transactions.
created_atWhen this record was created.
updated_atWhen this record was last updated.
deleted_atWhen this record was soft deleted, null if not deleted.
archived_atWhen this program was archived, null if not archived.
facilitiesFacilities/locations where this program takes place.
registration_opportunitiesRegistration opportunities available for registration under this program.
member_pricing_savingsBest currently available member pricing savings versus guest pricing.
volunteer_opportunitiesVolunteer opportunities associated with this program.
waiver_assignmentsWaiver assignments associated with this program.
tagsProgramSignupResource
idprogram_iduser_idguest_idadditional_member_idtransaction_idsubscription_schedule_idticket_uuidproduct_idpayment_methodpaidamount_paidGross amount paid for this signup, in cents (principal only, before refunds). For subscription signups, this is the sum of installment transactions; for one-off signups, it falls back to the signup's stored amount_paid.
amount_refundedAbsolute total refunded for this signup, in cents (principal only). Net paid = amount_paid - amount_refunded.
number_of_guestsquantityassociated_emailassociated_nameassociated_addressassociated_telephoneparticipant_nameparticipant_dobadditional_member_nameadditional_member_dobadditional_member_gender_identityadditional_member_medicaladditional_member_emergency_contactcreated_atupdated_atdeleted_timestampcancelled_atTimestamp set only when the signup was intentionally cancelled.
cancellation_actorRole of the user who intentionally cancelled the signup.
program_nameRegistration opportunity name, selected via join on the list
endpoint so the table can render without including the full
program resource. Omitted when the query does not join programs.
parent_program_idProgram ID of the signup's registration opportunity, selected via join on the list endpoint. Omitted when the query does not join programs.
program_freeWhether the registration opportunity is free, selected via join on the list endpoint. Omitted when the query does not join programs.
userUser who created this signup.
guestGuest associated with this signup (for non-member signups).
additional_memberAdditional family member registered through this signup.
programRegistration opportunity this signup belongs to.
transactionPayment transaction for this signup.
filesFiles uploaded by the user as part of this signup.
form_submissionsForm submissions associated with this signup.
subscription_scheduleRecurring subscription schedule for this signup.
attendance_recordsAttendance records for this signup across all dates.
list_of_activitiesComma-separated list of activities from the program.
RegistrationOpportunityOptionResource
idnameparent_program_idform_idclass_limitstatusongoingevent_start_dateevent_end_datearchived_atRegistrationOpportunityResource
iddisplay_orderis_pinnednamedescriptionparent_program_idcan_manage_registration_opportunityWhether the current viewer may manage this registration opportunity.
class_limitevent_start_dateevent_end_dateregistration_start_dateregistration_end_dateregistration_open_until_event_startreadable_event_start_datereadable_event_end_datereadable_registration_start_datereadable_registration_end_dateevent_start_timeevent_end_timereadable_event_start_timereadable_event_end_timestatusongoingarchived_atdeleted_atwaitlist_enabledexclude_from_reminder_emailsis_priority_waitlist_lockedmultiple_signupsdisplay_to_all_usershide_from_non_buyersdob_validationmin_date_of_birthDOB at the minimum allowed age (youngest participant) — the latest calendar date in the range.
max_date_of_birthDOB at the maximum allowed age (oldest participant) — the earliest calendar date in the range.
program_pricesfreeignore_gstproduct_idregistration_start_timeregistration_end_timeis_eventprompt_for_registrantprompt_for_number_of_guestsforce_additional_member_infoallow_file_uploadsfile_uploads_requiredfile_uploads_maxpay_by_cashcollect_additional_informationform_idcreated_atupdated_atmember_savingsMember discount savings compared to guest pricing.
price_for_userPrice for the currently authenticated user based on membership status.
num_signups_remaining_for_userNumber of signups remaining for the authenticated user (based on signup limits).
lowest_price_excludedLowest price available excluding special member pricing.
highest_priceHighest price tier available for this registration opportunity.
signup_countTotal number of active signups for this registration opportunity.
is_fullWhether the registration opportunity has reached its capacity limit.
spots_remainingNumber of spots remaining before the registration opportunity is full.
user_signup_countNumber of signups the authenticated user has for this registration opportunity.
volunteer_priceSpecial discounted price for volunteers.
volunteer_price_is_freeWhether the registration opportunity is free for volunteers.
price_id_for_userStripe price ID applicable for the authenticated user.
required_membership_id_for_userStripe product_id the participant must hold for this signup. Populated only when
the program's participant_must_hold_membership toggle is on AND the
participant_membership_enforcement feature flag is on AND the authenticated user
qualifies for a membership-gated price tier. Null in every other case. Gated by
?append=... / ?include=... like the other computed-for-user fields.
price_recurs_for_userWhether the user's price is a recurring subscription.
price_interval_for_userBilling interval for recurring prices (day, week, month, year).
price_interval_count_for_userNumber of intervals between each billing cycle.
can_user_purchaseWhether the authenticated user is eligible to purchase this registration opportunity.
required_membership_namesDistinct membership titles that grant access to purchase this registration opportunity. The field is omitted from the response entirely when the include is not requested; when requested, it is always an array (possibly empty).
signupsSignups registered for this registration opportunity.
parent_programProgram this registration opportunity belongs to.
pricesPricing tiers available for this registration opportunity.
metadatawaiverswaitlist_signupsUsers on the waitlist for this registration opportunity.
attendance_sheetsAttendance sheets for this registration opportunity.
occurrencesDiscrete date/time occurrences for this registration opportunity. Ordered by persisted display position. Admin saves normalize this chronologically.
recurrence_ruleRecurrence pattern that generated this registration opportunity's occurrences,
when the admin authored the schedule via the recurring builder.
Display metadata only — occurrences is the operational source
of truth for queries and registration.
TransactionResource
idamountSigned integer cents; negative for refunds.
original_amountPre-discount amount, in integer cents.
discount_amountoriginal_amount minus amount, in integer cents.
tax_amountTax collected, in integer cents.
feesPlatform + processing fees, in integer cents.
currencyISO 4217 currency code.
typeThe integer-backed \App\Enums\TransactionType value. See readable_type for its label.
transaction_idThe Stripe charge id.
associated_transaction_idtransaction_id of the original charge this transaction refunds, if any.
refund_idThe Stripe refund id, if this transaction is a refund.
payment_refund_idThe Stripe payment refund id, if applicable.
dispute_transaction_idtransaction_id of the disputed charge, if this transaction is a chargeback.
payment_methodPayment method used, e.g. "card" or "interac".
credit_cardCard brand string.
Curated, whitelisted subset of the transaction's stored metadata. Internal-only keys (e.g. internal_flag, trigger_tax_receipt) are stripped before serialization.
created_ateffective_atThe timestamp the transaction is effective as of (used for reporting/sorting).
readable_typeHuman-readable label for the type enum value.
readable_created_atHuman-readable, tenant-timezone formatted creation date.
item_summaryHuman-readable summary of what was purchased.
net_amountnet_amount = amount - fees + tax_amount, in integer cents.
net_feesFees net of any related refund, in integer cents.
remaining_to_refundAmount still refundable, in integer cents.
has_disputePopulated by ProgramSignup::transaction() via withExists; falls back to false on resources loaded outside that relation. Treat null/undefined as "unknown" (do NOT use as an authoritative gate).
associated_bookingsIds of bookings tied to this transaction's invoice.
associated_booking_requestsIds of booking requests tied to this transaction's invoice.
ownerMinimal owner (frontend only needs email/name/id). Owner may be an Account, Guest, or Organization, and email is nullable on those.
invoiceMinimal invoice with bookings; only present when the invoice relation is loaded.
associated_transactionMinimal associated transaction so refunds can link back to the original charge's
invoice and bookings; only present when the associatedTransaction relation is loaded.
Promotion code with coupon info; only present when the promotionCode relation is loaded.
Tags attached to this transaction. Optional/absent field: only present on the
index endpoint with include=tags; the key is entirely absent otherwise,
including on the show endpoint, which does not support include.
Minimal transaction line items (avoids expensive Program appends); only present when
the transactionLineItems relation is loaded. transaction_line_itemable is a minimal
id/name pair for the purchased item (e.g. a Program or Product).
User
idtenant_idnamefirst_namelast_namemiddle_namepreferred_namedate_of_birthemailemail_lockedrequires_password_resetphoto_urluses_two_factor_authcurrent_team_idstripe_idcurrent_billing_planbilling_statevat_idtrial_ends_atlast_read_announcements_atcreated_atupdated_atwork_phoneprofile_addressprofile_address_line_2profile_cityprofile_stateprofile_zipprofile_countryfamily_idmanagerplaces_idstatustelephonetimezonedeleted_timestampmember_idcard_idbusiness_nameaccount_idcan_use_cardis_communal_adminreferreranonymized_atactivetwo_factor_enabledbase_membership_planmembership_start_datereadable_membership_start_dateUserMembershipResource
idThe unique identifier of the user membership.
user_idThe id of the member who holds this membership.
statusCurrent membership state. retrying means the last renewal
payment failed and further attempts are scheduled.
will_auto_renewWhether the membership renews automatically at the end of the current period.
ends_atISO 8601 timestamp of when the current membership period ends.
renewed_atISO 8601 timestamp of the most recent renewal, or null if the membership has never renewed.
created_atISO 8601 timestamp of when the membership was created.
The membership type this membership belongs to. Included when the relation is loaded, which both endpoints always do.
planThe pricing plan the membership is billed on. Included when the
relation is loaded, which both endpoints always do. amount is
in the smallest currency unit (e.g. cents).