Service - Delivery Method Pickup Table: Difference between revisions

From Izara Wiki
Jump to navigation Jump to search
(Created page with "= Overview = Handler service for pickup location tables, works similar to rateTable, the same values can be used to calculate value for price ladder, each pickupTable instance has a list of locationIds which is where the order can be picked up from. This allows a seller with multiple branches to charge delivery fee depending on which branch the order gets picked up from. When doing deepPath search for matching locationIds use the buyer supplied locationIds to find all...")
 
No edit summary
 
(One intermediate revision by the same user not shown)
Line 30: Line 30:
canChangeToRelTypes: [
canChangeToRelTypes: [
{
{
serviceTag:"SellOfferPrice",
serviceTag:"deliveryMethodPickupTable",
relationshipTag: "disabledAtLocation"
relationshipTag: "disabledAtLocation"
},
},
Line 37: Line 37:
myGraph: {
myGraph: {
storageType: "graph",
storageType: "graph",
graphServerTag: "graphHandler"
graphServerTag: "graphHandler"
}
}
},
},
Line 45: Line 45:
from: {
from: {
objType: {
objType: {
serviceTag: "deliveryMethodPickup",
serviceTag: "deliveryMethodPickupTable",
objectType: "deliveryMethodPickup"
objectType: "deliveryMethodPickupTable"
},
},
linkType: "many",
linkType: "many",
Line 52: Line 52:
to: {
to: {
objType: {
objType: {
serviceTag: "deliveryMethodPickupTable",
serviceTag: "locations",
objectType: "deliveryMethodPickupTable"
objectType: "location"
},
},
linkType: "many",
linkType: "many",
handler: true
handler: true
Line 64: Line 64:
</syntaxhighlight>
</syntaxhighlight>


=== disabledAtLocation ===
<syntaxhighlight lang="JavaScript">
<syntaxhighlight lang="JavaScript">
{
{
Line 70: Line 69:
canChangeToRelTypes: [
canChangeToRelTypes: [
{
{
serviceTag:"deliveryMethodPickup",
serviceTag:"deliveryMethodPickupTable",
relationshipTag: "atLocation"
relationshipTag: "atLocation"
},
},
Line 77: Line 76:
myGraph: {
myGraph: {
storageType: "graph",
storageType: "graph",
graphServerTag: "graphHandler"
graphServerTag: "graphHandler"
}
}
},
},
Line 85: Line 84:
from: {
from: {
objType: {
objType: {
serviceTag: "deliveryMethodPickup",
serviceTag: "deliveryMethodPickupTable",
objectType: "deliveryMethodPickup"
objectType: "deliveryMethodPickupTable"
},
},
linkType: "many",
linkType: "many",
Line 92: Line 91:
to: {
to: {
objType: {
objType: {
serviceTag: "deliveryMethodPickupTable",
serviceTag: "locations",
objectType: "deliveryMethodPickupTable"
objectType: "location"
},
},
linkType: "many",
linkType: "many",
handler: true
handler: true

Latest revision as of 00:04, 18 November 2025

Overview

Handler service for pickup location tables, works similar to rateTable, the same values can be used to calculate value for price ladder, each pickupTable instance has a list of locationIds which is where the order can be picked up from.

This allows a seller with multiple branches to charge delivery fee depending on which branch the order gets picked up from.

When doing deepPath search for matching locationIds use the buyer supplied locationIds to find all children locationIds to find matching pickupLocation tables.

Repository

https://bitbucket.org/izara-market-products/izara-market-products-delivery-method-pickup-table

Object Schemas

Additional Information
Per Service Schemas

objType

deliveryMethodPickupTable

  • has ladder of prices same as rateTable

Object Relationships

atLocation

{
	"atLocation": {
		canChangeToRelTypes: [
			{
				serviceTag:"deliveryMethodPickupTable",
				relationshipTag: "disabledAtLocation"
			},
		],
		storageResources: {
			myGraph: {
				storageType: "graph",
				graphServerTag: "graphHandler"
			}
		},
		links: [
			{
				storageResourceTags: ["myGraph"],
				from: {
					objType: {
						serviceTag: "deliveryMethodPickupTable",
						objectType: "deliveryMethodPickupTable"
					},
					linkType: "many",
				},
				to: {
					objType: {
						serviceTag: "locations",
						objectType: "location"
					},
					linkType: "many",
					handler: true
				}
			},
		]
	}
}
{
	"disabledAtLocation": {
		canChangeToRelTypes: [
			{
				serviceTag:"deliveryMethodPickupTable",
				relationshipTag: "atLocation"
			},
		],
		storageResources: {
			myGraph: {
				storageType: "graph",
				graphServerTag: "graphHandler"
			}
		},
		links: [
			{
				storageResourceTags: ["myGraph"],
				from: {
					objType: {
						serviceTag: "deliveryMethodPickupTable",
						objectType: "deliveryMethodPickupTable"	
					},
					linkType: "many",
				},
				to: {
					objType: {
						serviceTag: "locations",
						objectType: "location"
					},
					linkType: "many",
					handler: true
				}
			},
		]
	}
}

Working documents

Delivery Method Pickup Table