This article presents sample flows for common Wix Meetings developer scenarios. You're not limited to these use cases, but they can be a helpful starting point for planning your implementation.
If your code relies on Wix Meetings, provision the required infrastructure, set up a host, and create a scheduling link.
wix.meetings.form namespace.APPOINTMENT with the Wix Meetings appId."appId": "6646a75c-2027-4f49-976c-58f3d713ed0f" to retrieve the default service created by provisioning. Save the service ID, mainSlug.name, schedule.id, form.id, and bookingPolicy.id.mainSlug.name, and schedule.id from the response.schedule.availabilityConstraints.sessionDurations set to the desired duration in minutes.accountOwnerId of the collaborator you want to assign as a host.
Admins (co-owners) and backoffice managers have full access, while website managers, development site managers, and bookings admins can only manage their own meetings.accountOwnerId.By default, meetings are free. To charge customers, configure pricing on the service entity.
payment.rateType to FIXED and payment.fixed.price to the desired amount and currency.payment.options.deposit with the deposit amount.Once payment is configured, the Meetings scheduling page automatically guides customers through the Wix eCommerce checkout flow. For a custom checkout, see Handle Payments with a Custom Checkout.
Learn more about service payment options.
Connecting a host's external calendar prevents double-bookings across Google, Outlook, and iCloud calendars.
id and features.connectMethods to determine whether to use OAuth or credentials.fields: ["RESOURCE_DETAILS"]. Save the host's schedule ID from resource.eventsSchedule.id.scheduleId, providerId, and a redirectUrl. Redirect the host to the returned oAuthUrl. After authorization, the host is redirected to your redirectUrl with a connectionId query parameter.scheduleId, providerId, email, and password.syncConfig.listEventFromCalendars.enabled for import and syncConfig.syncToCalendar.enabled for export to confirm sync directions.To let customers book meetings, share the scheduling link URL. When a customer opens the link, the Meetings scheduling page handles the full booking flow automatically, including time slot selection, form submission, and payment if applicable. You don't need to call Create Booking unless you're building a fully custom booking experience.
urls.bookingPage.url and the service's URL identifier in mainSlug.name.urls.bookingPage.url with customers through email, WhatsApp, QR code, or your app's UI.To temporarily stop bookings for a specific scheduling link, update the service and set onlineBooking.enabled to false.
revision.id: the service ID.revision: the latest service revision.onlineBooking.enabled: false.extendedFields.namespaces["@services/meetings"].deactivatedRedirectUrl to the target URL.To reactivate the link, call Update Service again with onlineBooking.enabled: true.
To reschedule an existing meeting to a new time slot:
bookedEntity.slot.serviceId and the current revision.serviceId, timeZone, fromLocalDate, and toLocalDate. Display the available slots for the customer to select.localStartDate and localEndDate, to verify it's still available.startDate, endDate, scheduleId, resource, and location), and the current revision.To cancel a meeting:
revision.flowControlSettings to handle the refund:
withRefund to true to refund pricing plan payments.waiveCancellationFee to true to waive any cancellation fee.Last updated: 5 July 2026