Test: FluentBooking / Baza / Bootstrap Calendar (calendar + disponibilitate + primul tip de eveniment)

Pluginul, in actiune

Mai jos e widget-ul REAL de rezervare, randat de FluentBooking pe aceasta pagina prin shortcode-ul [fluent_booking id="3"]. Orele afisate sunt calculate din programul de disponibilitate creat la acest test — deci ce vezi e chiar pluginul care lucreaza, nu o descriere a lui.


Capabilitate: calendar_bootstrap_create — creare primul Calendar (host space) pe un site FluentBooking gol.

Rulare: run-fb-5c-20260811 · Data: 2026-08-11 · Rută: POST /wp-json/fluent-booking/v2/calendars → HTTP 200

Ce s-a creat, cu o singură cerere

  • Calendar id=1, titlu „plugin-learner”, slug plugin-learner, tip simple, fus Europe/Bucharest
  • Program de disponibilitate id=1 „Weekly Hours”, default=true — creat implicit, nu cerut explicit
  • Primul tip de eveniment id=1 „PL Test 30 min Call”, slug 30min, 30 minute, status draft

Ce am învățat, verificat live

  • Payload-ul e învelit în cheia calendar, nu plat. Controllerul citește $request->get('calendar').
  • Orele se convertesc în UTC la scriere. Am trimis 09:00–17:00 în Europe/Bucharest; citirea înapoi arată 07:00–15:00. Diferența e corectă, nu o eroare.
  • Slug-ul calendarului NU e ales de apelant — e derivat din numele de utilizator WordPress al gazdei și apare în adresa publică a paginii de rezervare.
  • Ruta poate instala pluginuri. Dacă payload-ul conține cheia features, controllerul apelează OnboardingService::installAddons(). Cheia e exclusă intenționat din schema adaptorului.
  • Neidempotentă: a doua rulare pentru același utilizator întoarce 422 „The user already has a calendar”.

Postare-dovadă permanentă, generată de plugin-learner. Nu se șterge.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *