Giter Club home page Giter Club logo

Project

This is an attempt to model a simple Manufacturing Reverse marketplace as a set of smart contracts.

What is a reverse-marketplace?

In a classic marketplace the suppliers publish their products for sale while buyers are actively searching for products. Product catalogs are usually predefined and the product selection does not change fundamentally.

In a reverse-marketplace, there is no predefined product catalog. The buyers have needs for a product/services to be manufactured/served by suppliers. Buyers publish their RFQ (request for quote) on the marketplace, and thus creating a dynamic "product catalog" on the marketplace. Examples are manufacturing marketplace for parts, contracting services marketplaces.

Why is it suitable for DAML and DLT?

B2B Manufacturing and wholesale marketplaces could get more complicated because there could be many other actors participating in the workflows - creditors, couriers, insurers, warehouses, etc, and consequently the workflows are more complicated and could vary a lot when many parties are involved.

The main issues between all of the actors are trust, privacy, confidence. They all need assurance that everyone in the workflow is trustworthy, transactions are private but transparent, and that the outcomes are predictable and fair. Even more, since the order values are fairly high -- 1K, 100K, or more.

Having clear, fast and automated contracts improves the efficiency of all participants businesses.

Workflow

Here, we'll consider only a simple workflow involving shipment via courier. This includes concepts such as RFQ, Quote, Order, Shipment. Handling Payments are excluded, although it would be very interesting to explore later.

Actors:

  • buyer
  • supplier
  • courier

Concepts:

  • RFQ - request for quote - created by Buyer, describes what the buyer whats manufactured and how much of it, and various details.
  • Quote - always based on a RFQ, what a supplier can fulfill from a RFQ, fully or partially, and its cost and delivery estimates
  • Order - Buyer's order to a supplier based on a Quote. This is the actual final contract between parties for delivery of goods. It includes also the shipping contract, and clear conditions.

Communication Diagram of a typical workflow

Successful Workflow

  1. Buyer creates RFQ and makes it visible to Suppliers he prefers
  2. Supplier considers and estimates a quote X. Asks Courier for a shipment offer -- this is omitted from the model
  3. Courier provides a shipment proposal (draft contract) to be included in the quote and visible to supplier, and buyer
  4. Supplier reviews and includes the shipment proposal in the quote
  5. Supplier Creates a quote with a draft order contract including the shipment proposal
  6. Buyer reviews the quote, the total costs and Accepts the Quote, which creates a Quote.
  7. Supplier manufactures the Order, and when done invokes Shipping of Order, which turns the contract on and
  8. Courier takes care of the delivery
  9. Courier updates tracking information in the Shipment
  10. Buyer receives the shipment and triggers delivered on the Order

This is workflow is reproduced in the test cases here: Workflow Test cases

Ideas for further work

  • implement locked credit for RFQ to prove the availability of funds for the RFQ and payments
  • include creditor as a provider of funds for RFQ
  • implement "sample order" as a pre-requisite for a supplier to receive a full order and full payment

Todor Todorov's Projects

aws-sdk-java icon aws-sdk-java

Official mirror of the AWS SDK for Java. For more information on the AWS SDK for Java, see our web site:

aws-swf-maven-sample icon aws-swf-maven-sample

AWS Simple Workflow Framework Mavenized Project with the HelloWorld sample from AWS-SWF samples.

cas icon cas

Jasig CAS - Single Sign On for the Web

chap-links-library icon chap-links-library

a web based visualization library for displaying graphs, networks, and timelines

finagle-aws icon finagle-aws

A module for making life a little easier when talking to AWS via Finagle.

ros2-vnc-docker-devcontainer icon ros2-vnc-docker-devcontainer

Template for dockerized development with ROS2 , VNC, devcontainer to be able to run both ROS2's visual interfaces and also in devcontainer

rovi icon rovi

Robot car with Mecanum wheels - simple drivers and ps4 controller

sbt-dart-pub icon sbt-dart-pub

SBT plugin for running dart build as part of SBT build process

yr.no-forecast icon yr.no-forecast

Node.js module to get weather forecast data in JSON format from yr.no service.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.