Products and Services

It’s come time to sell our software products, and our services, to our customers. But like with other parts of our stack, we’ve chosen to build a system that you’ll be able to use, as well!

Data Architecture

We now implemented two types of streams: Assets/product and Assets/service. Products can contain other products, in a hierarchy that looks like this:

Users plugin
|- Included: Basic Functionality
   |- Profiles
   |- Roles
   |- Relationships
|- Additional Option: Avatars
|- Additional Option: Backgrounds

Each product may also come with services, such as customizing, hosting, moderating etc. A service (Assets/service( may have one or more related tasks (Streams/task) that need to be completed. People who have access will be able to see the progress on the tasks, and pay for their completion.

The community and its admins can add products, or invite some others to add their products to the catalog. Customers can then come and mark the products they want.

Some applications, like replace Products with Topics. You can learn topics and subtopics. Then, services can include things like tutoring, grading, translating etc.

Still other applications can replace Products with checklists of Goals. For example, when you are planning a Wedding, you will need to rent a Wedding Hall, order Catering, etc. Each of these might consist of products and services. And in our decentralized system, each can be supplied by a different provider!

Offering a Service

When it comes to each Product / Topic / Goal etc. providers can offer specific services. People can then view the ratings and reviews, the prices availabilities of each provider, and choose to request to reserve that provider’s services. Each service comes with a basic Agreement, but in the future, the agreements framework can become more complex.

Providers can post their availabilities and relate them to the service, in general. Each availability can have its own price, which is typically taken from a private template the provider already has. Providers would have a history of ratings, reviews, and disputes from previous services and tasks they have completed.

The provider may employ various staff (as a “job creator”) and pay credits to advertise their availabilities on the site. Users in self-serve mode discover providers when browsing services, and reserve their time. Or they may be assigned a “case manager” by the community, who meets with them, understands their needs, and takes care of the entire hiring process.

Unlike recurring subscriptions, payment for services depends on successfully completing the tasks to everyone’s satisfaction. Paying a provider is typically done in Credits (which correspond to the community’s local currency) and can proceed in up to three phases:

  1. Reserve (request, and pay a partially refundable deposit to prepare your place)
  2. Purchase (when you arrive, scan QR code of the staff member serving you)
  3. Finalize (release the money, rate and review. Or you can start a dispute)


Services sometimes involve tasks being completed, which in turn, may depend on other tasks. The templates for services and their tasks hierarchy only have to be set up once, and can be cloned as necessary.

The tasks, may depend on purchasing other products and services, provided by subcontractors of the provider. The provider may have special bulk discounts with their subcontractors. However, in the Qbix ecosystem, the customer might go through and choose their own providers to take care of various parts of the hierarchy. Each relevant party (customer, provider) can be notified when each specific task they are waiting on is done, and when their own task is ready to be completed.

The price of a service refers to how much the provider charges. On the other hand, “costs” refers to how much the provider would pay for downstream tasks. In the future, we may also implement auctions, where N people sign up for an event or course, or pay for a service, and after it is filled, but until it begins, people can pay more to bump those who paid the least.

In this way, the Qbix Platform helps coordinate not just the tasks, but the payment for the tasks, and dispute resolution. As time goes on, and tasks are done many times by multiple provider, can also help with ratings, reviews, cost and time estimates.