- Added responsive field grouping requirements (same row -> columns) - Rich text editor specifications for event description - Featured image upload with preview/replace capabilities - Virtual event toggle functionality - Enhanced toggle controls for RSVP/Ticketing sections - Advanced multi-select components for organizer/categories - Single-select searchable venue field - Modal popup forms for creating new entities - Fixed missing form field labels documentation - Implementation priority and technical considerations 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
14 KiB
Template and Ticketing System Requirements
Overview
This document outlines the requirements for integrating TEC ticketing system with the HVAC event creation form and updating the template system with real class templates.
TEC Ticketing Integration Requirements
Core Requirements
- Connect form to TEC plugins' ticketing system
- Same CRUD capabilities as regular TEC events
- Support for tickets with prices, season passes, RSVPs
- Mandatory collection of attendee information
Trainer Limitations
- Trainers don't need to set SKUs (simplified interface)
- Each ticket should have mandatory registration collection:
- First name
- Last name
- Fields from TEC Ticket Fieldset Post ID 6235
Ticketing Features Needed
- Ticket creation with pricing
- Season pass support
- RSVP functionality
- Attendee information collection
- Integration with TEC core ticketing system
Template System Updates
Current Issues
- Modal popup not properly centered (positioned bottom-right, cropped)
- Sample templates need replacement with real class templates
Required Templates
Based on cleaned template data from docs/reference/EVENT_TEMPLATES_2025-09-25.md:
-
Transform Your HVAC Business with Manual J LiDAR
- Source: Post ID 1658
- Type: Half-day introductory training
- Category: Business/Technology
- Default Time: 8:00 AM - 12:00 PM
- Default Price: $99 per person
-
Master Static Pressure & Airflow: The Keys to Profitable Service
- Source: Post ID 1661
- Type: Half-day introductory training
- Category: Technical/Performance
- Default Time: 1:00 PM - 5:00 PM
- Default Price: $99 per person
-
Full-Day A/C and Heat Pump Commissioning & Diagnostics Mastery with measureQuick
- Source: Post ID 5295
- Type: Full-day advanced training
- Category: Technical/Diagnostics
- Default Time: 8:00 AM - 5:00 PM
- Default Price: $99 per person
-
ACCA QI5 Quality Installation Certificates - VSP and VEO
- Source: Post ID 1663
- Type: Full-day intermediate certification
- Category: Certification/Standards
- Default Time: 8:00 AM - 4:00 PM
- Default Price: $129 per person
-
Advanced Class: Building Science Meets HVAC Performance
- Source: Post ID 1665
- Type: Three-day advanced training
- Category: Advanced/Building Science
- Default Time: 8:00 AM - 5:00 PM (3 days)
- Default Price: $1200 per person
-
measureQuick for Gas Heating
- Source: Post ID 5737
- Type: Half-day product training
- Category: Product Training/Gas Systems
- Default Time: 8:00 AM - 2:00 PM
- Default Price: $150 per person
Template Data Structure
Each template should include:
- Title
- Description (from source post)
- Start time (time only, no date)
- End time (time only, no date)
- Default ticket structure
- Category classification
- Duration/type indicators
Implementation Plan
Phase 1: Analysis and Planning
- Analyze current TEC integration points
- Examine TEC Ticket Fieldset Post ID 6235 structure
- Review existing form builder capabilities
- Identify required modifications to HVAC_Event_Form_Builder
Phase 2: TEC Ticketing Integration
- Extend HVAC_Event_Form_Builder with TEC ticketing fields
- Implement mandatory attendee information collection
- Connect to TEC ticket creation API
- Add ticket pricing and management fields
- Integrate with TEC RSVP system
Phase 3: Template System Fixes
- Fix modal positioning CSS issues
- Fetch real template data from specified post IDs
- Create template data structure with proper categorization
- Update template modal with real class information
- Implement template application with ticket data
Phase 4: Testing and Validation
- Test TEC ticketing integration
- Validate attendee information collection
- Test template modal positioning
- Verify template application functionality
- End-to-end testing of event creation flow
Technical Considerations
TEC Integration Points
- TEC Core ticketing API
- TEC Community Events integration
- TEC Tickets Plus (if applicable)
- Custom field integration
Database Requirements
- Integration with TEC events tables
- Ticket information storage
- Attendee data collection
- Custom field mappings
UI/UX Considerations
- Simplified trainer interface
- Mandatory field validation
- Modal positioning fixes
- Responsive template selection
Implementation Plan
Analysis Results
Current Architecture
- HVAC_Event_Form_Builder (1296 lines): Core form builder with template integration
- HVAC_TEC_Integration (357 lines): URL routing and iframe embedding, lacks ticketing
- page-tec-create-event.php: Contains modal with hardcoded sample templates and positioning issues
Key Findings
- Template System: Uses hardcoded JavaScript sample data instead of real posts
- TEC Integration: Handles iframe embedding but lacks ticketing system integration
- Modal Issues: CSS positioning causes bottom-right placement and cropping
- Missing Components: No direct TEC ticketing API integration, no fieldset integration
Phase-by-Phase Implementation
Phase 1: Modal Positioning Fix (Immediate - 30 minutes)
Files to modify:
templates/page-tec-create-event.php
Changes required:
/* Fix modal positioning in CSS section */
.template-modal {
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%); /* Center the modal */
z-index: 10000;
max-height: 80vh;
overflow-y: auto;
}
Phase 2: Template System Updates (1-2 hours)
Files to modify:
templates/page-tec-create-event.php(JavaScript section)includes/class-hvac-event-form-builder.php(template loading methods)
Changes required:
- Replace hardcoded template JavaScript with real template data
- Create template data structure from cleaned template reference
- Update template loading to use standardized format
- Add template categorization and filtering
Template Data Format:
const templates = [
{
id: 'manual-j-lidar',
title: 'Transform Your HVAC Business with Manual J LiDAR',
category: 'Business/Technology',
duration: 'Half Day',
difficulty: 'Introductory',
defaultTime: { start: '08:00', end: '12:00' },
defaultPrice: 99,
description: 'Master iPad-based Manual J calculations and measureQuick fundamentals...',
requirements: 'No special Heating Cooling Equip. Needs, good Internet connection',
maxStudents: null
}
// ... other templates
];
Phase 3: TEC Ticketing Integration (3-4 hours)
Files to modify:
includes/class-hvac-event-form-builder.phpincludes/class-hvac-tec-integration.php- Create new:
includes/class-hvac-tec-tickets.php
Changes required:
-
Analyze TEC Ticket Fieldset Post ID 6235
- Extract field definitions and requirements
- Map mandatory fields: first name, last name, custom fields
-
Extend HVAC_Event_Form_Builder with ticketing fields:
// Add methods private function add_ticket_fields() private function add_tec_fieldset_integration() private function validate_ticket_requirements() -
Create TEC tickets integration class:
class HVAC_TEC_Tickets { public function create_event_tickets($event_id, $ticket_data) public function get_fieldset_fields($fieldset_id = 6235) public function validate_attendee_data($attendee_data) private function integrate_with_tec_api() } -
Add ticket management UI elements:
- Ticket pricing fields
- Season pass options
- RSVP configuration
- Attendee information requirements
Phase 4: Fieldset Integration (1-2 hours)
Files to investigate:
- TEC Ticket Fieldset Post ID 6235 structure
- TEC Community Events ticket field mapping
Changes required:
- Extract fieldset field definitions from Post ID 6235
- Create dynamic form field generation based on fieldset
- Add validation for mandatory attendee information
- Integrate with TEC ticket creation workflow
Phase 5: Testing and Validation (2-3 hours)
Testing checklist:
- Modal positioning fixes across different screen sizes
- Template selection and form population
- TEC ticket creation with proper fieldset integration
- Attendee information collection and validation
- End-to-end event creation workflow
- Integration with existing TEC Community Events
Technical Implementation Details
Modal Fix Implementation
/* Replace existing modal CSS with: */
.template-modal {
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 90%;
max-width: 800px;
max-height: 80vh;
background: white;
border-radius: 8px;
box-shadow: 0 4px 20px rgba(0,0,0,0.3);
z-index: 10000;
overflow-y: auto;
}
Template Data Integration
// In HVAC_Event_Form_Builder
private function get_real_templates() {
return [
[
'id' => 'manual-j-lidar',
'title' => 'Transform Your HVAC Business with Manual J LiDAR',
'description' => $this->get_template_description('manual-j-lidar'),
'default_start_time' => '08:00',
'default_end_time' => '12:00',
'default_price' => 99,
'category' => 'Business/Technology',
'difficulty' => 'Introductory',
'duration' => 'Half Day'
]
// ... other templates
];
}
TEC Ticketing Integration
// New class: HVAC_TEC_Tickets
class HVAC_TEC_Tickets {
public function create_tickets_for_event($event_id, $tickets_data) {
foreach ($tickets_data as $ticket) {
$ticket_id = $this->create_tec_ticket($event_id, $ticket);
$this->add_fieldset_requirements($ticket_id, 6235);
}
}
private function get_tec_fieldset_fields($fieldset_id) {
// Extract field definitions from TEC Ticket Fieldset
$fieldset_post = get_post($fieldset_id);
return $this->parse_fieldset_structure($fieldset_post);
}
}
Priority Order
- IMMEDIATE: Fix modal positioning (30 minutes)
- HIGH: Replace sample templates with real data (1-2 hours)
- MEDIUM: Implement TEC ticketing integration (3-4 hours)
- LOW: Add fieldset integration (1-2 hours)
- FINAL: Comprehensive testing (2-3 hours)
Risk Assessment
- Low Risk: Modal positioning fix, template data replacement
- Medium Risk: TEC ticketing API integration (requires understanding TEC internals)
- High Risk: Fieldset integration (depends on TEC Ticket Fieldset structure)
Success Metrics
- Modal centers properly on all screen sizes
- Real templates load with correct data and formatting
- TEC tickets can be created with mandatory attendee information
- Form maintains existing functionality while adding new features
- Integration works seamlessly with existing TEC Community Events
Additional UI/UX Enhancement Requirements (September 2025)
Form Layout Improvements
Field Grouping and Responsive Design
- Same Row Fields (Desktop) → Column Layout (Mobile):
- Ticket Price ($) & Ticket Capacity
- Ticket Sales Start & Ticket Sales End
- Start Date & Time & End Date & Time
Text Editor Enhancement
- Event Description Field:
- Increase size to 3x current dimensions
- Add rich text editing toolbar (bold, italic, lists, links)
- Support for formatted text input
Form Field Issues
- Missing Label Issues: Fix blank/unlabeled form sections:
- Blank box above "Enable Ticketing"
- Blank box above "Ticket Name"
- Two blank boxes above "Start Date & Time"
New Feature Requirements
Featured Image Upload
- Image Upload Component:
- File upload interface with drag-and-drop
- Image preview functionality
- Replace/remove image capabilities
- Proper image optimization and sizing
Virtual Event Capability
- Virtual Event Toggle:
- Enable/disable virtual event mode
- When enabled, show virtual event specific fields
- Integration with existing venue system
Enhanced Toggle Controls
- Interactive Toggles (show/hide subsections):
- Virtual Event toggle → Virtual event configuration fields
- Enable RSVP toggle → RSVP configuration options
- Enable Ticketing toggle → Ticketing subsection fields
Advanced Selection Components
Multi-Select with Dynamic Search
-
Organizer Field:
- Text input with autocomplete
- Dynamic dropdown showing all available options on focus
- Multi-select capability (up to 3 items)
- "Create New Organizer" option → Modal popup with organizer creation form
-
Categories Field (New):
- Same functionality as Organizer field
- Text input with autocomplete search
- Multi-select up to 3 categories
- "Create New Category" option → Modal popup for category creation
Single-Select with Search
- Venue Field Enhancement:
- Convert to searchable single-select
- Text input with autocomplete
- Dynamic dropdown on focus
- Single selection only
- "Create New Venue" option → Modal popup with venue creation form
Modal Creation Forms
-
New Organizer Modal:
- Name, email, phone, organization fields
- Save and apply to event functionality
-
New Category Modal:
- Category name, description, parent category
- Save and apply to event functionality
-
New Venue Modal:
- Venue name, address, capacity, facilities
- Save and apply to event functionality
Implementation Priority
- Phase 1: Fix existing form issues (missing labels, layout)
- Phase 2: Implement responsive field grouping
- Phase 3: Add rich text editor and featured image upload
- Phase 4: Implement toggle controls and virtual event features
- Phase 5: Create advanced selection components and modal forms
Technical Considerations
- Maintain existing security measures and validation
- Ensure mobile responsiveness across all new components
- Integrate seamlessly with current TEC ticketing system
- Preserve existing template and autosave functionality
- Follow WordPress coding standards and accessibility guidelines
Implementation plan generated during TEC integration and template system improvement project Updated September 2025 with comprehensive UI/UX enhancement requirements