Service - Sell Offer Standard: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
| (3 intermediate revisions by the same user not shown) | |||
| Line 7: | Line 7: | ||
https://bitbucket.org/izara-market-products/izara-market-products-sell-offer-standard/src/master/ | https://bitbucket.org/izara-market-products/izara-market-products-sell-offer-standard/src/master/ | ||
= | = Object Schemas = | ||
; Additional Information: [[Per Service Schemas]] | |||
== | == objType == | ||
=== | === sellOfferStandard === | ||
<syntaxhighlight lang="JavaScript"> | <syntaxhighlight lang="JavaScript"> | ||
{ | { | ||
objectType: "sellOfferStandard", | |||
extendObjType: { | |||
serviceTag: "sellOfferManager", | |||
objectType: "sellOffer" | |||
}, | |||
storageResources: { | |||
myGraph: { | |||
storageType: "graph", | |||
graphServerTag: "GraphHandler" | |||
} | |||
}, | |||
fieldNames: { | |||
currencyId: { | |||
type: "currency", | |||
storageResourceTags: ['myGraph'] | |||
{ | |||
}, | }, | ||
}, | |||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Object Relationships == | |||
== | |||
= SellOffer currency = | = SellOffer currency = | ||
* When creating a sellOffer it's currency will be set to the same as the sellOfferPlan chosen | * When creating a sellOffer it's currency will be set to the same as the sellOfferPlan chosen | ||
* sellOfferPrices is not linked to a set currency, this allows the pricing structure to be used across sellOffers with different currencies | * sellOfferPrices is not linked to a set currency, this allows the pricing structure to be used across sellOffers with different currencies (eg USD equivalent currencies) | ||
== Carts == | == Carts == | ||
* a Cart chooses one deliveryMethod, | * a Cart chooses one deliveryMethod, any sellOffers(actually the sellOffer's sellOfferPlan) added to the cart that are not the same currency as the selected deliveryMethod will be invalid when validating cart | ||
== Delivery Method Links == | == Delivery Method Links == | ||
| Line 199: | Line 51: | ||
* when adding a deliveryMethod to a sellOfferPlan the currencies must match | * when adding a deliveryMethod to a sellOfferPlan the currencies must match | ||
* because we expect deliveryMethods to have a rate returned, a shipping price, so expect to be able to combine that to the sellOffer's price without any conversion | * because we expect deliveryMethods to have a rate returned, a shipping price, so expect to be able to combine that to the sellOffer's price without any conversion | ||
* perhaps not allow changing of a deliveryMethod and sellOfferPlan's currency, if want to change need to create new | |||
== Payment Method Links == | == Payment Method Links == | ||
* paymentMethod does not need to match the sellOfferPlan currency, seller can have sellOfferTerms to explain currency conversion when making payment | * paymentMethod does not need to match the sellOfferPlan currency, seller can have sellOfferTerms to explain currency conversion when making payment | ||
* however if the paymentMethod has a oneTimeAmount setting, that will make calculating the price invalid if it does not match the deliveryMethod/Cart's currency | * however if the paymentMethod has a oneTimeAmount setting, that will make calculating the price invalid if it does not match the deliveryMethod/Cart's currency (maybe not store currency in paymentMethod, apply as is to whatever currency the sellOfferPlan is) | ||
* oneTimePercentage can be set even if currencies do not match | * oneTimePercentage can be set even if currencies do not match | ||
Latest revision as of 23:18, 16 August 2025
Overview
Handler service for the standard sell offer type.
Repository
https://bitbucket.org/izara-market-products/izara-market-products-sell-offer-standard/src/master/
Object Schemas
- Additional Information
- Per Service Schemas
objType
sellOfferStandard
{
objectType: "sellOfferStandard",
extendObjType: {
serviceTag: "sellOfferManager",
objectType: "sellOffer"
},
storageResources: {
myGraph: {
storageType: "graph",
graphServerTag: "GraphHandler"
}
},
fieldNames: {
currencyId: {
type: "currency",
storageResourceTags: ['myGraph']
},
},
}
Object Relationships
SellOffer currency
- When creating a sellOffer it's currency will be set to the same as the sellOfferPlan chosen
- sellOfferPrices is not linked to a set currency, this allows the pricing structure to be used across sellOffers with different currencies (eg USD equivalent currencies)
Carts
- a Cart chooses one deliveryMethod, any sellOffers(actually the sellOffer's sellOfferPlan) added to the cart that are not the same currency as the selected deliveryMethod will be invalid when validating cart
Delivery Method Links
- when adding a deliveryMethod to a sellOfferPlan the currencies must match
- because we expect deliveryMethods to have a rate returned, a shipping price, so expect to be able to combine that to the sellOffer's price without any conversion
- perhaps not allow changing of a deliveryMethod and sellOfferPlan's currency, if want to change need to create new
Payment Method Links
- paymentMethod does not need to match the sellOfferPlan currency, seller can have sellOfferTerms to explain currency conversion when making payment
- however if the paymentMethod has a oneTimeAmount setting, that will make calculating the price invalid if it does not match the deliveryMethod/Cart's currency (maybe not store currency in paymentMethod, apply as is to whatever currency the sellOfferPlan is)
- oneTimePercentage can be set even if currencies do not match