99 lines
2.2 KiB
Markdown
99 lines
2.2 KiB
Markdown
|
# A marketplace protocol optimized for localized trade of basic needs
|
||
|
|
||
|
Same structure for asks (queries) and bids (stores, offers)
|
||
|
|
||
|
## Usecases
|
||
|
|
||
|
* transport (rides, deliveries)
|
||
|
* accommodations
|
||
|
* store with permanent location
|
||
|
* store with single dynamic location
|
||
|
* store with routes (multiple schedules and locations)
|
||
|
|
||
|
|
||
|
## Core entity
|
||
|
|
||
|
* identity public key
|
||
|
* version (see changes below)
|
||
|
* location
|
||
|
|
||
|
### Location
|
||
|
|
||
|
* polygon (city boundary) or point/sphere (e.g. entrance, pick-up spot)
|
||
|
* origin only (e.g. store) or origin/target pair (e.g. rideshare)
|
||
|
* categories (entrance, delivery radius, drop-off point...)
|
||
|
|
||
|
|
||
|
## Optional core information
|
||
|
|
||
|
### Times
|
||
|
|
||
|
* schedules (opening hours) and one-offs (weekly market)
|
||
|
* ranges and point/sphere ("pick up around")
|
||
|
* negations ("but not between", "but not on")
|
||
|
* categories (store opening hours, transport time window, accomm lease time, reservation deadline ...)
|
||
|
|
||
|
|
||
|
### Product
|
||
|
|
||
|
* uuid (in the domain of the entity identity key)
|
||
|
* rdf schemas
|
||
|
* should be loosely defined so that entry can be "groceries" and price ranges
|
||
|
* extrapolate price to citing price on reference products against a price oracle, (but still instantiate)
|
||
|
* each article can be stated in both spot and range in multiple currencies
|
||
|
|
||
|
|
||
|
### Contact:
|
||
|
|
||
|
* URN (email, msisdn, im...)
|
||
|
|
||
|
|
||
|
## Auxiliary information
|
||
|
|
||
|
Client itself chooses and assembles providers / indexers.
|
||
|
|
||
|
* Entity description
|
||
|
* Linked resources (website, social media...)
|
||
|
* Municipality data (e.g. street address)
|
||
|
* Ratings
|
||
|
* Trust graphs
|
||
|
* Payment providers
|
||
|
|
||
|
|
||
|
## Datatypes
|
||
|
|
||
|
### Point/sphere
|
||
|
|
||
|
* optional progressive distance weighting formula, e.g. prefer items closer to the point (linear, curves...) or equally anywhere within sphere
|
||
|
|
||
|
|
||
|
|
||
|
## Changes
|
||
|
|
||
|
* Version number increments for every change, no matter frequency
|
||
|
|
||
|
|
||
|
### Mutability
|
||
|
|
||
|
* Delta can contain only changes (add, delete)
|
||
|
|
||
|
|
||
|
### Overides
|
||
|
|
||
|
* time overrides, like "open now"
|
||
|
* availability overrides, like "sold out"
|
||
|
* price overrides, like "everything 50% off"
|
||
|
|
||
|
|
||
|
### Pubsub
|
||
|
|
||
|
* rapidly changing data
|
||
|
* entity that is moving around (taxi)
|
||
|
* prices that rapidly change (auctions)
|
||
|
|
||
|
|
||
|
## vocabulary:
|
||
|
|
||
|
* how does a vocabulary of "bare necessities" look like? (wood, maize, chicken, coal, single bed, car seat)
|
||
|
* should not require map through language hub (english)
|