cic-p2p-spec/drafts/entity.md

2.2 KiB

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)