> ## Documentation Index
> Fetch the complete documentation index at: https://docs.repromptai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get enrichment jobs

> Returns a `JobListResponse` by default. With `groupBy=day` returns a `PaginatedBatchesResponse` of one synthetic batch per UTC day.



## OpenAPI

````yaml /openapi-v1.json get /place_enrichment/jobs
openapi: 3.1.0
info:
  title: Reprompt Place Enrichment API
  description: >

    ## Batch Processing Guide


    The `/place_enrichment/batches` endpoint allows you to submit multiple
    places in a single batch for attribute enrichment. 

    The batch will be processed asynchronously, and you can track its status
    using the returned batch ID.



    #### Typical workflow:

    1. Prepare your batch payload with:
       - A unique batch name for identification
       - List of places with their IDs and input data
       - Optional attribute set specification
    2. Submit the batch using the POST `/place_enrichment/batches` endpoint

    3. Use the returned batch ID to:
       - Check batch status at GET `/place_enrichment/batches/{batch_id}`
       - Retrieve results at GET `/place_enrichment/jobs?batchId={batch_id}`


    #### Submitting a Batch:


    Use POST `/place_enrichment/batches` to submit a batch.


    **Example Batch Payload:**

    ```json

    {
        "batch_name": "NYC Restaurants March 2024",
        "attributes": ["websites", "phoneNumbers", "socialHandles", "openingHours", "categories", "closed_permanently"], 
        "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",
                    "street": "Carmine St",
                    "city": "New York",
                    "state": "NY",
                    "postalCode": "10014",
                    "house": "7",
                    "country": "United States",
                    "country_code": "US",
                    "type": "restaurant",
                    "website": "http://www.joespizzanyc.com",
                    "phone": "+12122555803"
                }
            }
        ]
    }

    ```

    **Place Input Parameters:**

    For more details on the place input parameters, see the ```UniversalPlace```
    schema in the schemas section below.


    **Attributes:**


    The `attributes` parameter in your request specifies which attributes will
    be enriched. You can specify individual attributes like:


    - `["websites", "phoneNumbers"]` - Only enrich website and phone information

    - `["closed_permanently"]` - Only check if the business is permanently
    closed

    - `["websites", "phoneNumbers", "socialHandles", "openingHours",
    "categories", "closed_permanently"]` - Core business attributes

    - `["websites", "phoneNumbers", "socialHandles", "openingHours",
    "categories", "closed_permanently", "cuisine", "price_tier", "menu_url"]` -
    Comprehensive enrichment


    For a full list of available attributes, see the enrichment schema
    documentation below.


    **`attribute_set`:** 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`.


    #### Tracking Batch Status:


    Use GET `/place_enrichment/batches/{batch_id}` to monitor the progress of
    your batch. The response includes:


    ```json

    {
        "id": "batch_2024_03_15_123456",
        "batch_name": "NYC Restaurants March 2024",
        "status": "in_progress",
        "jobs": {
            "pending": ["place_id_2", "place_id_3"],
            "in_progress": ["place_id_1"],
            "completed": ["place_id_4", "place_id_5"],
            "failed": []
        },
        "created_at": "2024-03-15T10:30:00Z",
        "updated_at": "2024-03-15T10:35:00Z"
    }

    ```


    The status field will be one of:

    - `pending`: Batch is queued but not yet started

    - `in_progress`: Batch is currently being processed

    - `completed`: All jobs in the batch are finished

    - `failed`: Batch encountered critical errors


    #### Retrieving Job Results:


    Once jobs are completed, use GET `/place_enrichment/jobs?batchId={batch_id}`
    to get the enrichment results. The response includes:


    ```json

    {
        "jobs": [
            {
                "place_id": "place_nyc_123",
                "status": "completed",
                "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": {
                    "created_at": "2024-03-15T10:30:00Z",
                    "completed_at": "2024-03-15T10:35:00Z",
                    "processing_time_seconds": 300
                }
            }
        ],
        "total_count": 1,
        "completed_count": 1
    }

    ```


    Each job result includes:

    - Original place ID for tracking

    - Enrichment outputs based on the requested attribute set

    - Job metadata including timing information

    - Processing status and any error details if failed


    **Attribute Statuses:**


    Attributes like name, address, phone number, and website include an
    `attribute_status` field indicating the verification state:


    | Status | Description |

    |--------|-------------|

    | NOT_RUN | The attribute was not processed |

    | RUN_CONDITION_FAILED | The attribute was processed but failed the run
    condition |

    | RUN | The attribute was processed |

    | ERROR | The attribute processing failed |


    Example response with attribute statuses:

    ```json

    {
        "outputs": {
            "website": "https://www.joespizzanyc.com",
            "phone": "+12122555803"
        },
        "job_metadata": {
            "attribute_status": {
                "website": "RUN",
                "phone": "RUN",
                "address": "RUN",
                "name": "RUN"
            }
        }
    }

    ```
  version: '1.0'
servers:
  - url: https://api.repromptai.com/v1/{org}
    variables:
      org:
        default: reprompt
        description: The organization slug to use for the API
security: []
paths:
  /place_enrichment/jobs:
    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
      parameters:
        - 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
      security:
        - HTTPBearer: []
components:
  schemas:
    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
    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
    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'
          title: Inputs
          discriminator:
            propertyName: input_type
            mapping:
              place:
                $ref: '#/components/schemas/UniversalPlace'
              query: '#/components/schemas/InputQuery'
        outputs:
          $ref: '#/components/schemas/GenericJobOutputs'
          title: Outputs
        reasoning:
          $ref: '#/components/schemas/JobReasoning'
          title: Reasoning
        confidence_scores:
          $ref: '#/components/schemas/JobConfidenceScores'
          description: Confidence scores for various attributes
      type: object
      required:
        - place_id
        - status
        - job_metadata
        - inputs
        - outputs
        - reasoning
      title: PlaceJobResult
    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:
            - type: 'null'
        refresh:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Refresh
      type: object
      required:
        - id
        - batch_name
        - status_counts
        - created_at
        - status
      title: BatchJob
    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
    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
              pattern: ^[A-Z]{2}$
            - type: 'null'
          title: Country Code
          description: >-
            Two-letter country code (ISO 3166-1 alpha-2 or special codes like
            XK). If not provided, will be inferred from coordinates
        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
    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
        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:
                    $ref: '#/components/schemas/UAEAddress'
                  HK:
                    $ref: '#/components/schemas/HongKongAddressDetails'
                  ID:
                    $ref: '#/components/schemas/IndonesiaAddress'
                  JP:
                    $ref: '#/components/schemas/JapaneseAddress'
                  MY:
                    $ref: '#/components/schemas/MalaysiaAddress'
                  SG:
                    $ref: '#/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
    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
    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
    BatchJobStatus:
      type: string
      enum:
        - pending
        - queued
        - in_progress
        - completed
        - failed
      title: BatchJobStatus
    AttributeStatusEnum:
      type: string
      enum:
        - NOT FOUND
        - ADDED
        - VERIFIED
        - CORRECTED
        - NOT VERIFIED
        - NOT ENRICHED
        - RUN
        - RUN_CONDITION_FAILED
        - ERROR
        - NOT_RUN
      title: AttributeStatusEnum
    StorefrontImage:
      properties:
        url:
          type: string
          title: Url
      type: object
      required:
        - url
      title: StorefrontImage
      description: A storefront image with its URL.
    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
    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
    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: 内牧
    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
    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.
    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.

        Adds district and area fields which are specific to Hong Kong's
        addressing system.
    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).
    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.

        Example:
            {
                "days": ["Mon", "Tue", "Wed"],
                "opens": "09:00",  # 24h format
                "closes": "17:00"  # 24h format
            }
    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
    ConfidenceScore:
      type: string
      enum:
        - VERY_HIGH
        - HIGH
        - MEDIUM
        - LOW
        - NONE
      title: ConfidenceScore
    DayOfWeek:
      type: string
      enum:
        - Sun
        - Mon
        - Tue
        - Wed
        - Thu
        - Fri
        - Sat
      title: DayOfWeek
      description: Days of week in three-letter format.
    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
    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
    MenuChoice:
      properties:
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
        prices:
          anyOf:
            - $ref: '#/components/schemas/PriceInfo'
            - type: 'null'
      type: object
      title: MenuChoice
    PriceInfo:
      properties:
        min:
          type: string
          title: Min
        max:
          type: string
          title: Max
          default: ''
      type: object
      required:
        - min
      title: PriceInfo
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer

````