cic-p2p-spec/drafts/entity.md

99 lines
2.2 KiB
Markdown
Raw Normal View History

2022-05-21 14:06:26 +02:00
# 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)