{
"$type": "com.atproto.lexicon.schema",
"defs": {
"action": {
"description": "The declaration's primary external action.",
"properties": {
"destination": {
"description": "External web or email destination selected by the author.",
"format": "uri",
"type": "string"
},
"type": {
"description": "Open action type; clients apply behavior only to values they recognize.",
"knownValues": [
"shop",
"browse-patterns",
"request-custom-order",
"book-class",
"book-appointment",
"view-event-calendar",
"email",
"visit-website",
"wholesale-enquiries"
],
"maxLength": 64,
"type": "string"
}
},
"required": [
"type",
"destination"
],
"type": "object"
},
"aspectRatio": {
"description": "Image aspect ratio metadata used for layout hints.",
"properties": {
"height": {
"minimum": 1,
"type": "integer"
},
"width": {
"minimum": 1,
"type": "integer"
}
},
"required": [
"width",
"height"
],
"type": "object"
},
"image": {
"description": "A business product or event image with optional accessibility and layout metadata.",
"properties": {
"alt": {
"description": "Optional alt text describing the image.",
"maxGraphemes": 1000,
"maxLength": 1000,
"type": "string"
},
"aspectRatio": {
"description": "Optional aspect ratio metadata for rendering.",
"ref": "#aspectRatio",
"type": "ref"
},
"image": {
"accept": [
"image/jpeg",
"image/png",
"image/webp"
],
"maxSize": 2000000,
"type": "blob"
}
},
"required": [
"image"
],
"type": "object"
},
"price": {
"description": "Seller-authored display price amount and ISO 4217 currency code.",
"properties": {
"amount": {
"description": "Nonnegative decimal amount interpreted according to the currency minor-unit scale.",
"maxLength": 17,
"type": "string"
},
"currency": {
"description": "Uppercase ISO 4217 alphabetic currency code.",
"maxLength": 3,
"minLength": 3,
"type": "string"
}
},
"required": [
"amount",
"currency"
],
"type": "object"
},
"product": {
"description": "An external product card in authored display order.",
"properties": {
"image": {
"description": "Optional product image for interoperable records; Craftsky writes require it.",
"ref": "#image",
"type": "ref"
},
"price": {
"description": "Optional seller-authored display price.",
"ref": "#price",
"type": "ref"
},
"title": {
"description": "Seller-authored product title.",
"maxGraphemes": 150,
"maxLength": 1500,
"type": "string"
},
"uri": {
"description": "External product destination.",
"format": "uri",
"type": "string"
}
},
"required": [
"title",
"uri"
],
"type": "object"
}
},
"description": "Shared objects used by Craftsky business declarations and events.",
"id": "social.craftsky.business.defs",
"lexicon": 1
}