Field Reference — Event Model

Overview

Complete reference for events.models.Event fields used in create/edit forms, module setup wizard, business logic, and API serialization—aligned with the current codebase.

Purpose

Single source of truth for field names, types, defaults, and behavioral notes for implementers and power organizers.

Who should use it

  • Organizers configuring advanced settings
  • Developers integrating with Event data
  • Support diagnosing save validation errors

Benefits

  • Maps form fields to database columns
  • Documents module toggle → subscription mapping
  • Explains JSON and FK fields

Action Path
Create/edit event /events/create/, /events/<pk>/<tag>/edit/
Django admin /admin/events/event/
Setup wizard /events/create/<pk>/setup/<step>/

Prerequisites


Core identity & scheduling

Field Type Default Description
host FK User required Primary organizer
client_viewers M2M User empty Read-only users: event page, registration counts, budget summary, vendors, schedule
title CharField(200) Public title
registration_type choice registration rsvp or registration
visibility choice private public or private
event_category TextField '' Required if public
description TextField Long description
location CharField(300) Address or URL
venue FK Venue null Linked venue profile
latitude Decimal null Geocode
longitude Decimal null Geocode
start_date DateTime Event start
end_date DateTime Event end
capacity Integer 100 Max headcount
event_tag CharField(6) auto URL slug
custom_hashtag CharField(80) blank Optional organizer tag for social kit (e.g. #SummerFest2026)
social_sharing_assets JSONField {} Cached AI/template social captions & hashtags
created_at DateTime auto Created timestamp

Ticketing & promotions

Field Type Default Description
price Decimal(8,2) 0.00 Legacy base price
is_free Boolean False Free event
ticket_types TextField blank Tier definitions
allow_group_purchasing Boolean False Multi-seat checkout
coupon_code CharField(50) blank Discount code
coupon_discount_percent PositiveInt 0 Percent off

Communications toggles

Field Type Default Plan tool key
email_blasts_enabled Boolean True communications
sms_reminders_enabled Boolean False communications

Exhibitors (exhibitors — Enterprise)

Field Type Default
exhibitors_enabled Boolean False
exhibitor_prospectus TextField blank
exhibitor_approval_type choice organizer
exhibitor_booth_fees JSONField 10x10/10x20/20x20/custom USD
exhibitor_floor_plan ImageField null
exhibitor_cancellation_policy TextField blank
exhibitor_offline_invoice_enabled Boolean True

Vendors (vendors — Operations Suite)

Field Type Default
vendors_enabled Boolean False
vendor_opportunities TextField blank
vendor_prospectus TextField blank
vendor_application_deadline Date null
vendor_approval_type choice organizer
vendor_stall_fees JSONField small→custom USD
vendor_floor_plan ImageField null
vendor_addon_fees JSONField power/water/equipment
vendor_deposit_required Boolean False
vendor_deposit_percent Decimal 50
vendor_cancellation_policy TextField blank
vendor_commission_default Decimal null
vendor_require_verified_documents Boolean False
vendor_offline_invoice_enabled Boolean True
vendor_load_in_door CharField blank
vendor_load_in_start Time null
vendor_load_in_end Time null
vendor_parking_info TextField blank

Attendees (attendees — Essentials)

Field Type Default
attendees_enabled Boolean False
attendee_registration_info TextField blank
attendee_gdpr_enabled Boolean False
attendee_data_retention_years choice 2

Sponsors (sponsors — Operations Suite)

Field Type Default
sponsors_enabled Boolean False
sponsor_prospectus TextField blank
sponsor_approval_type choice organizer
sponsor_platform_fee_percent Decimal 5.00
sponsor_pass_fees_to_sponsor Boolean True
sponsor_ach_enabled Boolean True
sponsor_ach_min_amount Decimal 5000.00
sponsor_offline_invoice_enabled Boolean True

Speakers (speakers — Presenter Pro)

Field Type Default
speakers_enabled Boolean False
speaker_call_info TextField blank
speaker_approval_type choice organizer
speaker_application_deadline Date null
speaker_slot_keynotes PositiveInt 0
speaker_slot_panels PositiveInt 0
speaker_slot_workshops PositiveInt 0
speaker_slot_lightning PositiveInt 0
speaker_fee_budget Decimal null
speaker_topics_needed TextField blank
speaker_check_in_location CharField blank

Program (program — Essentials)

Field Type Default
program_enabled Boolean False

Volunteers (volunteers — Operations Suite)

Field Type Default
volunteers_enabled Boolean False
volunteer_prospectus TextField blank
volunteer_approval_type choice organizer
volunteer_application_deadline Date null
volunteer_total_needed PositiveInt null
volunteer_benefit_free_access Boolean True
volunteer_benefit_meals Boolean False
volunteer_benefit_tshirt Boolean True
volunteer_benefit_certificate Boolean True
volunteer_min_age PositiveInt 16
volunteer_skills_required TextField blank
volunteer_check_in_location CharField blank

Media & recurrence

Field Type Description
cover_image ImageField Card image
cover_image_banner ImageField Landscape banner
cover_image_mobile ImageField Mobile variant
cover_crop_data JSONField Crop metadata
recurrence_series_id UUID Series link
recurrence_parent FK self Parent event
recurrence_index SmallInt 0 = anchor
recurrence_rule JSONField frequency, occurrences

Computed properties & methods

Name Returns
is_rsvp_type registration_type == rsvp
is_public visibility == public
is_past end_date < now
is_recurring bool series_id
is_recurring_anchor index == 0
recurrence_summary() Human label
series_members() QuerySet of series
cover_image_for(variant) card/banner/mobile
default_visibility_for_registration_type() classmethod

Business rules

Field group Rule
visibility + category Public requires category
Module toggles Locked per EVENT_FORM_FIELD_TOOL_KEYS
recurrence Clones on create when setup_recurrence
event_tag Auto uppercase on save

Validation rules

  • end_date > start_date
  • Public → non-empty category
  • Wizard dropdown fields validated per step

User permissions

Only host/staff edit Event fields.

Workflow

See Events & Registration.

Examples

JSON exhibitor_booth_fees default:

{"10x10": "750.00", "10x20": "1200.00", "20x20": "2000.00", "custom": "0.00"}

Best practices

  • Set venue FK before copying load-in defaults
  • Enable modules before running wizard
  • Document custom category tags for Discover filters

Tips

  • EVENT_SETUP_STEPS in events/forms.py maps wizard fields
  • Cover crop JSON drives portrait vs banner layout

Common mistakes

Field Mistake
attendees_enabled Left off for ticketed conference
visibility Public without category
sms_reminders_enabled Expecting SMS without provider

FAQs

Where are ticket tiers stored?
ticket_types text + payment flow; tier UI on edit form.

Troubleshooting

Admin → Event → verify field values when form save confusing.

Screenshot placeholders

  • [SCREENSHOT: Event edit form all sections expanded]

Administrator notes

Bulk update via Django admin or shell for migrations/fixes.

Developer/API notes

Item Location
Model events/models.py class Event
Form locks EventForm._apply_subscription_plan_field_locks
Toggle map users/subscription_plans.EVENT_FORM_FIELD_TOOL_KEYS

Mobile API exposes subset of fields on event detail endpoint.


See also: Glossary