{"openapi":"3.1.0","info":{"title":"Place Enrichment API","description":"API for enriching place data with various attributes","version":"1.0"},"servers":[{"url":"/v1"}],"paths":{"/search":{"post":{"tags":["search"],"summary":"Search the web","description":"Return normalized web-search results; no model call is made.","operationId":"search_endpoint_search_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"apiKey","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Apikey"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchAskRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ask":{"post":{"tags":["search"],"summary":"Answer a question from one web search","description":"Search once, then synthesize a cited answer in exactly one model request.","operationId":"ask_endpoint_ask_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"apiKey","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Apikey"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchAskRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AskResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/{org_slug}/place_enrichment/jobs/reprocess":{"post":{"tags":["jobs"],"summary":"Reprocess Jobs","operationId":"reprocess_jobs__org_slug__place_enrichment_jobs_reprocess_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"org_slug","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Org Slug"}},{"name":"apiKey","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Apikey"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReprocessJobRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/{org_slug}/place_enrichment/batches":{"post":{"tags":["batches"],"summary":"Submit a batch of places for enrichment","description":"Submit a batch of places for enrichment\n```","operationId":"submit_batch__org_slug__place_enrichment_batches_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"org_slug","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Org Slug"}},{"name":"apiKey","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Apikey"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaceBatchPayload"},"examples":{"basic_batch":{"summary":"Basic batch without prefilled data","value":{"batch_id":"d98e206f-ff1d-4b5a-b0d8-18fff0757fef","batch_name":"NYC Restaurants March 2024","jobs":[{"place_id":"place_nyc_123","inputs":{"name":"Joe's Pizza","latitude":40.7359,"longitude":-73.9911,"full_address":"7 Carmine St, New York, NY 10014"}}],"attributes":["websites","phoneNumbers","socialHandles","openingHours","categories","closed_permanently"],"kick_off_jobs_now":true}},"upload_only_batch":{"summary":"Upload-only batch (no immediate processing)","value":{"batch_id":"d98e206f-ff1d-4b5a-b0d8-18fff0757fef","batch_name":"NYC Restaurants Upload Only","jobs":[{"place_id":"place_nyc_999","inputs":{"name":"Upload Only Test Place","latitude":40.7128,"longitude":-74.006,"full_address":"1 City Hall Park, New York, NY 10007"}}],"kick_off_jobs_now":false}}}}}},"responses":{"200":{"description":"Successfully submitted batch for processing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubmittedPlaceBatchResponse"},"example":{"id":"batch_2024_03_15_123456","batch_name":"NYC Restaurants March 2024","status":"pending","jobs":{"pending":["place_nyc_123","place_nyc_456"],"in_progress":[],"completed":[],"failed":[]}}}}},"400":{"description":"Batch size exceeds maximum limit of 50,000 records or invalid input format"},"401":{"description":"Invalid API credentials"},"422":{"description":"Validation error: when kick_off_jobs_now is true, either attributes or attribute_set is required; or invalid attribute_set values or attribute keys"}}},"get":{"tags":["batches"],"summary":"List batches","description":"Retrieve batches for an organization with pagination and optional search by name.\n\nReturns a paginated list of batch jobs with their metadata including batch ID,\ncreation timestamp, and job counts. If 'query' is provided, only batches whose name matches (case-insensitive, substring) will be returned.","operationId":"list_all_batches_endpoint__org_slug__place_enrichment_batches_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"org_slug","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Org Slug"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"description":"Number of batches to return per page","default":10,"title":"Limit"},"description":"Number of batches to return per page"},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Number of batches to skip","default":0,"title":"Offset"},"description":"Number of batches to skip"},{"name":"query","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional search string to filter batches by name (case-insensitive)","title":"Query"},"description":"Optional search string to filter batches by name (case-insensitive)"},{"name":"apiKey","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Apikey"}}],"responses":{"200":{"description":"List of all batches for the organization with pagination","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedBatchesResponse"},"example":{"batches":[{"id":"batch_2025_03_10_123456","name":"NYC Restaurants March 2025","created_at":"2025-03-10T15:30:00Z","organization_id":"org-abc123","job_count":150,"completed_count":142,"failed_count":3,"pending_count":0,"in_progress_count":5}],"total":42,"limit":10,"offset":0}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/{org_slug}/place_enrichment/batches/{batch_id}":{"get":{"tags":["batches"],"summary":"Get batch status","operationId":"get_batch_status_endpoint__org_slug__place_enrichment_batches__batch_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"org_slug","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Org Slug"}},{"name":"batch_id","in":"path","required":true,"schema":{"type":"string","title":"Batch Id"}},{"name":"enrichments","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Comma-separated list of enrichment names to get status for","title":"Enrichments"},"description":"Comma-separated list of enrichment names to get status for"},{"name":"apiKey","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Apikey"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubmittedPlaceBatchResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["batches"],"summary":"Delete a batch","operationId":"delete_batch_endpoint__org_slug__place_enrichment_batches__batch_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"org_slug","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Org Slug"}},{"name":"batch_id","in":"path","required":true,"schema":{"type":"string","title":"Batch Id"}},{"name":"apiKey","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Apikey"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["batches"],"summary":"Rename or update a batch","description":"Update batch name and/or refresh flag; omitted fields keep their current value.","operationId":"update_batch_endpoint__org_slug__place_enrichment_batches__batch_id__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"org_slug","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Org Slug"}},{"name":"batch_id","in":"path","required":true,"schema":{"type":"string","title":"Batch Id"}},{"name":"apiKey","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Apikey"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateBatchRequest"}}}},"responses":{"200":{"description":"Batch updated successfully","content":{"application/json":{"schema":{}}}},"401":{"description":"Invalid API credentials"},"403":{"description":"Forbidden"},"404":{"description":"Batch not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/{org_slug}/place_enrichment/jobs":{"post":{"tags":["jobs"],"summary":"Submit a single enrichment job","description":"Submit a place for asynchronous enrichment processing.","operationId":"submit_job__org_slug__place_enrichment_jobs_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"org_slug","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Org Slug"}},{"name":"apiKey","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Apikey"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaceJob"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Submit Job  Org Slug  Place Enrichment Jobs Post"}}}},"202":{"description":"Job successfully submitted for processing","content":{"application/json":{"example":{"place_id":"place_nyc_123","inputs":{"name":"Joe's Pizza","latitude":40.7359,"longitude":-73.9911,"full_address":"7 Carmine St, New York, NY 10014"},"status":"pending"}}}},"400":{"description":"Invalid input format"},"401":{"description":"Invalid API credentials"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["jobs"],"summary":"Get enrichment jobs","description":"Returns a `JobListResponse` by default. With `groupBy=day` returns a `PaginatedBatchesResponse` of one synthetic batch per UTC day.","operationId":"retrieve_jobs_endpoint__org_slug__place_enrichment_jobs_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"org_slug","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Org Slug"}},{"name":"batchId","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Batchid"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":10000,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}},{"name":"excludeBatches","in":"query","required":false,"schema":{"type":"boolean","description":"If true, only return jobs with `batchId IS NULL` (i.e. submitted via the single-job API endpoint).","default":false,"title":"Excludebatches"},"description":"If true, only return jobs with `batchId IS NULL` (i.e. submitted via the single-job API endpoint)."},{"name":"groupBy","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"If set to `day`, returns a paginated list of daily summaries (same shape as `/batches`) instead of individual jobs. Each row represents one UTC calendar day.","title":"Groupby"},"description":"If set to `day`, returns a paginated list of daily summaries (same shape as `/batches`) instead of individual jobs. Each row represents one UTC calendar day."},{"name":"day","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"UTC date (YYYY-MM-DD). When set, restricts results to jobs created on that day.","title":"Day"},"description":"UTC date (YYYY-MM-DD). When set, restricts results to jobs created on that day."},{"name":"apiKey","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Apikey"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/JobListResponse"},{"$ref":"#/components/schemas/PaginatedBatchesResponse"}],"title":"Response Retrieve Jobs Endpoint  Org Slug  Place Enrichment Jobs Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/{org_slug}/place_enrichment/enrich":{"post":{"summary":"Enrich a single place synchronously","operationId":"submit_enrichment__org_slug__place_enrichment_enrich_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"org_slug","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Org Slug"}},{"name":"apiKey","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Apikey"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaceJob"}}}},"responses":{"200":{"description":"Successfully enriched place data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaceJobResult"},"example":{"place_id":"place_nyc_123","status":"completed","inputs":{"name":"Joe's Pizza","latitude":40.7359,"longitude":-73.9911,"full_address":"7 Carmine St, New York, NY 10014"},"outputs":{"website":"https://www.joespizzanyc.com","phone":"+12122555803","social_profiles":{"instagram":"joespizzanyc","facebook":"joespizzanyc"},"open_closed_status":"Open","price_tier":"$$","last_enriched":"2024-03-15T10:35:00Z"},"job_metadata":{"last_enriched":"2024-03-15T10:35:00Z","attribute_status":{"website":"RUN","phone":"RUN","address":"RUN","name":"RUN"}}}}}},"400":{"description":"Invalid input format"},"401":{"description":"Invalid API credentials"},"404":{"description":"Enrichment not found"},"429":{"description":"Rate limit exceeded"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/{org_slug}/place_enrichment/jobs/{place_id}":{"get":{"tags":["jobs"],"summary":"Get a single enrichment job","operationId":"get_job_by_id__org_slug__place_enrichment_jobs__place_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"org_slug","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Org Slug"}},{"name":"place_id","in":"path","required":true,"schema":{"type":"string","title":"Place Id"}},{"name":"apiKey","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Apikey"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaceJobResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["jobs"],"summary":"Delete a job","operationId":"delete_job_endpoint__org_slug__place_enrichment_jobs__place_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"org_slug","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Org Slug"}},{"name":"place_id","in":"path","required":true,"schema":{"type":"string","title":"Place Id"}},{"name":"apiKey","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Apikey"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/{org_slug}/place_enrichment/exports":{"post":{"tags":["exports"],"summary":"Create a CSV export","description":"Unified export endpoint. Small requests return 200 text/csv inline; large requests\ncreate a durable async job and return 202 + status url. Idempotency-Key is optional but\nrecommended: send the same key on every retry of a create so a lost response can't spawn a\nduplicate job (the client can't know the delivery mode in advance). Omit it and the request\nstill succeeds, just without that retry-safety.","operationId":"create_place_enrichment_export__org_slug__place_enrichment_exports_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"org_slug","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Org Slug"}},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idempotency-Key"}},{"name":"apiKey","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Apikey"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateExportRequest"}}}},"responses":{"200":{"description":"Sync delivery: the CSV is streamed back inline (small exports under the size gate).","content":{"application/json":{"schema":{}},"text/csv":{}}},"202":{"description":"Async delivery: a durable job was created (or an existing one matched by Idempotency-Key); poll `status_url` until status is completed, then follow `download_url`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportStatusResponse"}}}},"404":{"description":"One or more batch_ids are not found for this organization."},"409":{"description":"Idempotency-Key was already used with different batch_ids or CSV options."},"502":{"description":"Failed to dispatch the export worker; the job row is marked failed."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["exports"],"summary":"List durable exports","operationId":"list_place_enrichment_exports__org_slug__place_enrichment_exports_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"org_slug","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Org Slug"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"Filter by status. Repeatable (?status=queued&status=failed) or comma-joined. One of queued/running/completed/failed/expired; omit for all.","title":"Status"},"description":"Filter by status. Repeatable (?status=queued&status=failed) or comma-joined. One of queued/running/completed/failed/expired; omit for all."},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"apiKey","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Apikey"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportListResponse"}}}},"400":{"description":"Malformed pagination cursor."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/{org_slug}/place_enrichment/exports/{export_id}":{"get":{"tags":["exports"],"summary":"Get export status","operationId":"get_place_enrichment_export__org_slug__place_enrichment_exports__export_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"org_slug","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Org Slug"}},{"name":"export_id","in":"path","required":true,"schema":{"type":"string","title":"Export Id"}},{"name":"apiKey","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Apikey"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportStatusResponse"}}}},"404":{"description":"Export not found for this organization."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/{org_slug}/place_enrichment/exports/{export_id}/download":{"get":{"tags":["exports"],"summary":"Download a completed export","operationId":"download_place_enrichment_export__org_slug__place_enrichment_exports__export_id__download_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"org_slug","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Org Slug"}},{"name":"export_id","in":"path","required":true,"schema":{"type":"string","title":"Export Id"}},{"name":"apiKey","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Apikey"}}],"responses":{"307":{"description":"Temporary redirect to a short-lived signed URL for the CSV artifact.","content":{"application/json":{"schema":{}}}},"404":{"description":"Export not found for this organization."},"409":{"description":"Export is not ready (status is not completed)."},"410":{"description":"Export artifact has expired and is no longer downloadable."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/{org_slug}/place_enrichment/batches/{batch_id}/reprocess":{"post":{"tags":["batches"],"summary":"Reprocess a batch","description":"Reprocess jobs in a specific batch.\n\nYou can specify which attributes to process by providing:\n- 'attributes': A list of specific attributes to enrich (e.g., [\"websites\", \"phoneNumbers\", \"categories\"])\n\nIf not provided, \"core\" attributes will be processed: websites, phoneNumbers, openingHours, names, address, categories, closed_permanently\n\nOptions:\n- failed_only: When true, only reprocess jobs with 'failed' status. When false, reprocess all jobs in the batch.\n- incomplete_only: When true, only reprocess jobs with 'pending' or 'in_progress' status. When false, reprocess all jobs in the batch (unless failed_only is true).","operationId":"reprocess_batch_endpoint__org_slug__place_enrichment_batches__batch_id__reprocess_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"org_slug","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Org Slug"}},{"name":"batch_id","in":"path","required":true,"schema":{"type":"string","title":"Batch Id"}},{"name":"apiKey","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Apikey"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReprocessBatchRequest","properties":{"failed_only":{"type":"boolean","description":"When true, only reprocess jobs with 'failed' status. When false, reprocess all jobs in the batch.","default":true},"incomplete_only":{"type":"boolean","description":"When true, only reprocess jobs with 'pending' or 'in_progress' status. When false, reprocess all jobs in the batch (unless failed_only is true).","default":false},"refresh":{"type":"boolean","description":"When true, force fresh enrichment ignoring cached data.","default":false},"attributes":{"type":"array","items":{"type":"string"},"description":"List of specific attributes to enrich (e.g. 'websites', 'phoneNumbers')."}}},"example":{"failed_only":true,"incomplete_only":false,"refresh":false,"attributes":["websites","phoneNumbers","categories"]}}}},"responses":{"200":{"description":"Successfully initiated batch reprocessing","content":{"application/json":{"schema":{},"example":{"status":"success","message":"Started reprocessing 42 FAILED jobs from batch batch_2024_04_01_123456","job_count":42,"batch_id":"batch_2024_04_01_123456","excluded_deferred_count":5}}}},"404":{"description":"Batch not found"},"400":{"description":"No jobs found in batch"},"401":{"description":"Invalid API credentials"},"422":{"description":"Invalid attribute_set or attribute keys, or more than 50,000 jobs to reprocess (use /jobs/reprocess in chunks)"}}}},"/{org_slug}/place_enrichment/batches/refresh":{"post":{"tags":["batches"],"summary":"Mark batches for refresh","description":"Mark a list of batch IDs for refresh.\n\nSets the `refresh` flag on PlaceEnrichmentBatchJob for the provided batch IDs.\nOnly batches belonging to the organization tied to the API key are updated.\nThe response includes which batch IDs were updated and which were missing.\n\nWhat refresh does: https://docs.repromptai.com/guides/monthly-refresh\nRefreshes re-run enrichment for places you've marked to detect changes over time.\nRuns execute on the 9th of every month, and by default re-run only the attributes\nthat were already enriched for that place.\n\nPass refresh=true to turn refresh on, or refresh=false to turn it off.","operationId":"mark_batches_refresh_endpoint__org_slug__place_enrichment_batches_refresh_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"org_slug","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Org Slug"}},{"name":"apiKey","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Apikey"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkRefreshBatchRequest"},"example":{"batch_ids":["batch_2024_03_15_123456","batch_2024_03_16_123456"],"refresh":true}}}},"responses":{"200":{"description":"Batch refresh flags updated successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkRefreshBatchResponse"}}}},"400":{"description":"Invalid input format"},"401":{"description":"Invalid API credentials"},"403":{"description":"API key does not match organization slug"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/{org_slug}/place_enrichment/attributes":{"get":{"tags":["attributes"],"summary":"Get all available attributes","description":"Get metadata for all available enrichment attributes","operationId":"get_enrichment_attributes__org_slug__place_enrichment_attributes_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"org_slug","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Org Slug"}},{"name":"apiKey","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Apikey"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1AttributesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AddressDetails":{"properties":{"full_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Full Address","description":"Full formatted address string"},"unit_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit Number","description":"An apartment, unit, office, lot, or other secondary unit designator"},"floor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Floor","description":"Expressions indicating a floor number e.g. '3rd Floor', 'Ground Floor', etc."},"building":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Building","description":"Building name e.g. 'Sun Hung Kai Centre', 'The Center', 'Empire State Building'"},"block":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Block","description":"Block number, used in Singapore (SG) e.g., 'Block 329', Malaysia (MY) e.g., 'Blok A', and Indonesia (ID) e.g., 'Blok G5 No. 17'"},"km":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Km","description":"Kilometer marker, commonly used in Malaysia (MY) e.g., 'KM 12, Jalan Cheras' and Indonesia (ID) e.g., 'KM 53, Jl. Tol Jakarta‑Cikampek'. Rarely used in Singapore. Should be parsed as a number (e.g., 'KM 75' should be parsed as '75')."},"house":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"House"},"street":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Street"},"neighborhood":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Neighborhood"},"suburb":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Suburb"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"},"postalCode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postalcode"}},"type":"object","title":"AddressDetails"},"AnswerBox":{"properties":{"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"answer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Answer"},"snippet":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Snippet"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date"}},"type":"object","title":"AnswerBox"},"AskResponse":{"properties":{"query":{"type":"string","title":"Query"},"answer":{"type":"string","title":"Answer"},"sources":{"items":{"$ref":"#/components/schemas/SearchResult"},"type":"array","title":"Sources"}},"type":"object","required":["query","answer","sources"],"title":"AskResponse"},"AttributeSet":{"type":"string","enum":["open_closed","core","all"],"title":"AttributeSet","description":"Predefined attribute group presets exposed by the API."},"AttributeStatusDistribution":{"properties":{"RUN":{"$ref":"#/components/schemas/AttributeStatusGroup"},"ERROR":{"$ref":"#/components/schemas/AttributeStatusGroup"},"NOT_RUN":{"$ref":"#/components/schemas/AttributeStatusGroup"},"RUN_CONDITION_FAILED":{"$ref":"#/components/schemas/AttributeStatusGroup"}},"type":"object","required":["RUN","ERROR","NOT_RUN","RUN_CONDITION_FAILED"],"title":"AttributeStatusDistribution","description":"Distribution of statuses for a single attribute."},"AttributeStatusEnum":{"type":"string","enum":["NOT FOUND","ADDED","VERIFIED","CORRECTED","NOT VERIFIED","NOT ENRICHED","RUN","RUN_CONDITION_FAILED","ERROR","NOT_RUN"],"title":"AttributeStatusEnum"},"AttributeStatusGroup":{"properties":{"total":{"type":"integer","title":"Total","description":"Total count of places with this status"},"ids":{"items":{"type":"string"},"type":"array","title":"Ids","description":"List of all place IDs with this status"}},"type":"object","required":["total","ids"],"title":"AttributeStatusGroup","description":"Status group with counts and all IDs."},"BatchJob":{"properties":{"id":{"type":"string","title":"Id"},"batch_name":{"type":"string","title":"Batch Name"},"status_counts":{"additionalProperties":{"type":"integer"},"type":"object","title":"Status Counts"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"status":{"$ref":"#/components/schemas/BatchJobStatus"},"metadata":{"anyOf":[{"$ref":"#/components/schemas/BatchMetadata"},{"type":"null"}]},"refresh":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Refresh"}},"type":"object","required":["id","batch_name","status_counts","created_at","status"],"title":"BatchJob"},"BatchJobStatus":{"type":"string","enum":["pending","queued","in_progress","completed","failed"],"title":"BatchJobStatus"},"BatchMetadata":{"properties":{"total_jobs":{"type":"integer","title":"Total Jobs","default":0},"completed_jobs":{"type":"integer","title":"Completed Jobs","default":0},"status_counts":{"additionalProperties":{"type":"integer"},"type":"object","title":"Status Counts","default":{}},"success_rate":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Success Rate"},"attribute_fill_rates":{"anyOf":[{"additionalProperties":{"type":"number"},"type":"object"},{"type":"null"}],"title":"Attribute Fill Rates"},"average_fill_rate":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Average Fill Rate"},"owner":{"anyOf":[{"$ref":"#/components/schemas/BatchOwner"},{"type":"null"}]}},"type":"object","title":"BatchMetadata","description":"Metadata and statistics for a batch, with different levels of detail based on organization permissions."},"BatchOwner":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image"}},"type":"object","required":["id","name"],"title":"BatchOwner"},"BulkRefreshBatchRequest":{"properties":{"batch_ids":{"items":{"type":"string"},"type":"array","title":"Batch Ids","description":"List of batch IDs to update."},"refresh":{"type":"boolean","title":"Refresh","description":"Set to true to turn refresh on, or false to turn it off for the batch(es).","default":true}},"type":"object","required":["batch_ids"],"title":"BulkRefreshBatchRequest"},"BulkRefreshBatchResponse":{"properties":{"updated_batch_ids":{"items":{"type":"string"},"type":"array","title":"Updated Batch Ids"},"missing_batch_ids":{"items":{"type":"string"},"type":"array","title":"Missing Batch Ids"},"updated_count":{"type":"integer","title":"Updated Count"},"refresh":{"type":"boolean","title":"Refresh"}},"type":"object","required":["updated_batch_ids","missing_batch_ids","updated_count","refresh"],"title":"BulkRefreshBatchResponse"},"ConfidenceScore":{"type":"string","enum":["VERY_HIGH","HIGH","MEDIUM","LOW","NONE"],"title":"ConfidenceScore"},"CreateExportRequest":{"properties":{"schema_version":{"type":"integer","enum":[1,2],"title":"Schema Version","description":"CSV contract version; 1 is legacy.","default":2},"prune_empty_columns":{"type":"boolean","title":"Prune Empty Columns","description":"Remove entirely blank columns across the full export.","default":false},"batch_ids":{"items":{"type":"string"},"type":"array","minItems":1,"title":"Batch Ids","description":"Batch IDs to export (must be owned by the org).","example":["batch_2024_03_15_123456","batch_2024_03_16_654321"]},"run_in_background":{"type":"boolean","title":"Run In Background","description":"Skip the inline CSV entirely and always create a durable async job (202). Use when you would rather poll than hold a request open — the sync path has to generate the whole file before it can answer.","default":false,"example":false}},"type":"object","required":["batch_ids"],"title":"CreateExportRequest"},"DayOfWeek":{"type":"string","enum":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"title":"DayOfWeek","description":"Days of week in three-letter format."},"DaysGroupedByHoursFormat":{"properties":{"days":{"items":{"$ref":"#/components/schemas/DayOfWeek"},"type":"array","title":"Days"},"opens":{"type":"string","title":"Opens"},"closes":{"type":"string","title":"Closes"}},"type":"object","required":["days","opens","closes"],"title":"DaysGroupedByHoursFormat","description":"Represents opening hours for a group of days.\n\nExample:\n    {\n        \"days\": [\"Mon\", \"Tue\", \"Wed\"],\n        \"opens\": \"09:00\",  # 24h format\n        \"closes\": \"17:00\"  # 24h format\n    }"},"Enrichments":{"type":"string","enum":["knowledge_graph","groundtruth","reverse_geocode","route_matrix","test_attribute","qualified_input_place","closed_permanently","websites","phoneNumbers","openingHours","names","address","categories","naics","place_existence","parking_spaces","socialHandles","coordinates","storefrontImages","cuisine","price_tier","approximate_user_reviews","menu","menu_url","social_media_profile","chain","located_within","building_footprint","merchant","one_line_summary","signage","building_condition","entrances","primary_turns","traffic_control","reprompt_core","apple_business_attributes","available_services","company","tomtomCategory","tomtomOrbisCategory","tripadvisorCategory","tripadvisorCategoryV2","grabCategory","grabName","here_category","reprompt_id"],"title":"Enrichments"},"ExportListResponse":{"properties":{"exports":{"items":{"$ref":"#/components/schemas/ExportStatusResponse"},"type":"array","title":"Exports"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor","description":"Pass as `cursor` to fetch the next page; null when no more pages."}},"type":"object","required":["exports"],"title":"ExportListResponse","description":"A page of durable exports, newest first, with an opaque keyset cursor for the next page\n(null when the last page has been reached)."},"ExportStatusResponse":{"properties":{"id":{"type":"string","title":"Id","description":"Unique export identifier.","example":"exp_2f0ce4cf"},"status":{"type":"string","title":"Status","description":"queued | running | completed | failed | expired.","example":"completed"},"batch_ids":{"items":{"type":"string"},"type":"array","title":"Batch Ids","description":"Batch IDs included in this export.","example":["batch_2024_03_15_123456"]},"csv_options":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Csv Options","description":"Persisted CSV settings; null if unreadable (do not retry implicitly)."},"batch_names":{"additionalProperties":{"type":"string"},"type":"object","title":"Batch Names","description":"Best-effort {batch_id -> name} map; a batch id is omitted if its name could not be resolved.","example":{"batch_2024_03_15_123456":"NYC Restaurants March 2024"}},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created At","description":"ISO-8601 creation timestamp."},"updated_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updated At","description":"ISO-8601 last-update timestamp."},"status_url":{"type":"string","title":"Status Url","description":"Relative URL to poll this export's status.","example":"/place_enrichment/exports/exp_2f0ce4cf"},"download_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Download Url","description":"Relative download URL; present only while status is completed and unexpired.","example":"/place_enrichment/exports/exp_2f0ce4cf/download"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error","description":"Failure reason when status is failed."},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata","description":"Worker-reported stats (row counts, per-stage timings) once available."},"expired":{"type":"boolean","title":"Expired","description":"True when a completed export has aged past its retention window.","example":false}},"type":"object","required":["id","status","batch_ids","status_url","expired"],"title":"ExportStatusResponse","description":"Status of a durable CSV export job. Returned by the async create path (202), the status\nendpoint, and as each element of the list endpoint. `status` is one of queued/running/\ncompleted/failed, or `expired` once a completed export passes its retention window (at which\npoint `download_url` is null and the download route returns 410)."},"GenericJobOutputs":{"properties":{"reprompt_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reprompt Id"},"coordinates":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"}],"type":"array","maxItems":2,"minItems":2},{"type":"null"}],"title":"Coordinates","description":"Enriched coordinates as [latitude, longitude]."},"coordinates_distance":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Coordinates Distance","description":"Distance in meters between input coordinates and enriched coordinates. Returns 0 if coordinates were not enriched."},"open_closed_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Open Closed Status"},"date_closed":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date Closed"},"date_opened":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date Opened"},"successor":{"anyOf":[{"$ref":"#/components/schemas/SuccessorPlace"},{"type":"null"}],"description":"Set when open_closed_status is Closed because a different business now occupies the address."},"chain_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chain Id"},"chain_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chain Name"},"chain_domains":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Chain Domains"},"alternative_names":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Alternative Names"},"chain_wikipedia_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chain Wikipedia Url"},"number_of_locations":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Number Of Locations"},"logo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo Url"},"facebook_followers":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Facebook Followers"},"facebook_likes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Facebook Likes"},"facebook_page_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Facebook Page Id"},"facebook_bio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Facebook Bio"},"instagram_followers":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Instagram Followers"},"instagram_media_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Instagram Media Count"},"instagram_username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instagram Username"},"instagram_profile_pic_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instagram Profile Pic Url"},"instagram_bio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instagram Bio"},"approximate_review_count":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Approximate Review Count","description":"Approximate review count in buckets (e.g., '<10', '10-50', '50-100', etc.)"},"approximate_average_rating":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Approximate Average Rating","description":"Approximate average rating out of 5 from web search"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"multilingual_names":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"object","title":"Multilingual Names"},"alt_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alt Name"},"official_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Official Name"},"brand_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brand Name"},"common_names":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Common Names"},"storefront_images":{"anyOf":[{"items":{"$ref":"#/components/schemas/StorefrontImage"},"type":"array"},{"type":"null"}],"title":"Storefront Images"},"available_services":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Available Services"},"has_delivery":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Delivery"},"has_takeout":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Takeout"},"has_dining":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Dining"},"has_pickup":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Pickup"},"address":{"anyOf":[{"$ref":"#/components/schemas/AddressDetails"},{"type":"null"}],"description":"International normalized version of the address"},"address_localized":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/IndonesiaAddress"},{"$ref":"#/components/schemas/JapaneseAddress"},{"$ref":"#/components/schemas/SingaporeAddress"},{"$ref":"#/components/schemas/MalaysiaAddress"},{"$ref":"#/components/schemas/HongKongAddressDetails"},{"$ref":"#/components/schemas/UAEAddress"}],"discriminator":{"propertyName":"country_code","mapping":{"AE":"#/components/schemas/UAEAddress","HK":"#/components/schemas/HongKongAddressDetails","ID":"#/components/schemas/IndonesiaAddress","JP":"#/components/schemas/JapaneseAddress","MY":"#/components/schemas/MalaysiaAddress","SG":"#/components/schemas/SingaporeAddress"}}},{"type":"null"}],"title":"Address Localized"},"categories":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Categories"},"website":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Website"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"phone_additional":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Phone Additional"},"naics_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Naics Code"},"naics_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Naics Description"},"merchant_category_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Merchant Category Code"},"mcc_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mcc Description"},"merchant_category_group":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Merchant Category Group"},"merchant_super_industry":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Merchant Super Industry"},"located_within":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Located Within"},"instagram":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instagram"},"facebook":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Facebook"},"tiktok":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tiktok"},"opening_hours":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Opening Hours"},"opening_hours_grouped_by_hours":{"anyOf":[{"items":{"$ref":"#/components/schemas/DaysGroupedByHoursFormat"},"type":"array"},{"type":"null"}],"title":"Opening Hours Grouped By Hours"},"is_open_24h":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Open 24H"},"menu_urls":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Menu Urls"},"menu_url_official":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Menu Url Official","description":"The official menu URL from the business's own website"},"menu_content":{"anyOf":[{"items":{"$ref":"#/components/schemas/Menu"},"type":"array"},{"type":"null"}],"title":"Menu Content","description":"Structured menu content parsed from the official menu URL"},"menu_images":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Menu Images","description":"List of image URLs for menu images found through image search"},"price_tier":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Price Tier"},"average_price":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Average Price","description":"Average price in local currency (from price_tier enrichment)"},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency","description":"3-letter ISO currency code for average_price (from price_tier enrichment)"},"cuisines":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Cuisines"},"review_count":{"anyOf":[{"type":"integer"},{"type":"string"},{"type":"null"}],"title":"Review Count","description":"Total number of reviews (integer for exact count, string bucket for approximate count)"},"average_rating":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Average Rating","description":"Average rating out of 5"},"wilson_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Wilson Score","description":"Wilson score lower bound (confidence=0.95) for positive ratings"},"popularity":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Popularity","description":"Popularity score from 0 to 1 based on average rating and review count"},"review_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Review Summary","description":"One-line summary of reviews"},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary","description":"One-line summary of reviews (schema-expected field name)"},"recent_review_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Recent Review Count"},"instagram_profile":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Instagram Profile"},"building_footprint":{"anyOf":[{},{"type":"null"}],"title":"Building Footprint"},"entity_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Type"},"digital_footprint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Digital Footprint"},"place_definition":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Place Definition"},"place_reality":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Place Reality"},"parking_spaces_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parking Spaces Total","description":"Total number of parking spaces available for customers"},"parking_spaces_street":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parking Spaces Street","description":"Number of street parking spaces available"},"parking_spaces_shared":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parking Spaces Shared","description":"Number of shared parking spaces available"},"parking_spaces_dedicated":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parking Spaces Dedicated","description":"Number of dedicated parking spaces available"},"parking_spaces_image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parking Spaces Image Url","description":"URL of the satellite/aerial image used for analysis"},"traffic_control":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Traffic Control","description":"Whether traffic control manages traffic ingress/egress to the location"},"one_line_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"One Line Summary","description":"A brief, descriptive phrase capturing the essence and atmosphere of the place"},"site_quality_score":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Site Quality Score","description":"Overall site quality assessment (excellent, good, fair, poor, unknown)"},"accessibility_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Accessibility Rating","description":"How accessible the site is from major roads (excellent, good, fair, poor, unknown)"},"accessibility_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Accessibility Summary","description":"Summary of route accessibility from cardinal directions"},"primary_turns_required":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Primary Turns Required","description":"Number of turns required from primary access route"},"min_turns":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Turns","description":"The minimum number of turns required to reach the destination from the primary access route"},"primary_turns":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Primary Turns","description":"The number of turns required from the primary access route"},"primary_turns_route_matrix_visualization":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Primary Turns Route Matrix Visualization","description":"Route matrix visualization data for map rendering"},"visibility_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Visibility Rating","description":"How visible the business is from the street (high, medium, low, none, unknown)"},"signage_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signage Summary","description":"Summary of available signage (pylon, monument)"},"has_brand_signage":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Brand Signage","description":"Whether the business has identifiable brand signage"},"pylon_sign_exists":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Pylon Sign Exists","description":"Whether a pylon sign exists at the location"},"pylon_coordinates":{"anyOf":[{"items":{"type":"number"},"type":"array"},{"type":"null"}],"title":"Pylon Coordinates","description":"Pylon sign coordinates as [latitude, longitude]"},"pylon_latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pylon Latitude","description":"Latitude of the pylon sign"},"pylon_longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pylon Longitude","description":"Longitude of the pylon sign"},"pylon_number_of_brands":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pylon Number Of Brands","description":"Number of brands on pylon sign (single, multiple, uncertain, none)"},"pylon_reasoning":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pylon Reasoning","description":"Reasoning for pylon sign analysis"},"pylon_includes_brand_sign":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Pylon Includes Brand Sign","description":"Whether pylon sign includes the target brand"},"monument_sign_exists":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Monument Sign Exists","description":"Whether a monument sign exists at the location"},"monument_coordinates":{"anyOf":[{"items":{"type":"number"},"type":"array"},{"type":"null"}],"title":"Monument Coordinates","description":"Monument sign coordinates as [latitude, longitude]"},"monument_latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Monument Latitude","description":"Latitude of the monument sign"},"monument_longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Monument Longitude","description":"Longitude of the monument sign"},"monument_number_of_brands":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Monument Number Of Brands","description":"Number of brands on monument sign (single, multiple, uncertain, none)"},"monument_reasoning":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Monument Reasoning","description":"Reasoning for monument sign analysis"},"monument_includes_brand_sign":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Monument Includes Brand Sign","description":"Whether monument sign includes the target brand"},"sign_locations":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Sign Locations","description":"List of all detected sign locations with coordinates and details"},"location_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location Type","description":"Type of location (shopping_center, standalone_building, mixed_use_building, unknown)"},"building_condition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Building Condition","description":"Detailed description of building condition and maintenance"},"building_condition_score":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Building Condition Score","description":"Building condition quality score (above_average, average, below_average, none)"},"shopping_center_condition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Shopping Center Condition","description":"Condition of shopping center if applicable, null otherwise"},"shopping_center_condition_score":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Shopping Center Condition Score","description":"Shopping center condition quality score (above_average, average, below_average, none)"},"location_category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location Category","description":"Type of location (shopping_center, standalone_building, mixed_use_building, unknown)"},"building_condition_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Building Condition Summary","description":"Summary of building and property condition"},"building_condition_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Building Condition Rating","description":"Building condition score (excellent, good, fair, poor)"},"key_strengths":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Key Strengths","description":"Key strengths of the location"},"potential_concerns":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Potential Concerns","description":"Potential concerns or weaknesses"},"route_matrix_visualization":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Route Matrix Visualization","description":"Consolidated route matrix data for map visualization including routes, candidate points, and center coordinates"},"prominence":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prominence","description":"Overall prominence level (excellent, average, not visible)"},"entrance_views":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Entrance Views","description":"Street view images showing entrance visibility"},"reprompt_core_attributes":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Reprompt Core Attributes"},"apple_business_attributes":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Apple Business Attributes"}},"additionalProperties":false,"type":"object","title":"GenericJobOutputs"},"GrabJobCategory":{"properties":{"grab_generated_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Grab Generated Key"},"grab_category_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Grab Category Name"},"grab_l1":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Grab L1"},"grab_l2":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Grab L2"},"grab_l3":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Grab L3"}},"type":"object","title":"GrabJobCategory"},"GrabJobOutputs":{"properties":{"reprompt_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reprompt Id"},"coordinates":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"}],"type":"array","maxItems":2,"minItems":2},{"type":"null"}],"title":"Coordinates","description":"Enriched coordinates as [latitude, longitude]."},"coordinates_distance":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Coordinates Distance","description":"Distance in meters between input coordinates and enriched coordinates. Returns 0 if coordinates were not enriched."},"open_closed_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Open Closed Status"},"date_closed":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date Closed"},"date_opened":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date Opened"},"successor":{"anyOf":[{"$ref":"#/components/schemas/SuccessorPlace"},{"type":"null"}],"description":"Set when open_closed_status is Closed because a different business now occupies the address."},"chain_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chain Id"},"chain_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chain Name"},"chain_domains":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Chain Domains"},"alternative_names":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Alternative Names"},"chain_wikipedia_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chain Wikipedia Url"},"number_of_locations":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Number Of Locations"},"logo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo Url"},"facebook_followers":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Facebook Followers"},"facebook_likes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Facebook Likes"},"facebook_page_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Facebook Page Id"},"facebook_bio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Facebook Bio"},"instagram_followers":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Instagram Followers"},"instagram_media_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Instagram Media Count"},"instagram_username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instagram Username"},"instagram_profile_pic_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instagram Profile Pic Url"},"instagram_bio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instagram Bio"},"approximate_review_count":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Approximate Review Count","description":"Approximate review count in buckets (e.g., '<10', '10-50', '50-100', etc.)"},"approximate_average_rating":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Approximate Average Rating","description":"Approximate average rating out of 5 from web search"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"multilingual_names":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"object","title":"Multilingual Names"},"alt_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alt Name"},"official_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Official Name"},"brand_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brand Name"},"common_names":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Common Names"},"storefront_images":{"anyOf":[{"items":{"$ref":"#/components/schemas/StorefrontImage"},"type":"array"},{"type":"null"}],"title":"Storefront Images"},"available_services":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Available Services"},"has_delivery":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Delivery"},"has_takeout":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Takeout"},"has_dining":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Dining"},"has_pickup":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Pickup"},"address":{"anyOf":[{"$ref":"#/components/schemas/AddressDetails"},{"type":"null"}],"description":"International normalized version of the address"},"address_localized":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/IndonesiaAddress"},{"$ref":"#/components/schemas/JapaneseAddress"},{"$ref":"#/components/schemas/SingaporeAddress"},{"$ref":"#/components/schemas/MalaysiaAddress"},{"$ref":"#/components/schemas/HongKongAddressDetails"},{"$ref":"#/components/schemas/UAEAddress"}],"discriminator":{"propertyName":"country_code","mapping":{"AE":"#/components/schemas/UAEAddress","HK":"#/components/schemas/HongKongAddressDetails","ID":"#/components/schemas/IndonesiaAddress","JP":"#/components/schemas/JapaneseAddress","MY":"#/components/schemas/MalaysiaAddress","SG":"#/components/schemas/SingaporeAddress"}}},{"type":"null"}],"title":"Address Localized"},"categories":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Categories"},"website":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Website"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"phone_additional":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Phone Additional"},"naics_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Naics Code"},"naics_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Naics Description"},"merchant_category_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Merchant Category Code"},"mcc_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mcc Description"},"merchant_category_group":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Merchant Category Group"},"merchant_super_industry":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Merchant Super Industry"},"located_within":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Located Within"},"instagram":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instagram"},"facebook":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Facebook"},"tiktok":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tiktok"},"opening_hours":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Opening Hours"},"opening_hours_grouped_by_hours":{"anyOf":[{"items":{"$ref":"#/components/schemas/DaysGroupedByHoursFormat"},"type":"array"},{"type":"null"}],"title":"Opening Hours Grouped By Hours"},"is_open_24h":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Open 24H"},"menu_urls":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Menu Urls"},"menu_url_official":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Menu Url Official","description":"The official menu URL from the business's own website"},"menu_content":{"anyOf":[{"items":{"$ref":"#/components/schemas/Menu"},"type":"array"},{"type":"null"}],"title":"Menu Content","description":"Structured menu content parsed from the official menu URL"},"menu_images":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Menu Images","description":"List of image URLs for menu images found through image search"},"price_tier":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Price Tier"},"average_price":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Average Price","description":"Average price in local currency (from price_tier enrichment)"},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency","description":"3-letter ISO currency code for average_price (from price_tier enrichment)"},"cuisines":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Cuisines"},"review_count":{"anyOf":[{"type":"integer"},{"type":"string"},{"type":"null"}],"title":"Review Count","description":"Total number of reviews (integer for exact count, string bucket for approximate count)"},"average_rating":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Average Rating","description":"Average rating out of 5"},"wilson_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Wilson Score","description":"Wilson score lower bound (confidence=0.95) for positive ratings"},"popularity":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Popularity","description":"Popularity score from 0 to 1 based on average rating and review count"},"review_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Review Summary","description":"One-line summary of reviews"},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary","description":"One-line summary of reviews (schema-expected field name)"},"recent_review_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Recent Review Count"},"instagram_profile":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Instagram Profile"},"building_footprint":{"anyOf":[{},{"type":"null"}],"title":"Building Footprint"},"entity_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Type"},"digital_footprint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Digital Footprint"},"place_definition":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Place Definition"},"place_reality":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Place Reality"},"parking_spaces_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parking Spaces Total","description":"Total number of parking spaces available for customers"},"parking_spaces_street":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parking Spaces Street","description":"Number of street parking spaces available"},"parking_spaces_shared":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parking Spaces Shared","description":"Number of shared parking spaces available"},"parking_spaces_dedicated":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parking Spaces Dedicated","description":"Number of dedicated parking spaces available"},"parking_spaces_image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parking Spaces Image Url","description":"URL of the satellite/aerial image used for analysis"},"traffic_control":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Traffic Control","description":"Whether traffic control manages traffic ingress/egress to the location"},"one_line_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"One Line Summary","description":"A brief, descriptive phrase capturing the essence and atmosphere of the place"},"site_quality_score":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Site Quality Score","description":"Overall site quality assessment (excellent, good, fair, poor, unknown)"},"accessibility_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Accessibility Rating","description":"How accessible the site is from major roads (excellent, good, fair, poor, unknown)"},"accessibility_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Accessibility Summary","description":"Summary of route accessibility from cardinal directions"},"primary_turns_required":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Primary Turns Required","description":"Number of turns required from primary access route"},"min_turns":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Turns","description":"The minimum number of turns required to reach the destination from the primary access route"},"primary_turns":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Primary Turns","description":"The number of turns required from the primary access route"},"primary_turns_route_matrix_visualization":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Primary Turns Route Matrix Visualization","description":"Route matrix visualization data for map rendering"},"visibility_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Visibility Rating","description":"How visible the business is from the street (high, medium, low, none, unknown)"},"signage_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signage Summary","description":"Summary of available signage (pylon, monument)"},"has_brand_signage":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Brand Signage","description":"Whether the business has identifiable brand signage"},"pylon_sign_exists":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Pylon Sign Exists","description":"Whether a pylon sign exists at the location"},"pylon_coordinates":{"anyOf":[{"items":{"type":"number"},"type":"array"},{"type":"null"}],"title":"Pylon Coordinates","description":"Pylon sign coordinates as [latitude, longitude]"},"pylon_latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pylon Latitude","description":"Latitude of the pylon sign"},"pylon_longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pylon Longitude","description":"Longitude of the pylon sign"},"pylon_number_of_brands":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pylon Number Of Brands","description":"Number of brands on pylon sign (single, multiple, uncertain, none)"},"pylon_reasoning":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pylon Reasoning","description":"Reasoning for pylon sign analysis"},"pylon_includes_brand_sign":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Pylon Includes Brand Sign","description":"Whether pylon sign includes the target brand"},"monument_sign_exists":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Monument Sign Exists","description":"Whether a monument sign exists at the location"},"monument_coordinates":{"anyOf":[{"items":{"type":"number"},"type":"array"},{"type":"null"}],"title":"Monument Coordinates","description":"Monument sign coordinates as [latitude, longitude]"},"monument_latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Monument Latitude","description":"Latitude of the monument sign"},"monument_longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Monument Longitude","description":"Longitude of the monument sign"},"monument_number_of_brands":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Monument Number Of Brands","description":"Number of brands on monument sign (single, multiple, uncertain, none)"},"monument_reasoning":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Monument Reasoning","description":"Reasoning for monument sign analysis"},"monument_includes_brand_sign":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Monument Includes Brand Sign","description":"Whether monument sign includes the target brand"},"sign_locations":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Sign Locations","description":"List of all detected sign locations with coordinates and details"},"location_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location Type","description":"Type of location (shopping_center, standalone_building, mixed_use_building, unknown)"},"building_condition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Building Condition","description":"Detailed description of building condition and maintenance"},"building_condition_score":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Building Condition Score","description":"Building condition quality score (above_average, average, below_average, none)"},"shopping_center_condition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Shopping Center Condition","description":"Condition of shopping center if applicable, null otherwise"},"shopping_center_condition_score":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Shopping Center Condition Score","description":"Shopping center condition quality score (above_average, average, below_average, none)"},"location_category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location Category","description":"Type of location (shopping_center, standalone_building, mixed_use_building, unknown)"},"building_condition_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Building Condition Summary","description":"Summary of building and property condition"},"building_condition_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Building Condition Rating","description":"Building condition score (excellent, good, fair, poor)"},"key_strengths":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Key Strengths","description":"Key strengths of the location"},"potential_concerns":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Potential Concerns","description":"Potential concerns or weaknesses"},"route_matrix_visualization":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Route Matrix Visualization","description":"Consolidated route matrix data for map visualization including routes, candidate points, and center coordinates"},"prominence":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prominence","description":"Overall prominence level (excellent, average, not visible)"},"entrance_views":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Entrance Views","description":"Street view images showing entrance visibility"},"reprompt_core_attributes":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Reprompt Core Attributes"},"apple_business_attributes":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Apple Business Attributes"},"grab_categories":{"anyOf":[{"items":{"$ref":"#/components/schemas/GrabJobCategory"},"type":"array"},{"type":"null"}],"title":"Grab Categories"}},"additionalProperties":false,"type":"object","title":"GrabJobOutputs"},"GrabJobReasoning":{"properties":{"open_closed_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Open Closed Status"},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address"},"categories":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Categories"},"website":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Website"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"facebook":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Facebook"},"instagram":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instagram"},"tiktok":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tiktok"},"opening_hours":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Opening Hours"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"coordinates":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Coordinates"},"price_tier":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Price Tier"},"menu":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Menu"},"cuisine":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cuisine"},"approximate_user_reviews":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Approximate User Reviews"},"chain":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chain"},"entity_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Type"},"digital_footprint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Digital Footprint"},"place_definition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Place Definition"},"place_reality":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Place Reality"},"merchant":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Merchant"},"located_within":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Located Within"},"parking_spaces":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parking Spaces"},"parking_spaces_total":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parking Spaces Total"},"parking_spaces_street":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parking Spaces Street"},"parking_spaces_shared":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parking Spaces Shared"},"parking_spaces_dedicated":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parking Spaces Dedicated"},"one_line_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"One Line Summary"},"signage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signage"},"building_condition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Building Condition"},"entrances":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entrances"},"primary_turns":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Primary Turns"},"traffic_control":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Traffic Control"},"reprompt_core_attributes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reprompt Core Attributes"},"apple_business_attributes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Apple Business Attributes"},"storefront_images":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Storefront Images"},"available_services":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Available Services"},"reprompt_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reprompt Id"},"grab_category_reasoning":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Grab Category Reasoning"}},"type":"object","title":"GrabJobReasoning"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HereCategory":{"properties":{"code":{"type":"string","title":"Code"},"l1":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"L1"},"l2":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"L2"},"l3":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"L3"}},"type":"object","required":["code"],"title":"HereCategory","description":"A single row of the Overture → HERE mapping.\n\n`code` is the only required field — `l1`/`l2`/`l3` are advisory labels\nfrom the curator's perspective. They mirror the column names in the\nsource spreadsheet (`here_l1`, `here_l2`, `here_l3`) — note no\n`_name` suffix; we deliberately match the CSV header."},"HereJobOutputs":{"properties":{"reprompt_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reprompt Id"},"coordinates":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"}],"type":"array","maxItems":2,"minItems":2},{"type":"null"}],"title":"Coordinates","description":"Enriched coordinates as [latitude, longitude]."},"coordinates_distance":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Coordinates Distance","description":"Distance in meters between input coordinates and enriched coordinates. Returns 0 if coordinates were not enriched."},"open_closed_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Open Closed Status"},"date_closed":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date Closed"},"date_opened":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date Opened"},"successor":{"anyOf":[{"$ref":"#/components/schemas/SuccessorPlace"},{"type":"null"}],"description":"Set when open_closed_status is Closed because a different business now occupies the address."},"chain_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chain Id"},"chain_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chain Name"},"chain_domains":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Chain Domains"},"alternative_names":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Alternative Names"},"chain_wikipedia_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chain Wikipedia Url"},"number_of_locations":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Number Of Locations"},"logo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo Url"},"facebook_followers":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Facebook Followers"},"facebook_likes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Facebook Likes"},"facebook_page_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Facebook Page Id"},"facebook_bio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Facebook Bio"},"instagram_followers":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Instagram Followers"},"instagram_media_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Instagram Media Count"},"instagram_username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instagram Username"},"instagram_profile_pic_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instagram Profile Pic Url"},"instagram_bio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instagram Bio"},"approximate_review_count":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Approximate Review Count","description":"Approximate review count in buckets (e.g., '<10', '10-50', '50-100', etc.)"},"approximate_average_rating":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Approximate Average Rating","description":"Approximate average rating out of 5 from web search"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"multilingual_names":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"object","title":"Multilingual Names"},"alt_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alt Name"},"official_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Official Name"},"brand_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brand Name"},"common_names":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Common Names"},"storefront_images":{"anyOf":[{"items":{"$ref":"#/components/schemas/StorefrontImage"},"type":"array"},{"type":"null"}],"title":"Storefront Images"},"available_services":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Available Services"},"has_delivery":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Delivery"},"has_takeout":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Takeout"},"has_dining":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Dining"},"has_pickup":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Pickup"},"address":{"anyOf":[{"$ref":"#/components/schemas/AddressDetails"},{"type":"null"}],"description":"International normalized version of the address"},"address_localized":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/IndonesiaAddress"},{"$ref":"#/components/schemas/JapaneseAddress"},{"$ref":"#/components/schemas/SingaporeAddress"},{"$ref":"#/components/schemas/MalaysiaAddress"},{"$ref":"#/components/schemas/HongKongAddressDetails"},{"$ref":"#/components/schemas/UAEAddress"}],"discriminator":{"propertyName":"country_code","mapping":{"AE":"#/components/schemas/UAEAddress","HK":"#/components/schemas/HongKongAddressDetails","ID":"#/components/schemas/IndonesiaAddress","JP":"#/components/schemas/JapaneseAddress","MY":"#/components/schemas/MalaysiaAddress","SG":"#/components/schemas/SingaporeAddress"}}},{"type":"null"}],"title":"Address Localized"},"categories":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Categories"},"website":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Website"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"phone_additional":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Phone Additional"},"naics_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Naics Code"},"naics_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Naics Description"},"merchant_category_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Merchant Category Code"},"mcc_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mcc Description"},"merchant_category_group":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Merchant Category Group"},"merchant_super_industry":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Merchant Super Industry"},"located_within":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Located Within"},"instagram":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instagram"},"facebook":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Facebook"},"tiktok":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tiktok"},"opening_hours":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Opening Hours"},"opening_hours_grouped_by_hours":{"anyOf":[{"items":{"$ref":"#/components/schemas/DaysGroupedByHoursFormat"},"type":"array"},{"type":"null"}],"title":"Opening Hours Grouped By Hours"},"is_open_24h":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Open 24H"},"menu_urls":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Menu Urls"},"menu_url_official":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Menu Url Official","description":"The official menu URL from the business's own website"},"menu_content":{"anyOf":[{"items":{"$ref":"#/components/schemas/Menu"},"type":"array"},{"type":"null"}],"title":"Menu Content","description":"Structured menu content parsed from the official menu URL"},"menu_images":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Menu Images","description":"List of image URLs for menu images found through image search"},"price_tier":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Price Tier"},"average_price":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Average Price","description":"Average price in local currency (from price_tier enrichment)"},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency","description":"3-letter ISO currency code for average_price (from price_tier enrichment)"},"cuisines":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Cuisines"},"review_count":{"anyOf":[{"type":"integer"},{"type":"string"},{"type":"null"}],"title":"Review Count","description":"Total number of reviews (integer for exact count, string bucket for approximate count)"},"average_rating":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Average Rating","description":"Average rating out of 5"},"wilson_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Wilson Score","description":"Wilson score lower bound (confidence=0.95) for positive ratings"},"popularity":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Popularity","description":"Popularity score from 0 to 1 based on average rating and review count"},"review_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Review Summary","description":"One-line summary of reviews"},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary","description":"One-line summary of reviews (schema-expected field name)"},"recent_review_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Recent Review Count"},"instagram_profile":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Instagram Profile"},"building_footprint":{"anyOf":[{},{"type":"null"}],"title":"Building Footprint"},"entity_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Type"},"digital_footprint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Digital Footprint"},"place_definition":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Place Definition"},"place_reality":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Place Reality"},"parking_spaces_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parking Spaces Total","description":"Total number of parking spaces available for customers"},"parking_spaces_street":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parking Spaces Street","description":"Number of street parking spaces available"},"parking_spaces_shared":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parking Spaces Shared","description":"Number of shared parking spaces available"},"parking_spaces_dedicated":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parking Spaces Dedicated","description":"Number of dedicated parking spaces available"},"parking_spaces_image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parking Spaces Image Url","description":"URL of the satellite/aerial image used for analysis"},"traffic_control":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Traffic Control","description":"Whether traffic control manages traffic ingress/egress to the location"},"one_line_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"One Line Summary","description":"A brief, descriptive phrase capturing the essence and atmosphere of the place"},"site_quality_score":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Site Quality Score","description":"Overall site quality assessment (excellent, good, fair, poor, unknown)"},"accessibility_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Accessibility Rating","description":"How accessible the site is from major roads (excellent, good, fair, poor, unknown)"},"accessibility_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Accessibility Summary","description":"Summary of route accessibility from cardinal directions"},"primary_turns_required":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Primary Turns Required","description":"Number of turns required from primary access route"},"min_turns":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Turns","description":"The minimum number of turns required to reach the destination from the primary access route"},"primary_turns":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Primary Turns","description":"The number of turns required from the primary access route"},"primary_turns_route_matrix_visualization":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Primary Turns Route Matrix Visualization","description":"Route matrix visualization data for map rendering"},"visibility_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Visibility Rating","description":"How visible the business is from the street (high, medium, low, none, unknown)"},"signage_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signage Summary","description":"Summary of available signage (pylon, monument)"},"has_brand_signage":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Brand Signage","description":"Whether the business has identifiable brand signage"},"pylon_sign_exists":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Pylon Sign Exists","description":"Whether a pylon sign exists at the location"},"pylon_coordinates":{"anyOf":[{"items":{"type":"number"},"type":"array"},{"type":"null"}],"title":"Pylon Coordinates","description":"Pylon sign coordinates as [latitude, longitude]"},"pylon_latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pylon Latitude","description":"Latitude of the pylon sign"},"pylon_longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pylon Longitude","description":"Longitude of the pylon sign"},"pylon_number_of_brands":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pylon Number Of Brands","description":"Number of brands on pylon sign (single, multiple, uncertain, none)"},"pylon_reasoning":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pylon Reasoning","description":"Reasoning for pylon sign analysis"},"pylon_includes_brand_sign":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Pylon Includes Brand Sign","description":"Whether pylon sign includes the target brand"},"monument_sign_exists":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Monument Sign Exists","description":"Whether a monument sign exists at the location"},"monument_coordinates":{"anyOf":[{"items":{"type":"number"},"type":"array"},{"type":"null"}],"title":"Monument Coordinates","description":"Monument sign coordinates as [latitude, longitude]"},"monument_latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Monument Latitude","description":"Latitude of the monument sign"},"monument_longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Monument Longitude","description":"Longitude of the monument sign"},"monument_number_of_brands":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Monument Number Of Brands","description":"Number of brands on monument sign (single, multiple, uncertain, none)"},"monument_reasoning":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Monument Reasoning","description":"Reasoning for monument sign analysis"},"monument_includes_brand_sign":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Monument Includes Brand Sign","description":"Whether monument sign includes the target brand"},"sign_locations":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Sign Locations","description":"List of all detected sign locations with coordinates and details"},"location_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location Type","description":"Type of location (shopping_center, standalone_building, mixed_use_building, unknown)"},"building_condition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Building Condition","description":"Detailed description of building condition and maintenance"},"building_condition_score":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Building Condition Score","description":"Building condition quality score (above_average, average, below_average, none)"},"shopping_center_condition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Shopping Center Condition","description":"Condition of shopping center if applicable, null otherwise"},"shopping_center_condition_score":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Shopping Center Condition Score","description":"Shopping center condition quality score (above_average, average, below_average, none)"},"location_category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location Category","description":"Type of location (shopping_center, standalone_building, mixed_use_building, unknown)"},"building_condition_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Building Condition Summary","description":"Summary of building and property condition"},"building_condition_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Building Condition Rating","description":"Building condition score (excellent, good, fair, poor)"},"key_strengths":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Key Strengths","description":"Key strengths of the location"},"potential_concerns":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Potential Concerns","description":"Potential concerns or weaknesses"},"route_matrix_visualization":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Route Matrix Visualization","description":"Consolidated route matrix data for map visualization including routes, candidate points, and center coordinates"},"prominence":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prominence","description":"Overall prominence level (excellent, average, not visible)"},"entrance_views":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Entrance Views","description":"Street view images showing entrance visibility"},"reprompt_core_attributes":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Reprompt Core Attributes"},"apple_business_attributes":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Apple Business Attributes"},"here_category":{"anyOf":[{"$ref":"#/components/schemas/HereCategory"},{"type":"null"}]}},"additionalProperties":false,"type":"object","title":"HereJobOutputs"},"HereJobReasoning":{"properties":{"open_closed_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Open Closed Status"},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address"},"categories":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Categories"},"website":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Website"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"facebook":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Facebook"},"instagram":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instagram"},"tiktok":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tiktok"},"opening_hours":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Opening Hours"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"coordinates":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Coordinates"},"price_tier":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Price Tier"},"menu":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Menu"},"cuisine":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cuisine"},"approximate_user_reviews":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Approximate User Reviews"},"chain":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chain"},"entity_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Type"},"digital_footprint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Digital Footprint"},"place_definition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Place Definition"},"place_reality":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Place Reality"},"merchant":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Merchant"},"located_within":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Located Within"},"parking_spaces":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parking Spaces"},"parking_spaces_total":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parking Spaces Total"},"parking_spaces_street":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parking Spaces Street"},"parking_spaces_shared":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parking Spaces Shared"},"parking_spaces_dedicated":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parking Spaces Dedicated"},"one_line_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"One Line Summary"},"signage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signage"},"building_condition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Building Condition"},"entrances":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entrances"},"primary_turns":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Primary Turns"},"traffic_control":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Traffic Control"},"reprompt_core_attributes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reprompt Core Attributes"},"apple_business_attributes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Apple Business Attributes"},"storefront_images":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Storefront Images"},"available_services":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Available Services"},"reprompt_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reprompt Id"},"here_category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Here Category"}},"type":"object","title":"HereJobReasoning"},"HongKongAddressDetails":{"properties":{"full_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Full Address","description":"Full formatted address string"},"unit_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit Number","description":"An apartment, unit, office, lot, or other secondary unit designator"},"floor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Floor","description":"Expressions indicating a floor number e.g. '3rd Floor', 'Ground Floor', etc."},"building":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Building","description":"Building name e.g. 'Sun Hung Kai Centre', 'The Center', 'Empire State Building'"},"block":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Block","description":"Block number, used in Singapore (SG) e.g., 'Block 329', Malaysia (MY) e.g., 'Blok A', and Indonesia (ID) e.g., 'Blok G5 No. 17'"},"km":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Km","description":"Kilometer marker, commonly used in Malaysia (MY) e.g., 'KM 12, Jalan Cheras' and Indonesia (ID) e.g., 'KM 53, Jl. Tol Jakarta‑Cikampek'. Rarely used in Singapore. Should be parsed as a number (e.g., 'KM 75' should be parsed as '75')."},"house":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"House"},"street":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Street"},"neighborhood":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Neighborhood"},"suburb":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Suburb"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"},"country":{"type":"string","title":"Country","description":"Country name","default":"Hong Kong"},"postalCode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postalcode"},"country_code":{"type":"string","const":"HK","title":"Country Code","description":"Country code for Hong Kong","default":"HK"},"district":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"District","description":"District (e.g., 'Wan Chai', 'Tsim Sha Tsui', 'Central')"},"area":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Area","description":"Area ('Hong Kong', 'Kowloon', 'New Territories')"}},"type":"object","title":"HongKongAddressDetails","description":"Extended schema for Hong Kong addresses that inherits from the standard AddressDetails class.\nAdds district and area fields which are specific to Hong Kong's addressing system."},"IndonesiaAddress":{"properties":{"country":{"type":"string","title":"Country","description":"Country name","default":"Indonesia"},"country_code":{"type":"string","const":"ID","title":"Country Code","description":"ISO 3166-2 country code for Indonesia","default":"ID"},"administrative_area_level1":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Administrative Area Level1","description":"Province (resolvable), e.g., Daerah Khusus Ibukota Jakarta"},"administrative_area_level2":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Administrative Area Level2","description":"Regency/City (resolvable), e.g., Kota Jakarta Selatan"},"administrative_area_level3":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Administrative Area Level3","description":"District (resolvable), e.g., Setiabudi"},"administrative_area_level4":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Administrative Area Level4","description":"Village/Sub-District (resolvable), e.g., Karet Kuningan"},"rt_rw":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rt Rw","description":"RT/RW (neighborhood division), e.g., RT.10/RW.7"},"street":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Street","description":"Street name, e.g., Jl. Setia Budi Selatan Raya"},"gang":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gang","description":"Gang/Alley, e.g., Gg. Jati"},"building":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Building","description":"Building's name, e.g., Ruko Bekasi Town Square"},"km":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Km","description":"Kilometer, means the distance between the location and one of the endpoints of a road, e.g., KM.31"},"block":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Block","description":"Block, contains multiple house numbers, e.g., Blok B7-8"},"house_no":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"House No","description":"House number, e.g., No.2"},"kav":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Kav","description":"Kav, e.g., Kav 53"},"postcode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postcode","description":"Postal code, e.g., 35365"},"floor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Floor","description":"Floor, e.g., 2nd Floor"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit","description":"Unit number inside a building, e.g., Unit 216"}},"type":"object","title":"IndonesiaAddress","description":"Schema for Indonesian addresses. It covers common components like country, administrative areas, and detailed address parts.","example":{"administrative_area_level1":"Daerah Khusus Ibukota Jakarta","administrative_area_level2":"Kota Jakarta Selatan","administrative_area_level3":"Setiabudi","administrative_area_level4":"Karet Kuningan","building":"Ruko Bekasi Town Square","country":"Indonesia","gang":"Gg. Jati","postcode":"35365","rt_rw":"RT.10/RW.7","street":"Jl. Setia Budi Selatan Raya"}},"InputQuery":{"properties":{"input_type":{"type":"string","const":"query","title":"Input Type","default":"query"},"query":{"type":"string","title":"Query","description":"Text query describing the place to find"},"id":{"type":"string","title":"Id","description":"Required identifier for the query"}},"type":"object","required":["query","id"],"title":"InputQuery","description":"Input query model for text-based place identification"},"JapaneseAddress":{"properties":{"country":{"type":"string","title":"Country","description":"Country name","default":"日本"},"country_code":{"type":"string","const":"JP","title":"Country Code","description":"Country code for Japan","default":"JP"},"postal_code":{"anyOf":[{"type":"string","pattern":"^(?:〒)?(?:\\d{3}-\\d{4}|\\d{7})$"},{"type":"null"}],"title":"Postal Code","description":"7-digit postal code in the format '〒123-4567', '123-4567' or '1234567'"},"prefecture":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prefecture","description":"Prefecture name, e.g., 熊本県 (Kumamoto Prefecture)"},"municipality":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Municipality","description":"City, ward, town, or district name, e.g., 阿蘇市 (Aso City)"},"town_area":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Town Area","description":"Town or area within the municipality, e.g., 内牧 (Uchimaki)"},"street_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Street Address","description":"Street address including block and house number, e.g., ２５２−６"}},"type":"object","title":"JapaneseAddress","description":"Schema for Japanese addresses. It covers common components like postal codes, prefectures, municipalities, and detailed address parts.","example":{"country":"日本","municipality":"阿蘇市","postal_code":"869-2301","prefecture":"熊本県","street_address":"２５２−６","town_area":"内牧"}},"JobConfidenceScores":{"properties":{"open_closed_status":{"anyOf":[{"$ref":"#/components/schemas/ConfidenceScore"},{"type":"null"}],"description":"Confidence score for the open/closed status of a place. VERY_HIGH (95% accuracy) indicates extremely reliable open/closed status. HIGH (90% accuracy) indicates very reliable status. MEDIUM (80% accuracy) indicates reasonably reliable status. LOW (70% accuracy) indicates limited online evidence but likely correct status.NONE indicates insufficient evidence to determine status. This happens when a place has no internet presence at all."},"phone":{"anyOf":[{"$ref":"#/components/schemas/ConfidenceScore"},{"type":"null"}]},"website":{"anyOf":[{"$ref":"#/components/schemas/ConfidenceScore"},{"type":"null"}]},"address":{"anyOf":[{"$ref":"#/components/schemas/ConfidenceScore"},{"type":"null"}]},"categories":{"anyOf":[{"$ref":"#/components/schemas/ConfidenceScore"},{"type":"null"}]},"coordinates":{"anyOf":[{"$ref":"#/components/schemas/ConfidenceScore"},{"type":"null"}]},"opening_hours":{"anyOf":[{"$ref":"#/components/schemas/ConfidenceScore"},{"type":"null"}]},"entity_type":{"anyOf":[{"$ref":"#/components/schemas/ConfidenceScore"},{"type":"null"}]},"name":{"anyOf":[{"$ref":"#/components/schemas/ConfidenceScore"},{"type":"null"}]},"parking_spaces":{"anyOf":[{"$ref":"#/components/schemas/ConfidenceScore"},{"type":"null"}]},"parking_spaces_total":{"anyOf":[{"$ref":"#/components/schemas/ConfidenceScore"},{"type":"null"}]},"parking_spaces_street":{"anyOf":[{"$ref":"#/components/schemas/ConfidenceScore"},{"type":"null"}]},"parking_spaces_shared":{"anyOf":[{"$ref":"#/components/schemas/ConfidenceScore"},{"type":"null"}]},"parking_spaces_dedicated":{"anyOf":[{"$ref":"#/components/schemas/ConfidenceScore"},{"type":"null"}]},"chain":{"anyOf":[{"$ref":"#/components/schemas/ConfidenceScore"},{"type":"null"}]},"reprompt_core":{"anyOf":[{"$ref":"#/components/schemas/ConfidenceScore"},{"type":"null"}]},"located_within":{"anyOf":[{"$ref":"#/components/schemas/ConfidenceScore"},{"type":"null"}]},"price_tier":{"anyOf":[{"$ref":"#/components/schemas/ConfidenceScore"},{"type":"null"}]},"approximate_user_reviews":{"anyOf":[{"$ref":"#/components/schemas/ConfidenceScore"},{"type":"null"}]},"menu":{"anyOf":[{"$ref":"#/components/schemas/ConfidenceScore"},{"type":"null"}]}},"type":"object","title":"JobConfidenceScores"},"JobCounts":{"properties":{"pending":{"items":{"type":"string"},"type":"array","title":"Pending","default":[]},"queued":{"items":{"type":"string"},"type":"array","title":"Queued","default":[]},"queued_deferred":{"items":{"type":"string"},"type":"array","title":"Queued Deferred","default":[]},"in_progress":{"items":{"type":"string"},"type":"array","title":"In Progress","default":[]},"completed":{"items":{"type":"string"},"type":"array","title":"Completed","default":[]},"failed":{"items":{"type":"string"},"type":"array","title":"Failed","default":[]}},"type":"object","title":"JobCounts"},"JobListResponse":{"properties":{"jobs":{"items":{"$ref":"#/components/schemas/PlaceJobResult"},"type":"array","title":"Jobs"},"total":{"type":"integer","title":"Total","description":"Total number of jobs available"},"limit":{"type":"integer","title":"Limit","description":"Number of jobs per page"},"offset":{"type":"integer","title":"Offset","description":"Starting position of the current page"}},"type":"object","required":["jobs","total","limit","offset"],"title":"JobListResponse"},"JobMetadata":{"properties":{"last_enriched":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Enriched","description":"Timestamp of the last enrichment"},"enrichment_metadata":{"anyOf":[{"additionalProperties":{"additionalProperties":true,"type":"object"},"type":"object"},{"type":"null"}],"title":"Enrichment Metadata"},"attribute_status":{"additionalProperties":{"$ref":"#/components/schemas/AttributeStatusEnum"},"type":"object","title":"Attribute Status"},"country_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country Code"}},"type":"object","required":["attribute_status"],"title":"JobMetadata"},"JobReasoning":{"properties":{"open_closed_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Open Closed Status"},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address"},"categories":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Categories"},"website":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Website"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"facebook":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Facebook"},"instagram":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instagram"},"tiktok":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tiktok"},"opening_hours":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Opening Hours"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"coordinates":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Coordinates"},"price_tier":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Price Tier"},"menu":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Menu"},"cuisine":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cuisine"},"approximate_user_reviews":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Approximate User Reviews"},"chain":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chain"},"entity_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Type"},"digital_footprint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Digital Footprint"},"place_definition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Place Definition"},"place_reality":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Place Reality"},"merchant":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Merchant"},"located_within":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Located Within"},"parking_spaces":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parking Spaces"},"parking_spaces_total":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parking Spaces Total"},"parking_spaces_street":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parking Spaces Street"},"parking_spaces_shared":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parking Spaces Shared"},"parking_spaces_dedicated":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parking Spaces Dedicated"},"one_line_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"One Line Summary"},"signage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signage"},"building_condition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Building Condition"},"entrances":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entrances"},"primary_turns":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Primary Turns"},"traffic_control":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Traffic Control"},"reprompt_core_attributes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reprompt Core Attributes"},"apple_business_attributes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Apple Business Attributes"},"storefront_images":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Storefront Images"},"available_services":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Available Services"},"reprompt_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reprompt Id"}},"type":"object","title":"JobReasoning"},"KnowledgeGraph":{"properties":{"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Type"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"website":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Website"},"facts":{"additionalProperties":{"type":"string"},"type":"object","title":"Facts"}},"type":"object","title":"KnowledgeGraph"},"LoupeJobOutputs":{"properties":{"reprompt_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reprompt Id"},"coordinates":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"}],"type":"array","maxItems":2,"minItems":2},{"type":"null"}],"title":"Coordinates","description":"Enriched coordinates as [latitude, longitude]."},"coordinates_distance":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Coordinates Distance","description":"Distance in meters between input coordinates and enriched coordinates. Returns 0 if coordinates were not enriched."},"open_closed_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Open Closed Status"},"date_closed":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date Closed"},"date_opened":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date Opened"},"successor":{"anyOf":[{"$ref":"#/components/schemas/SuccessorPlace"},{"type":"null"}],"description":"Set when open_closed_status is Closed because a different business now occupies the address."},"chain_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chain Id"},"chain_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chain Name"},"chain_domains":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Chain Domains"},"alternative_names":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Alternative Names"},"chain_wikipedia_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chain Wikipedia Url"},"number_of_locations":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Number Of Locations"},"logo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo Url"},"facebook_followers":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Facebook Followers"},"facebook_likes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Facebook Likes"},"facebook_page_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Facebook Page Id"},"facebook_bio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Facebook Bio"},"instagram_followers":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Instagram Followers"},"instagram_media_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Instagram Media Count"},"instagram_username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instagram Username"},"instagram_profile_pic_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instagram Profile Pic Url"},"instagram_bio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instagram Bio"},"approximate_review_count":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Approximate Review Count","description":"Approximate review count in buckets (e.g., '<10', '10-50', '50-100', etc.)"},"approximate_average_rating":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Approximate Average Rating","description":"Approximate average rating out of 5 from web search"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"multilingual_names":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"object","title":"Multilingual Names"},"alt_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alt Name"},"official_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Official Name"},"brand_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brand Name"},"common_names":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Common Names"},"storefront_images":{"anyOf":[{"items":{"$ref":"#/components/schemas/StorefrontImage"},"type":"array"},{"type":"null"}],"title":"Storefront Images"},"available_services":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Available Services"},"has_delivery":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Delivery"},"has_takeout":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Takeout"},"has_dining":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Dining"},"has_pickup":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Pickup"},"address":{"anyOf":[{"$ref":"#/components/schemas/AddressDetails"},{"type":"null"}],"description":"International normalized version of the address"},"address_localized":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/IndonesiaAddress"},{"$ref":"#/components/schemas/JapaneseAddress"},{"$ref":"#/components/schemas/SingaporeAddress"},{"$ref":"#/components/schemas/MalaysiaAddress"},{"$ref":"#/components/schemas/HongKongAddressDetails"},{"$ref":"#/components/schemas/UAEAddress"}],"discriminator":{"propertyName":"country_code","mapping":{"AE":"#/components/schemas/UAEAddress","HK":"#/components/schemas/HongKongAddressDetails","ID":"#/components/schemas/IndonesiaAddress","JP":"#/components/schemas/JapaneseAddress","MY":"#/components/schemas/MalaysiaAddress","SG":"#/components/schemas/SingaporeAddress"}}},{"type":"null"}],"title":"Address Localized"},"categories":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Categories"},"website":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Website"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"phone_additional":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Phone Additional"},"naics_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Naics Code"},"naics_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Naics Description"},"merchant_category_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Merchant Category Code"},"mcc_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mcc Description"},"merchant_category_group":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Merchant Category Group"},"merchant_super_industry":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Merchant Super Industry"},"located_within":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Located Within"},"instagram":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instagram"},"facebook":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Facebook"},"tiktok":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tiktok"},"opening_hours":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Opening Hours"},"opening_hours_grouped_by_hours":{"anyOf":[{"items":{"$ref":"#/components/schemas/DaysGroupedByHoursFormat"},"type":"array"},{"type":"null"}],"title":"Opening Hours Grouped By Hours"},"is_open_24h":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Open 24H"},"menu_urls":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Menu Urls"},"menu_url_official":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Menu Url Official","description":"The official menu URL from the business's own website"},"menu_content":{"anyOf":[{"items":{"$ref":"#/components/schemas/Menu"},"type":"array"},{"type":"null"}],"title":"Menu Content","description":"Structured menu content parsed from the official menu URL"},"menu_images":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Menu Images","description":"List of image URLs for menu images found through image search"},"price_tier":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Price Tier"},"average_price":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Average Price","description":"Average price in local currency (from price_tier enrichment)"},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency","description":"3-letter ISO currency code for average_price (from price_tier enrichment)"},"cuisines":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Cuisines"},"review_count":{"anyOf":[{"type":"integer"},{"type":"string"},{"type":"null"}],"title":"Review Count","description":"Total number of reviews (integer for exact count, string bucket for approximate count)"},"average_rating":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Average Rating","description":"Average rating out of 5"},"wilson_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Wilson Score","description":"Wilson score lower bound (confidence=0.95) for positive ratings"},"popularity":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Popularity","description":"Popularity score from 0 to 1 based on average rating and review count"},"review_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Review Summary","description":"One-line summary of reviews"},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary","description":"One-line summary of reviews (schema-expected field name)"},"recent_review_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Recent Review Count"},"instagram_profile":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Instagram Profile"},"building_footprint":{"anyOf":[{},{"type":"null"}],"title":"Building Footprint"},"entity_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Type"},"digital_footprint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Digital Footprint"},"place_definition":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Place Definition"},"place_reality":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Place Reality"},"parking_spaces_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parking Spaces Total","description":"Total number of parking spaces available for customers"},"parking_spaces_street":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parking Spaces Street","description":"Number of street parking spaces available"},"parking_spaces_shared":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parking Spaces Shared","description":"Number of shared parking spaces available"},"parking_spaces_dedicated":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parking Spaces Dedicated","description":"Number of dedicated parking spaces available"},"parking_spaces_image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parking Spaces Image Url","description":"URL of the satellite/aerial image used for analysis"},"traffic_control":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Traffic Control","description":"Whether traffic control manages traffic ingress/egress to the location"},"one_line_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"One Line Summary","description":"A brief, descriptive phrase capturing the essence and atmosphere of the place"},"site_quality_score":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Site Quality Score","description":"Overall site quality assessment (excellent, good, fair, poor, unknown)"},"accessibility_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Accessibility Rating","description":"How accessible the site is from major roads (excellent, good, fair, poor, unknown)"},"accessibility_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Accessibility Summary","description":"Summary of route accessibility from cardinal directions"},"primary_turns_required":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Primary Turns Required","description":"Number of turns required from primary access route"},"min_turns":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Turns","description":"The minimum number of turns required to reach the destination from the primary access route"},"primary_turns":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Primary Turns","description":"The number of turns required from the primary access route"},"primary_turns_route_matrix_visualization":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Primary Turns Route Matrix Visualization","description":"Route matrix visualization data for map rendering"},"visibility_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Visibility Rating","description":"How visible the business is from the street (high, medium, low, none, unknown)"},"signage_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signage Summary","description":"Summary of available signage (pylon, monument)"},"has_brand_signage":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Brand Signage","description":"Whether the business has identifiable brand signage"},"pylon_sign_exists":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Pylon Sign Exists","description":"Whether a pylon sign exists at the location"},"pylon_coordinates":{"anyOf":[{"items":{"type":"number"},"type":"array"},{"type":"null"}],"title":"Pylon Coordinates","description":"Pylon sign coordinates as [latitude, longitude]"},"pylon_latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pylon Latitude","description":"Latitude of the pylon sign"},"pylon_longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pylon Longitude","description":"Longitude of the pylon sign"},"pylon_number_of_brands":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pylon Number Of Brands","description":"Number of brands on pylon sign (single, multiple, uncertain, none)"},"pylon_reasoning":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pylon Reasoning","description":"Reasoning for pylon sign analysis"},"pylon_includes_brand_sign":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Pylon Includes Brand Sign","description":"Whether pylon sign includes the target brand"},"monument_sign_exists":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Monument Sign Exists","description":"Whether a monument sign exists at the location"},"monument_coordinates":{"anyOf":[{"items":{"type":"number"},"type":"array"},{"type":"null"}],"title":"Monument Coordinates","description":"Monument sign coordinates as [latitude, longitude]"},"monument_latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Monument Latitude","description":"Latitude of the monument sign"},"monument_longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Monument Longitude","description":"Longitude of the monument sign"},"monument_number_of_brands":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Monument Number Of Brands","description":"Number of brands on monument sign (single, multiple, uncertain, none)"},"monument_reasoning":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Monument Reasoning","description":"Reasoning for monument sign analysis"},"monument_includes_brand_sign":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Monument Includes Brand Sign","description":"Whether monument sign includes the target brand"},"sign_locations":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Sign Locations","description":"List of all detected sign locations with coordinates and details"},"location_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location Type","description":"Type of location (shopping_center, standalone_building, mixed_use_building, unknown)"},"building_condition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Building Condition","description":"Detailed description of building condition and maintenance"},"building_condition_score":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Building Condition Score","description":"Building condition quality score (above_average, average, below_average, none)"},"shopping_center_condition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Shopping Center Condition","description":"Condition of shopping center if applicable, null otherwise"},"shopping_center_condition_score":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Shopping Center Condition Score","description":"Shopping center condition quality score (above_average, average, below_average, none)"},"location_category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location Category","description":"Type of location (shopping_center, standalone_building, mixed_use_building, unknown)"},"building_condition_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Building Condition Summary","description":"Summary of building and property condition"},"building_condition_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Building Condition Rating","description":"Building condition score (excellent, good, fair, poor)"},"key_strengths":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Key Strengths","description":"Key strengths of the location"},"potential_concerns":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Potential Concerns","description":"Potential concerns or weaknesses"},"route_matrix_visualization":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Route Matrix Visualization","description":"Consolidated route matrix data for map visualization including routes, candidate points, and center coordinates"},"prominence":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prominence","description":"Overall prominence level (excellent, average, not visible)"},"entrance_views":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Entrance Views","description":"Street view images showing entrance visibility"},"reprompt_core_attributes":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Reprompt Core Attributes"},"apple_business_attributes":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Apple Business Attributes"},"loupe_l5_category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Loupe L5 Category"}},"additionalProperties":false,"type":"object","title":"LoupeJobOutputs"},"MalaysiaAddress":{"properties":{"full_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Full Address","description":"Full formatted address string"},"unit_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit Number","description":"An apartment, unit, office, lot, or other secondary unit designator"},"floor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Floor","description":"Expressions indicating a floor number e.g. '3rd Floor', 'Ground Floor', etc."},"building":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Building","description":"Building name e.g. 'Sun Hung Kai Centre', 'The Center', 'Empire State Building'"},"block":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Block","description":"Block number, used in Singapore (SG) e.g., 'Block 329', Malaysia (MY) e.g., 'Blok A', and Indonesia (ID) e.g., 'Blok G5 No. 17'"},"km":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Km","description":"Kilometer marker, commonly used in Malaysia (MY) e.g., 'KM 12, Jalan Cheras' and Indonesia (ID) e.g., 'KM 53, Jl. Tol Jakarta‑Cikampek'. Rarely used in Singapore. Should be parsed as a number (e.g., 'KM 75' should be parsed as '75')."},"house":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"House"},"street":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Street"},"neighborhood":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Neighborhood"},"suburb":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Suburb"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"},"postalCode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postalcode"},"country_code":{"type":"string","const":"MY","title":"Country Code","description":"ISO 3166-2 country code for Malaysia","default":"MY"},"administrative_area_level1":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Administrative Area Level1","description":"Province (resolvable), e.g., Wilayah Persekutuan Kuala Lumpur"},"administrative_area_level2":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Administrative Area Level2","description":"State (resolvable), e.g., Wilayah Persekutuan Kuala Lumpur"},"administrative_area_level3":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Administrative Area Level3","description":"District (resolvable), e.g., Kuala Lumpur"},"administrative_area_level4":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Administrative Area Level4","description":"Sub-District (resolvable), e.g., Kuala Lumpur"},"nearby_street":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nearby Street","description":"Nearby street name, e.g., Jln Ampang"},"lot":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lot","description":"Lot number, e.g., 123"},"sub_lot":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sub Lot","description":"Sub-lot number, e.g., 123"}},"type":"object","title":"MalaysiaAddress","description":"Schema for Malaysian addresses. It covers common components like country, administrative areas, and detailed address parts."},"MastercardJobOutputs":{"properties":{"reprompt_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reprompt Id"},"coordinates":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"}],"type":"array","maxItems":2,"minItems":2},{"type":"null"}],"title":"Coordinates","description":"Enriched coordinates as [latitude, longitude]."},"coordinates_distance":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Coordinates Distance","description":"Distance in meters between input coordinates and enriched coordinates. Returns 0 if coordinates were not enriched."},"open_closed_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Open Closed Status"},"date_closed":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date Closed"},"date_opened":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date Opened"},"successor":{"anyOf":[{"$ref":"#/components/schemas/SuccessorPlace"},{"type":"null"}],"description":"Set when open_closed_status is Closed because a different business now occupies the address."},"chain_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chain Id"},"chain_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chain Name"},"chain_domains":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Chain Domains"},"alternative_names":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Alternative Names"},"chain_wikipedia_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chain Wikipedia Url"},"number_of_locations":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Number Of Locations"},"logo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo Url"},"facebook_followers":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Facebook Followers"},"facebook_likes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Facebook Likes"},"facebook_page_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Facebook Page Id"},"facebook_bio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Facebook Bio"},"instagram_followers":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Instagram Followers"},"instagram_media_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Instagram Media Count"},"instagram_username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instagram Username"},"instagram_profile_pic_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instagram Profile Pic Url"},"instagram_bio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instagram Bio"},"approximate_review_count":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Approximate Review Count","description":"Approximate review count in buckets (e.g., '<10', '10-50', '50-100', etc.)"},"approximate_average_rating":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Approximate Average Rating","description":"Approximate average rating out of 5 from web search"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"multilingual_names":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"object","title":"Multilingual Names"},"alt_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alt Name"},"official_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Official Name"},"brand_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brand Name"},"common_names":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Common Names"},"storefront_images":{"anyOf":[{"items":{"$ref":"#/components/schemas/StorefrontImage"},"type":"array"},{"type":"null"}],"title":"Storefront Images"},"available_services":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Available Services"},"has_delivery":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Delivery"},"has_takeout":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Takeout"},"has_dining":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Dining"},"has_pickup":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Pickup"},"address":{"anyOf":[{"$ref":"#/components/schemas/AddressDetails"},{"type":"null"}],"description":"International normalized version of the address"},"address_localized":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/IndonesiaAddress"},{"$ref":"#/components/schemas/JapaneseAddress"},{"$ref":"#/components/schemas/SingaporeAddress"},{"$ref":"#/components/schemas/MalaysiaAddress"},{"$ref":"#/components/schemas/HongKongAddressDetails"},{"$ref":"#/components/schemas/UAEAddress"}],"discriminator":{"propertyName":"country_code","mapping":{"AE":"#/components/schemas/UAEAddress","HK":"#/components/schemas/HongKongAddressDetails","ID":"#/components/schemas/IndonesiaAddress","JP":"#/components/schemas/JapaneseAddress","MY":"#/components/schemas/MalaysiaAddress","SG":"#/components/schemas/SingaporeAddress"}}},{"type":"null"}],"title":"Address Localized"},"categories":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Categories"},"website":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Website"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"phone_additional":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Phone Additional"},"naics_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Naics Code"},"naics_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Naics Description"},"merchant_category_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Merchant Category Code"},"mcc_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mcc Description"},"merchant_category_group":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Merchant Category Group"},"merchant_super_industry":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Merchant Super Industry"},"located_within":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Located Within"},"instagram":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instagram"},"facebook":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Facebook"},"tiktok":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tiktok"},"opening_hours":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Opening Hours"},"opening_hours_grouped_by_hours":{"anyOf":[{"items":{"$ref":"#/components/schemas/DaysGroupedByHoursFormat"},"type":"array"},{"type":"null"}],"title":"Opening Hours Grouped By Hours"},"is_open_24h":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Open 24H"},"menu_urls":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Menu Urls"},"menu_url_official":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Menu Url Official","description":"The official menu URL from the business's own website"},"menu_content":{"anyOf":[{"items":{"$ref":"#/components/schemas/Menu"},"type":"array"},{"type":"null"}],"title":"Menu Content","description":"Structured menu content parsed from the official menu URL"},"menu_images":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Menu Images","description":"List of image URLs for menu images found through image search"},"price_tier":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Price Tier"},"average_price":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Average Price","description":"Average price in local currency (from price_tier enrichment)"},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency","description":"3-letter ISO currency code for average_price (from price_tier enrichment)"},"cuisines":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Cuisines"},"review_count":{"anyOf":[{"type":"integer"},{"type":"string"},{"type":"null"}],"title":"Review Count","description":"Total number of reviews (integer for exact count, string bucket for approximate count)"},"average_rating":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Average Rating","description":"Average rating out of 5"},"wilson_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Wilson Score","description":"Wilson score lower bound (confidence=0.95) for positive ratings"},"popularity":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Popularity","description":"Popularity score from 0 to 1 based on average rating and review count"},"review_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Review Summary","description":"One-line summary of reviews"},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary","description":"One-line summary of reviews (schema-expected field name)"},"recent_review_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Recent Review Count"},"instagram_profile":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Instagram Profile"},"building_footprint":{"anyOf":[{},{"type":"null"}],"title":"Building Footprint"},"entity_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Type"},"digital_footprint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Digital Footprint"},"place_definition":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Place Definition"},"place_reality":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Place Reality"},"parking_spaces_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parking Spaces Total","description":"Total number of parking spaces available for customers"},"parking_spaces_street":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parking Spaces Street","description":"Number of street parking spaces available"},"parking_spaces_shared":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parking Spaces Shared","description":"Number of shared parking spaces available"},"parking_spaces_dedicated":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parking Spaces Dedicated","description":"Number of dedicated parking spaces available"},"parking_spaces_image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parking Spaces Image Url","description":"URL of the satellite/aerial image used for analysis"},"traffic_control":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Traffic Control","description":"Whether traffic control manages traffic ingress/egress to the location"},"one_line_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"One Line Summary","description":"A brief, descriptive phrase capturing the essence and atmosphere of the place"},"site_quality_score":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Site Quality Score","description":"Overall site quality assessment (excellent, good, fair, poor, unknown)"},"accessibility_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Accessibility Rating","description":"How accessible the site is from major roads (excellent, good, fair, poor, unknown)"},"accessibility_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Accessibility Summary","description":"Summary of route accessibility from cardinal directions"},"primary_turns_required":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Primary Turns Required","description":"Number of turns required from primary access route"},"min_turns":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Turns","description":"The minimum number of turns required to reach the destination from the primary access route"},"primary_turns":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Primary Turns","description":"The number of turns required from the primary access route"},"primary_turns_route_matrix_visualization":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Primary Turns Route Matrix Visualization","description":"Route matrix visualization data for map rendering"},"visibility_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Visibility Rating","description":"How visible the business is from the street (high, medium, low, none, unknown)"},"signage_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signage Summary","description":"Summary of available signage (pylon, monument)"},"has_brand_signage":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Brand Signage","description":"Whether the business has identifiable brand signage"},"pylon_sign_exists":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Pylon Sign Exists","description":"Whether a pylon sign exists at the location"},"pylon_coordinates":{"anyOf":[{"items":{"type":"number"},"type":"array"},{"type":"null"}],"title":"Pylon Coordinates","description":"Pylon sign coordinates as [latitude, longitude]"},"pylon_latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pylon Latitude","description":"Latitude of the pylon sign"},"pylon_longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pylon Longitude","description":"Longitude of the pylon sign"},"pylon_number_of_brands":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pylon Number Of Brands","description":"Number of brands on pylon sign (single, multiple, uncertain, none)"},"pylon_reasoning":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pylon Reasoning","description":"Reasoning for pylon sign analysis"},"pylon_includes_brand_sign":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Pylon Includes Brand Sign","description":"Whether pylon sign includes the target brand"},"monument_sign_exists":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Monument Sign Exists","description":"Whether a monument sign exists at the location"},"monument_coordinates":{"anyOf":[{"items":{"type":"number"},"type":"array"},{"type":"null"}],"title":"Monument Coordinates","description":"Monument sign coordinates as [latitude, longitude]"},"monument_latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Monument Latitude","description":"Latitude of the monument sign"},"monument_longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Monument Longitude","description":"Longitude of the monument sign"},"monument_number_of_brands":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Monument Number Of Brands","description":"Number of brands on monument sign (single, multiple, uncertain, none)"},"monument_reasoning":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Monument Reasoning","description":"Reasoning for monument sign analysis"},"monument_includes_brand_sign":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Monument Includes Brand Sign","description":"Whether monument sign includes the target brand"},"sign_locations":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Sign Locations","description":"List of all detected sign locations with coordinates and details"},"location_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location Type","description":"Type of location (shopping_center, standalone_building, mixed_use_building, unknown)"},"building_condition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Building Condition","description":"Detailed description of building condition and maintenance"},"building_condition_score":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Building Condition Score","description":"Building condition quality score (above_average, average, below_average, none)"},"shopping_center_condition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Shopping Center Condition","description":"Condition of shopping center if applicable, null otherwise"},"shopping_center_condition_score":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Shopping Center Condition Score","description":"Shopping center condition quality score (above_average, average, below_average, none)"},"location_category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location Category","description":"Type of location (shopping_center, standalone_building, mixed_use_building, unknown)"},"building_condition_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Building Condition Summary","description":"Summary of building and property condition"},"building_condition_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Building Condition Rating","description":"Building condition score (excellent, good, fair, poor)"},"key_strengths":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Key Strengths","description":"Key strengths of the location"},"potential_concerns":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Potential Concerns","description":"Potential concerns or weaknesses"},"route_matrix_visualization":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Route Matrix Visualization","description":"Consolidated route matrix data for map visualization including routes, candidate points, and center coordinates"},"prominence":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prominence","description":"Overall prominence level (excellent, average, not visible)"},"entrance_views":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Entrance Views","description":"Street view images showing entrance visibility"},"reprompt_core_attributes":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Reprompt Core Attributes"},"apple_business_attributes":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Apple Business Attributes"},"loupe_l5_category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Loupe L5 Category"}},"additionalProperties":false,"type":"object","title":"MastercardJobOutputs"},"Menu":{"properties":{"name":{"type":"string","title":"Name","default":"Menu"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"footnote":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Footnote"},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency"},"sections":{"items":{"$ref":"#/components/schemas/MenuSection"},"type":"array","title":"Sections"}},"type":"object","required":["sections"],"title":"Menu"},"MenuChoice":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"prices":{"anyOf":[{"$ref":"#/components/schemas/PriceInfo"},{"type":"null"}]}},"type":"object","title":"MenuChoice"},"MenuItem":{"properties":{"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"data":{"anyOf":[{"$ref":"#/components/schemas/MenuItemData"},{"type":"null"}]}},"type":"object","required":["name"],"title":"MenuItem"},"MenuItemData":{"properties":{"choices":{"anyOf":[{"items":{"$ref":"#/components/schemas/MenuChoice"},"type":"array"},{"type":"null"}],"title":"Choices"}},"type":"object","title":"MenuItemData"},"MenuSection":{"properties":{"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"items":{"items":{"$ref":"#/components/schemas/MenuItem"},"type":"array","title":"Items"}},"type":"object","required":["name","items"],"title":"MenuSection"},"PaginatedBatchesResponse":{"properties":{"batches":{"items":{"$ref":"#/components/schemas/BatchJob"},"type":"array","title":"Batches"},"total":{"type":"integer","title":"Total"},"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset"}},"type":"object","required":["batches","total","limit","offset"],"title":"PaginatedBatchesResponse"},"PlaceBatchPayload":{"properties":{"batch_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Batch Id","description":"Optional unique identifier for the batch. If not provided, a new UUID will be generated. If an existing batch ID is provided, new jobs will be added to that batch."},"batch_name":{"type":"string","title":"Batch Name","description":"The name of the batch. Only for display purposes. Recommended to use a descriptive human readable name."},"jobs":{"items":{"$ref":"#/components/schemas/PlaceJob"},"type":"array","title":"Jobs","description":"List of jobs to process. Maximum of 50,000 jobs per batch."},"attribute_set":{"anyOf":[{"$ref":"#/components/schemas/AttributeSet"},{"type":"null"}],"description":"Deprecated preset applied to every job. Prefer an explicit `attributes` list. `open_closed` checks whether a place is open or permanently closed, while `core` and `all` both request `closed_permanently`, `websites`, `phoneNumbers`, `openingHours`, `names`, `address`, and `categories`. Merged with any explicit `attributes`."},"attributes":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Attributes","description":"Batch-level attribute keys applied to every job (copied onto each `PlaceJob`; same merge rules as a single job: combined with `attribute_set`)."},"kick_off_jobs_now":{"type":"boolean","title":"Kick Off Jobs Now","description":"When true, jobs are enqueued for immediate processing and either attributes or attribute_set must be provided. When false, the batch is created without starting processing (upload only); attributes and attribute_set are optional.","default":true},"owner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Owner Id","include_in_schema":false}},"type":"object","required":["batch_name","jobs"],"title":"PlaceBatchPayload"},"PlaceJob":{"properties":{"place_id":{"type":"string","title":"Place Id","description":"The customer-identifier for the place and retained as external_customer_id in the database. When not set, will automatically generate a UUID.","example":"place_nyc_123"},"inputs":{"$ref":"#/components/schemas/UniversalPlace","description":"The place to enrich","example":{"country_code":"US","full_address":"7 Carmine St, New York, NY 10014","latitude":40.7359,"longitude":-73.9911,"name":"Joe's Pizza"}},"attributes":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Attributes","description":"List of attribute keys to enrich. See `GET /{org_slug}/place_enrichment/attributes_internal` for available keys and their required inputs. If both attribute_set and attributes are provided, both are merged (explicit attributes are added to the set from attribute_set).","example":["websites","categories","closed_permanently"]},"attribute_set":{"anyOf":[{"$ref":"#/components/schemas/AttributeSet"},{"type":"null"}],"description":"Deprecated preset for common enrichment requests. Prefer an explicit `attributes` list. `open_closed` checks whether a place is open or permanently closed, while `core` and `all` both request `closed_permanently`, `websites`, `phoneNumbers`, `openingHours`, `names`, `address`, and `categories`."},"attributes_enrichments":{"anyOf":[{"items":{"$ref":"#/components/schemas/Enrichments"},"type":"array"},{"type":"null"}],"title":"Attributes Enrichments"},"refresh":{"type":"boolean","title":"Refresh","description":"If true, will force a refresh of the place even if it has already been enriched.","default":false}},"type":"object","required":["place_id","inputs"],"title":"PlaceJob"},"PlaceJobResult":{"properties":{"place_id":{"type":"string","title":"Place Id"},"status":{"type":"string","title":"Status"},"job_metadata":{"$ref":"#/components/schemas/JobMetadata"},"inputs":{"oneOf":[{"$ref":"#/components/schemas/UniversalPlace"},{"$ref":"#/components/schemas/InputQuery"}],"title":"Inputs","discriminator":{"propertyName":"input_type","mapping":{"place":"#/components/schemas/UniversalPlace","query":"#/components/schemas/InputQuery"}}},"outputs":{"oneOf":[{"$ref":"#/components/schemas/TripadvisorJobOutputs"},{"$ref":"#/components/schemas/TomTomJobOutputs"},{"$ref":"#/components/schemas/GrabJobOutputs"},{"$ref":"#/components/schemas/WoltJobOutputs"},{"$ref":"#/components/schemas/MastercardJobOutputs"},{"$ref":"#/components/schemas/LoupeJobOutputs"},{"$ref":"#/components/schemas/HereJobOutputs"},{"$ref":"#/components/schemas/GenericJobOutputs"}],"title":"Outputs"},"reasoning":{"anyOf":[{"$ref":"#/components/schemas/JobReasoning"},{"$ref":"#/components/schemas/TripadvisorReasoning"},{"$ref":"#/components/schemas/WoltJobReasoning"},{"$ref":"#/components/schemas/GrabJobReasoning"},{"$ref":"#/components/schemas/HereJobReasoning"}],"title":"Reasoning"},"confidence_scores":{"$ref":"#/components/schemas/JobConfidenceScores","description":"Confidence scores for various attributes"},"derived_from_place_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Derived From Place Id","description":"place_id of the closed place whose enrichment created this job as its successor. Such a job was not submitted by the caller: it is added to the closed place's batch."}},"type":"object","required":["place_id","status","job_metadata","inputs","outputs","reasoning"],"title":"PlaceJobResult"},"PostalAddressFormat":{"properties":{"street1":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Street1","description":"Address line 1"},"street2":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Street2","description":"Address line 2"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"City name"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"State or prefecture name"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country","description":"Country name"},"postalcode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postalcode","description":"Postal code"},"address_string":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address String","description":"Full formatted address string"}},"type":"object","title":"PostalAddressFormat"},"PriceInfo":{"properties":{"min":{"type":"string","title":"Min"},"max":{"type":"string","title":"Max","default":""}},"type":"object","required":["min"],"title":"PriceInfo"},"ReprocessBatchRequest":{"properties":{"failed_only":{"type":"boolean","title":"Failed Only","description":"When true, only reprocess jobs with 'failed' status. When false, reprocess all jobs in the batch.","default":true},"incomplete_only":{"type":"boolean","title":"Incomplete Only","description":"When true, only reprocess jobs with 'pending', 'queued' or 'in_progress' status. When false, reprocess all jobs in the batch (unless failed_only is true).","default":false},"refresh":{"type":"boolean","title":"Refresh","description":"When true, force fresh enrichment ignoring cached data.","default":false},"attributes":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Attributes","description":"List of specific attributes to enrich (e.g. 'websites', 'phoneNumbers'). Merged with attribute_set when both are provided."},"attribute_set":{"anyOf":[{"$ref":"#/components/schemas/AttributeSet"},{"type":"null"}],"description":"Deprecated preset for common enrichment requests. Prefer an explicit `attributes` list. `open_closed` checks whether a place is open or permanently closed, while `core` and `all` both request `closed_permanently`, `websites`, `phoneNumbers`, `openingHours`, `names`, `address`, and `categories`."},"use_previous_invocation_params":{"type":"boolean","title":"Use Previous Invocation Params","description":"When true, reuse each job's last-invocation parameters (attributes are inferred per place_id). Request-level attributes/attribute_set are only used as a fallback for place_ids that have no prior invocation.","default":false}},"type":"object","title":"ReprocessBatchRequest"},"ReprocessJobRequest":{"properties":{"place_ids":{"items":{"type":"string"},"type":"array","title":"Place Ids"},"attributes":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Attributes"},"attribute_set":{"anyOf":[{"$ref":"#/components/schemas/AttributeSet"},{"type":"null"}],"description":"Deprecated preset for common enrichment requests. Prefer an explicit `attributes` list. `open_closed` checks whether a place is open or permanently closed, while `core` and `all` both request `closed_permanently`, `websites`, `phoneNumbers`, `openingHours`, `names`, `address`, and `categories`."},"refresh":{"type":"boolean","title":"Refresh","default":false},"use_previous_invocation_params":{"type":"boolean","title":"Use Previous Invocation Params","description":"When true, reuse each job's last-invocation parameters (attributes are inferred per place_id). When set, the `attributes`/`attribute_set` fields become optional and are only used as a fallback for place_ids that have no prior invocation.","default":false}},"type":"object","required":["place_ids"],"title":"ReprocessJobRequest"},"SearchAskRequest":{"properties":{"query":{"type":"string","maxLength":1000,"minLength":1,"title":"Query","description":"Natural-language search query or question.","examples":["Who acquired Figma?"]}},"additionalProperties":false,"type":"object","required":["query"],"title":"SearchAskRequest","description":"The intentionally minimal public request contract."},"SearchResponse":{"properties":{"query":{"type":"string","title":"Query"},"answer_box":{"anyOf":[{"$ref":"#/components/schemas/AnswerBox"},{"type":"null"}]},"knowledge_graph":{"anyOf":[{"$ref":"#/components/schemas/KnowledgeGraph"},{"type":"null"}]},"results":{"items":{"$ref":"#/components/schemas/SearchResult"},"type":"array","title":"Results"}},"type":"object","required":["query"],"title":"SearchResponse"},"SearchResult":{"properties":{"position":{"type":"integer","minimum":1.0,"title":"Position"},"title":{"type":"string","title":"Title"},"url":{"type":"string","title":"Url"},"snippet":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Snippet"},"date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date"}},"type":"object","required":["position","title","url"],"title":"SearchResult"},"SingaporeAddress":{"properties":{"country":{"type":"string","title":"Country","description":"Country name","default":"Singapore"},"country_code":{"type":"string","const":"SG","title":"Country Code","description":"Country code for Singapore","default":"SG"},"full_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Full Address","description":"Full formatted address string from input"},"postcode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postcode","description":"Postal code, e.g., 018936"},"administrative_area_level1":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Administrative Area Level1","description":"District (resolvable), e.g., Central Region"},"administrative_area_level2":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Administrative Area Level2","description":"Sub-District (resolvable), e.g., Downtown Core"},"administrative_area_level3":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Administrative Area Level3","description":"Area (resolvable), e.g., Central Subzone"},"street":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Street","description":"Street name, e.g., Straits View"},"house":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"House","description":"House number/Block number, e.g., 9"},"building":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Building","description":"Building's name (if needed), e.g., Marina One"},"floor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Floor","description":"Floor (if needed), e.g., B1"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit","description":"Unit number inside a building, floor included, e.g., #81-32"},"block":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Block","description":"Block, e.g., Block A"}},"type":"object","title":"SingaporeAddress","description":"Model for Singapore addresses"},"StorefrontImage":{"properties":{"url":{"type":"string","title":"Url"}},"type":"object","required":["url"],"title":"StorefrontImage","description":"A storefront image with its URL."},"SubmittedPlaceBatchResponse":{"properties":{"id":{"type":"string","title":"Id","description":"Unique identifier for tracking the batch","example":"batch_2024_03_15_123456"},"batch_name":{"type":"string","title":"Batch Name","description":"User-provided name to identify the batch","example":"NYC Restaurants March 2024"},"status":{"$ref":"#/components/schemas/BatchJobStatus","description":"Current processing status of the batch. Initially PENDING, changes to IN_PROGRESS when processing starts","default":"pending","example":"pending"},"jobs":{"$ref":"#/components/schemas/JobCounts","description":"Detailed breakdown of jobs in the batch grouped by their status","example":{"completed":[],"failed":[],"in_progress":[],"pending":["place_nyc_123","place_nyc_456","place_nyc_789"]}},"metadata":{"anyOf":[{"$ref":"#/components/schemas/BatchMetadata"},{"type":"null"}],"description":"Batch statistics and metadata. Basic stats available to all organizations, detailed stats only for Reprompt."},"attribute_statuses":{"anyOf":[{"additionalProperties":{"$ref":"#/components/schemas/AttributeStatusDistribution"},"type":"object"},{"type":"null"}],"title":"Attribute Statuses","description":"Status distribution per attribute (only populated when enrichments query param is provided)"}},"type":"object","required":["id","batch_name","jobs"],"title":"SubmittedPlaceBatchResponse","description":"Represents the response when submitting a new batch of places for enrichment","example":{"batch_name":"NYC Restaurants March 2024","id":"batch_2024_03_15_123456","jobs":{"completed":[],"failed":[],"in_progress":[],"pending":["place_nyc_123","place_nyc_456","place_nyc_789"]},"status":"pending"}},"SuccessorPlace":{"properties":{"place_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Place Id","description":"Job for the successor, enriched separately. Present only when that job exists and can be fetched. When this place belongs to a batch, the successor's job is in the same batch."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"full_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Full Address"}},"type":"object","title":"SuccessorPlace","description":"The business that replaced a Closed / NEW_TENANT place at the same address."},"TomTomJobOutputs":{"properties":{"reprompt_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reprompt Id"},"coordinates":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"}],"type":"array","maxItems":2,"minItems":2},{"type":"null"}],"title":"Coordinates","description":"Enriched coordinates as [latitude, longitude]."},"coordinates_distance":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Coordinates Distance","description":"Distance in meters between input coordinates and enriched coordinates. Returns 0 if coordinates were not enriched."},"open_closed_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Open Closed Status"},"date_closed":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date Closed"},"date_opened":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date Opened"},"successor":{"anyOf":[{"$ref":"#/components/schemas/SuccessorPlace"},{"type":"null"}],"description":"Set when open_closed_status is Closed because a different business now occupies the address."},"chain_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chain Id"},"chain_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chain Name"},"chain_domains":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Chain Domains"},"alternative_names":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Alternative Names"},"chain_wikipedia_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chain Wikipedia Url"},"number_of_locations":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Number Of Locations"},"logo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo Url"},"facebook_followers":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Facebook Followers"},"facebook_likes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Facebook Likes"},"facebook_page_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Facebook Page Id"},"facebook_bio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Facebook Bio"},"instagram_followers":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Instagram Followers"},"instagram_media_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Instagram Media Count"},"instagram_username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instagram Username"},"instagram_profile_pic_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instagram Profile Pic Url"},"instagram_bio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instagram Bio"},"approximate_review_count":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Approximate Review Count","description":"Approximate review count in buckets (e.g., '<10', '10-50', '50-100', etc.)"},"approximate_average_rating":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Approximate Average Rating","description":"Approximate average rating out of 5 from web search"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"multilingual_names":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"object","title":"Multilingual Names"},"alt_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alt Name"},"official_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Official Name"},"brand_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brand Name"},"common_names":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Common Names"},"storefront_images":{"anyOf":[{"items":{"$ref":"#/components/schemas/StorefrontImage"},"type":"array"},{"type":"null"}],"title":"Storefront Images"},"available_services":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Available Services"},"has_delivery":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Delivery"},"has_takeout":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Takeout"},"has_dining":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Dining"},"has_pickup":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Pickup"},"address":{"anyOf":[{"$ref":"#/components/schemas/AddressDetails"},{"type":"null"}],"description":"International normalized version of the address"},"address_localized":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/IndonesiaAddress"},{"$ref":"#/components/schemas/JapaneseAddress"},{"$ref":"#/components/schemas/SingaporeAddress"},{"$ref":"#/components/schemas/MalaysiaAddress"},{"$ref":"#/components/schemas/HongKongAddressDetails"},{"$ref":"#/components/schemas/UAEAddress"}],"discriminator":{"propertyName":"country_code","mapping":{"AE":"#/components/schemas/UAEAddress","HK":"#/components/schemas/HongKongAddressDetails","ID":"#/components/schemas/IndonesiaAddress","JP":"#/components/schemas/JapaneseAddress","MY":"#/components/schemas/MalaysiaAddress","SG":"#/components/schemas/SingaporeAddress"}}},{"type":"null"}],"title":"Address Localized"},"categories":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Categories"},"website":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Website"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"phone_additional":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Phone Additional"},"naics_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Naics Code"},"naics_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Naics Description"},"merchant_category_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Merchant Category Code"},"mcc_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mcc Description"},"merchant_category_group":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Merchant Category Group"},"merchant_super_industry":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Merchant Super Industry"},"located_within":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Located Within"},"instagram":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instagram"},"facebook":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Facebook"},"tiktok":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tiktok"},"opening_hours":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Opening Hours"},"opening_hours_grouped_by_hours":{"anyOf":[{"items":{"$ref":"#/components/schemas/DaysGroupedByHoursFormat"},"type":"array"},{"type":"null"}],"title":"Opening Hours Grouped By Hours"},"is_open_24h":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Open 24H"},"menu_urls":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Menu Urls"},"menu_url_official":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Menu Url Official","description":"The official menu URL from the business's own website"},"menu_content":{"anyOf":[{"items":{"$ref":"#/components/schemas/Menu"},"type":"array"},{"type":"null"}],"title":"Menu Content","description":"Structured menu content parsed from the official menu URL"},"menu_images":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Menu Images","description":"List of image URLs for menu images found through image search"},"price_tier":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Price Tier"},"average_price":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Average Price","description":"Average price in local currency (from price_tier enrichment)"},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency","description":"3-letter ISO currency code for average_price (from price_tier enrichment)"},"cuisines":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Cuisines"},"review_count":{"anyOf":[{"type":"integer"},{"type":"string"},{"type":"null"}],"title":"Review Count","description":"Total number of reviews (integer for exact count, string bucket for approximate count)"},"average_rating":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Average Rating","description":"Average rating out of 5"},"wilson_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Wilson Score","description":"Wilson score lower bound (confidence=0.95) for positive ratings"},"popularity":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Popularity","description":"Popularity score from 0 to 1 based on average rating and review count"},"review_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Review Summary","description":"One-line summary of reviews"},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary","description":"One-line summary of reviews (schema-expected field name)"},"recent_review_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Recent Review Count"},"instagram_profile":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Instagram Profile"},"building_footprint":{"anyOf":[{},{"type":"null"}],"title":"Building Footprint"},"entity_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Type"},"digital_footprint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Digital Footprint"},"place_definition":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Place Definition"},"place_reality":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Place Reality"},"parking_spaces_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parking Spaces Total","description":"Total number of parking spaces available for customers"},"parking_spaces_street":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parking Spaces Street","description":"Number of street parking spaces available"},"parking_spaces_shared":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parking Spaces Shared","description":"Number of shared parking spaces available"},"parking_spaces_dedicated":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parking Spaces Dedicated","description":"Number of dedicated parking spaces available"},"parking_spaces_image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parking Spaces Image Url","description":"URL of the satellite/aerial image used for analysis"},"traffic_control":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Traffic Control","description":"Whether traffic control manages traffic ingress/egress to the location"},"one_line_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"One Line Summary","description":"A brief, descriptive phrase capturing the essence and atmosphere of the place"},"site_quality_score":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Site Quality Score","description":"Overall site quality assessment (excellent, good, fair, poor, unknown)"},"accessibility_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Accessibility Rating","description":"How accessible the site is from major roads (excellent, good, fair, poor, unknown)"},"accessibility_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Accessibility Summary","description":"Summary of route accessibility from cardinal directions"},"primary_turns_required":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Primary Turns Required","description":"Number of turns required from primary access route"},"min_turns":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Turns","description":"The minimum number of turns required to reach the destination from the primary access route"},"primary_turns":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Primary Turns","description":"The number of turns required from the primary access route"},"primary_turns_route_matrix_visualization":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Primary Turns Route Matrix Visualization","description":"Route matrix visualization data for map rendering"},"visibility_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Visibility Rating","description":"How visible the business is from the street (high, medium, low, none, unknown)"},"signage_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signage Summary","description":"Summary of available signage (pylon, monument)"},"has_brand_signage":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Brand Signage","description":"Whether the business has identifiable brand signage"},"pylon_sign_exists":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Pylon Sign Exists","description":"Whether a pylon sign exists at the location"},"pylon_coordinates":{"anyOf":[{"items":{"type":"number"},"type":"array"},{"type":"null"}],"title":"Pylon Coordinates","description":"Pylon sign coordinates as [latitude, longitude]"},"pylon_latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pylon Latitude","description":"Latitude of the pylon sign"},"pylon_longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pylon Longitude","description":"Longitude of the pylon sign"},"pylon_number_of_brands":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pylon Number Of Brands","description":"Number of brands on pylon sign (single, multiple, uncertain, none)"},"pylon_reasoning":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pylon Reasoning","description":"Reasoning for pylon sign analysis"},"pylon_includes_brand_sign":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Pylon Includes Brand Sign","description":"Whether pylon sign includes the target brand"},"monument_sign_exists":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Monument Sign Exists","description":"Whether a monument sign exists at the location"},"monument_coordinates":{"anyOf":[{"items":{"type":"number"},"type":"array"},{"type":"null"}],"title":"Monument Coordinates","description":"Monument sign coordinates as [latitude, longitude]"},"monument_latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Monument Latitude","description":"Latitude of the monument sign"},"monument_longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Monument Longitude","description":"Longitude of the monument sign"},"monument_number_of_brands":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Monument Number Of Brands","description":"Number of brands on monument sign (single, multiple, uncertain, none)"},"monument_reasoning":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Monument Reasoning","description":"Reasoning for monument sign analysis"},"monument_includes_brand_sign":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Monument Includes Brand Sign","description":"Whether monument sign includes the target brand"},"sign_locations":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Sign Locations","description":"List of all detected sign locations with coordinates and details"},"location_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location Type","description":"Type of location (shopping_center, standalone_building, mixed_use_building, unknown)"},"building_condition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Building Condition","description":"Detailed description of building condition and maintenance"},"building_condition_score":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Building Condition Score","description":"Building condition quality score (above_average, average, below_average, none)"},"shopping_center_condition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Shopping Center Condition","description":"Condition of shopping center if applicable, null otherwise"},"shopping_center_condition_score":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Shopping Center Condition Score","description":"Shopping center condition quality score (above_average, average, below_average, none)"},"location_category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location Category","description":"Type of location (shopping_center, standalone_building, mixed_use_building, unknown)"},"building_condition_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Building Condition Summary","description":"Summary of building and property condition"},"building_condition_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Building Condition Rating","description":"Building condition score (excellent, good, fair, poor)"},"key_strengths":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Key Strengths","description":"Key strengths of the location"},"potential_concerns":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Potential Concerns","description":"Potential concerns or weaknesses"},"route_matrix_visualization":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Route Matrix Visualization","description":"Consolidated route matrix data for map visualization including routes, candidate points, and center coordinates"},"prominence":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prominence","description":"Overall prominence level (excellent, average, not visible)"},"entrance_views":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Entrance Views","description":"Street view images showing entrance visibility"},"reprompt_core_attributes":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Reprompt Core Attributes"},"apple_business_attributes":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Apple Business Attributes"},"tomtom_category_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tomtom Category Id"},"tomtom_category_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tomtom Category Name"},"tomtom_orbis_primary_tag":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tomtom Orbis Primary Tag"},"tomtom_orbis_property":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tomtom Orbis Property"},"tomtom_orbis_feature_type":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tomtom Orbis Feature Type"},"tomtom_orbis_feature_type_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tomtom Orbis Feature Type Description"},"tomtom_orbis_service_sub_category":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tomtom Orbis Service Sub Category"},"tomtom_orbis_service_sub_category_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tomtom Orbis Service Sub Category Description"}},"additionalProperties":false,"type":"object","title":"TomTomJobOutputs"},"TripadvisorJobOutputs":{"properties":{"reprompt_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reprompt Id"},"coordinates":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"}],"type":"array","maxItems":2,"minItems":2},{"type":"null"}],"title":"Coordinates","description":"Enriched coordinates as [latitude, longitude]."},"coordinates_distance":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Coordinates Distance","description":"Distance in meters between input coordinates and enriched coordinates. Returns 0 if coordinates were not enriched."},"open_closed_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Open Closed Status"},"date_closed":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date Closed"},"date_opened":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date Opened"},"successor":{"anyOf":[{"$ref":"#/components/schemas/SuccessorPlace"},{"type":"null"}],"description":"Set when open_closed_status is Closed because a different business now occupies the address."},"chain_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chain Id"},"chain_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chain Name"},"chain_domains":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Chain Domains"},"alternative_names":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Alternative Names"},"chain_wikipedia_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chain Wikipedia Url"},"number_of_locations":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Number Of Locations"},"logo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo Url"},"facebook_followers":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Facebook Followers"},"facebook_likes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Facebook Likes"},"facebook_page_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Facebook Page Id"},"facebook_bio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Facebook Bio"},"instagram_followers":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Instagram Followers"},"instagram_media_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Instagram Media Count"},"instagram_username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instagram Username"},"instagram_profile_pic_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instagram Profile Pic Url"},"instagram_bio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instagram Bio"},"approximate_review_count":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Approximate Review Count","description":"Approximate review count in buckets (e.g., '<10', '10-50', '50-100', etc.)"},"approximate_average_rating":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Approximate Average Rating","description":"Approximate average rating out of 5 from web search"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"multilingual_names":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"object","title":"Multilingual Names"},"alt_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alt Name"},"official_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Official Name"},"brand_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brand Name"},"common_names":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Common Names"},"storefront_images":{"anyOf":[{"items":{"$ref":"#/components/schemas/StorefrontImage"},"type":"array"},{"type":"null"}],"title":"Storefront Images"},"available_services":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Available Services"},"has_delivery":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Delivery"},"has_takeout":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Takeout"},"has_dining":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Dining"},"has_pickup":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Pickup"},"address":{"anyOf":[{"$ref":"#/components/schemas/AddressDetails"},{"type":"null"}],"description":"International normalized version of the address"},"address_localized":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/IndonesiaAddress"},{"$ref":"#/components/schemas/JapaneseAddress"},{"$ref":"#/components/schemas/SingaporeAddress"},{"$ref":"#/components/schemas/MalaysiaAddress"},{"$ref":"#/components/schemas/HongKongAddressDetails"},{"$ref":"#/components/schemas/UAEAddress"}],"discriminator":{"propertyName":"country_code","mapping":{"AE":"#/components/schemas/UAEAddress","HK":"#/components/schemas/HongKongAddressDetails","ID":"#/components/schemas/IndonesiaAddress","JP":"#/components/schemas/JapaneseAddress","MY":"#/components/schemas/MalaysiaAddress","SG":"#/components/schemas/SingaporeAddress"}}},{"type":"null"}],"title":"Address Localized"},"categories":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Categories"},"website":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Website"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"phone_additional":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Phone Additional"},"naics_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Naics Code"},"naics_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Naics Description"},"merchant_category_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Merchant Category Code"},"mcc_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mcc Description"},"merchant_category_group":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Merchant Category Group"},"merchant_super_industry":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Merchant Super Industry"},"located_within":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Located Within"},"instagram":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instagram"},"facebook":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Facebook"},"tiktok":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tiktok"},"opening_hours":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Opening Hours"},"opening_hours_grouped_by_hours":{"anyOf":[{"items":{"$ref":"#/components/schemas/DaysGroupedByHoursFormat"},"type":"array"},{"type":"null"}],"title":"Opening Hours Grouped By Hours"},"is_open_24h":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Open 24H"},"menu_urls":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Menu Urls"},"menu_url_official":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Menu Url Official","description":"The official menu URL from the business's own website"},"menu_content":{"anyOf":[{"items":{"$ref":"#/components/schemas/Menu"},"type":"array"},{"type":"null"}],"title":"Menu Content","description":"Structured menu content parsed from the official menu URL"},"menu_images":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Menu Images","description":"List of image URLs for menu images found through image search"},"price_tier":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Price Tier"},"average_price":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Average Price","description":"Average price in local currency (from price_tier enrichment)"},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency","description":"3-letter ISO currency code for average_price (from price_tier enrichment)"},"cuisines":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Cuisines"},"review_count":{"anyOf":[{"type":"integer"},{"type":"string"},{"type":"null"}],"title":"Review Count","description":"Total number of reviews (integer for exact count, string bucket for approximate count)"},"average_rating":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Average Rating","description":"Average rating out of 5"},"wilson_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Wilson Score","description":"Wilson score lower bound (confidence=0.95) for positive ratings"},"popularity":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Popularity","description":"Popularity score from 0 to 1 based on average rating and review count"},"review_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Review Summary","description":"One-line summary of reviews"},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary","description":"One-line summary of reviews (schema-expected field name)"},"recent_review_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Recent Review Count"},"instagram_profile":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Instagram Profile"},"building_footprint":{"anyOf":[{},{"type":"null"}],"title":"Building Footprint"},"entity_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Type"},"digital_footprint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Digital Footprint"},"place_definition":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Place Definition"},"place_reality":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Place Reality"},"parking_spaces_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parking Spaces Total","description":"Total number of parking spaces available for customers"},"parking_spaces_street":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parking Spaces Street","description":"Number of street parking spaces available"},"parking_spaces_shared":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parking Spaces Shared","description":"Number of shared parking spaces available"},"parking_spaces_dedicated":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parking Spaces Dedicated","description":"Number of dedicated parking spaces available"},"parking_spaces_image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parking Spaces Image Url","description":"URL of the satellite/aerial image used for analysis"},"traffic_control":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Traffic Control","description":"Whether traffic control manages traffic ingress/egress to the location"},"one_line_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"One Line Summary","description":"A brief, descriptive phrase capturing the essence and atmosphere of the place"},"site_quality_score":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Site Quality Score","description":"Overall site quality assessment (excellent, good, fair, poor, unknown)"},"accessibility_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Accessibility Rating","description":"How accessible the site is from major roads (excellent, good, fair, poor, unknown)"},"accessibility_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Accessibility Summary","description":"Summary of route accessibility from cardinal directions"},"primary_turns_required":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Primary Turns Required","description":"Number of turns required from primary access route"},"min_turns":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Turns","description":"The minimum number of turns required to reach the destination from the primary access route"},"primary_turns":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Primary Turns","description":"The number of turns required from the primary access route"},"primary_turns_route_matrix_visualization":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Primary Turns Route Matrix Visualization","description":"Route matrix visualization data for map rendering"},"visibility_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Visibility Rating","description":"How visible the business is from the street (high, medium, low, none, unknown)"},"signage_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signage Summary","description":"Summary of available signage (pylon, monument)"},"has_brand_signage":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Brand Signage","description":"Whether the business has identifiable brand signage"},"pylon_sign_exists":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Pylon Sign Exists","description":"Whether a pylon sign exists at the location"},"pylon_coordinates":{"anyOf":[{"items":{"type":"number"},"type":"array"},{"type":"null"}],"title":"Pylon Coordinates","description":"Pylon sign coordinates as [latitude, longitude]"},"pylon_latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pylon Latitude","description":"Latitude of the pylon sign"},"pylon_longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pylon Longitude","description":"Longitude of the pylon sign"},"pylon_number_of_brands":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pylon Number Of Brands","description":"Number of brands on pylon sign (single, multiple, uncertain, none)"},"pylon_reasoning":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pylon Reasoning","description":"Reasoning for pylon sign analysis"},"pylon_includes_brand_sign":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Pylon Includes Brand Sign","description":"Whether pylon sign includes the target brand"},"monument_sign_exists":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Monument Sign Exists","description":"Whether a monument sign exists at the location"},"monument_coordinates":{"anyOf":[{"items":{"type":"number"},"type":"array"},{"type":"null"}],"title":"Monument Coordinates","description":"Monument sign coordinates as [latitude, longitude]"},"monument_latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Monument Latitude","description":"Latitude of the monument sign"},"monument_longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Monument Longitude","description":"Longitude of the monument sign"},"monument_number_of_brands":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Monument Number Of Brands","description":"Number of brands on monument sign (single, multiple, uncertain, none)"},"monument_reasoning":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Monument Reasoning","description":"Reasoning for monument sign analysis"},"monument_includes_brand_sign":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Monument Includes Brand Sign","description":"Whether monument sign includes the target brand"},"sign_locations":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Sign Locations","description":"List of all detected sign locations with coordinates and details"},"location_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location Type","description":"Type of location (shopping_center, standalone_building, mixed_use_building, unknown)"},"building_condition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Building Condition","description":"Detailed description of building condition and maintenance"},"building_condition_score":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Building Condition Score","description":"Building condition quality score (above_average, average, below_average, none)"},"shopping_center_condition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Shopping Center Condition","description":"Condition of shopping center if applicable, null otherwise"},"shopping_center_condition_score":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Shopping Center Condition Score","description":"Shopping center condition quality score (above_average, average, below_average, none)"},"location_category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location Category","description":"Type of location (shopping_center, standalone_building, mixed_use_building, unknown)"},"building_condition_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Building Condition Summary","description":"Summary of building and property condition"},"building_condition_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Building Condition Rating","description":"Building condition score (excellent, good, fair, poor)"},"key_strengths":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Key Strengths","description":"Key strengths of the location"},"potential_concerns":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Potential Concerns","description":"Potential concerns or weaknesses"},"route_matrix_visualization":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Route Matrix Visualization","description":"Consolidated route matrix data for map visualization including routes, candidate points, and center coordinates"},"prominence":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prominence","description":"Overall prominence level (excellent, average, not visible)"},"entrance_views":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Entrance Views","description":"Street view images showing entrance visibility"},"reprompt_core_attributes":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Reprompt Core Attributes"},"apple_business_attributes":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Apple Business Attributes"},"tripadvisor_address":{"anyOf":[{"$ref":"#/components/schemas/PostalAddressFormat"},{"type":"null"}]},"tripadvisor_address_jp":{"anyOf":[{"$ref":"#/components/schemas/PostalAddressFormat"},{"type":"null"}]},"tripadvisor_opening_hours_grouped_by_hours":{"anyOf":[{"items":{"$ref":"#/components/schemas/DaysGroupedByHoursFormat"},"type":"array"},{"type":"null"}],"title":"Tripadvisor Opening Hours Grouped By Hours"},"tripadvisor_placetype":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tripadvisor Placetype"},"tripadvisor_subtype":{"anyOf":[{"$ref":"#/components/schemas/TripadvisorSubtype"},{"type":"null"}]},"tripadvisor_input_placetype":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tripadvisor Input Placetype"},"tripadvisor_placetype_agreement":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tripadvisor Placetype Agreement"}},"additionalProperties":false,"type":"object","title":"TripadvisorJobOutputs"},"TripadvisorReasoning":{"properties":{"open_closed_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Open Closed Status"},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address"},"categories":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Categories"},"website":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Website"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"facebook":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Facebook"},"instagram":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instagram"},"tiktok":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tiktok"},"opening_hours":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Opening Hours"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"coordinates":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Coordinates"},"price_tier":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Price Tier"},"menu":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Menu"},"cuisine":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cuisine"},"approximate_user_reviews":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Approximate User Reviews"},"chain":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chain"},"entity_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Type"},"digital_footprint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Digital Footprint"},"place_definition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Place Definition"},"place_reality":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Place Reality"},"merchant":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Merchant"},"located_within":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Located Within"},"parking_spaces":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parking Spaces"},"parking_spaces_total":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parking Spaces Total"},"parking_spaces_street":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parking Spaces Street"},"parking_spaces_shared":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parking Spaces Shared"},"parking_spaces_dedicated":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parking Spaces Dedicated"},"one_line_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"One Line Summary"},"signage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signage"},"building_condition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Building Condition"},"entrances":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entrances"},"primary_turns":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Primary Turns"},"traffic_control":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Traffic Control"},"reprompt_core_attributes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reprompt Core Attributes"},"apple_business_attributes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Apple Business Attributes"},"storefront_images":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Storefront Images"},"available_services":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Available Services"},"reprompt_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reprompt Id"},"tripadvisor_placetype":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tripadvisor Placetype"}},"type":"object","title":"TripadvisorReasoning"},"TripadvisorSubtype":{"properties":{"subtype":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subtype"},"subtype_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Subtype Id"}},"type":"object","title":"TripadvisorSubtype"},"UAEAddress":{"properties":{"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country","description":"Country name matching input language (English: 'United Arab Emirates', Arabic: 'الإمارات العربية المتحدة')"},"country_code":{"type":"string","const":"AE","title":"Country Code","description":"ISO 3166-1 alpha-2 country code for UAE","default":"AE"},"full_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Full Address","description":"Full formatted address string"},"emirate":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Emirate","description":"Emirate (e.g., 'Dubai' or 'دبي', 'Abu Dhabi' or 'أبو ظبي')"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"City name (e.g., 'Dubai' or 'دبي')"},"district":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"District","description":"District/neighborhood (e.g., 'Palm Jumeirah' or 'نخلة جميرا')"},"street":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Street","description":"Street name (e.g., 'Palm Jumeirah Rd' or 'شارع النخلة')"},"house":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"House","description":"House/building number (e.g., '127', '45A')"},"building":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Building","description":"Building name"},"unit_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit Number","description":"Unit/shop/gate number"}},"type":"object","title":"UAEAddress","description":"Schema for UAE addresses. Language matches the input address (English or Arabic)."},"UniversalPlace":{"properties":{"name":{"type":"string","title":"Name","description":"Required. The business name, most important parameter for researching correct website and profiles. Assumed to be in the local language."},"full_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Full Address","description":"Optional but HIGHLY IMPORTANT. Next to the name and coordinates will significantly boost accuracy of outputs if provided. This is the full address like you would see it on a letterhead."},"country_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country Code","description":"ISO 3166-1 country code. Accepts alpha-2 ('PH'), alpha-3 ('PHL') or either in lowercase, and always stores alpha-2. XK (Kosovo) is accepted though it is not in ISO 3166-1. Codes that are not recognized are rejected. If not provided, will be inferred from coordinates","examples":["PH","PHL","ph"]},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category","description":"Optional. A string describing the primary category of the place. Very important for disambiguating, for example, hotels with hotel bars. Reprompt will be able to correct wrong types."},"website":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Website","description":"Optional. If provided will be validated and corrected and prefered as source. Even if wrong still better to provide the website if available."},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone","description":"Optional. Phone in international format. If no international format is provided, based on the latitude/longitude the country pre-fix will be assumed"},"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id","description":"Optional identifier for tracking the place"},"input_type":{"type":"string","const":"place","title":"Input Type","default":"place"},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude","description":"Optional. The latitude coordinate of the place. Must be between -90 and 90 if provided"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude","description":"Optional. The longitude coordinate of the place. Must be between -180 and 180 if provided"},"wkt_geometry":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wkt Geometry","description":"Optional. Instead of latitude and longitude put in a WKT geometry string. This will be converted into latitude and longitude. WKT uses (longitude latitude) coordinate order."},"street":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Street","description":"Street name component of the address"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"City name"},"house":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"House","description":"Building number or house identifier"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"State or region"},"postalCode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postalcode","description":"Postal or ZIP code"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country","description":"Full country name"},"opening_hours":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Opening Hours","description":"Opening hours in a structured format"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source","description":"Data source this place came from (e.g., 'reprompt', 'overture', 'foursquare')"}},"additionalProperties":true,"type":"object","required":["name","full_address","latitude","longitude","country_code"],"title":"UniversalPlace"},"UpdateBatchRequest":{"properties":{"batch_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Batch Name","description":"New name for the batch"},"refresh":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Refresh","description":"Whether the batch should be marked for refresh"}},"type":"object","title":"UpdateBatchRequest","example":{"batch_name":"Q2 2024 store locations"}},"V1AttributesResponse":{"properties":{"core":{"items":{"type":"string"},"type":"array","title":"Core","description":"Core enrichment attributes available for the organization."},"custom":{"items":{"type":"string"},"type":"array","title":"Custom","description":"Legacy placeholder for custom attributes in v1. Currently returned as an empty list for backward compatibility."},"all":{"items":{"type":"string"},"type":"array","title":"All","description":"All enrichment attributes available for the organization."}},"type":"object","required":["core","custom","all"],"title":"V1AttributesResponse","example":{"all":["names","address","phoneNumbers","websites","openingHours","closed_permanently","categories"],"core":["names","address","phoneNumbers","websites","openingHours"],"custom":[]}},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"WoltJobOutputs":{"properties":{"reprompt_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reprompt Id"},"coordinates":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"}],"type":"array","maxItems":2,"minItems":2},{"type":"null"}],"title":"Coordinates","description":"Enriched coordinates as [latitude, longitude]."},"coordinates_distance":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Coordinates Distance","description":"Distance in meters between input coordinates and enriched coordinates. Returns 0 if coordinates were not enriched."},"open_closed_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Open Closed Status"},"date_closed":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date Closed"},"date_opened":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date Opened"},"successor":{"anyOf":[{"$ref":"#/components/schemas/SuccessorPlace"},{"type":"null"}],"description":"Set when open_closed_status is Closed because a different business now occupies the address."},"chain_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chain Id"},"chain_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chain Name"},"chain_domains":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Chain Domains"},"alternative_names":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Alternative Names"},"chain_wikipedia_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chain Wikipedia Url"},"number_of_locations":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Number Of Locations"},"logo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo Url"},"facebook_followers":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Facebook Followers"},"facebook_likes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Facebook Likes"},"facebook_page_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Facebook Page Id"},"facebook_bio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Facebook Bio"},"instagram_followers":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Instagram Followers"},"instagram_media_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Instagram Media Count"},"instagram_username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instagram Username"},"instagram_profile_pic_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instagram Profile Pic Url"},"instagram_bio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instagram Bio"},"approximate_review_count":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Approximate Review Count","description":"Approximate review count in buckets (e.g., '<10', '10-50', '50-100', etc.)"},"approximate_average_rating":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Approximate Average Rating","description":"Approximate average rating out of 5 from web search"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"multilingual_names":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"object","title":"Multilingual Names"},"alt_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alt Name"},"official_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Official Name"},"brand_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brand Name"},"common_names":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Common Names"},"storefront_images":{"anyOf":[{"items":{"$ref":"#/components/schemas/StorefrontImage"},"type":"array"},{"type":"null"}],"title":"Storefront Images"},"available_services":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Available Services"},"has_delivery":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Delivery"},"has_takeout":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Takeout"},"has_dining":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Dining"},"has_pickup":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Pickup"},"address":{"anyOf":[{"$ref":"#/components/schemas/AddressDetails"},{"type":"null"}],"description":"International normalized version of the address"},"address_localized":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/IndonesiaAddress"},{"$ref":"#/components/schemas/JapaneseAddress"},{"$ref":"#/components/schemas/SingaporeAddress"},{"$ref":"#/components/schemas/MalaysiaAddress"},{"$ref":"#/components/schemas/HongKongAddressDetails"},{"$ref":"#/components/schemas/UAEAddress"}],"discriminator":{"propertyName":"country_code","mapping":{"AE":"#/components/schemas/UAEAddress","HK":"#/components/schemas/HongKongAddressDetails","ID":"#/components/schemas/IndonesiaAddress","JP":"#/components/schemas/JapaneseAddress","MY":"#/components/schemas/MalaysiaAddress","SG":"#/components/schemas/SingaporeAddress"}}},{"type":"null"}],"title":"Address Localized"},"categories":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Categories"},"website":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Website"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"phone_additional":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Phone Additional"},"naics_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Naics Code"},"naics_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Naics Description"},"merchant_category_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Merchant Category Code"},"mcc_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mcc Description"},"merchant_category_group":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Merchant Category Group"},"merchant_super_industry":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Merchant Super Industry"},"located_within":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Located Within"},"instagram":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instagram"},"facebook":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Facebook"},"tiktok":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tiktok"},"opening_hours":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Opening Hours"},"opening_hours_grouped_by_hours":{"anyOf":[{"items":{"$ref":"#/components/schemas/DaysGroupedByHoursFormat"},"type":"array"},{"type":"null"}],"title":"Opening Hours Grouped By Hours"},"is_open_24h":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Open 24H"},"menu_urls":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Menu Urls"},"menu_url_official":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Menu Url Official","description":"The official menu URL from the business's own website"},"menu_content":{"anyOf":[{"items":{"$ref":"#/components/schemas/Menu"},"type":"array"},{"type":"null"}],"title":"Menu Content","description":"Structured menu content parsed from the official menu URL"},"menu_images":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Menu Images","description":"List of image URLs for menu images found through image search"},"price_tier":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Price Tier"},"average_price":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Average Price","description":"Average price in local currency (from price_tier enrichment)"},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency","description":"3-letter ISO currency code for average_price (from price_tier enrichment)"},"cuisines":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Cuisines"},"review_count":{"anyOf":[{"type":"integer"},{"type":"string"},{"type":"null"}],"title":"Review Count","description":"Total number of reviews (integer for exact count, string bucket for approximate count)"},"average_rating":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Average Rating","description":"Average rating out of 5"},"wilson_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Wilson Score","description":"Wilson score lower bound (confidence=0.95) for positive ratings"},"popularity":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Popularity","description":"Popularity score from 0 to 1 based on average rating and review count"},"review_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Review Summary","description":"One-line summary of reviews"},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary","description":"One-line summary of reviews (schema-expected field name)"},"recent_review_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Recent Review Count"},"instagram_profile":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Instagram Profile"},"building_footprint":{"anyOf":[{},{"type":"null"}],"title":"Building Footprint"},"entity_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Type"},"digital_footprint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Digital Footprint"},"place_definition":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Place Definition"},"place_reality":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Place Reality"},"parking_spaces_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parking Spaces Total","description":"Total number of parking spaces available for customers"},"parking_spaces_street":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parking Spaces Street","description":"Number of street parking spaces available"},"parking_spaces_shared":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parking Spaces Shared","description":"Number of shared parking spaces available"},"parking_spaces_dedicated":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parking Spaces Dedicated","description":"Number of dedicated parking spaces available"},"parking_spaces_image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parking Spaces Image Url","description":"URL of the satellite/aerial image used for analysis"},"traffic_control":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Traffic Control","description":"Whether traffic control manages traffic ingress/egress to the location"},"one_line_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"One Line Summary","description":"A brief, descriptive phrase capturing the essence and atmosphere of the place"},"site_quality_score":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Site Quality Score","description":"Overall site quality assessment (excellent, good, fair, poor, unknown)"},"accessibility_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Accessibility Rating","description":"How accessible the site is from major roads (excellent, good, fair, poor, unknown)"},"accessibility_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Accessibility Summary","description":"Summary of route accessibility from cardinal directions"},"primary_turns_required":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Primary Turns Required","description":"Number of turns required from primary access route"},"min_turns":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Turns","description":"The minimum number of turns required to reach the destination from the primary access route"},"primary_turns":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Primary Turns","description":"The number of turns required from the primary access route"},"primary_turns_route_matrix_visualization":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Primary Turns Route Matrix Visualization","description":"Route matrix visualization data for map rendering"},"visibility_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Visibility Rating","description":"How visible the business is from the street (high, medium, low, none, unknown)"},"signage_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signage Summary","description":"Summary of available signage (pylon, monument)"},"has_brand_signage":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Brand Signage","description":"Whether the business has identifiable brand signage"},"pylon_sign_exists":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Pylon Sign Exists","description":"Whether a pylon sign exists at the location"},"pylon_coordinates":{"anyOf":[{"items":{"type":"number"},"type":"array"},{"type":"null"}],"title":"Pylon Coordinates","description":"Pylon sign coordinates as [latitude, longitude]"},"pylon_latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pylon Latitude","description":"Latitude of the pylon sign"},"pylon_longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pylon Longitude","description":"Longitude of the pylon sign"},"pylon_number_of_brands":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pylon Number Of Brands","description":"Number of brands on pylon sign (single, multiple, uncertain, none)"},"pylon_reasoning":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pylon Reasoning","description":"Reasoning for pylon sign analysis"},"pylon_includes_brand_sign":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Pylon Includes Brand Sign","description":"Whether pylon sign includes the target brand"},"monument_sign_exists":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Monument Sign Exists","description":"Whether a monument sign exists at the location"},"monument_coordinates":{"anyOf":[{"items":{"type":"number"},"type":"array"},{"type":"null"}],"title":"Monument Coordinates","description":"Monument sign coordinates as [latitude, longitude]"},"monument_latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Monument Latitude","description":"Latitude of the monument sign"},"monument_longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Monument Longitude","description":"Longitude of the monument sign"},"monument_number_of_brands":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Monument Number Of Brands","description":"Number of brands on monument sign (single, multiple, uncertain, none)"},"monument_reasoning":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Monument Reasoning","description":"Reasoning for monument sign analysis"},"monument_includes_brand_sign":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Monument Includes Brand Sign","description":"Whether monument sign includes the target brand"},"sign_locations":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Sign Locations","description":"List of all detected sign locations with coordinates and details"},"location_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location Type","description":"Type of location (shopping_center, standalone_building, mixed_use_building, unknown)"},"building_condition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Building Condition","description":"Detailed description of building condition and maintenance"},"building_condition_score":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Building Condition Score","description":"Building condition quality score (above_average, average, below_average, none)"},"shopping_center_condition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Shopping Center Condition","description":"Condition of shopping center if applicable, null otherwise"},"shopping_center_condition_score":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Shopping Center Condition Score","description":"Shopping center condition quality score (above_average, average, below_average, none)"},"location_category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location Category","description":"Type of location (shopping_center, standalone_building, mixed_use_building, unknown)"},"building_condition_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Building Condition Summary","description":"Summary of building and property condition"},"building_condition_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Building Condition Rating","description":"Building condition score (excellent, good, fair, poor)"},"key_strengths":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Key Strengths","description":"Key strengths of the location"},"potential_concerns":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Potential Concerns","description":"Potential concerns or weaknesses"},"route_matrix_visualization":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Route Matrix Visualization","description":"Consolidated route matrix data for map visualization including routes, candidate points, and center coordinates"},"prominence":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prominence","description":"Overall prominence level (excellent, average, not visible)"},"entrance_views":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Entrance Views","description":"Street view images showing entrance visibility"},"reprompt_core_attributes":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Reprompt Core Attributes"},"apple_business_attributes":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Apple Business Attributes"},"wolt_google_place_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wolt Google Place Id"}},"additionalProperties":false,"type":"object","title":"WoltJobOutputs"},"WoltJobReasoning":{"properties":{"open_closed_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Open Closed Status"},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address"},"categories":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Categories"},"website":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Website"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"facebook":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Facebook"},"instagram":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instagram"},"tiktok":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tiktok"},"opening_hours":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Opening Hours"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"coordinates":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Coordinates"},"price_tier":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Price Tier"},"menu":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Menu"},"cuisine":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cuisine"},"approximate_user_reviews":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Approximate User Reviews"},"chain":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chain"},"entity_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Type"},"digital_footprint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Digital Footprint"},"place_definition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Place Definition"},"place_reality":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Place Reality"},"merchant":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Merchant"},"located_within":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Located Within"},"parking_spaces":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parking Spaces"},"parking_spaces_total":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parking Spaces Total"},"parking_spaces_street":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parking Spaces Street"},"parking_spaces_shared":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parking Spaces Shared"},"parking_spaces_dedicated":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parking Spaces Dedicated"},"one_line_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"One Line Summary"},"signage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signage"},"building_condition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Building Condition"},"entrances":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entrances"},"primary_turns":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Primary Turns"},"traffic_control":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Traffic Control"},"reprompt_core_attributes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reprompt Core Attributes"},"apple_business_attributes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Apple Business Attributes"},"storefront_images":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Storefront Images"},"available_services":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Available Services"},"reprompt_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reprompt Id"}},"type":"object","title":"WoltJobReasoning"}},"securitySchemes":{"HTTPBearer":{"type":"http","scheme":"bearer"}}},"tags":[{"name":"default","description":"Default endpoints"},{"name":"batches","description":"Batch operations for processing multiple places"},{"name":"jobs","description":"Individual job operations for place enrichment"},{"name":"attributes","description":"Operations for managing custom attributes"},{"name":"scout-agent","description":"OpenAI-compatible chat completions powered by Scout Agent API"}]}