This article presents possible use cases and corresponding sample flows that you can support. It provides a useful starting point as you plan your implementation.
A fitness studio offers specialized training programs that require instructor approval before members can join. Members browse the available programs and submit applications, which Wix users review and either approve or decline based on prerequisites and capacity.
To handle member-initiated program applications:
programId. The application is created with status set to APPROVAL_PENDING, using the calling member's identity.status to retrieve the applications waiting for review.status to APPROVED. To reject the request instead, call Decline Join Application.A member can withdraw their own request at any point before it's approved by calling Cancel Join Application.
A corporate wellness program invites specific employees to executive coaching sessions. The program administrator sends targeted invitations to selected members, who then accept them.
To manage owner-initiated program invitations:
memberId, programId, and status set to INVITED.jobId to Get Async Job to track progress.joinApplicationId, which changes status from INVITED to APPROVED.To withdraw an invitation that a member hasn't accepted, call Delete Join Application.
A professional development program offers both one-time workshop fees and monthly subscription options. Members apply a discount coupon during checkout and choose their preferred payment method.
To process program payments and discounts:
APPROVED, call Prepare Payment with paymentType set to SINGLE_PAYMENT or PAID_PLANS.paymentStatus. If it's PAYMENT_SUCCESSFUL with paymentInfo.paidPlanIds, an existing Pricing Plans entitlement covers the program and no checkout is needed. Continue only when it's PAYMENT_IN_PROGRESS.couponCode to discount the order total.paymentStatus and the participant created when payment succeeds.paymentStatus moves from PAYMENT_PENDING through PAYMENT_IN_PROGRESS to PAYMENT_SUCCESSFUL, PAYMENT_FAILED, or PAYMENT_CANCELED, based on the payment result. Members retry a failed or canceled payment by calling Prepare Payment again.
A large organization runs quarterly training programs and needs to process hundreds of applications and send mass invitations to different employee groups.
To bulk manage applications and invitations:
memberId, programId, and status set to INVITED for each.member.email or member.firstName to find specific applications.jobId to Get Async Job to track progress.status and paymentStatus to monitor progress and generate reports.Last updated: 9 September 2026