Service - Sell Offer Reserved Sales: Difference between revisions

From Izara Wiki
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

Working documents

Sell Offer Reserved Sales