addedInput schema / properties / attachments
Added value: +{
+ "description": "Photos or plans of the job: JPEG, PNG, WebP or PDF, at most six of 10 MB each. Inline up to 4 MB each (8 MB a call), else by https address or upload_id. HEIC photos: send them as JPEG. Images are cleaned of where they were taken; a PDF is kept as sent.",
+ "items": {
+ "anyOf": [
+ {
+ "properties": {
+ "upload_id": {
+ "description": "What POST /v1/uploads answered, within its hour.",
+ "pattern": "^upl_[A-Za-z0-9_-]{16,48}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "upload_id"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "data_base64": {
+ "description": "The file's bytes in base64: JPEG, PNG, WebP or PDF, up to 4 MB (8 MB in one call).",
+ "maxLength": 5592412,
+ "minLength": 4,
+ "type": "string"
+ },
+ "name": {
+ "description": "The file's name, for the business to recognise it.",
+ "maxLength": 200,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data_base64"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "name": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "url": {
+ "description": "An https address the file can be fetched from, up to 10 MB.",
+ "format": "uri",
+ "maxLength": 2048,
+ "type": "string"
+ }
+ },
+ "required": [
+ "url"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "maxItems": 6,
+ "type": "array"
+}
addedInput schema / properties / payload / properties / job
Added value: +{
+ "description": "The job: urgency (emergency, within_24h, this_week, flexible), whether a visit comes first, the site (address, how to find the way, home or business), up to three windows that suit, and budgetMax for a range.",
+ "properties": {
+ "budgetMax": {
+ "properties": {
+ "currency": {
+ "maxLength": 3,
+ "minLength": 3,
+ "type": "string"
+ },
+ "value": {
+ "description": "Minor units of the currency's own ISO 4217 exponent (minorUnits): 4500 is CA$45.00 or ₹45.00, ¥4,500 in JPY, 4.500 in KWD.",
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "value",
+ "currency"
+ ],
+ "type": "object"
+ },
+ "site": {
+ "properties": {
+ "accessNotes": {
+ "description": "Gate codes are never asked for: only how to find the way.",
+ "maxLength": 500,
+ "type": "string"
+ },
+ "address": {
+ "properties": {
+ "addressCountry": {
+ "pattern": "^[A-Za-z]{2}$",
+ "type": "string"
+ },
+ "addressLocality": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "addressRegion": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "postalCode": {
+ "maxLength": 20,
+ "type": "string"
+ },
+ "streetAddress": {
+ "maxLength": 200,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "geo": {
+ "description": "The site's point, when you have it: a radius is checked against it.",
+ "properties": {
+ "latitude": {
+ "maximum": 90,
+ "minimum": -90,
+ "type": "number"
+ },
+ "longitude": {
+ "maximum": 180,
+ "minimum": -180,
+ "type": "number"
+ }
+ },
+ "required": [
+ "latitude",
+ "longitude"
+ ],
+ "type": "object"
+ },
+ "propertyType": {
+ "enum": [
+ "home",
+ "business",
+ "other"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "urgency": {
+ "default": "flexible",
+ "enum": [
+ "emergency",
+ "within_24h",
+ "this_week",
+ "flexible"
+ ],
+ "type": "string"
+ },
+ "visit": {
+ "default": "unsure",
+ "enum": [
+ "needed",
+ "not_needed",
+ "unsure"
+ ],
+ "type": "string"
+ },
+ "windows": {
+ "items": {
+ "properties": {
+ "from": {
+ "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
+ "type": "string"
+ },
+ "to": {
+ "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "from",
+ "to"
+ ],
+ "type": "object"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "type": "object"
+}