📄 Auditor: Venue Readiness

Purpose

Checks the venue and room contact records linked to an event for completeness. Flags missing logistics details that the Lead Planner needs to advance the venue and build the Showbook. Leverages past event history at the same venue to surface lessons that should have been captured.

Goal: Every time we return to a venue, we should be smarter than last time.

Owner

Findings route to: Planning Manager

How to Run

python -m event_audit venue --event 1247
python -m event_audit venue --event 1247 --depth deep

What It Reads

From Odoo (x_events model)

All core event fields plus:
- x_studio_venue (many2one to res.partner — the venue contact)
- x_studio_venue_room (many2one to res.partner — the room within the venue)
- x_studio_on_site_contact, x_studio_related_field_onsite_contact_phone
- x_studio_venue_constraints_details
- x_studio_logistics_notes, x_studio_event_risks

From Odoo (res.partner — venue contact record)

  • name, street, street2, city, zip, phone, email, website
  • x_studio_venue_notes — General venue-level information (applies to all events here)
  • x_studio_venue — Is Venue? boolean flag
  • comment — Internal notes

From Odoo (res.partner — room contact record, if applicable)

  • name
  • x_studio_venue_room_notes — Room-specific details (ceiling height, floor type, power drops, etc.)
  • x_studio_is_room_in_venue — Is Room In Venue? boolean flag

From Odoo (x_events — past event history)

  • Up to 10 most recent closed events at the same venue
  • Fields: x_name, x_studio_date, x_studio_event_type

What It Checks

Check Depth
Venue street address populated quick
Venue phone number populated quick
Venue notes field populated quick
Room notes populated (if room assigned) quick
Quality of venue notes (dock access, parking, power, restrictions) standard
On-site contact fields populated for this event standard
Venue constraints documented for this event standard
Past events leveraged (notes captured from prior visits?) deep
Risk inference from venue type (arena, outdoor, remote) deep

Findings Output

Written to x_studio_audit_venue (text field on x_events).

Also creates structured records in x_audit_run and x_audit_finding. Findings are categorized as:

  1. Venue record gaps — Missing from the venue or room contact record (applies to all events at this venue)
  2. Event-specific venue gaps — Missing from this event's record (on-site contact, constraints)
  3. Lessons from past events — Things that should have been captured based on event history at this venue
  4. Notes — General observations

Depth Levels

  • Quick — Check if address, phone, and notes fields are populated
  • Standard — Evaluate quality of venue info, check for missing logistics details, review room notes
  • Deep — Full analysis including past event history and inferred risks from venue type

Prompt

Full prompt at scripts/event_audit/prompts/venue.md. Key instructions:

  • Distinguish between venue-level info (dock access — applies to all events) and event-level info (specific time restriction for this event)
  • Don't flag missing room notes if no room is assigned
  • Be practical — missing website is not a blocker, missing dock location is
  • If venue has been used before, leverage that ("2 events here, zero notes captured")
  • A clean report with detailed venue notes is a valid outcome

Learnings File

scripts/event_audit/learnings/venue.md

Configuration File

scripts/event_audit/auditors/venue.yaml