File "checkout-document-schema.json"
Full path: /home/sbkuplnl/public_html/wp-content/plugins/woocommerce/src/Blocks/Domain/Services/CheckoutFieldsSchema/checkout-document-schema.json
File
size: 0.01 KB (8.74 KB bytes)
MIME-type: application/json; charset=us-ascii
Charset: utf-8
Download Open Edit Advanced Editor Back
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Cart and Checkout Document Object Schema",
"description": "Document object schema for cart, checkout, and customer information, to be used for conditional visibility, requirement, and validation of fields.",
"type": "object",
"properties": {
"cart": {
"type": "object",
"description": "Information about the shopping cart",
"properties": {
"coupons": {
"type": "array",
"description": "List of coupon codes applied to the cart",
"items": {
"type": "string"
}
},
"shipping_rates": {
"type": "array",
"description": "List of currently selected shipping rates",
"items": {
"type": "string",
"description": "Shipping rate identifier using the full shipping rate ID so method_id:instance_id, for example: flat_rate:1"
}
},
"items": {
"type": "array",
"description": "List of product IDs in the cart, IDs will be duplicated depending on the quantity of the product in the cart, so if you have 2 of product ID 1, the array will have 2 entries of product ID 1",
"items": {
"type": "integer"
}
},
"items_type": {
"type": "array",
"description": "Types of items in the cart, for example: simple, variation, subscription, etc.",
"items": {
"type": "string"
}
},
"items_count": {
"type": "integer",
"description": "Total number of items in the cart",
"minimum": 0
},
"items_weight": {
"type": "number",
"description": "Total weight of items in the cart",
"minimum": 0
},
"needs_shipping": {
"type": "boolean",
"description": "Whether the items in the cart require shipping"
},
"prefers_collection": {
"type": "boolean",
"description": "Whether the customer prefers using Local Pickup"
},
"totals": {
"type": "object",
"description": "Cart totals information",
"properties": {
"total_price": {
"type": "integer",
"description": "Total price of the cart in smallest currency unit (e.g., cents), after applying all discounts, shipping, and taxes"
},
"total_tax": {
"type": "integer",
"description": "Total tax amount in smallest currency unit (e.g., cents), after applying all discounts, shipping, and taxes"
}
},
"additionalProperties": false
},
"extensions": {
"type": "object",
"description": "Additional cart extension data, this is similar to what's passed in Store API's extensions parameter"
}
},
"additionalProperties": false
},
"checkout": {
"type": "object",
"description": "Checkout preferences and settings",
"properties": {
"create_account": {
"type": "boolean",
"description": "Whether the customer checked the create account checkbox, this will be false if the customer is logged in, cannot create an account, or forced to create an account."
},
"customer_note": {
"type": "string",
"description": "Customer's note or special instructions for the order, this will be empty if the customer didn't add a note."
},
"additional_fields": {
"type": "object",
"description": "Additional checkout fields, limited to the order location.",
"additionalProperties": {
"type": "string"
},
"patternProperties": {
"^[a-zA-Z0-9_-]+/[a-zA-Z0-9_-]+$": {
"type": "string",
"description": "Custom fields with namespace identifiers"
}
}
},
"payment_method": {
"type": "string",
"description": "Selected payment method identifier, this will be the payment method ID regardless if the customer selected a saved payment method or new payment method"
}
},
"additionalProperties": false
},
"customer": {
"type": "object",
"description": "Customer information",
"properties": {
"id": {
"type": "integer",
"description": "Customer ID, this will be 0 if the customer is not logged in"
},
"billing_address": {
"$ref": "#/definitions/address",
"description": "Customer's billing address"
},
"shipping_address": {
"$ref": "#/definitions/address",
"description": "Customer's shipping address"
},
"additional_fields": {
"type": "object",
"description": "Additional checkout fields, limited to the contact location.",
"additionalProperties": {
"type": "string"
}
},
"address": {
"$ref": "#/definitions/address",
"description": "This is a dynamic field that will be the billing or shipping address depending on the context of the field being evaluated."
}
},
"additionalProperties": false
}
},
"additionalProperties": false,
"definitions": {
"address": {
"type": "object",
"description": "Customer address information",
"properties": {
"first_name": {
"type": "string",
"description": "First name of the recipient"
},
"last_name": {
"type": "string",
"description": "Last name of the recipient"
},
"company": {
"type": "string",
"description": "Company name"
},
"address_1": {
"type": "string",
"description": "Primary address line"
},
"address_2": {
"type": "string",
"description": "Secondary address line"
},
"city": {
"type": "string",
"description": "City name"
},
"state": {
"type": "string",
"description": "State or province, this will be the state code if it's a predefined list, for example: CA, TX, NY, etc, or the field value if it's a freeform state, for example: London."
},
"postcode": {
"type": "string",
"description": "Postal or ZIP code"
},
"country": {
"type": "string",
"description": "Country code (e.g., US, UK)"
},
"email": {
"type": "string",
"description": "Email address"
},
"phone": {
"type": "string",
"description": "Phone number"
}
},
"additionalProperties": {
"type": "string",
"description": "Custom fields with namespace identifiers"
},
"patternProperties": {
"^[a-zA-Z0-9_-]+/[a-zA-Z0-9_-]+$": {
"type": "string",
"description": "Custom fields with namespace identifiers"
}
}
}
}
}