Subscription
Allows recurring services and payments through a subscription to be sold by an offerer and to be requested by an asker
Why
The inter-user subscription feature is a convenient way for both offerers and askers to manage recurring services and payments. By subscribing to a service, askers can avoid the hassle of repeatedly booking appointments and negotiating payment terms, as everything is automated through the subscription.
Similarly, offerers can benefit from the subscription model by having a predictable revenue stream and being able to better plan their service offerings over a set period of time. The subscription feature also helps to establish a more long-term and loyal relationship between offerers and askers, as it encourages repeat business and provides a sense of security and reliability.
Overall, the inter-user subscription feature simplifies the process for both offerers and askers, improves transparency and predictability, and ultimately leads to a better experience for everyone involved.
Which context
Our service bundle offers a convenient one-time booking option for our users. However, if the service requires multiple appointments, users will need to negotiate terms and conditions, as well as payment arrangements. To simplify this process, we offer inter-user subscriptions, which enable automatic payments during a user-specified period.
This subscription model benefits both askers and offerors. Offerors can easily track the services they will provide over a specific period, while askers can monitor the progress of the service and avoid any interruptions by automating payments. With all this information available in one booking, both parties can have full visibility and transparency throughout the process.
Interfaces
You can find here all interface documentation related to the Inter-user subscription.
SBO:
Front:
Attributes filter
When the inter-user subscription is enabled on the platform, the attributes filter has one more field (figure…) , to allow the user to filter the search result page, with:
All service,
One-shot services,
Subscription service
Dashboard:
Listings dashboard (subscription)
Configurations
You can set your platform by having:
Service + subscription platform
Service platform
Subscription platform
The subscription feature can be configured in the SBO > Configurations > Feature > Service Types
Workflows
The billing cycle start date is triggered "X" days before the subscription period start date. where "X" = cocorico_booking.subscription_automatic_payment_attempt_delay. By default, the billing cycle starts two days before the subscription's start date.
Subscription status
Pending: the subscription request is waiting for the offeror acceptation
Canceled: the subscription request was canceled by the asker
Declined: the subscription request was canceled by the offeror
Accepted: the subscription request was accepted by the offerer
Payment Error: the next subscription period has a payment issue
In the event of a payment error for an upcoming subscription period, the user's payment status will be marked as 'Payment Error.'
The user is given the opportunity to update their credit card information for another payment attempt, which initially transitions the status to 'Pending.' However, it's important to note that the number of allowed payment attempts is subject to the policies of the specific Payment Service Provider (PSP).
If a valid payment method is not added before the next billing cycle, the user is required to contact the platform operator. The platform operator can manually process the transaction through the PSP dashboard after receiving the user's valid payment information.
If a valid payment method is still not provided before the upcoming billing cycle, the subscription will be flagged as "Failed" on the PSP dashboard. However, on the subscription management platform (SBO), the status will persist as 'Payment Error.' The subscription will not be closed or transitioned to any other status besides 'Payment Error' on the SBO, emphasizing the importance of resolving the payment issue to ensure the continuity of the subscription.
Paid: the first period was paid successfully but the period didn’t start yet (payment attempt delay)
Active: the next period starts and it’s paid (new cron command required)
Canceled: the next period was canceled and ( there is no current paid period or the current paid period ends ) (new cron command required)
Subscription Period Status
Pending: the next period, is waiting for subscription acceptance or for payment
Canceled by asker: the next period was canceled by the asker
Declined: the subscription request was canceled by the offeror
PaymentError: the next period has a payment issue
Paid: the next period was paid successfully but the period didn’t start yet (payment attempt delay)
Active: the next period becomes active when the period starts (new cron command required)
Done: the current paid period becomes done when the period ends (new cron command required)
Canceled: the current period is paid or pending, and the active period (if any) becomes Done when the period ends.
Invoices
At each subscription period renewal (weekly, monthly, or yearly), the customer processes a new payment, and a new invoice is generated.
The invoice contains information about subscription periods, fees, prices, VAT, and other relevant details, as shown in the following image.
The subscription fees are the same as the standard booking fees and are billed with each renewal.
The subscription feature currently provides options for weekly, monthly, and yearly renewals. For detailed instructions on configuration, please refer to the Subscription Frequencies section located within the Feature section.
Special rules
Review rules
The asker can review the recurring booking. The review will be based on one review for the subscription. The review can be edited until the subscription is canceled.
Incompatibilities
For now, the Coupon, upgrades, and mediation are not working with the inter-user subscriptions, but it still works with the Flat-Rate rendering type. So if you have your platform set with Flat-Rate rendering type + Inter-user subscription you will be able to set vouchers and upgrades for service listings but not for Subscription ones.
Users are not able to book a one-shot service and recurring services in the same booking.
Test environment
To test the inter-user subscription feature, with all statuses and several periods, we developed a tool that allows us to move in time on the platform. This part works with the payment workflow and the PSP.
For the moment it is only compatible with Stripe PSP, and MangoPay.
Stripe PSP
Last updated
Was this helpful?