Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
222 changes: 209 additions & 13 deletions rust/schemas/api/fulfillments.json
Original file line number Diff line number Diff line change
Expand Up @@ -133,10 +133,115 @@
"type": "string"
},
"Fulfillment": {
"description": "An identifier unique to the fulfillment (`Fulfillment_<KSUID>`). Auto-generated by our system on creation",
"example": "Fulfillment_2G5VsWEFhIktH8PY4qC0iOGDpVJ",
"readOnly": true,
"type": "string"
"$id": "https://godaddy.com/schemas/commerce/fulfillment/fulfillment.v1",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"description": "A fulfillment represents a task to fulfill one or more items from a single location for a single fulfillment mode. A Fulfillment can exist in the context of an order or be independent of one.",
"properties": {
"createdAt": {
"$ref": "#/$defs/date-time"
},
"destination": {
"$ref": "#/$defs/FulfillmentAddress"
},
"detailedStatus": {
"$ref": "#/$defs/FulfillmentDetailedStatus"
},
"externalId": {
"description": "External identifier for the fulfillment",
"example": "FM-Y6BN43DB590L",
"type": "string"
},
"fulfillmentPlanId": {
"description": "Reference to the FulfillmentPlan this fulfillment was created from. Used for linking and reporting.",
"example": "FulfillmentPlan_TG41sWEXyIktH8PY4eI0nOGDoB6",
"type": "string"
},
"fulfillmentWindow": {
"$ref": "#/$defs/FulfillmentWindow"
},
"history": {
"description": "List of history events associated to the fulfillment",
"items": {
"$ref": "#/$defs/HistoryEvent"
},
"readOnly": true,
"type": "array"
},
"id": {
"description": "An identifier unique to the fulfillment (`Fulfillment_<KSUID>`). Auto-generated by our system on creation",
"example": "Fulfillment_2G5VsWEFhIktH8PY4qC0iOGDpVJ",
"readOnly": true,
"type": "string"
},
"inventoryBehavior": {
"default": "OBEY_POLICY",
"description": "Inventory policy for this fulfillment. Valid values: OBEY_POLICY (default), BYPASS. OBEY_POLICY decrements inventory and enforces stock checks; BYPASS skips inventory checks and allows fulfillment regardless of stock.",
"enum": [
"OBEY_POLICY",
"BYPASS"
],
"type": "string"
},
"items": {
"description": "Items in the fulfillment",
"items": {
"$ref": "#/$defs/FulfillmentItem"
},
"minItems": 1,
"type": "array"
},
"locationId": {
"description": "Reference to the Inventory Location (as defined by the Inventory Service) where the fulfillment was processed at",
"type": "string"
},
"mode": {
"$ref": "#/$defs/Mode"
},
"notes": {
"description": "List of FulfillmentNote objects, used for internal or customer-facing notes.",
"items": {
"$ref": "#/$defs/FulfillmentNote"
},
"type": "array"
},
"orderId": {
"description": "Reference to an order as defined by the Orders Service",
"example": "Order_2G5VsWEFhIktH8PY4qC0iOGDpVJ",
"type": "string"
},
"origin": {
"$ref": "#/$defs/FulfillmentAddress"
},
"status": {
"$ref": "#/$defs/FulfillmentStatus"
},
"storeId": {
"description": "ID of the store that the fulfillment belongs to",
"example": "fd3d9291-dc9a-445d-aa68-d2ff1a77a83c",
"type": "string"
},
"trackingData": {
"description": "Tracking information for a fulfillment. The ability to have multiple tracking numbers for a single fulfillment is to support `last mile` shipping use cases. We do not support fulfilling multiple discrete sets of items (e.g. multiple boxes) in a single fulfillment",
"items": {
"$ref": "#/$defs/Tracking"
},
"type": "array"
},
"updatedAt": {
"$ref": "#/$defs/date-time"
}
},
"required": [
"id",
"storeId",
"mode",
"status",
"detailedStatus",
"locationId",
"items"
],
"title": "Fulfillment",
"type": "object"
},
"FulfillmentAddress": {
"$id": "https://godaddy.com/schemas/commerce/fulfillment/fulfillment-address.v1",
Expand Down Expand Up @@ -346,9 +451,84 @@
"type": "object"
},
"FulfillmentPlan": {
"description": "Reference to an order as defined by the Orders Service",
"example": "Order_2G5VsWEFhIktH8PY4qC0iOGDpVJ",
"type": "string"
"$id": "https://godaddy.com/schemas/commerce/fulfillment/fulfillment-plan.v1",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"description": "A fulfillment plan is a task list with instructions on how to fulfill a group of one or more items from an order from a single location for a single fulfillment mode. An order can have multiple fulfillment plans",
"properties": {
"cartId": {
"description": "Optional reference to the cart associated with the order, if the order originated from a cart.",
"type": "string"
},
"createdAt": {
"$ref": "#/$defs/date-time"
},
"destination": {
"$ref": "#/$defs/FulfillmentAddress"
},
"hasErrors": {
"description": "True if any item in the plan encountered an error during inventory sync or fulfillment. This flag is set when errors are detected and is used to block further processing, trigger alerts, and surface issues for operator intervention.",
"type": "boolean"
},
"history": {
"description": "List of history events associated to the fulfillment plan",
"items": {
"$ref": "#/$defs/HistoryEvent"
},
"readOnly": true,
"type": "array"
},
"id": {
"description": "An identifier unique to the fulfillment plan (`FulfillmentPlan_<KSUID>`). Auto-generated by our system on creation",
"example": "FulfillmentPlan_TG41sWEXyIktH8PY4eI0nOGDoB6",
"readOnly": true,
"type": "string"
},
"items": {
"description": "Items in the fulfillment plan",
"items": {
"$ref": "#/$defs/FulfillmentPlanItem"
},
"minItems": 1,
"type": "array"
},
"locationId": {
"description": "Reference to the Inventory Location (as defined by the Inventory Service) where the fulfillment was processed at",
"type": "string"
},
"mode": {
"$ref": "#/$defs/Mode"
},
"orderId": {
"description": "Reference to an order as defined by the Orders Service",
"example": "Order_2G5VsWEFhIktH8PY4qC0iOGDpVJ",
"type": "string"
},
"origin": {
"$ref": "#/$defs/FulfillmentAddress"
},
"status": {
"$ref": "#/$defs/FulfillmentPlanStatus"
},
"storeId": {
"description": "ID of the store that the fulfillment plan belongs to",
"example": "6863480a-d0cb-46b5-8560-cd97d2c72d35",
"type": "string"
},
"updatedAt": {
"$ref": "#/$defs/date-time"
}
},
"required": [
"id",
"storeId",
"orderId",
"mode",
"status",
"locationId",
"items"
],
"title": "Fulfillment Plan",
"type": "object"
},
"FulfillmentPlanItem": {
"$id": "https://godaddy.com/schemas/commerce/fulfillment/fulfillment-plan-item.v1",
Expand Down Expand Up @@ -431,6 +611,16 @@
"title": "Fulfillment Plan status",
"type": "string"
},
"FulfillmentPlan_orderId": {
"description": "Reference to an order as defined by the Orders Service",
"example": "Order_2G5VsWEFhIktH8PY4qC0iOGDpVJ",
"type": "string"
},
"FulfillmentPlan_storeId": {
"description": "ID of the store that the fulfillment plan belongs to",
"example": "6863480a-d0cb-46b5-8560-cd97d2c72d35",
"type": "string"
},
"FulfillmentStatus": {
"$id": "https://godaddy.com/schemas/commerce/fulfillment/fulfillment-status.v1",
"$schema": "https://json-schema.org/draft/2020-12/schema",
Expand Down Expand Up @@ -463,6 +653,12 @@
"title": "Fulfillment Window",
"type": "object"
},
"Fulfillment_id": {
"description": "An identifier unique to the fulfillment (`Fulfillment_<KSUID>`). Auto-generated by our system on creation",
"example": "Fulfillment_2G5VsWEFhIktH8PY4qC0iOGDpVJ",
"readOnly": true,
"type": "string"
},
"HistoryEvent": {
"$id": "https://godaddy.com/schemas/commerce/fulfillment/history-event.v1",
"$schema": "https://json-schema.org/draft/2020-12/schema",
Expand Down Expand Up @@ -702,7 +898,7 @@
"name": "storeId",
"required": true,
"schema": {
"$ref": "#/$defs/FulfillmentPlan"
"$ref": "#/$defs/FulfillmentPlan_storeId"
}
},
{
Expand All @@ -711,7 +907,7 @@
"name": "orderId",
"required": true,
"schema": {
"$ref": "#/$defs/FulfillmentPlan"
"$ref": "#/$defs/FulfillmentPlan_orderId"
}
},
{
Expand Down Expand Up @@ -837,7 +1033,7 @@
"name": "storeId",
"required": true,
"schema": {
"$ref": "#/$defs/FulfillmentPlan"
"$ref": "#/$defs/FulfillmentPlan_storeId"
}
},
{
Expand Down Expand Up @@ -1000,7 +1196,7 @@
"name": "storeId",
"required": true,
"schema": {
"$ref": "#/$defs/FulfillmentPlan"
"$ref": "#/$defs/FulfillmentPlan_storeId"
}
}
],
Expand Down Expand Up @@ -1103,7 +1299,7 @@
"name": "storeId",
"required": true,
"schema": {
"$ref": "#/$defs/FulfillmentPlan"
"$ref": "#/$defs/FulfillmentPlan_storeId"
}
},
{
Expand All @@ -1112,7 +1308,7 @@
"name": "fulfillmentId",
"required": true,
"schema": {
"$ref": "#/$defs/Fulfillment"
"$ref": "#/$defs/Fulfillment_id"
}
}
],
Expand Down
Loading