# Spanglish Website – Functional Specification ## 1. Purpose This document defines the functional behavior of the Spanglish website and admin system. It specifies what the system must do, how users interact with it, and how core workflows operate. --- ## 2. User Roles ### 2.1 Public User * Can browse the website * Can view events * Can book tickets * Can join community channels * Can contact organizers ### 2.2 Admin * Full system access * Manages events * Manages users * Manages payments * Manages communications * Manages settings ### 2.3 Organizer * Manages assigned events * Views attendees * Sends event emails * Manages check-in ### 2.4 Staff * Access to check-in system * Limited attendee viewing ### 2.5 Marketing * Access to email tools * Access to analytics * Access to media library --- ## 3. Public Website Features ### 3.1 Homepage The homepage must display: * Hero section with next event * Primary call-to-action button * Brief description of Spanglish * Photo gallery * Community links * Email signup form * Contact information Behavior: * Automatically shows the next upcoming event * Updates dynamically when events change --- ### 3.2 Events Listing Page The events page must display: * List of upcoming events * List of past events * Basic filtering by date Each event card shows: * Title * Date * Location * Status * Booking button --- ### 3.3 Event Detail Page Each event page must include: * Event title * Description * Date and time * Location with map * Price * Available seats * Booking button * FAQ section * Social sharing buttons Behavior: * Booking disabled when sold out * Status shown when cancelled --- ### 3.4 Community Page The community page must include: * WhatsApp invite links * Instagram link * Participation guidelines * Volunteer information --- ### 3.5 Contact Page The contact page must include: * Contact form * Email address * Social media links Behavior: * Form submissions stored in database * Admin receives notification --- ## 4. Booking System ### 4.1 Booking Flow 1. User clicks "Join" on event page 2. Booking form is displayed 3. User enters personal details 4. User selects payment method 5. Payment is processed or recorded 6. Ticket is generated 7. Confirmation is sent 8. User appears in admin system --- ### 4.2 Booking Form The booking form collects: * Full name * Email address * Phone number * Language preference (optional) * Payment method Validation: * Email format check * Required field validation * Duplicate booking prevention --- ### 4.3 Ticket Generation After successful booking: * Unique ticket ID is generated * Ticket linked to user and event * QR code created (optional) * Ticket stored in database --- ## 5. Payment Management ### 5.1 Supported Payment Methods Initial support: * Stripe / MercadoPago * Bank transfer * Cash (manual entry) Future support: * Lightning * Cashu * Nostr payments --- ### 5.2 Payment Workflow * Payment initiated during booking * Payment status tracked * Manual confirmation supported * Refunds supported Statuses: * Pending * Paid * Refunded * Failed --- ## 6. Admin Dashboard ### 6.1 Dashboard Overview The main dashboard displays: * Upcoming events * Ticket sales * Revenue summary * Pending payments * Alerts --- ### 6.2 Event Management Module Features: * Create event * Edit event * Publish event * Archive event * Duplicate event Event fields: * Title * Description * Date * Time * Location * Price * Capacity * Banner image * Status --- ### 6.3 Ticket Management Module Features: * View attendee list * Search attendees * Edit attendee info * Manual ticket creation * Cancel tickets * Export CSV * Check-in system Check-in: * Manual toggle * QR scanning (optional) * Timestamp logging --- ### 6.4 Payment Management Module Features: * View transactions * Manual payment entry * Refund processing * Revenue reports * Export financial data --- ### 6.5 Email & Messaging Module Features: * Email templates * Mass mailing * Automated reminders * Event notifications * Contact segmentation Automated emails: * Booking confirmation * Event reminder * Cancellation notice * Post-event follow-up --- ### 6.6 Community Management Module Features: * User profiles * Attendance history * Notes system * Tagging * Segmentation --- ### 6.7 Media Management Module Features: * Upload images * Organize galleries * Assign images to events * Homepage gallery management --- ### 6.8 Role & Permission Management Features: * Create roles * Assign permissions * Assign users to roles * Audit access --- ## 7. Reporting & Analytics The system must provide: * Event attendance reports * Revenue reports * User growth reports * Conversion metrics * Email engagement statistics --- ## 8. Error Handling The system must handle: * Failed payments * Overbooking attempts * Network failures * Invalid input * Unauthorized access Behavior: * Display user-friendly messages * Log technical errors * Notify admins when critical --- ## 9. Notifications System notifications include: * New booking alerts * Payment failures * Low capacity warnings * System errors Delivery channels: * Email * Admin dashboard alerts n --- ## 10. Audit Logging The system must record: * Admin actions * Payment changes * Event modifications * User updates Logs must include: * Timestamp * User ID * Action type * Target record --- ## 11. Accessibility The public website must: * Support mobile devices * Provide readable fonts * Support screen readers * Maintain color contrast --- ## 12. Summary This functional specification defines the operational behavior of the Spanglish platform. All implemented features must comply with this document to ensure consistency, reliability, and scalability.