Skip to content

feat(bookings): add recipe for creating booking service from prompt#357

Open
danieljaffe1 wants to merge 10 commits into
mainfrom
danielja/create-booking-service-from-prompt
Open

feat(bookings): add recipe for creating booking service from prompt#357
danieljaffe1 wants to merge 10 commits into
mainfrom
danielja/create-booking-service-from-prompt

Conversation

@danieljaffe1

@danieljaffe1 danieljaffe1 commented Jun 4, 2026

Copy link
Copy Markdown

Summary

  • Adds a routing recipe create-booking-service-from-prompt.md that determines the service type from a natural language prompt and delegates to the appropriate type-specific recipe
  • Adds three type-specific recipes under skills/wix-manage/references/bookings/:
    • create-appointment-service.md — APPOINTMENT: staff assignment (required), session duration, 1-on-1 defaults
    • create-class-service.md — CLASS: group capacity (required), no staff assignment, recurring session defaults
    • create-course-service.md — COURSE: group capacity (required), no staff assignment, full-course pricing, fixed series defaults
  • Updates SKILL.md and documentation.yaml to reference all four new recipes

How It Works

  1. User tells Aria: "create a yoga class for $50"
  2. Aria loads create-booking-service-from-prompt.md, which maps the prompt to a service type
  3. Aria follows the type-specific recipe (e.g., create-class-service.md), which:
    • Gathers business context (staff, categories, currency, existing services)
    • Applies type-specific defaults for missing fields
    • Creates the service as hidden: true via bulkCreateServices
    • Navigates to /bookings/service-form/{serviceId}?fromAria=true
    • Summarizes what was created and assumptions made

Key Type Differences

Appointment Class Course
staffMemberIds Required Ignored Ignored
sessionDurations Used Not used Not used
defaultCapacity 1 10 10
Booking model Customer picks time slot Customer picks 1+ sessions Customer books full course
Pricing Per session Per session Full course

Test plan

  • Simulate "create a yoga class for $50" — verify routing to class recipe, type: CLASS, defaultCapacity: 10
  • Simulate "set up consultations for $75" — verify routing to appointment recipe, type: APPOINTMENT, staffMemberIds included
  • Simulate "create a 6-week photography workshop" — verify routing to course recipe, type: COURSE
  • Simulate "create a free meditation session" — verify rateType: NO_FEE with correct payment options
  • Simulate ambiguous prompt with no type keywords — verify default to APPOINTMENT
  • Verify error handling: 428 (app not installed), 400 (missing staff for appointment)

🤖 Generated with Claude Code

danieljaffe1 and others added 3 commits June 4, 2026 12:21
New recipe for autonomous service creation from natural language prompts.
Gathers business context (staff, categories, currency), applies
industry-standard defaults, creates services as hidden for review, and
navigates to the service form.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Required for EvalForge tag mapping and automated evaluation workflow.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@github-actions

github-actions Bot commented Jun 4, 2026

Copy link
Copy Markdown
Contributor

❌ Skill Validation: Failed

  • Create Booking Service from Prompt: unknown tag "create service"
  • Create Booking Service from Prompt: unknown tag "booking service"
  • Create Booking Service from Prompt: unknown tag "appointment"
  • Create Booking Service from Prompt: unknown tag "class"
  • Create Booking Service from Prompt: unknown tag "course"
  • Create Booking Service from Prompt: unknown tag "consultation"
  • Create Booking Service from Prompt: unknown tag "session"
  • Create Appointment Service: unknown tag "create service"
  • Create Appointment Service: unknown tag "appointment"
  • Create Appointment Service: unknown tag "consultation"
  • Create Appointment Service: unknown tag "1-on-1"
  • Create Appointment Service: unknown tag "meeting"
  • Create Appointment Service: unknown tag "session"
  • Create Class Service: unknown tag "create service"
  • Create Class Service: unknown tag "class"
  • Create Class Service: unknown tag "group session"
  • Create Class Service: unknown tag "yoga"
  • Create Class Service: unknown tag "fitness"
  • Create Class Service: unknown tag "pilates"
  • Create Course Service: unknown tag "create service"
  • Create Course Service: unknown tag "course"
  • Create Course Service: unknown tag "workshop"
  • Create Course Service: unknown tag "training program"
  • Create Course Service: unknown tag "bootcamp"
  • Create Course Service: unknown tag "multi-session"

danieljaffe1 and others added 7 commits June 9, 2026 10:52
…ass, and course

Adds three focused recipes that split the general create-booking-service-from-prompt
recipe into type-specific guides, each with tailored defaults, curl examples, and
reminders for type-specific API behavior (e.g., staffMemberIds required for
APPOINTMENT, defaultCapacity required for CLASS/COURSE).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…recipes

The create-booking-service-from-prompt recipe now only determines the
service type and delegates to the appropriate type-specific recipe
(appointment, class, or course) instead of duplicating all the API
details inline.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Services should be created visible by default instead of hidden,
so users don't need an extra step to publish them.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Recipe descriptions now include natural-language trigger phrases that
match how users actually phrase requests (e.g. "create a yoga class for
$50", "set up consultations for $75"). Tags in documentation.yaml are
expanded with specific keywords like consultation, appointment, class,
course, session. This should improve vector search matching so the
routing system picks up these recipes instead of falling through to
the rootAgent.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Change /bookings/service-form/{id} to /bookings/services/form/{id}
to match the correct URL convention.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Revert expanded tags back to [bookings] only, matching the convention
used by all other booking recipes in the file.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

❌ EvalForge YAML Gate: Missing Coverage

These changed docs have no covering YAML scenario for their area (scenarios for other areas do not count):

  • skills/wix-manage/references/bookings/create-appointment-service.md — expected URL: https://dev.wix.com/docs/api-reference/business-solutions/bookings/skills/create-appointment-service — add a scenario under yaml/wix-manage-evals/bookings/
  • skills/wix-manage/references/bookings/create-booking-service-from-prompt.md — expected URL: https://dev.wix.com/docs/api-reference/business-solutions/bookings/skills/create-booking-service-from-prompt — add a scenario under yaml/wix-manage-evals/bookings/
  • skills/wix-manage/references/bookings/create-class-service.md — expected URL: https://dev.wix.com/docs/api-reference/business-solutions/bookings/skills/create-class-service — add a scenario under yaml/wix-manage-evals/bookings/
  • skills/wix-manage/references/bookings/create-course-service.md — expected URL: https://dev.wix.com/docs/api-reference/business-solutions/bookings/skills/create-course-service — add a scenario under yaml/wix-manage-evals/bookings/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant