In this tutorial, we’ll set up a marketplace for recurring events like educational classes, walking tours, and weekly events.
The key elements of the marketplace are:
Organizers add their recurring event to the marketplace, define the number of people who can join, how long it is, and when it takes place.
Customers search for class, tour, or experience. They book one that fits their needs, choose the number of seats and book.
All settings are configured without coding, using Sharetribe's no-code marketplace builder. You can follow along and use your own marketplace idea and content.
When it comes to any marketplace, the most important things are your user flows:
User creation
Listing creation
Search and matching
Transactions
In this tutorial, we’ll focus on these main user flows and configure them for a marketplace with recurring events. We’ll also take a look at marketplace texts to guide users through their journeys. At the end of the article, you’ll also find a list of the features to configure next, relevant to all marketplaces.
Please note that bookings for recurring events are not fully supported without coding in Sharetribe. Following this tutorial, you can set up an MVP (minimum viable platform) to validate your marketplace idea and get a great basis for custom development. The setup is fully achieved with no-code settings and changes to marketplace texts, but for the ideal experience, some custom coding is required at this time.
You can also find other tutorials for building event and experience marketplaces with Sharetribe:
Bookable, on-demand experiences (examples: private classes, experiences, and tours for groups or individuals)
One-time events (examples: concerts, gigs, seasonal events)
1. Update marketplace texts to event and experience vocabulary
In this tutorial, we’ll start with a Sharetribe feature that’s very powerful for creating the user journeys you want: marketplace and email texts. Marketplace texts are short pieces of text used across your marketplace website. This includes button labels, error messages, help texts, and more. Email texts are the copy of your automatic email notifications.
For event marketplaces, updating these texts is especially important, since many of the default texts in Sharetribe are not an exact fit.
So first, you’ll replace the default marketplace texts with event marketplace texts. You can update the texts to fit your specific idea. But I recommend using these texts to get started fast. When your setup is ready and you start testing your marketplace, you’ll be in a better position to evaluate which texts you still want to change.
Update marketplace texts
Open this document: Event marketplace texts.
Copy everything below the dividing line.
Go to the marketplace text editor in Console.
Delete all content from the editor.
Paste the event marketplace texts to the editor.
Save changes.
Update email texts
Open this document: Event marketplace email texts.
Copy everything below the dividing line.
Go to the email text editor in Console.
Delete all content from the editor.
Paste the event marketplace email texts to the editor.
Save changes.
2. Tailor the user experience for supply and demand
On many event marketplaces, providers and customers need different user experiences to meet their goals. Often, the providers are business or individual entrepreneurs, while the customers are regular consumers. You can set up unique user flows for these user groups with user type and user field settings.
If you chose B2B or B2C as your marketplace type during onboarding, your test marketplace will already have two user types. You can easily modify these user types to fit your needs.
If you’re building a peer-to-peer event marketplace instead, where any user can belong to either group, you can skip user types and move directly to step three of this tutorial.
Tip! You can combine user types with access control features like user approval. For example, if you want all customers to get approved automatically, but want to review providers before giving them access to the marketplace, you can build an automated workflow with Zapier. Check out the Zapier tutorial on approving a user based on user type to learn how.
Modify the provider user type
Go to Console → User types.
Open the Provider user type.
Modify the name to something specific to your marketplace. Descriptive names in your marketplace's vocabulary are a good idea: such as “Event organizer”, “Teacher”, “Tour guide”, etc.
Change or leave the ID as is. If you change the ID, any change you make to the user type will not be reflected in accounts with the old ID. You can update a user’s user type on the user management page.
Choose the user role Provider. This determines the basic user account experience. This user type will see the provider inbox, and their public profile will include reviews from customers.
Enable or disable user account links. For the provider user type, we'll enable:
Post and manage listings: The user type will have access to links to post listings and manage their own listings.
Payout details: The user type needs to add payout details to be able to receive payments from customers.x
Check the default user fields. You can turn two of the on or off:
Display name: Enabling the display name can be a good idea for a B2C or B2B marketplace. You can use the display name field for business names.
Phone number: The phone number is protected data, meaning that it can’t be seen by anyone else except the user themself and the marketplace operator. This is a good field to have if you expect to reach out to users in person or want to set up SMS notifications, for example.
Decide if the display name and phone number fields will be:
Included in the signup form. If not, they can still be added in the user’s profile or account, but won’t be mandatory.
Mandatory: When a field is mandatory, the user can’t sign up without filling the field.
Save changes.
Tip: You can update the text “Display name” to “Business name” or "Company” in the marketplace text editor.
To update the display name label, these are the marketplace texts to update:
"ConfirmSignupForm.displayNameLabel": "Display name",
"SignupForm.displayNameLabel": "Display name",
"ProfileSettingsForm.displayNameHeading": "Your display name",
"ProfileSettingsForm.displayNameInfo": "The display name defaults to first name plus initial of last name.",
"ProfileSettingsForm.displayNameLabel": "Display name",
"SignupForm.displayNameLabel": "Display name",
"SignupForm.displayNameRequired": "You need to add a display name.",
Modify the customer user type
Go to Console → User types.
Open the user type Customer.
Modify the name if you wish.
Change or leave the ID as is. If you change the ID, any change you make to the user type will not be reflected in accounts with the old ID. You can update the user type of a test user in the user management page.
Choose the user role Customer. This determines the basic user account experience. This user type will see the customer inbox, and their public profile will include reviews from providers.
Enable or disable user account links. For the customer user type, we'll enable:
Payment method: Customers will be able to save a payment method to their account.
Check the default user fields:
Do you want to ask customers for a display name or a phone number?
Do you want either field to be mandatory to fill?
Save changes.
Tip! You can link to dedicated signup pages for providers and customers with user-type specific URLs in the format [your marketplace URL]/signup/user-type-id]. For example: example.com/signup/tour-guide.
And save changes! You can repeat the process for your other user type. Another option is to only link to the signup for customers in your top bar and send a link for providers to sign up separately after you've vetted or sourced them in another way.
Tip! You can collect more information during signup with custom user fields. They also help your users create richer user profiles. You can create user fields for all users or limit them to certain user types only.
Remember that too many user fields can lead to people abandoning the signup form. Signup should always be as effortless as possible, so it’s best to only ask for the information that’s necessary for you to have. Learn more about user fields.
3. Build your listing creation and booking process
Your listing type(s) determines two key things:
What kind of listings providers can add to your marketplace.
What kind of transactions take place on your marketplace.
On our marketplace for recurring events, we’ll create a listing type that enables:
Providers add their class, define the number of seats (people) who can join, how long the event is, and when it takes place.
Customers search for events, choose the one they want, and book their desired number of seats.
To have this flow, you can modify your listing type or delete and start from scratch. But please note that if you already have listings in a listing type that gets deleted, those listings will stop working.
You can also have several listing types, meaning that your marketplace can support many different types of transactions at the same time.
Now, let’s get started configuring our listing type!
Go to Listings → Listing types.
Open the listing type card.
Listing type name and ID
(Optional) Modify the name to something specific to your marketplace.
If you have more than one listing type, the listing type name will be shown during listing creation and as a label for the listing type filter. If you only have one listing type, the name will not be displayed anywhere.
Change or leave the ID as is.
If you change the ID, please note that any existing test listings with the old ID will stop working.
The listing type ID will be used in listing type search URLs in the format [your marketplace URL]/s/listing-type-id. For example, if you have a marketplace with two listing types with the IDs hourly-booking and booking-per-session, you could link to a listing search with each of these types with the URLs https://www.example.com/s/book-seats and https://www.example.com/s/book-private-event.
Transaction settings
Choose a transaction process type. For this tutorial, the choice is Calendar booking.
Choose a booking unit. The options are daily, nightly, hourly, and fixed. For a class, event, or experience marketplace, the best choice is likely to be “Fixed”, as it lets providers determine session length, and customers choose the starting time of their booking. Learn about the other booking types.
Disable price variations. To support recurring events no-code, a single price and length per listing is the best solution.
Choose multiple seats. Multiple customers can book the same timeslot, which is common in recurring classes and tours.
Here's a screenshot of the listing type settings we set in this section:
Default listing fields
Choose the default listing fields. The fields you can turn on or off are:
Location: Enable or disable location depending if location is relevant to your marketplace.
Images: Enable or disable location depending if images are relevant to listings and the customers booking decision. For many experiences, seeing images of what’s in store can be extremely impactful.
Payout details required before publishing. This setting determines when a provider has to add their payout details.
When enabled, the provider has to add their payout details before they can publish a listing.
When disabled, the provider can add them after publishing the listing. Note that buyers can’t make a booking before the provider adds their payout details.
Finally, save changes.
4. Build a streamlined search experience
In this section, we’ll go through the two key features for building a search and matching experiences: listing fields and listing search settings.
Tip! Another feature that might be relevant to your search and matching experience is categories. Categories are a great way to organize listings on your marketplace and help customers find what they’re looking for. They can be very useful in an experience marketplace that offer multiple different kinds of experiences.
This tutorial doesn’t go into categories in much detail, since often they’re better to add once you’ve already gotten enough listing volume to fill your categories. In the beginning, starting with filters only is a good idea.
Add listing fields and filters
Custom listing fields are specific information you want providers to add about their experience. They help customers learn more and make the right booking choice.
Listing fields can also be used as search filters, meaning that they’re important to the search and matching experience. Customers can use them to narrow down their search to the most relevant options.
Here’s how you create them:
Go to Listings → Listing fields.
Click to add a listing field and give the listing field a descriptive name and add a listing field ID. The name will be used as the listing field label in listing creation, listing pages, and search filters.
Choose the field type. Your options are the same as in user fields:
Free text: a text field for free-form information.
Number: a field that only accepts numbers in the range you define.
Select one: a dropdown field where the provider has to choose one option
Select multiple: a checkbox field where the provider can choose multiple options.
Video: a field where a YouTube URL is automatically rendered as a video embed.
Decide if the field is mandatory for the provider to fill.
Determine further settings. These are different based on the field type.
Number: add a number range.
Select one: add minimum two options.
Select multiple: Decide if you want to show unselected options on the listing page and add minimum two options.
(Optional) Limit the field to a specific listing type or types.
(Optional) Limit the field to a specific listing category
Determine search settings. These are different based on the field type.
Free text field: Include the field in keyword search. When enabled, your keyword search will return listings based on the contents of the field.
Number, select one, and select multiple fields: Add a filter to the search page. When enabled, customers can use the field data to filter search results.
Save changes.
Adjust search settings
Finally, let’s check our search settings to guarantee a smooth search experience for customers!
Go to Listings → Listing search.
Choose a search type.
Location: Great choice for marketplaces where experiences that have a set location.
Keyword: Great choice for marketplaces where the provider comes to the customer—or the area of operation is relatively contained, and the exact location isn’t a key deciding factor.
(If you chose location search) Enable or disable the keyword filter. This will add a text field filter to your search page.
Enable or disable the listing type filter. This can be a useful filter if you have more than one listing type in use.
Enable or disable the category filter. If you’ve added categories, this filter is super important to the search experience.
Enable the date range filter.
Availability mode: Choose partial availability. If a customer searches for a range of dates, any experience with availability during those days will be included in the results.
Date range mode: Choose daily availability. A customer will be able to search for available experiences during a single date.
Enable the seats filter. Customers can filter by available seats, for example if they want to make sure a listing has availability for their full group.
Enable or disable the price filter. The price filter can be useful for customers who have a specific budget range.
Save changes.
5. Test your marketplace to learn how it works
It’s time to go to your test marketplace! While testing, you’ll notice that the booking flow might not be exactly what you need it to be. However, it may still be a good version for the first version you’ll launch to validate your marketplace idea. Or, alternatively, a great basis for discussions with Sharetribe Experts when you’re ready to start custom-coding your marketplace.
To start testing, go to your Test marketplace. You’ll find it when you click “View marketplace” at the top right corner of Console.
Here’s a quick how-to for testing the most important user flows of your marketplace:
Sign up as a provider.
Create an event and add your payout details in Stripe’s test environment.
In listing creation, you’ll notice that the provider first determines the length of their event or experience. In the next step, they’ll add the weekly time and number of seats available. They should add the exact same availability as the event length.
You’ll also notice a setting asking “When can event bookings start?” This setting is not relevant to recurring events. It’s one of the features that would need to be removed with custom-coding.
Log out and sign up as a customer.
Search for events and choose the event you created earlier.
Make a booking.
Navigate to user management in Console. Click open the provider user and click on the three dots on the left side. Click to “Log in as user”.
Navigate to the inbox and click open the latest booking request.
Accept the booking.
And done! You’ve now successfully tested all major user flows. Once the booking period is over, the transaction will complete automatically, and the provider and customer will be asked to review each other.
If you want to test the reviews right away:
Navigate to transaction management and open the transaction card. On the right side, you’ll see the options for operator actions: “Cancel” and “Operator complete”.
Click “Operator complete”. You’ve now completed the transaction as an operator. The customer's payment has been released and the provider will receive their payout. So remember: doing this on a live marketplace without user consent is not recommended.
Go to user management and log in as either user.
Navigate to the inbox and click open the booking.
On the booking page, click to leave a review.
Leave a review
Repeat steps 2-5 with your other user. The reviews will be published automatically. You can find them on the listing page, user profiles, and the review management page in Console.
If you'd like more information about this step, you can find a more detailed tutorial for testing bookings here. The tutorial is for service marketplaces, but the flow is very similar, so it gives a nice overview of the bookable experience transaction process as well.
Tip! As the operator of a Sharetribe marketplace, you can log in on behalf of your marketplace's users. This feature is useful for understanding the user experience, solving reported problems, and helping users edit their listings or user profiles.
In the test environment, you can take any action when logged in as a user, so it’s a great tool for testing user flows. In a live environment, you’ll have limited actions to take on behalf of your users.
7. Modify final settings and get ready to go live
This tutorial went through Sharetribe functionality that’s most relevant for recurring event marketplaces. However, that’s only a part of Sharetribe’s no-code features. This section lists the other settings to configure, relevant to all marketplaces.
What else you need to configure before going live
Below are the features any marketplace founder should configure before going live:
Branding: Add your brand assets, such as logo, color, favicon, and a social media image in your branding settings.
Footer: Edit and add relevant links and social media profiles and add a copyright disclaimer in your footer settings.
Content pages: Modify your landing page content, add terms of service and a privacy policy and edit or delete your About page in Pages. And add any further content page you need.
Monetization: Update your commission rates in commission settings or set up an alternative monetization model like subscriptions or one-time fees with the help of our tutorials.
After these settings, you've made the minimum updates to your Sharetribe marketplace to make it truly yours. In other words, you're ready to subscribe to a live plan and set up a live marketplace. And remember, even after going live, you can change your marketplace settings at any time.
Further settings to check out
Sharetribe has a lot more useful features that might help you fine tune your marketplace and user experiences.
Here’s a list of further settings you may want to consider modifying or configuring, depending on the exact user experience you want:
Layout: Your marketplace has layout settings based on your answers during setup, but you can change them at any time. Choose your search page and listing layouts and listing thumbnail ratio in the layout settings. Learn more about layout options.
Access control: If you want to differentiate further between the providers and customers in your marketplace, access control features let you do that. For example, you could only give publishing rights to providers to guarantee high quality listings. Learn more about access control.
Top bar: By default, the top bar includes the logo, search bar, and links to sign up, log in, and a button to post a new listing. In the top bar settings, you can add links to other pages. You can also hide the search bar or the link to post a listing. Learn more about the top bar.
Marketplace texts: Marketplace texts are short pieces of text used across your marketplace website. This includes button labels, error messages, help texts, and more. With the marketplace text editor, you can edit all of these texts. Learn more about marketplace texts.
Email texts: Similarly to the marketplace text editor, the email text editor lets you modify the text content of the automatic emails sent to users from your marketplace at key events, like when a booking happens. Learn more about email texts.
Zapier: Zapier is a tool to automate workflows without coding with a built-in integration with Sharetribe. You can use Zapier to automate admin tasks and add new functionality for users, such as instant bookings. Learn more about Zapier.
Conclusion
This tutorial went through the minimum required changes to your Sharetribe marketplace to go live. You now have a marketplace for recurring events with calendar bookings, ready to launch.
Even if you are eventually planning to customize your marketplace with code, it’s still a good idea to set up your platform as close to your plans with Sharetribe’s no-code tools. You can launch it as an MVP or use it as a basis to discuss your unique requirements with potential developers.
Remember to test your marketplace to learn how it will work for your eventual users. And once you’re ready, it’s time to take the plunge and go live—just click “Go live” in Console, start a live subscription, and get ready to launch!
