Create Class Service from Prompt

Download skillThe skill is a reference md and part of wix-manage skill. You can use the following command to add the full wix-manage skill to your project:
Copy

When to Use

  • User wants to create a group class: "create a yoga class", "set up a pilates class", "add a group fitness session", "create a weekly meditation class"
  • The service type is CLASS — a single event or recurring series that multiple customers can book
  • Customers can sign up for one, several, or all sessions in a class series
  • For general service creation where the type is ambiguous, see Create Booking Service from Prompt

Prerequisites


Step 1: Gather Business Context

Run these queries to collect site data for informed defaults.

1a. Query Service Categories

Copy

1b. Get Site Currency

Copy

Extract properties.paymentCurrency. Fall back to USD if unavailable.

1c. Query Existing Services (Duplicate Check)

Copy

Warn the user if a service with a similar name already exists.

Note: Staff queries are optional for CLASS services since staffMemberIds is ignored by the API. However, querying staff can still be useful for context (e.g., mentioning instructors in the description).


Step 2: Apply Class Defaults

For any fields the user did not explicitly specify:

FieldDefaultNotes
Capacity10defaultCapacity — required for CLASS
Online bookingEnabledonlineBooking.enabled: true

Pricing (if not specified)

  • Use the site's currency from Step 1b
  • If user specifies a price → rateType: "FIXED" (per session)
  • If user says "free" → rateType: "NO_FEE", options.inPerson: true, options.online: false
  • If no price mentioned → infer from context (yoga/fitness classes ~$15-30, art/music ~$20-40) or default to free

Capacity (if not specified)

  • Default: 10 participants
  • If user mentions capacity (e.g., "small group of 6", "up to 20") → use their number
  • Typical ranges: small group 4-8, standard 10-20, large 20-50

Category

  • If categories exist → assign the most relevant one (e.g., "Fitness", "Wellness")
  • If no categories exist → create one:
Copy

Service Name & Description

  • Use the user's wording for the service name
  • Generate a brief, professional description (1-2 sentences) mentioning it's a group class

Step 3: Create the Class Service

CRITICAL: CLASS services do NOT use staffMemberIds or sessionDurations. These fields are ignored. Use defaultCapacity instead.

Paid class:

Copy

Free class:

Copy

CLASS-Specific Reminders

  • Do NOT include staffMemberIds — it is ignored for CLASS services
  • Do NOT include schedule.availabilityConstraints.sessionDurations — not used for CLASS
  • defaultCapacity is required — sets max participants per session
  • After creation, class sessions must be scheduled separately via bulkCreateEvents using the returned service.schedule.id (see Create and Update Booking Services)

Save the serviceId from the response: results[0].item.service.id


Step 4: Navigate to Service Form

Use the RUN_IN_BROWSER tool to navigate the user to the service form for final review:

Copy

This executes in the user's browser and redirects them to the service editing page.


Step 5: Summary Message

Provide a summary including:

  1. What was created — service name, price per session, capacity
  2. Assumptions made — list defaults used (e.g., "I set the capacity to 10 participants since you didn't specify")
  3. Schedule note — remind the user that class sessions still need to be scheduled
  4. Next steps — "Click Save to finalize, then set up the class schedule"
  5. Offer to adjust — "Want me to change the price, capacity, or description?"

Example:

I created "Vinyasa Yoga Class":

  • Type: Class (group session)
  • Price: $25 per session
  • Capacity: 10 participants
  • Category: Fitness

I assumed a capacity of 10 since you didn't specify. You can review and adjust the details in the service form.

Next step: You'll need to set up the class schedule (days and times) in the service form.


Error Handling

ErrorCauseAction
428 "App not installed"Bookings not installedInstall using Install Wix Apps
400 "INVALID_PAYMENT_OPTIONS"Payment misconfiguredFree: inPerson: true, online: false. Paid: price > 0
403Permission deniedInform user they lack permission

Payment Validation Quick Reference

rateTypeoptions.onlineoptions.inPersonValid?
FIXEDtruefalse
FIXEDfalsetrue
FIXEDtruetrue
NO_FEEfalsetrue
NO_FEEtruefalse
Anyfalsefalse

What This Skill Does NOT Cover


API Documentation Reference

Did this help?