Service - Sell Offer Reserved Sales: Difference between revisions
Jump to navigation
Jump to search
(Created page with "= Overview = Sell Offer Reserved Sales are offers for a product that will be ready at a specific time and has a limited number of units available, buyers reserve their unit/s and optionally may pre-reserve the next time the offer becomes available. Unlike an auction, sellOfferReservedSales have a fixed price structure. = Examples = * Restaurant offers limited servings of a dish on a specific date * Raw Material producer can plan a crop will be available at a certain...") |
(No difference)
|
Latest revision as of 13:49, 12 August 2025
Overview
Sell Offer Reserved Sales are offers for a product that will be ready at a specific time and has a limited number of units available, buyers reserve their unit/s and optionally may pre-reserve the next time the offer becomes available.
Unlike an auction, sellOfferReservedSales have a fixed price structure.
Examples
- Restaurant offers limited servings of a dish on a specific date
- Raw Material producer can plan a crop will be available at a certain time and buyers can reserve units beforehand
Notes
- The product describes the item being sold
- Multiple sellOfferReservedSales could be attached to a single product, multiple sellers or the same seller with different dates/units available etc
- a sellOfferReservedSale persists between times of setting as active, this allows the option of buyers pre-reserving prior to the seller making the offer available (optional setting)
Repository
https://bitbucket.org/izara-market-services/izara-market-products-sell-offer-reserved-sales
Object Schemas
- Additional Information
- Per Service Schemas
objType
sellOfferReservedSale
{
objectType: "sellOfferReservedSale",
extendObjType: {
serviceTag: "sellOfferManager",
objectType: "sellOffer"
},
storageResources: {
myGraph: {
storageType: "graph",
graphServerTag: "GraphHandler"
}
},
addOnDataStructure: [ // optional, add for additional setting to objectType
{
type:"versionedData",
versionedDataLabel: "sellOfferReservedSaleSettings",
storageResourceTag : "myGraph",
fieldNames: {
"saleReadyTimestamp":{
type: "timestamp",
requiredOnCreate: true,
},
"sellOfferActive":{
type: "boolean",
requiredOnCreate: true,
},
"allowInactiveReservation":{
type: "boolean",
requiredOnCreate: true,
},
}
},
{ // shared with sellOfferStandard
type: "attributeTree",
attributeTreeTag: "sellOfferTerms"
},
],
//* should already exist in sellOffer objType
canDelete: false,
belongTo: { //* should already exist in sellOffer objType
serviceTag: "user",
objectType: "user"
},
}
Object Relationships
preReserveSellOfferReservedSale
{
"preReserveSellOfferReservedSale": {
storageResources: {
myGraph: {
storageType: "graph",
graphServerTag: "GraphHandler"
}
},
fieldNames: {
"quantity": {
type: "number",
requiredOnCreate: true,
},
},
links: [
{
storageResourceTags: ["myGraph"],
from: {
objType: {
serviceTag: "user",
objectType: "user"
},
linkType: "many",
},
to: {
objType: {
serviceTag: "sellOfferReservedSale",
objectType: "sellOfferReservedSale"
},
linkType: "many"
}
}
]
}
}
- links a user to a sellOfferReservedSale that is inactive
- when sellOfferReservedSale becomes active buyer is notified and sellOffer is added to their cart
- can be removed (userLevel permission required)
- immutable, if want to change quantity, remove and make new