Built-In Features of the pOS Marketplace Template
This article includes the latest list of features in the pOS Marketplace Template. We describe each feature through user stories — short, simple descriptions of the feature told from the perspective of the person who uses it.
We continuously add new features and update this list.
Roles
The user stories in the feature list refer to these predefined roles:
- Anonymous user: A user browsing the marketplace who has not registered (yet).
- Registered user: A user who has registered an account on the marketplace.
- Buyer: User who purchases items on the marketplace. Currently, the Buyer can use the shopping cart functionality without registering but has to register during checkout.
- Merchant: (Invited by admins only) User registered as a Merchant on the marketplace, sells items.
- Admin: User registered as an administrator of the marketplace, have permissions to manage and explore user activity (Buyers, Merchants).
- Company Employee: Employees and other team members (e.g. contractors) of the company that owns the marketplace.
Features
Note
We strive to use inclusive language and avoid writing "see" as described in our Documentation Style Guide. We use it here because we want to keep user stories compatible with End-to-End tests. For example, in platformos-documentation/tests/codecept/Navigation_test.js: I.see("Liquid Markup", "aside .active a");
Sign-up
Sign-up functionality including verification for already taken email address and valid email format. Possible integration with third party identity providers through OAuth2.
User stories
As a Anonymous,
- I can sign up.
- I can sign up through third party identity provider
- I cannot sign up using an already taken email address.
- I cannot sign up using an invalid email address.
- I must agree to Terms of Service and Privacy Policy conditions.
As a Admin
- I can create a new Organization
- I can invite new Merchants to the Organization
Login
Login functionality for different roles in the marketplace (Admin, Buyer, Merchant) that includes verification of credentials, email addresses, and consent to Terms of Service and Privacy Policy. It also includes a password reset functionality. Supported 2FA if enabled. Session duration is fully configurable, including more sophisiticated business rules like different session duration depending on user roles.
User stories
As a Buyer,
- I can log in using valid credentials to my Buyer account.
- I am prompted to provide TOTP code if 2FA is enabled on my account.
- I cannot log in using invalid credentials.
As a Merchant,
- I can log in using valid credentials to my Merchant account.
- I am prompted to provide TOTP code if 2FA is enabled on my account.
- I cannot log in using invalid credentials.
As an Admin,
- I can log in using valid credentials to my Admin account.
- I am prompted to provide TOTP code if 2FA is enabled on my account.
- I cannot log in using invalid credentials.
As a Anonymous,
- I have to provide a valid email address (the system verifies validity).
- I can request to reset my password.
- I can enter the reset password page form and reset my password.
Language
Language-switcher functionality.
User stories
As an anonymous user,
- I can change between different languages of the marketplace.
- I can browse the user interface and item details in the language I selected.
As an Merchant
- I can add product details in multiple languages.
As an Admin
- I can add/remove categories in multiple languages.
- I can add/remove promo codes details in multiple languages.
- I can manage copy of all static pages (e.g. Terms of Service, Privacy Policy, FAQ, Contact Us) in multiple languages.
Shopping Cart
Shopping Cart functionality for anonymous and registered users (Buyers) to put items in the shopping cart, remove them, change their quantities, and pay for them.
User stories
As an anonymous user,
- I can add a product to the shopping cart.
- I can register and add another product to the same shopping cart as a registered user.
- I can remove an item from the shopping cart.
- I can change the quantity of an item in the shopping cart.
- I can see the number of items in the shopping cart in navigation.
- I can see the price for each product and the total price for all products added to the cart.
- I can continue shopping after adding an item to the cart.
- I can't add/have more than the limit provides for maximum shopping cart price and/or max line items.
- I can log in to my account and have my shopping carts merged.
As a registered user,
- I can add a product to the shopping cart.
- I can add the same product to the shopping cart.
- I can add another product to the shopping cart from the same Merchant.
- I can add another product to the shopping cart from another Merchant.
- I can remove an item from the shopping cart.
- I can go back to the shopping cart if I abandon the flow before Payment.
- I can change the quantity of an item in the shopping cart.
- I can see the number of items in the shopping cart in navigation.
- I can continue shopping after adding an item to the cart.
- I can't add/have more than the limit provides for maximum shopping cart price and/or max line items.
Search
Search functionality for items, with quick search feature, and sorting by price, relevance, merchant, category, and keyword.
User stories
As an anonymous or registered user,
- I can see a list of relevant products when I enter a search keyword.
- I can sort search results by price (ascending and descending) and relevance.
- I can set a minimum and maximum Price.
- I can set a category filter and min/max price all at once.
- I can search for products belonging to multiple merchants.
- I can use 'quick search' for quick product search.
- I won't see affiliate links when sorting by price.
- I am taken to the product detail page after clicking a product image or name in the search results.
As a Buyer,
- I can see SEO friendly URLs for items.
- I can see SEO friendly search page.
- I can search for items by category, and keyword.
- I can browse products belonging to a selected Merchant.
- I can see a list of all Merchants.
Products
Functionality related to the display of items sold on the marketplace.
User stories
As a registered user,
- I can add a product to the wishlist.
- I can remove a product from the wishlist.
- I can access the wishlist with a list of items that I could add.
As a Buyer,
- I can see the merchant's name that the product belongs to.
- I can contact a merchant to obtain more information about a product.
- I can see if an item is out of stock.
- I can see if a product is available only on a merchant's site.
- I can see shipping type information in the product details page.
- I can see the price before and after the discount.
Merchant
Features for Merchants.
User stories
As a Merchant,
- I can list my Inventory.
- I can give each of my employees separate credentials.
- I can manage stock for items - SKU, quantity, price, highlighting discounts, product details in multiple languages.
- I can add promo codes for my products.
Orders
Features for managing orders.
User stories
As a Merchant,
- I can see my orders.
- I receive an order confirmation via email.
- I can confirm orders (if auto-confirmation is not enabled on the marketplace).
- I can cancel orders.
- I can see details of orders.
- I can see the status of an order.
- I get notified if a Buyer cancels an order.
- I can set my order to automatically expire after 'x' time in case the Buyer doesn't pay for this order.
- I can approve/reject the request for return of an item
As a Buyer,
- I receive an order confirmation via email.
- I can cancel my unpaid order.
- I can see my orders.
- I can see the details of orders.
- I can change my order's delivery address.
- I can see the status of my order.
- I can choose a delivery option between pick-up by myself and shipping to address.
- I can trigger a return of an item flow
- I can see my order history.
As a anonymous,
- I can proceed to checkout.
- I can provide promo code to get a discount
- I can pay for my order.
- I can re-try to pay for my order if the payment fails.
- I receive an order confirmation via email.
- I receive an order expired via email if not paid on time.
Delivery
Functionalities related to shipping and delivery.
User stories
As a Merchant,
- I can reject the return request.
- I can approve the return request.
- I can see return request details.
- I can mark an order as ready to be picked up.
- I can mark an order as shipped.
As a Buyer,
- my default address persists.
- I can return an item within X days (per Item).
- I am informed about delivery updates.
- I can select a method for returning an item (store or delivery).
- I have the possibility to return a specific quantity of the product I ordered.
Direct Messaging
User stories
As a Merchant,
- I can message a Buyer regarding an order.
- I receive a notification when a Buyer messages me.
As a Buyer,
- I can message a Merchant regarding an order.
- I receive a notification when a Merchant messages me.
Profile
User profile-related functionality.
As a Buyer,
- I can change my email, password, first name, last name, and mobile phone number.
- I can enable/disable 2FA on my account.
Marketplace Admin Portal
The Marketplace Admin Portal provides management functionalities for the employees of the marketplace owner.
User stories
As a Company Employee,
- I can log in to the Admin Portal.
- I can see a dashboard with key metrics - users, products, sales
- I can see all the sold products.
- I can see the list of signed up users.
- I can see the list of all products.
- I can see the list of all orders.
- I can manage categories.
- I can manage promo codes.
- I can manage products attributes (e.g. size, color).
- I can manage static pages (Terms of Service, Privacy Policy, FAQ, Contact Us).
- I can manage site settings (e.g. session duration, password policy, 2FA settings).
- I can manage marketplace settings (e.g. max shopping cart price, max line items).
- I can generate persisted CSV reports for users, products, and orders
Other
User stories
As an anonymous user,
- I can contact the support of the marketplace owner company through a contact us page.
- I can read terms of service, FAQ, privacy policy pages.
- I can share a link to the product and see a nice summary of the link (using OG tags).
As a registered user,
- I receive emails in the language that I set up during registration.