[
  {
    "id": "bouquet-foundations",
    "title": "Bouquet Foundations",
    "category": "Bouquet Design",
    "level": "Beginner",
    "duration_hours": 10,
    "price_usd": 79,
    "currency": "USD",
    "language": "English",
    "delivery": "online",
    "rating": 4.8,
    "reviews_count": 312,
    "seats_left": 20,
    "start_date": "2026-05-15",
    "provider": "PureFloristry Academy",
    "tags": ["bouquet", "structure", "spiral"],
    "short": "Master core bouquet structure, binding, and balance.",
    "description": "A step-by-step start for aspiring florists focusing on structure, stem handling, and clean finishes.",
    "outline": ["Tools and safety", "Spiral technique", "Balance and proportion", "Finishing details"],
    "prerequisites": []
  },
  {
    "id": "sustainable-sourcing",
    "title": "Sustainable Sourcing",
    "category": "Ethics & Operations",
    "level": "Beginner",
    "duration_hours": 8,
    "price_usd": 69,
    "currency": "USD",
    "language": "English",
    "delivery": "online",
    "rating": 4.7,
    "reviews_count": 201,
    "seats_left": 15,
    "start_date": "2026-05-10",
    "provider": "PureFloristry Academy",
    "tags": ["sustainability", "sourcing", "care"],
    "short": "Ethical, cost-aware procurement for any region.",
    "description": "Learn to source responsibly, reduce waste, and work with local growers while keeping margins healthy.",
    "outline": ["Local vs imported", "Waste reduction", "Supplier relations"],
    "prerequisites": []
  },
  {
    "id": "wedding-florals",
    "title": "Wedding Florals System",
    "category": "Events",
    "level": "Intermediate",
    "duration_hours": 16,
    "price_usd": 149,
    "currency": "USD",
    "language": "English",
    "delivery": "hybrid",
    "rating": 4.9,
    "reviews_count": 589,
    "seats_left": 10,
    "start_date": "2026-06-01",
    "provider": "PureFloristry Academy",
    "tags": ["wedding", "proposal", "installation"],
    "short": "From inquiry to handover: a repeatable wedding workflow.",
    "description": "Price, plan, and deliver wedding florals using reusable templates and client-ready checklists.",
    "outline": ["Discovery", "Proposal", "Production", "Handover"],
    "prerequisites": ["Bouquet Foundations"]
  },
  {
    "id": "color-theory-botanicals",
    "title": "Color Theory for Botanicals",
    "category": "Design",
    "level": "Beginner",
    "duration_hours": 9,
    "price_usd": 79,
    "currency": "USD",
    "language": "English",
    "delivery": "online",
    "rating": 4.6,
    "reviews_count": 178,
    "seats_left": 18,
    "start_date": "2026-05-22",
    "provider": "PureFloristry Academy",
    "tags": ["color", "palettes", "contrast"],
    "short": "Build palettes with harmony and contrast.",
    "description": "Practical color frameworks for bouquets and event pieces that travel across seasons.",
    "outline": ["Hue and value", "Palette frameworks", "Testing combos"],
    "prerequisites": []
  },
  {
    "id": "retail-studio-ops",
    "title": "Retail & Studio Operations",
    "category": "Business",
    "level": "Intermediate",
    "duration_hours": 14,
    "price_usd": 129,
    "currency": "USD",
    "language": "English",
    "delivery": "online",
    "rating": 4.7,
    "reviews_count": 230,
    "seats_left": 12,
    "start_date": "2026-05-28",
    "provider": "PureFloristry Academy",
    "tags": ["operations", "pricing", "inventory"],
    "short": "Streamline day-to-day with simple tools and SOPs.",
    "description": "From inventory to customer service, build durable operations for a retail shop or studio.",
    "outline": ["Inventory", "Scheduling", "Pricing", "Customer care"],
    "prerequisites": []
  },
  {
    "id": "centerpieces-modern",
    "title": "Modern Centerpieces",
    "category": "Arrangements",
    "level": "Beginner",
    "duration_hours": 10,
    "price_usd": 89,
    "currency": "USD",
    "language": "English",
    "delivery": "online",
    "rating": 4.6,
    "reviews_count": 154,
    "seats_left": 22,
    "start_date": "2026-05-18",
    "provider": "PureFloristry Academy",
    "tags": ["centerpiece", "foam-free", "composition"],
    "short": "Foam-free builds with clean lines and rhythm.",
    "description": "Compose modern centerpieces with strong structure, negative space, and lasting hydration.",
    "outline": ["Mechanics", "Form & space", "Refinement"],
    "prerequisites": []
  },
  {
    "id": "installations-safe",
    "title": "Safe Installations",
    "category": "Large Scale",
    "level": "Advanced",
    "duration_hours": 18,
    "price_usd": 179,
    "currency": "USD",
    "language": "English",
    "delivery": "hybrid",
    "rating": 4.8,
    "reviews_count": 267,
    "seats_left": 8,
    "start_date": "2026-06-05",
    "provider": "PureFloristry Academy",
    "tags": ["installation", "rigging", "safety"],
    "short": "Build secure, foam-free installations with confidence.",
    "description": "Engineering basics, site surveys, and on-site workflows for safe, repeatable installs.",
    "outline": ["Rigging 101", "Load & safety", "On-site ops"],
    "prerequisites": ["Modern Centerpieces"]
  },
  {
    "id": "event-pricing-pro",
    "title": "Event Pricing Pro",
    "category": "Business",
    "level": "Advanced",
    "duration_hours": 12,
    "price_usd": 159,
    "currency": "USD",
    "language": "English",
    "delivery": "online",
    "rating": 4.9,
    "reviews_count": 512,
    "seats_left": 9,
    "start_date": "2026-05-25",
    "provider": "PureFloristry Academy",
    "tags": ["pricing", "margin", "quotes"],
    "short": "Quote with confidence using transparent math.",
    "description": "Markup, margin, labor — turn pricing into a consistent framework you can defend.",
    "outline": ["Costs", "Labor", "Profit targets"],
    "prerequisites": []
  },
  {
    "id": "foam-free-techniques",
    "title": "Foam-Free Techniques",
    "category": "Sustainable",
    "level": "Intermediate",
    "duration_hours": 11,
    "price_usd": 109,
    "currency": "USD",
    "language": "English",
    "delivery": "online",
    "rating": 4.7,
    "reviews_count": 198,
    "seats_left": 16,
    "start_date": "2026-05-20",
    "provider": "PureFloristry Academy",
    "tags": ["sustainability", "mechanics", "eco"],
    "short": "Practical mechanics that travel and last.",
    "description": "Mechanics for bouquets, centerpieces, and installs using reusable and safe materials.",
    "outline": ["Vessels", "Securing", "Transport"],
    "prerequisites": []
  },
  {
    "id": "freelance-blueprint",
    "title": "Freelance Florist Blueprint",
    "category": "Business",
    "level": "Beginner",
    "duration_hours": 9,
    "price_usd": 89,
    "currency": "USD",
    "language": "English",
    "delivery": "online",
    "rating": 4.5,
    "reviews_count": 120,
    "seats_left": 25,
    "start_date": "2026-05-16",
    "provider": "PureFloristry Academy",
    "tags": ["freelance", "clients", "portfolio"],
    "short": "Start freelancing with simple systems.",
    "description": "Find clients, set boundaries, and deliver reliably without burnout.",
    "outline": ["Positioning", "Outreach", "Delivery"],
    "prerequisites": []
  },
  {
    "id": "floral-typography",
    "title": "Floral Typography",
    "category": "Creative",
    "level": "Advanced",
    "duration_hours": 14,
    "price_usd": 159,
    "currency": "USD",
    "language": "English",
    "delivery": "online",
    "rating": 4.6,
    "reviews_count": 143,
    "seats_left": 11,
    "start_date": "2026-06-02",
    "provider": "PureFloristry Academy",
    "tags": ["creative", "letters", "branding"],
    "short": "Text-based floral compositions for events and brands.",
    "description": "Design durable letterforms and numbers with clean mechanics and transport plans.",
    "outline": ["Sketching", "Mechanics", "Transport"],
    "prerequisites": ["Foam-Free Techniques"]
  },
  {
    "id": "seasonal-strategy",
    "title": "Seasonal Strategy",
    "category": "Planning",
    "level": "Intermediate",
    "duration_hours": 10,
    "price_usd": 99,
    "currency": "USD",
    "language": "English",
    "delivery": "online",
    "rating": 4.7,
    "reviews_count": 210,
    "seats_left": 19,
    "start_date": "2026-05-30",
    "provider": "PureFloristry Academy",
    "tags": ["seasonal", "menu", "planning"],
    "short": "Plan offers across seasons with repeatable menus.",
    "description": "Build a seasonal menu that balances demand, availability, and margin.",
    "outline": ["Calendar", "Menu", "Sourcing"],
    "prerequisites": []
  },
  {
    "id": "care-and-conditioning",
    "title": "Care and Conditioning",
    "category": "Foundations",
    "level": "Beginner",
    "duration_hours": 7,
    "price_usd": 59,
    "currency": "USD",
    "language": "English",
    "delivery": "online",
    "rating": 4.8,
    "reviews_count": 340,
    "seats_left": 30,
    "start_date": "2026-05-12",
    "provider": "PureFloristry Academy",
    "tags": ["care", "conditioning", "longevity"],
    "short": "Keep stems hydrated and long-lasting.",
    "description": "Simple, robust care methods that extend vase life and reduce waste.",
    "outline": ["Hydration", "Sanitation", "Storage"],
    "prerequisites": []
  },
  {
    "id": "event-logistics",
    "title": "Event Logistics",
    "category": "Events",
    "level": "Intermediate",
    "duration_hours": 12,
    "price_usd": 129,
    "currency": "USD",
    "language": "English",
    "delivery": "online",
    "rating": 4.6,
    "reviews_count": 175,
    "seats_left": 14,
    "start_date": "2026-05-27",
    "provider": "PureFloristry Academy",
    "tags": ["logistics", "transport", "crew"],
    "short": "From packing to install day — a predictable plan.",
    "description": "Create run sheets, zone maps, and packing lists that scale.",
    "outline": ["Run sheet", "Packing", "On-site ops"],
    "prerequisites": []
  },
  {
    "id": "client-communication",
    "title": "Client Communication",
    "category": "Business",
    "level": "Beginner",
    "duration_hours": 6,
    "price_usd": 59,
    "currency": "USD",
    "language": "English",
    "delivery": "online",
    "rating": 4.5,
    "reviews_count": 132,
    "seats_left": 26,
    "start_date": "2026-05-14",
    "provider": "PureFloristry Academy",
    "tags": ["email", "templates", "boundaries"],
    "short": "Templates that reduce back-and-forth.",
    "description": "Use prewritten scripts and boundaries to keep projects moving and clients happy.",
    "outline": ["Scripts", "Boundaries", "Feedback"],
    "prerequisites": []
  },
  {
    "id": "brand-minimal",
    "title": "Minimal Brand Aesthetics",
    "category": "Design",
    "level": "Intermediate",
    "duration_hours": 9,
    "price_usd": 99,
    "currency": "USD",
    "language": "English",
    "delivery": "online",
    "rating": 4.6,
    "reviews_count": 164,
    "seats_left": 17,
    "start_date": "2026-05-29",
    "provider": "PureFloristry Academy",
    "tags": ["brand", "minimal", "positioning"],
    "short": "Define a clean brand that sells your work without noise.",
    "description": "Story, typography, and portfolio structure tailored to floristry.",
    "outline": ["Story", "Style", "Portfolio"],
    "prerequisites": []
  },
  {
    "id": "dried-arrangements",
    "title": "Dried Arrangements",
    "category": "Arrangements",
    "level": "Beginner",
    "duration_hours": 8,
    "price_usd": 79,
    "currency": "USD",
    "language": "English",
    "delivery": "online",
    "rating": 4.4,
    "reviews_count": 98,
    "seats_left": 23,
    "start_date": "2026-05-19",
    "provider": "PureFloristry Academy",
    "tags": ["dried", "texture", "durable"],
    "short": "Long-lasting designs with texture and restraint.",
    "description": "Compose dried pieces with clean mechanics and modern aesthetics.",
    "outline": ["Materials", "Composition", "Care"],
    "prerequisites": []
  },
  {
    "id": "subscription-services",
    "title": "Subscription Services",
    "category": "Business",
    "level": "Intermediate",
    "duration_hours": 11,
    "price_usd": 119,
    "currency": "USD",
    "language": "English",
    "delivery": "online",
    "rating": 4.5,
    "reviews_count": 126,
    "seats_left": 13,
    "start_date": "2026-06-03",
    "provider": "PureFloristry Academy",
    "tags": ["subscription", "retainer", "recurring"],
    "short": "Recurring revenue with corporate and residential clients.",
    "description": "Design, price, and fulfill subscriptions with predictable workflows.",
    "outline": ["Offers", "Pricing", "Fulfillment"],
    "prerequisites": []
  },
  {
    "id": "market-bouquets",
    "title": "Market Bouquets",
    "category": "Retail",
    "level": "Beginner",
    "duration_hours": 7,
    "price_usd": 59,
    "currency": "USD",
    "language": "English",
    "delivery": "online",
    "rating": 4.6,
    "reviews_count": 188,
    "seats_left": 28,
    "start_date": "2026-05-13",
    "provider": "PureFloristry Academy",
    "tags": ["market", "speed", "efficiency"],
    "short": "Design fast, repeatable bouquets with strong value.",
    "description": "Systems and templates to produce consistent bouquets quickly.",
    "outline": ["Menu", "Speed", "Finishing"],
    "prerequisites": []
  },
  {
    "id": "photofree-portfolio",
    "title": "Photo‑Free Portfolio",
    "category": "Business",
    "level": "Intermediate",
    "duration_hours": 8,
    "price_usd": 89,
    "currency": "USD",
    "language": "English",
    "delivery": "online",
    "rating": 4.5,
    "reviews_count": 112,
    "seats_left": 21,
    "start_date": "2026-05-21",
    "provider": "PureFloristry Academy",
    "tags": ["portfolio", "seo", "copywriting"],
    "short": "Sell your work without images using structure and words.",
    "description": "Copy frameworks and layouts that close deals — ideal for privacy-constrained markets.",
    "outline": ["Proof without photos", "Case outlines", "Lead funnels"],
    "prerequisites": []
  },
  {
    "id": "careers-mentor",
    "title": "Careers Mentorship",
    "category": "Career",
    "level": "Advanced",
    "duration_hours": 15,
    "price_usd": 199,
    "currency": "USD",
    "language": "English",
    "delivery": "hybrid",
    "rating": 4.9,
    "reviews_count": 96,
    "seats_left": 6,
    "start_date": "2026-06-07",
    "provider": "PureFloristry Academy",
    "tags": ["career", "mentorship", "portfolio"],
    "short": "Direct feedback on your systems and positioning.",
    "description": "One-on-one reviews and tailored growth plans for working florists.",
    "outline": ["Audit", "Plan", "Check-ins"],
    "prerequisites": []
  },
  {
    "id": "floral-math",
    "title": "Floral Math Essentials",
    "category": "Foundations",
    "level": "Beginner",
    "duration_hours": 6,
    "price_usd": 59,
    "currency": "USD",
    "language": "English",
    "delivery": "online",
    "rating": 4.7,
    "reviews_count": 205,
    "seats_left": 24,
    "start_date": "2026-05-17",
    "provider": "PureFloristry Academy",
    "tags": ["math", "pricing", "proportions"],
    "short": "Numbers you need for confident design and pricing.",
    "description": "Quick wins in pricing, proportions, and ordering without spreadsheets.",
    "outline": ["Proportions", "Ordering", "Pricing basics"],
    "prerequisites": []
  },
  {
    "id": "local-growers",
    "title": "Working with Local Growers",
    "category": "Sourcing",
    "level": "Intermediate",
    "duration_hours": 7,
    "price_usd": 89,
    "currency": "USD",
    "language": "English",
    "delivery": "online",
    "rating": 4.6,
    "reviews_count": 134,
    "seats_left": 20,
    "start_date": "2026-05-24",
    "provider": "PureFloristry Academy",
    "tags": ["growers", "contracts", "calendars"],
    "short": "Build consistent relationships with local farms.",
    "description": "Plan calendars and agreements for reliable seasonal supply.",
    "outline": ["Calendars", "Agreements", "Quality control"],
    "prerequisites": []
  }
]