Skip to main content

How to set up a marketplace for on-demand experiences

Learn how to build a no-code marketplace for events like private classes or experiences with calendar bookings.

Katri Antikainen avatar
Written by Katri Antikainen
Updated over 2 weeks ago

In this tutorial, we’ll set up a marketplace for on-demand experiences such as private classes, walking tours, workshops, and so on. The key elements of the marketplace are:

  • Organizers add their class, event, or experience to the marketplace and define its length and availability.

  • Customers search for experiences. They book the experience that fits their needs, choose a starting time from the availability 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 experience bookings. We’ll start with a part of your marketplace that touches each of these flows, marketplace texts—in other words, your marketplace’s UI copy.

At the end of the article, you’ll find a list of the features to configure next, relevant to all marketplaces.

There are many kinds of event and experience marketplaces. Check out our tutorials for other kinds of event marketplaces:

Let’s get started with the no-code tutorial!

1. Update your marketplace vocabulary to event marketplace texts

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.

Update marketplace texts

  1. Open this document: Event marketplace texts.

  2. Copy everything below the dividing line.

  3. Go to the marketplace text editor in Console.

  4. Delete all content from the editor.

  5. Paste the event marketplace texts to the editor.

  6. Save changes.

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 email texts

  1. Open this document: Event marketplace email texts.

  2. Copy everything below the dividing line.

  3. Go to the email text editor in Console.

  4. Delete all content from the editor.

  5. Paste the event marketplace email texts to the editor.

  6. Save changes.

Same as above, you can update the email texts to fit your specific idea at any time. But starting with the texts in the document helps you get started faster! You can always return to email and marketplace texts when there are no other pressing things for you to do first.

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 event or experience organizers, while the customers are individual consumers. You can set up unique user flows for these user groups with user type and user field settings.

If you’re building a peer-to-peer experience 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

  1. Open the Provider user type.

  2. Modify the name to something specific to your marketplace. Descriptive names in your marketplace's vocabulary are a good idea: such as “Event organizer”, “Business”, or “Experience provider”. Or even more specific based on your marketplace idea: “Book club”, “Tour company”, “Escape room”, etc.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. 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,

  8. 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

  1. Open the user type Customer.

  2. Modify the name if you wish.

  3. 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 Manage users page.

  4. 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.

  5. 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.

  6. 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?

  7. Save changes.

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. Define your event 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.

In our on-demand experience marketplace, we’ll create a listing type that enables:

  • Providers to determine the length and availability of the experience they offer.

  • Customers to book the experience through a listing.

You have a listing type (or several) on your marketplace by default. The settings are based on the answers you gave during signup. It’s good to check your settings and test carefully to know that your booking flow works like you want it to.

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 listings transactions at the same time.

Now, let’s get started configuring our listing type!

  1. Open the listing type card.

Listing type name and ID

  1. (Optional) Modify the name to something specific to your marketplace, such as “Event”, “Class”, “Workshop”, etc.

    • The listing type name will be shown during listing creation and as a label for the listing type filter if you have more than one listing type. If you only have one listing type, the name will not be displayed anywhere.

  2. 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 book-class and book-private-event, you could link to a listing search with each of these types with the URLs https://www.example.com/s/book-class and https://www.example.com/s/book-private-event.

Transaction settings

  1. Choose a transaction process type. For this tutorial, we choose Calendar booking.

  2. Choose a booking unit. The options are daily, nightly, hourly, and fixed. For an 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.

  3. Disable or enable price variations.

    • If you disable price variations, providers can only add one price for the experience.

    • If you enable price variations, providers can add multiple pricing tiers or packages to the same listing. This can make sense if the experience is priced by the number of guests. See a breakdown below.

  4. Choose one seat. Once a customer books a timeslot, that timeslot can't be booked by another user.

Here's a screenshot of the listing type settings we set in this section:

Transaction settings set up in Console as described above.

On an experience marketplace with fixed booking slots and price variations, a single listing could have the following packages:

  • 1-2 guests: 90€

  • 3-4 guests: 120€

  • 5-6 guests: 140€

Default listing fields

  1. Choose the default listing fields. The fields you can turn on or off are:

    • Location: Enable or disable location depending if the events on your marketplace always happen in a specific location.

    • Images: Enable or disable images depending if images are relevant to listings and the customer’s booking decision. For most 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.

      1. When enabled, the provider has to add their payout details before they can publish a listing.

      2. 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 and matching 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:

  1. 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.

  2. 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.

  3. Decide if the field is mandatory for the provider to fill.

  4. 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.

  5. (Optional) Limit the field to a specific listing type or types.

  6. (Optional) Limit the field to a specific listing category

  7. 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.

  8. Save changes.

Adjust search settings

Finally, let’s check our search settings to guarantee a smooth search experience for customers!

  1. Choose a search type.

    1. Location: Great choice for marketplaces where experiences that have a set location.

    2. 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.

  2. (If you chose location search) Enable or disable the keyword filter. This will add a text field filter to your search page side bar.

  3. Enable or disable the listing type filter. This can be a useful filter if you have more than one listing type in use.

  4. Enable or disable the category filter. If you’ve added categories, this filter is super important to the search experience.

  5. Enable the date range filter.

    1. Availability mode: Choose partial availability. If a customer for a range of dates, any experience with availability during those days will be included in the results.

    2. Date range mode: Choose daily availability. A customer will be able to search for available experiences in a single date.

  6. Disable the seats filter. Since we disabled seats in listing type settings, there’s no need for a seats filter.

  7. Enable or disable the price filter. The price filter can be useful for customers who have a specific budget range.

  8. Save changes.

5. Test your marketplace to learn how it works

It’s time to 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:

  1. Sign up as an event organizer.

  2. Create an event and add your payout details in Stripe’s test environment.

  3. Log out and sign up as a customer.

  4. Search for events and choose the event you created earlier.

  5. Make a booking.

  6. 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”.

  7. Navigate to the inbox and click open the latest booking request.

  8. 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:

  1. 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”.

  2. 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 doing this on a live marketplace is not the best choice.

  3. Go to user management and log in as either user.

  4. Navigate to the inbox and click open the booking.

  5. On the booking page, click to leave a review.

  6. Leave a review

  7. 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.

6. Modify final settings and get ready to go live

This tutorial went through Sharetribe functionality that’s most relevant for on-demand experience 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:

  1. Branding: Add your brand assets, such as logo, color, favicon, and a social media image in your branding settings.

  2. Footer: Edit and add relevant links and social media profiles and add a copyright disclaimer in your footer settings.

  3. 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.

  4. 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 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 verified 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.

  • 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 for your Sharetribe marketplace to go live. You now have an experience marketplace 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 ideal setup 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!

Did this answer your question?