In this tutorial, we’ll set up a service marketplace with bookings. All settings are configured without coding, using Sharetribe's no-code marketplace builder.
The example marketplace in the tutorial is a photography marketplace, but you can follow along and use your own marketplace idea and content.
We’re creating a marketplace where:
Service providers create one listing on the marketplace to offer their services. The listing doubles as a service profile and has the information customers need to make a decision and book.
Customers search for a service provider, go to the service provider’s listing, choose a service type or length if the provider has multiple options and make a booking.
When it comes to any marketplace, the most important things are your user flows:
In this tutorial, we’ll focus on these main user flows and configure them for a service marketplace with bookings. At the end of the article, you’ll find a list of the features to configure next, relevant to all marketplaces.
1. Tailor experiences for providers and customers with user types
On most service marketplaces, providers and customers need different user experiences to meet their goals. 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 service marketplace instead, you can skip user types and move directly to step two 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. For example, on a photography marketplace, this could be “Photographer”.
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 Manage users page.
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,
Save changes.
Tip: You can update the text “Display name” to “Business name” in the marketplace text editor. Marketplace texts are short pieces of text used across your marketplace website. This includes button labels, error messages, help texts, and more. In Sharetribe, you can modify texts to match your marketplace’s language and vocabulary. Learn more about marketplace texts.
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 Manage users page.
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. [your marketplace URL]/signup/user-type-id
.
You could even hide the general signup link from your top bar, and add user-type specific links there instead. This requires a bit of a workaround, but is very doable!
Hiding the signup link:
Go to the marketplace text editor.
Replace the text "Sign up" with a space in the following marketplace texts:
"TopbarDesktop.signup": "Sign up"
→"TopbarDesktop.signup": " "
"TopbarMobileMenu.signupLink": "Sign up",
→"TopbarMobileMenu.signupLink": " ",
Do not remove the keys! Only edit them. This hides the signup link from your top bar, and you can add other links to replace it.
Adding a link to a user type specific signup page:
Go to top bar settings.
Scroll down to custom links and click to add a new link.
Choose link type Internal link.
Add an internal link text, such as "Signup for providers".
Add the internal link address
/signup/user-type-id
. Substituteuser-type-id
with the relevant user type ID on your marketplace.Choose a link placement: either add it directly to the top bar or add it to a link menu.
And save changes! You can repeat the process for your other user type. Another option is to only 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.
2. Collect key information during signup with user fields
Custom user fields let you collect specific information about users during signup. 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.
We’ll create just one custom user field in this tutorial to learn how. If you don’t want to add user fields, you can move on to step three on listing types.
Go to Users → User fields.
Give the user field a descriptive name.
Add a user field ID. The ID is a unique identifier of the field.
Choose the field type. Your options are
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 user has to choose one option
Select multiple: a checkbox field where the user can choose multiple options.
Video: a field where a YouTube URL is automatically rendered as a video embed.
Decide if the field will be mandatory to fill during signup.
Determine further settings: these are different based on the field type.
Choose “Limit the listing field to a specific user type”, if you want only a specific user type to see this field during signup. Add the user type ID you want in the field.
Save changes.
Tip: You can use the Free text field to ask for website or social media account URLs. URLs starting https://
will automatically be rendered as a link in the user’s profile.
To learn more about user fields, check out these articles in our help center:
3. Define your listing creation and transaction process with listing types
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.
You have a listing type (or several) on your marketplace by default. The settings are based on the answers you gave during signup. Since bookings can be very different based on further settings, 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 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.
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.
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 URLshttps://www.example.com/s/hourly-booking
andhttps://www.example.com/s/booking-per-session
.
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 service marketplace, the likeliest choices are hourly and fixed. Here’s a quick overview of how they work:
Hourly: The booking unit is always one hour. The customer chooses the start time and the number of hours they want to book.
Fixed: Providers determine session length, and customers choose the starting time of their booking.
Enable price variations if you want to let providers add multiple pricing tiers or packages to the same listing.
If you combine price variations with the booking unit Fixed, the tiers or packages can also be different lengths. See the info box below to learn how examples listing with price variations works.
Choose one seat → Once a customer books a timeslot, that timeslot can't be booked by another user.
On a photography marketplace with fixed booking slots and price variations, a single listing could have the following packages:
Basic package: 1-hour session with 10 edited photos, 90€
Premium package: 2-hour session with 25 edited photos. 170€
Deluxe package: Half-day shoot with unlimited photos, 600 €
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 purchase decision. For example, on a photography marketplace, images are obviously important. On a business consulting marketplace, not necessarily.
Payout details required before publishing. This setting determines when a service provider has to add their payout details.
When enabled, the provider has to add their payout details before they can publish the 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 with listing fields
Custom listing fields are specific information you want service providers to add to their listing. They help customers learn more about the listing and make the right purchase 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 service 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.
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 might be the right option for you, if providers on your marketplace can offer many kinds of services, such as beauty appointments and massages.
However, categories only make sense if different providers offer different types of services. A listing can only have one category. If you expect the same providers to offer both beauty appointments and massages, it’s better to use a Select multiple listing field for the different service types as a search filter. This way, a service provider can offer both services in the same listing (with price variations), and customers who filter by one of them will still find all relevant provider.
Those were the most important user, listing, and transaction settings configured. Next, let’s test our marketplace.
5. Test your marketplace to learn how it works for your users
To test your marketplace, go to your test marketplace. You’ll find it when you click “View marketplace” at the top right corner of Console. (If you'd like more information about this step, you can find a more detailed tutorial for testing a service marketplace with bookings here.)
Here’s a quick how-to for testing the most important user flows of your marketplace:
Sign up as a provider.
Create a listing and add your payout details in Stripe’s test environment.
Log out and sign up as a customer.
Search listings and find the listing 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 be completed 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 doing this on a live marketplace is not the best choice.
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.
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 service marketplaces. However, that’s only a part of Sharetribe’s no-code features.
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 still change your marketplace settings at any time.
Further settings to check out
But Sharetribe has a lot of 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.
Search settings: Configure your search experience in the listing search settings. Choose the main search type (keyword or location) and enable further filters depending on your needs (keyword, listing type, category, seats, date range). Learn more about listing search.
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 add new functionality for users and automate admin tasks. Learn more about Zapier.
Conclusion
This tutorial went through the minimum required changes to your Sharetribe marketplace to go live. You now have a service marketplace with calendar bookings, ready to launch.
Even if you are eventually planning to customize your marketpalce 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!