Skip to content

Create Shop orders 🧽 #198

@lucca65

Description

@lucca65

Is your feature request related to a problem? Please describe.
Today we have products and a very basic structure called orders. Before it was called sale_history because it was really only a registration of buying something from the shop. This proposal suggests a new structure to make the order abstraction more powerful and more useful.

Describe the solution you'd like
First we need to make the order have status. Orders always relate to trying to buy products from the same seller, or user. An order looks like this:

  • Product ID list which contains a list of the product IDs that the buyer wants
  • Quantity
  • Amount
  • Status status of the order. This first draft will allow only the basic ones: created, completed
  • Payment a JSON or even only a transaction ID. allow us to link an order with a transfer
  • Timestamps for creation/updates

Another change is that today, orders are created by listening to this contract call. We should change this to make the creation of an Order to be an GraphQL call. After the order is created we can update it with the transaction ID to link it with the payment. This process can later be expanded to include several payments, until the oder is completed.

With that we can completely remove the transfer_sale call and properly using the order abstraction.

Orders will also need to be approved by the creator of the offer/product. This is because change is to be expected and orders must be accepted

We will need the following screens:

  • My orders (as a seller)
  • My orders (as a buyer)
  • Community orders (for admins)
  • Community stats of orders
  • Individual order
    • Notion of quantities for products
    • Notion of payments on its own area
    • Contact information
    • Status of the order (a way for the user to predictably know what's next -- wait for the seller, etc)

The new features users may gain

  • This will allow us to create interfaces to both seller and buyer to know how their orders are.
  • It will be easy to add steps related to shipping or partial payments too
  • This will also allow sellers to have greater control, with dedicated shop pages to search and see their orders
  • This will make the timeline possible, with our current structure we cannot achieve the result shown in the designs

Describe alternatives you've considered
We could start working on the idea of expanding possible statuses. We could choose to track partial payments (useful for payments with fiat and crypto). We could add tracking capabilities to allow users to inform delivering/posting information and also add stuff like canceled or other abstractions

Additional context
Add any other context or screenshots about the feature request here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    Status

    🧊Waiting

    Status

    💡 To Do

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions