Whiplash · Schema
Fulfillment
Fulfillment
Fulfillment3PLLogisticsEcommerceOrdersInventoryShipmentsReturnsWarehousing
Properties
| Name | Type | Description |
|---|---|---|
| id | string | Unique system-generated identifier for this entity (read-only) |
| externalId | string | ID of the entity in the client's system. Must be unique within the tenant. |
| createdAt | string | ISO 8601 timestamp when the entity was created (read-only) |
| updatedAt | string | ISO 8601 timestamp when the entity was last updated (read-only) |
| tenantId | string | Unique identifier for the tenant that owns this entity (read-only) |
| customFields | array | Custom Fields - allows for arbitrary key-value pairs to be added to an entity. Useful for storing any custom data that is not covered by the other fields. |
| expectedDeliveryDate | string | Expected delivery date |
| expectedShipDate | string | Expected date the order will be shipped |
| lineItems | array | Items included in this fulfillment |
| locationId | string | |
| orderId | string | Order ID |
| shipByDate | string | |
| status | string | |
| tags | array | Tags for categorization and filtering. Useful for organizing entities with custom labels (e.g., "priority", "wholesale", "gift") |
| trackingNumbers | array | Tracking numbers from carrier |
| shippingAddress | object | Shipping address |
| shippingCarrier | string | Shipping carrier name eg. UPS, FedEx, USPS |
| shippingClass | string | Service level e.g. Next Day, Express, Ground |
| shippingCode | string | |
| shippingNote | string | Additional shipping notes |
| shippingPrice | number | Shipping cost |
| giftNote | string | |
| incoterms | string |
JSON Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Fulfillment",
"description": "Fulfillment",
"type": "object",
"properties": {
"id": {
"description": "Unique system-generated identifier for this entity (read-only)",
"type": "string"
},
"externalId": {
"description": "ID of the entity in the client's system. Must be unique within the tenant.",
"type": "string"
},
"createdAt": {
"description": "ISO 8601 timestamp when the entity was created (read-only)",
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
},
"updatedAt": {
"description": "ISO 8601 timestamp when the entity was last updated (read-only)",
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
},
"tenantId": {
"description": "Unique identifier for the tenant that owns this entity (read-only)",
"type": "string"
},
"customFields": {
"description": "Custom Fields - allows for arbitrary key-value pairs to be added to an entity. Useful for storing any custom data that is not covered by the other fields.",
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"name",
"value"
],
"additionalProperties": false
}
},
"expectedDeliveryDate": {
"description": "Expected delivery date",
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
},
"expectedShipDate": {
"description": "Expected date the order will be shipped",
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
},
"lineItems": {
"description": "Items included in this fulfillment",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"description": "Unique identifier for this line item within the order",
"type": "string"
},
"sku": {
"description": "Product Variant SKU",
"type": "string",
"minLength": 1
},
"quantity": {
"description": "Quantity ordered",
"type": "number",
"minimum": 1
},
"unitPrice": {
"description": "Price per unit",
"type": "number",
"minimum": 0
},
"unitDiscount": {
"description": "Discount per unit",
"type": "number",
"minimum": 0
},
"totalPrice": {
"description": "Total price for the line item. Calculated as (unitPrice - unitDiscount) * quantity",
"type": "number",
"minimum": 0
},
"name": {
"description": "Product name for display",
"type": "string"
},
"customFields": {
"description": "Custom Fields - allows for arbitrary key-value pairs to be added to an entity. Useful for storing any custom data that is not covered by the other fields.",
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"name",
"value"
],
"additionalProperties": false
}
}
},
"required": [
"sku",
"quantity"
],
"additionalProperties": false
}
},
"locationId": {
"type": "string"
},
"orderId": {
"description": "Order ID",
"type": "string"
},
"shipByDate": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
},
"status": {
"type": "string"
},
"tags": {
"description": "Tags for categorization and filtering. Useful for organizing entities with custom labels (e.g., \"priority\", \"wholesale\", \"gift\")",
"type": "array",
"items": {
"type": "string"
}
},
"trackingNumbers": {
"description": "Tracking numbers from carrier",
"type": "array",
"items": {
"type": "string"
}
},
"shippingAddress": {
"description": "Shipping address",
"type": "object",
"properties": {
"address1": {
"description": "Primary street address (e.g., \"123 Main Street\")",
"type": "string"
},
"address2": {
"description": "Secondary address information such as apartment, suite, or unit number (e.g., \"Apt 4B\")",
"type": "string"
},
"city": {
"description": "City or town name",
"type": "string"
},
"company": {
"description": "Company or organization name associated with this address",
"type": "string"
},
"country": {
"description": "Country code in ISO 3166-1 alpha-2 format (2 letters, e.g., \"US\", \"CA\", \"GB\")",
"type": "string"
},
"email": {
"description": "Email address for contact at this location",
"type": "string",
"format": "email",
"pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
},
"firstName": {
"description": "First name of the person at this address",
"type": "string"
},
"lastName": {
"description": "Last name of the person at this address",
"type": "string"
},
"phone": {
"description": "Phone number including country code if applicable (e.g., \"+1-555-123-4567\")",
"type": "string"
},
"stateOrProvince": {
"description": "State or province. For US addresses, use 2-letter state code (e.g., \"CA\", \"NY\"). For other countries, use full province name or local standard.",
"type": "string"
},
"zipCodeOrPostalCode": {
"description": "ZIP code (US) or postal code (international) for the address",
"type": "string"
}
},
"additionalProperties": false
},
"shippingCarrier": {
"description": "Shipping carrier name eg. UPS, FedEx, USPS",
"type": "string"
},
"shippingClass": {
"description": "Service level e.g. Next Day, Express, Ground",
"type": "string"
},
"shippingCode": {
"type": "string"
},
"shippingNote": {
"description": "Additional shipping notes",
"type": "string"
},
"shippingPrice": {
"description": "Shipping cost",
"type": "number"
},
"giftNote": {
"type": "string"
},
"incoterms": {
"type": "string"
}
},
"required": [
"id",
"createdAt",
"updatedAt",
"tenantId",
"lineItems",
"orderId",
"trackingNumbers"
],
"additionalProperties": false
}