Skip to content

Products Admin Panel

Products are managed through two Filament resources in the admin panel under “Product Management”.

Path: Admin > Product Management > Product Templates

Source: backend/app/Filament/Resources/ProductTemplates/ProductTemplateResource.php

The form uses a wizard with three steps:

  1. General Data

    • AI Trip Parser (paste raw trip info)
    • Core info: title, subtitle, SKU (auto-generated), source locale
    • Descriptive content: descriptions, highlights, requirements
    • Hero image upload
  2. Itinerary & Logistics

    • Trip itinerary repeater (city, nights, title, details, image)
    • Optional activities and free time
    • Accessibility options
    • Duration (auto-calculated), accommodation, meal plans
  3. SEO

    • Meta title and description

Trip Parser: Paste raw trip info like:

Asia India 9 nights - 2 Delhi - 1 Jodhpur - 2 Udaipur - 2 Jaipur - 1 Agra - 1 Delhi

AI generates all fields including itinerary with titles and descriptions.

Title-based Generation: Enter a title, click sparkle icon to generate all content.

  • Hero image
  • Title, subtitle, SKU
  • Markets count (shows lock icon if > 0)
  • Short description
  • Created date

Templates with market products show a lock badge - these cannot have their core structure modified.

Path: Admin > Product Management > Products by Market

Source: backend/app/Filament/Resources/ProductsByMarket/ProductByMarketResource.php

  1. Product & Market Selection

    • Select product template
    • Select market (auto-fills locale, airports, search dates)
    • Select language from market’s supported locales
    • Set status and sort order
  2. Flight Search Configuration

    • Departure airports (multi-select from market’s active airports)
    • Route type: Multi-City or Separate Flights
    • Search period (start/end dates)
    • Excluded dates repeater
  3. Core Translation

    • “Translate from Product” button for AI translation
    • Title, subtitle, descriptions
    • Categories, highlights, destination info
  4. Itinerary & Activities

    • Per-day translations (city/nights from template, title/details editable)
    • Optional activities, free time
  5. Logistics & Practical Details

    • Accommodation, meal plans, not included
  6. SEO & URL

    • Meta title, URL slug, meta description

When selecting a market:

  • Locale defaults to market’s default locale
  • Departure airports auto-filled with all active market airports
  • Search dates default to 3 months out + 60 days

Click “Translate from Product” to:

  1. Load ProductTemplate content
  2. Call OpenRouter API for translation
  3. Populate all translation fields

Configuration: OPENROUTER_API_KEY, OPENROUTER_API_URL, OPENROUTER_MODEL

Source: backend/app/Services/ProductByMarketTranslationService.php

  • Product template title
  • Market code
  • Locale
  • Status badge
  • SKU
  • Search date range
  • Created date

Both resources appear under “Product Management” navigation group:

ResourceIconSort Order
Product Templatesrectangle-stackdefault
Products by Marketglobe-alt20

Resources use HasResourcePermissions trait for RBAC integration.

Source: backend/app/Filament/Traits/HasResourcePermissions.php