{
  "openapi": "3.0.1",
  "info": {
    "title": "Places API",
    "version": "v1"
  },
  "servers": [
    {
      "url": "https://api.trimblemaps.com"
    }
  ],
  "paths": {
    "/places/v1/authenticate": {
      "post": {
        "tags": [
          "Authenticate"
        ],
        "summary": "Returns an access token to be used in Places API requests.",
        "description": "An API key can be obtained by contacting Trimble MAPS support.",
        "operationId": "Authenticate",
        "requestBody": {
          "description": "A JSON request object that must contain an apiKey attribute.",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/TokenRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TokenRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TokenRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TokenRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessToken"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/places/v1/category": {
      "get": {
        "tags": [
          "Categories"
        ],
        "summary": "Gets the list of supported categories.",
        "operationId": "GetCategories",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Category"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Category"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Category"
                  }
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/places/v1/sets/{setId}": {
      "get": {
        "tags": [
          "Categories"
        ],
        "summary": "Gets a place set's information by its identifier.",
        "operationId": "GetPlaceSet",
        "parameters": [
          {
            "name": "setId",
            "in": "path",
            "description": "The identifier of the place set to retrieve.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PlaceSet"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlaceSet"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlaceSet"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Categories"
        ],
        "summary": "Updates the name of a place set.",
        "operationId": "UpdatePlaceSet",
        "parameters": [
          {
            "name": "setId",
            "in": "path",
            "description": "The identifier of the place set to update.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "A JSON request object that must contain a name attribute.",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/PlaceSet"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PlaceSet"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PlaceSet"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PlaceSet"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectStatus"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectStatus"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectStatus"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Categories"
        ],
        "summary": "Deletes a place set.",
        "operationId": "DeletePlaceSet",
        "parameters": [
          {
            "name": "setId",
            "in": "path",
            "description": "The identifier of the place set to delete.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectStatus"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectStatus"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectStatus"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/places/v1/sets": {
      "get": {
        "tags": [
          "Categories"
        ],
        "summary": "Gets all the place sets of the company.",
        "operationId": "GetPlaceSets",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PlaceSet"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlaceSet"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlaceSet"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Categories"
        ],
        "summary": "Creates a place set to hold company places.",
        "operationId": "CreatePlaceSet",
        "requestBody": {
          "description": "A JSON request object that must contain a name attribute.",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/PlaceSet"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PlaceSet"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PlaceSet"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PlaceSet"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectStatus"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectStatus"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectStatus"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/places/v1/sets/{setId}/placelist": {
      "get": {
        "tags": [
          "Categories"
        ],
        "summary": "Gets all the places in a set",
        "operationId": "GetPlacesInSet",
        "parameters": [
          {
            "name": "setId",
            "in": "path",
            "description": "The identifier of the place set to retrieve associated places.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BasicTrimblePlace"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BasicTrimblePlace"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BasicTrimblePlace"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/places/v1/place/{placeId}/contactinfo": {
      "post": {
        "tags": [
          "ContactInfo"
        ],
        "summary": "Attaches contact information to a place.",
        "operationId": "AttachContactInfoToPlace",
        "parameters": [
          {
            "name": "placeId",
            "in": "path",
            "description": "The identifier of the place.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "A JSON request object that contains attributes of the contact details.",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ContactModel"
              },
              "example": {"phone":"555-555-5555","url":"https://www.example.com"}
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ContactModel"
              },
              "example": {"phone":"555-555-5555","url":"https://www.example.com"}
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ContactModel"
              },
              "example": {"phone":"555-555-5555","url":"https://www.example.com"}
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ContactModel"
              },
              "example": {"phone":"555-555-5555","url":"https://www.example.com"}
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectStatus"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectStatus"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectStatus"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "ContactInfo"
        ],
        "summary": "Retrieves any attached contact information for a place.",
        "operationId": "GetContactInfo",
        "parameters": [
          {
            "name": "placeId",
            "in": "path",
            "description": "The identifier of the place.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ContactModelAttributeResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactModelAttributeResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactModelAttributeResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "ContactInfo"
        ],
        "summary": "Deletes any attached contact information for a place.",
        "operationId": "RemoveContactInfo",
        "parameters": [
          {
            "name": "placeId",
            "in": "path",
            "description": "The identifier of the place.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectStatus"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectStatus"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectStatus"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/places/v1/place/{placeId}/editor": {
      "get": {
        "tags": [
          "Editor"
        ],
        "summary": "Returns the editor URL of a given place ID.",
        "operationId": "GetEditorUrlByPlaceId",
        "parameters": [
          {
            "name": "placeId",
            "in": "path",
            "description": "The Trimble Place Id.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/places/v1/place/{placeId}/operatinghours": {
      "post": {
        "tags": [
          "OperatingHours"
        ],
        "summary": "Attaches operating hours to a place.",
        "operationId": "AttachOperatingHoursToPlace",
        "parameters": [
          {
            "name": "placeId",
            "in": "path",
            "description": "The identifier of the place.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "A JSON request object containing the operating hours.",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/OperatingHoursModel"
              },
              "example": {"sunday":{"hours":[{"open":"0000","close":"0000"}],"formattedText":"Sunday:  Closed"},"monday":{"hours":[{"open":"0900","close":"1700"}],"formattedText":"Monday:  09:00 am - 05:00 pm"},"tuesday":{"hours":[{"open":"0900","close":"1700"}],"formattedText":"Tuesday:  09:00 am - 05:00 pm"},"wednesday":{"hours":[{"open":"0700","close":"1500"},{"open":"1700","close":"2000"}],"formattedText":"Wednesday:  07:00 am - 03:00 pm, 05:00 pm - 08:00 pm"},"thursday":{"hours":[{"open":"0900","close":"1700"}],"formattedText":"Thursday:  09:00 am - 05:00 pm"},"friday":{"hours":[{"open":"0900","close":"1700"}],"formattedText":"Friday:  09:00 am - 05:00 pm"},"saturday":{"hours":[{"open":"0000","close":"2400"}],"formattedText":"Saturday:  Open 24 hr"}}
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OperatingHoursModel"
              },
              "example": {"sunday":{"hours":[{"open":"0000","close":"0000"}],"formattedText":"Sunday:  Closed"},"monday":{"hours":[{"open":"0900","close":"1700"}],"formattedText":"Monday:  09:00 am - 05:00 pm"},"tuesday":{"hours":[{"open":"0900","close":"1700"}],"formattedText":"Tuesday:  09:00 am - 05:00 pm"},"wednesday":{"hours":[{"open":"0700","close":"1500"},{"open":"1700","close":"2000"}],"formattedText":"Wednesday:  07:00 am - 03:00 pm, 05:00 pm - 08:00 pm"},"thursday":{"hours":[{"open":"0900","close":"1700"}],"formattedText":"Thursday:  09:00 am - 05:00 pm"},"friday":{"hours":[{"open":"0900","close":"1700"}],"formattedText":"Friday:  09:00 am - 05:00 pm"},"saturday":{"hours":[{"open":"0000","close":"2400"}],"formattedText":"Saturday:  Open 24 hr"}}
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/OperatingHoursModel"
              },
              "example": {"sunday":{"hours":[{"open":"0000","close":"0000"}],"formattedText":"Sunday:  Closed"},"monday":{"hours":[{"open":"0900","close":"1700"}],"formattedText":"Monday:  09:00 am - 05:00 pm"},"tuesday":{"hours":[{"open":"0900","close":"1700"}],"formattedText":"Tuesday:  09:00 am - 05:00 pm"},"wednesday":{"hours":[{"open":"0700","close":"1500"},{"open":"1700","close":"2000"}],"formattedText":"Wednesday:  07:00 am - 03:00 pm, 05:00 pm - 08:00 pm"},"thursday":{"hours":[{"open":"0900","close":"1700"}],"formattedText":"Thursday:  09:00 am - 05:00 pm"},"friday":{"hours":[{"open":"0900","close":"1700"}],"formattedText":"Friday:  09:00 am - 05:00 pm"},"saturday":{"hours":[{"open":"0000","close":"2400"}],"formattedText":"Saturday:  Open 24 hr"}}
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/OperatingHoursModel"
              },
              "example": {"sunday":{"hours":[{"open":"0000","close":"0000"}],"formattedText":"Sunday:  Closed"},"monday":{"hours":[{"open":"0900","close":"1700"}],"formattedText":"Monday:  09:00 am - 05:00 pm"},"tuesday":{"hours":[{"open":"0900","close":"1700"}],"formattedText":"Tuesday:  09:00 am - 05:00 pm"},"wednesday":{"hours":[{"open":"0700","close":"1500"},{"open":"1700","close":"2000"}],"formattedText":"Wednesday:  07:00 am - 03:00 pm, 05:00 pm - 08:00 pm"},"thursday":{"hours":[{"open":"0900","close":"1700"}],"formattedText":"Thursday:  09:00 am - 05:00 pm"},"friday":{"hours":[{"open":"0900","close":"1700"}],"formattedText":"Friday:  09:00 am - 05:00 pm"},"saturday":{"hours":[{"open":"0000","close":"2400"}],"formattedText":"Saturday:  Open 24 hr"}}
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectStatus"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectStatus"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectStatus"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "OperatingHours"
        ],
        "summary": "Retrieves any attached operating hours for a place.",
        "operationId": "GetOperatingHours",
        "parameters": [
          {
            "name": "placeId",
            "in": "path",
            "description": "The identifier of the place.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/OperatingHoursModelAttributeResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OperatingHoursModelAttributeResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/OperatingHoursModelAttributeResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "OperatingHours"
        ],
        "summary": "Deletes any attached operating hours for a place.",
        "operationId": "RemoveOperatingHours",
        "parameters": [
          {
            "name": "placeId",
            "in": "path",
            "description": "The identifier of the place.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectStatus"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectStatus"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectStatus"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/places/v1/place/{placeId}/fleetsubmission": {
      "post": {
        "tags": [
          "PlaceFleetSubmission"
        ],
        "summary": "Submits a fleet note for a place.",
        "operationId": "PostFleetSubmission",
        "parameters": [
          {
            "name": "placeId",
            "in": "path",
            "description": "The Trimble Place Id.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The submission request containing assetId, driverId (optional), and content.",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/PlaceFleetSubmissionRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PlaceFleetSubmissionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PlaceFleetSubmissionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PlaceFleetSubmissionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "PlaceFleetSubmission"
        ],
        "summary": "Retrieves the latest fleet note for a place.",
        "operationId": "GetLatestFleetSubmission",
        "parameters": [
          {
            "name": "placeId",
            "in": "path",
            "description": "The Trimble Place Id.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/places/v1/place/{placeId}/fleetsubmissions": {
      "get": {
        "tags": [
          "PlaceFleetSubmission"
        ],
        "summary": "Retrieves all fleet notes for a place.",
        "operationId": "GetAllFleetSubmissions",
        "parameters": [
          {
            "name": "placeId",
            "in": "path",
            "description": "The Trimble Place Id.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/places/v1/place/fleetsubmissions/bulk": {
      "post": {
        "tags": [
          "PlaceFleetSubmission"
        ],
        "summary": "Retrieves fleet notes for multiple places in a single call.",
        "operationId": "GetFleetSubmissionsBulk",
        "parameters": [
          {
            "name": "all",
            "in": "query",
            "description": "True to return all notes per place (newest first), false for the latest note per place only. Defaults to true.",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "requestBody": {
          "description": "An array of Trimble Place Ids (max 50).",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PlaceFleetNoteBulkResponse"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PlaceFleetNoteBulkResponse"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PlaceFleetNoteBulkResponse"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/places/v1/place/{placeId}/fleetsubmission/{noteId}": {
      "put": {
        "tags": [
          "PlaceFleetSubmission"
        ],
        "summary": "Updates a fleet note.",
        "operationId": "UpdateFleetSubmission",
        "parameters": [
          {
            "name": "placeId",
            "in": "path",
            "description": "The Trimble Place Id.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "noteId",
            "in": "path",
            "description": "The note ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The update request containing the new content.",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/PlaceFleetSubmissionUpdateRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PlaceFleetSubmissionUpdateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PlaceFleetSubmissionUpdateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PlaceFleetSubmissionUpdateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "PlaceFleetSubmission"
        ],
        "summary": "Deletes a fleet note.",
        "operationId": "DeleteFleetSubmission",
        "parameters": [
          {
            "name": "placeId",
            "in": "path",
            "description": "The Trimble Place Id.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "noteId",
            "in": "path",
            "description": "The note ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/places/v1/place/{placeId}/notes": {
      "post": {
        "tags": [
          "PlaceNotes"
        ],
        "summary": "Attaches notes to a place.",
        "operationId": "AttachPlaceNotes",
        "parameters": [
          {
            "name": "placeId",
            "in": "path",
            "description": "The identifier of the place.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "A JSON request object that contains the place notes.",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/NotesModel"
              },
              "example": {"notes":"Example place notes","applicationName":null}
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NotesModel"
              },
              "example": {"notes":"Example place notes","applicationName":null}
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/NotesModel"
              },
              "example": {"notes":"Example place notes","applicationName":null}
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/NotesModel"
              },
              "example": {"notes":"Example place notes","applicationName":null}
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectStatus"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectStatus"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectStatus"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "PlaceNotes"
        ],
        "summary": "Retrieves any attached notes for a place.",
        "operationId": "GetPlaceNotes",
        "parameters": [
          {
            "name": "placeId",
            "in": "path",
            "description": "The identifier of the place.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "applicationName",
            "in": "query",
            "description": "Whether notes are for RoadCall or other applications besides Content Tools.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/NotesModelAttributeResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotesModelAttributeResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotesModelAttributeResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "PlaceNotes"
        ],
        "summary": "Deletes any attached notes for a place.",
        "operationId": "RemovePlaceNotes",
        "parameters": [
          {
            "name": "placeId",
            "in": "path",
            "description": "The identifier of the place.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "applicationName",
            "in": "query",
            "description": "Whether notes are for RoadCall or other applications besides Content Tools.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectStatus"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectStatus"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectStatus"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/places/v1/place/{placeId}": {
      "get": {
        "tags": [
          "Places"
        ],
        "summary": "Get the standard information about a single place.",
        "description": "The placeId provided can either be a Trimble Place Id or a Custom Place Id.",
        "operationId": "GetPlaceById",
        "parameters": [
          {
            "name": "placeId",
            "in": "path",
            "description": "The identifier of the place to return.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A place.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Place"
                },
                "example": {"brand":null,"trimblePlaceId":"0x6MTu_03diEyV9O5tusIVFg","customPlaceId":"TRIM057","name":"Example Place","categoryName":"Distribution Center","address":{"streetAddress":"Main Street","extendedAddress":"4th Floor","streetNumber":"123","city":"Pittsburgh","county":"Allegheny","state":{"name":"Pennsylvania","abbrv":"PA"},"country":{"name":"United States","abbrv":"US"},"postalCode":"15212"},"formattedAddress":"123 Main Street, 4th Floor, Pittsburgh, PA  15212","geometry":{"type":"Point","coordinates":[-80.006841,40.447307]},"region":"NA","breakApproved":true,"restrictedFuelLocation":false,"status":"Temporarily Closed","placeClassification":"Basic","lastModified":"2026-10-13T17:21:45.2589845+00:00"}
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Place"
                },
                "example": {"brand":null,"trimblePlaceId":"0x6MTu_03diEyV9O5tusIVFg","customPlaceId":"TRIM057","name":"Example Place","categoryName":"Distribution Center","address":{"streetAddress":"Main Street","extendedAddress":"4th Floor","streetNumber":"123","city":"Pittsburgh","county":"Allegheny","state":{"name":"Pennsylvania","abbrv":"PA"},"country":{"name":"United States","abbrv":"US"},"postalCode":"15212"},"formattedAddress":"123 Main Street, 4th Floor, Pittsburgh, PA  15212","geometry":{"type":"Point","coordinates":[-80.006841,40.447307]},"region":"NA","breakApproved":true,"restrictedFuelLocation":false,"status":"Temporarily Closed","placeClassification":"Basic","lastModified":"2026-10-13T17:21:45.2589845+00:00"}
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Place"
                },
                "example": {"brand":null,"trimblePlaceId":"0x6MTu_03diEyV9O5tusIVFg","customPlaceId":"TRIM057","name":"Example Place","categoryName":"Distribution Center","address":{"streetAddress":"Main Street","extendedAddress":"4th Floor","streetNumber":"123","city":"Pittsburgh","county":"Allegheny","state":{"name":"Pennsylvania","abbrv":"PA"},"country":{"name":"United States","abbrv":"US"},"postalCode":"15212"},"formattedAddress":"123 Main Street, 4th Floor, Pittsburgh, PA  15212","geometry":{"type":"Point","coordinates":[-80.006841,40.447307]},"region":"NA","breakApproved":true,"restrictedFuelLocation":false,"status":"Temporarily Closed","placeClassification":"Basic","lastModified":"2026-10-13T17:21:45.2589845+00:00"}
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Places"
        ],
        "summary": "Updates an existing place.",
        "operationId": "UpdatePlace",
        "parameters": [
          {
            "name": "placeId",
            "in": "path",
            "description": "The identifier of the place to update.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "A JSON request object that contains attributes of the place to create.",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/PlaceWithDetails"
              },
              "example": {"brand":null,"trimblePlaceId":"0x6MTu_03diEyV9O5tusIVFg","customPlaceId":"TRIM057","name":"Example Place","setId":1,"categoryName":"Distribution Center","address":{"streetAddress":"Main Street","extendedAddress":"4th Floor","streetNumber":"123","city":"Pittsburgh","county":"Allegheny","state":{"name":"Pennsylvania","abbrv":"PA"},"country":{"name":"United States","abbrv":"US"},"postalCode":"15212"},"formattedAddress":"123 Main Street, 4th Floor, Pittsburgh, PA  15212","geometry":{"type":"Point","coordinates":[-80.006841,40.447307]},"region":"NA","site":{"id":1505678743,"name":"Example site","type":"string","geometry":{"type":"MultiPolygon","coordinates":[[[[-80.007736,40.447704],[-80.004281,40.448271],[-80.003683,40.446575],[-80.007065,40.445767],[-80.007736,40.447704]]]]},"lastModified":"2026-10-13T17:21:45.3012609+00:00"},"operatingHours":{"sunday":{"hours":[{"open":"0000","close":"0000"}],"formattedText":"Sunday:  Closed"},"monday":{"hours":[{"open":"0900","close":"1700"}],"formattedText":"Monday:  09:00 am - 05:00 pm"},"tuesday":{"hours":[{"open":"0900","close":"1700"}],"formattedText":"Tuesday:  09:00 am - 05:00 pm"},"wednesday":{"hours":[{"open":"0700","close":"1500"},{"open":"1700","close":"2000"}],"formattedText":"Wednesday:  07:00 am - 03:00 pm, 05:00 pm - 08:00 pm"},"thursday":{"hours":[{"open":"0900","close":"1700"}],"formattedText":"Thursday:  09:00 am - 05:00 pm"},"friday":{"hours":[{"open":"0900","close":"1700"}],"formattedText":"Friday:  09:00 am - 05:00 pm"},"saturday":{"hours":[{"open":"0000","close":"2400"}],"formattedText":"Saturday:  Open 24 hr"}},"contactInfo":{"phone":"4125555555","url":"https://maps.trimble.com"},"notes":"Example notes","facilityInformation":{"fuel":["diesel","def"],"repairServices":["tires","oil_change"],"amenities":["showers","restaurant","wifi"],"fuelInformation":{"fuelPrice":2.89,"fuelPriceRetail":2.99}},"breakApproved":true,"restrictedFuelLocation":false,"status":"Temporarily Closed","placeClassification":"Basic","lastModified":"2026-10-13T17:21:45.3012756+00:00"}
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PlaceWithDetails"
              },
              "example": {"brand":null,"trimblePlaceId":"0x6MTu_03diEyV9O5tusIVFg","customPlaceId":"TRIM057","name":"Example Place","setId":1,"categoryName":"Distribution Center","address":{"streetAddress":"Main Street","extendedAddress":"4th Floor","streetNumber":"123","city":"Pittsburgh","county":"Allegheny","state":{"name":"Pennsylvania","abbrv":"PA"},"country":{"name":"United States","abbrv":"US"},"postalCode":"15212"},"formattedAddress":"123 Main Street, 4th Floor, Pittsburgh, PA  15212","geometry":{"type":"Point","coordinates":[-80.006841,40.447307]},"region":"NA","site":{"id":1505678743,"name":"Example site","type":"string","geometry":{"type":"MultiPolygon","coordinates":[[[[-80.007736,40.447704],[-80.004281,40.448271],[-80.003683,40.446575],[-80.007065,40.445767],[-80.007736,40.447704]]]]},"lastModified":"2026-10-13T17:21:45.3012609+00:00"},"operatingHours":{"sunday":{"hours":[{"open":"0000","close":"0000"}],"formattedText":"Sunday:  Closed"},"monday":{"hours":[{"open":"0900","close":"1700"}],"formattedText":"Monday:  09:00 am - 05:00 pm"},"tuesday":{"hours":[{"open":"0900","close":"1700"}],"formattedText":"Tuesday:  09:00 am - 05:00 pm"},"wednesday":{"hours":[{"open":"0700","close":"1500"},{"open":"1700","close":"2000"}],"formattedText":"Wednesday:  07:00 am - 03:00 pm, 05:00 pm - 08:00 pm"},"thursday":{"hours":[{"open":"0900","close":"1700"}],"formattedText":"Thursday:  09:00 am - 05:00 pm"},"friday":{"hours":[{"open":"0900","close":"1700"}],"formattedText":"Friday:  09:00 am - 05:00 pm"},"saturday":{"hours":[{"open":"0000","close":"2400"}],"formattedText":"Saturday:  Open 24 hr"}},"contactInfo":{"phone":"4125555555","url":"https://maps.trimble.com"},"notes":"Example notes","facilityInformation":{"fuel":["diesel","def"],"repairServices":["tires","oil_change"],"amenities":["showers","restaurant","wifi"],"fuelInformation":{"fuelPrice":2.89,"fuelPriceRetail":2.99}},"breakApproved":true,"restrictedFuelLocation":false,"status":"Temporarily Closed","placeClassification":"Basic","lastModified":"2026-10-13T17:21:45.3012756+00:00"}
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PlaceWithDetails"
              },
              "example": {"brand":null,"trimblePlaceId":"0x6MTu_03diEyV9O5tusIVFg","customPlaceId":"TRIM057","name":"Example Place","setId":1,"categoryName":"Distribution Center","address":{"streetAddress":"Main Street","extendedAddress":"4th Floor","streetNumber":"123","city":"Pittsburgh","county":"Allegheny","state":{"name":"Pennsylvania","abbrv":"PA"},"country":{"name":"United States","abbrv":"US"},"postalCode":"15212"},"formattedAddress":"123 Main Street, 4th Floor, Pittsburgh, PA  15212","geometry":{"type":"Point","coordinates":[-80.006841,40.447307]},"region":"NA","site":{"id":1505678743,"name":"Example site","type":"string","geometry":{"type":"MultiPolygon","coordinates":[[[[-80.007736,40.447704],[-80.004281,40.448271],[-80.003683,40.446575],[-80.007065,40.445767],[-80.007736,40.447704]]]]},"lastModified":"2026-10-13T17:21:45.3012609+00:00"},"operatingHours":{"sunday":{"hours":[{"open":"0000","close":"0000"}],"formattedText":"Sunday:  Closed"},"monday":{"hours":[{"open":"0900","close":"1700"}],"formattedText":"Monday:  09:00 am - 05:00 pm"},"tuesday":{"hours":[{"open":"0900","close":"1700"}],"formattedText":"Tuesday:  09:00 am - 05:00 pm"},"wednesday":{"hours":[{"open":"0700","close":"1500"},{"open":"1700","close":"2000"}],"formattedText":"Wednesday:  07:00 am - 03:00 pm, 05:00 pm - 08:00 pm"},"thursday":{"hours":[{"open":"0900","close":"1700"}],"formattedText":"Thursday:  09:00 am - 05:00 pm"},"friday":{"hours":[{"open":"0900","close":"1700"}],"formattedText":"Friday:  09:00 am - 05:00 pm"},"saturday":{"hours":[{"open":"0000","close":"2400"}],"formattedText":"Saturday:  Open 24 hr"}},"contactInfo":{"phone":"4125555555","url":"https://maps.trimble.com"},"notes":"Example notes","facilityInformation":{"fuel":["diesel","def"],"repairServices":["tires","oil_change"],"amenities":["showers","restaurant","wifi"],"fuelInformation":{"fuelPrice":2.89,"fuelPriceRetail":2.99}},"breakApproved":true,"restrictedFuelLocation":false,"status":"Temporarily Closed","placeClassification":"Basic","lastModified":"2026-10-13T17:21:45.3012756+00:00"}
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PlaceWithDetails"
              },
              "example": {"brand":null,"trimblePlaceId":"0x6MTu_03diEyV9O5tusIVFg","customPlaceId":"TRIM057","name":"Example Place","setId":1,"categoryName":"Distribution Center","address":{"streetAddress":"Main Street","extendedAddress":"4th Floor","streetNumber":"123","city":"Pittsburgh","county":"Allegheny","state":{"name":"Pennsylvania","abbrv":"PA"},"country":{"name":"United States","abbrv":"US"},"postalCode":"15212"},"formattedAddress":"123 Main Street, 4th Floor, Pittsburgh, PA  15212","geometry":{"type":"Point","coordinates":[-80.006841,40.447307]},"region":"NA","site":{"id":1505678743,"name":"Example site","type":"string","geometry":{"type":"MultiPolygon","coordinates":[[[[-80.007736,40.447704],[-80.004281,40.448271],[-80.003683,40.446575],[-80.007065,40.445767],[-80.007736,40.447704]]]]},"lastModified":"2026-10-13T17:21:45.3012609+00:00"},"operatingHours":{"sunday":{"hours":[{"open":"0000","close":"0000"}],"formattedText":"Sunday:  Closed"},"monday":{"hours":[{"open":"0900","close":"1700"}],"formattedText":"Monday:  09:00 am - 05:00 pm"},"tuesday":{"hours":[{"open":"0900","close":"1700"}],"formattedText":"Tuesday:  09:00 am - 05:00 pm"},"wednesday":{"hours":[{"open":"0700","close":"1500"},{"open":"1700","close":"2000"}],"formattedText":"Wednesday:  07:00 am - 03:00 pm, 05:00 pm - 08:00 pm"},"thursday":{"hours":[{"open":"0900","close":"1700"}],"formattedText":"Thursday:  09:00 am - 05:00 pm"},"friday":{"hours":[{"open":"0900","close":"1700"}],"formattedText":"Friday:  09:00 am - 05:00 pm"},"saturday":{"hours":[{"open":"0000","close":"2400"}],"formattedText":"Saturday:  Open 24 hr"}},"contactInfo":{"phone":"4125555555","url":"https://maps.trimble.com"},"notes":"Example notes","facilityInformation":{"fuel":["diesel","def"],"repairServices":["tires","oil_change"],"amenities":["showers","restaurant","wifi"],"fuelInformation":{"fuelPrice":2.89,"fuelPriceRetail":2.99}},"breakApproved":true,"restrictedFuelLocation":false,"status":"Temporarily Closed","placeClassification":"Basic","lastModified":"2026-10-13T17:21:45.3012756+00:00"}
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Places"
        ],
        "summary": "Deletes an existing place.",
        "operationId": "DeletePlace",
        "parameters": [
          {
            "name": "placeId",
            "in": "path",
            "description": "The identifier of the place to delete.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectEnvelope"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectEnvelope"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/places/v1/place/{placeId}/details": {
      "get": {
        "tags": [
          "Places"
        ],
        "summary": "Get the full details about a single place.",
        "description": "The placeId provided can either be a Trimble Place Id or a Custom Place Id.",
        "operationId": "GetPlaceDetailsById",
        "parameters": [
          {
            "name": "placeId",
            "in": "path",
            "description": "The identifier of the place to return.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "attributeSource",
            "in": "query",
            "description": "The attribute source. By default, any custom attributes are returned (if present).\r\n            If no attributes are customized, Trimble MAPS managed attributes are returned.",
            "schema": {
              "$ref": "#/components/schemas/AttributeSource"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A place.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PlaceWithDetails"
                },
                "example": {"brand":null,"trimblePlaceId":"0x6MTu_03diEyV9O5tusIVFg","customPlaceId":"TRIM057","name":"Example Place","setId":1,"categoryName":"Distribution Center","address":{"streetAddress":"Main Street","extendedAddress":"4th Floor","streetNumber":"123","city":"Pittsburgh","county":"Allegheny","state":{"name":"Pennsylvania","abbrv":"PA"},"country":{"name":"United States","abbrv":"US"},"postalCode":"15212"},"formattedAddress":"123 Main Street, 4th Floor, Pittsburgh, PA  15212","geometry":{"type":"Point","coordinates":[-80.006841,40.447307]},"region":"NA","site":{"id":1505678743,"name":"Example site","type":"string","geometry":{"type":"MultiPolygon","coordinates":[[[[-80.007736,40.447704],[-80.004281,40.448271],[-80.003683,40.446575],[-80.007065,40.445767],[-80.007736,40.447704]]]]},"lastModified":"2026-10-13T17:21:45.312167+00:00"},"operatingHours":{"sunday":{"hours":[{"open":"0000","close":"0000"}],"formattedText":"Sunday:  Closed"},"monday":{"hours":[{"open":"0900","close":"1700"}],"formattedText":"Monday:  09:00 am - 05:00 pm"},"tuesday":{"hours":[{"open":"0900","close":"1700"}],"formattedText":"Tuesday:  09:00 am - 05:00 pm"},"wednesday":{"hours":[{"open":"0700","close":"1500"},{"open":"1700","close":"2000"}],"formattedText":"Wednesday:  07:00 am - 03:00 pm, 05:00 pm - 08:00 pm"},"thursday":{"hours":[{"open":"0900","close":"1700"}],"formattedText":"Thursday:  09:00 am - 05:00 pm"},"friday":{"hours":[{"open":"0900","close":"1700"}],"formattedText":"Friday:  09:00 am - 05:00 pm"},"saturday":{"hours":[{"open":"0000","close":"2400"}],"formattedText":"Saturday:  Open 24 hr"}},"contactInfo":{"phone":"4125555555","url":"https://maps.trimble.com"},"notes":"Example notes","facilityInformation":{"fuel":["diesel","def"],"repairServices":["tires","oil_change"],"amenities":["showers","restaurant","wifi"],"fuelInformation":{"fuelPrice":2.89,"fuelPriceRetail":2.99}},"breakApproved":true,"restrictedFuelLocation":false,"status":"Temporarily Closed","placeClassification":"Basic","lastModified":"2026-10-13T17:21:45.3121748+00:00"}
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlaceWithDetails"
                },
                "example": {"brand":null,"trimblePlaceId":"0x6MTu_03diEyV9O5tusIVFg","customPlaceId":"TRIM057","name":"Example Place","setId":1,"categoryName":"Distribution Center","address":{"streetAddress":"Main Street","extendedAddress":"4th Floor","streetNumber":"123","city":"Pittsburgh","county":"Allegheny","state":{"name":"Pennsylvania","abbrv":"PA"},"country":{"name":"United States","abbrv":"US"},"postalCode":"15212"},"formattedAddress":"123 Main Street, 4th Floor, Pittsburgh, PA  15212","geometry":{"type":"Point","coordinates":[-80.006841,40.447307]},"region":"NA","site":{"id":1505678743,"name":"Example site","type":"string","geometry":{"type":"MultiPolygon","coordinates":[[[[-80.007736,40.447704],[-80.004281,40.448271],[-80.003683,40.446575],[-80.007065,40.445767],[-80.007736,40.447704]]]]},"lastModified":"2026-10-13T17:21:45.312167+00:00"},"operatingHours":{"sunday":{"hours":[{"open":"0000","close":"0000"}],"formattedText":"Sunday:  Closed"},"monday":{"hours":[{"open":"0900","close":"1700"}],"formattedText":"Monday:  09:00 am - 05:00 pm"},"tuesday":{"hours":[{"open":"0900","close":"1700"}],"formattedText":"Tuesday:  09:00 am - 05:00 pm"},"wednesday":{"hours":[{"open":"0700","close":"1500"},{"open":"1700","close":"2000"}],"formattedText":"Wednesday:  07:00 am - 03:00 pm, 05:00 pm - 08:00 pm"},"thursday":{"hours":[{"open":"0900","close":"1700"}],"formattedText":"Thursday:  09:00 am - 05:00 pm"},"friday":{"hours":[{"open":"0900","close":"1700"}],"formattedText":"Friday:  09:00 am - 05:00 pm"},"saturday":{"hours":[{"open":"0000","close":"2400"}],"formattedText":"Saturday:  Open 24 hr"}},"contactInfo":{"phone":"4125555555","url":"https://maps.trimble.com"},"notes":"Example notes","facilityInformation":{"fuel":["diesel","def"],"repairServices":["tires","oil_change"],"amenities":["showers","restaurant","wifi"],"fuelInformation":{"fuelPrice":2.89,"fuelPriceRetail":2.99}},"breakApproved":true,"restrictedFuelLocation":false,"status":"Temporarily Closed","placeClassification":"Basic","lastModified":"2026-10-13T17:21:45.3121748+00:00"}
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlaceWithDetails"
                },
                "example": {"brand":null,"trimblePlaceId":"0x6MTu_03diEyV9O5tusIVFg","customPlaceId":"TRIM057","name":"Example Place","setId":1,"categoryName":"Distribution Center","address":{"streetAddress":"Main Street","extendedAddress":"4th Floor","streetNumber":"123","city":"Pittsburgh","county":"Allegheny","state":{"name":"Pennsylvania","abbrv":"PA"},"country":{"name":"United States","abbrv":"US"},"postalCode":"15212"},"formattedAddress":"123 Main Street, 4th Floor, Pittsburgh, PA  15212","geometry":{"type":"Point","coordinates":[-80.006841,40.447307]},"region":"NA","site":{"id":1505678743,"name":"Example site","type":"string","geometry":{"type":"MultiPolygon","coordinates":[[[[-80.007736,40.447704],[-80.004281,40.448271],[-80.003683,40.446575],[-80.007065,40.445767],[-80.007736,40.447704]]]]},"lastModified":"2026-10-13T17:21:45.312167+00:00"},"operatingHours":{"sunday":{"hours":[{"open":"0000","close":"0000"}],"formattedText":"Sunday:  Closed"},"monday":{"hours":[{"open":"0900","close":"1700"}],"formattedText":"Monday:  09:00 am - 05:00 pm"},"tuesday":{"hours":[{"open":"0900","close":"1700"}],"formattedText":"Tuesday:  09:00 am - 05:00 pm"},"wednesday":{"hours":[{"open":"0700","close":"1500"},{"open":"1700","close":"2000"}],"formattedText":"Wednesday:  07:00 am - 03:00 pm, 05:00 pm - 08:00 pm"},"thursday":{"hours":[{"open":"0900","close":"1700"}],"formattedText":"Thursday:  09:00 am - 05:00 pm"},"friday":{"hours":[{"open":"0900","close":"1700"}],"formattedText":"Friday:  09:00 am - 05:00 pm"},"saturday":{"hours":[{"open":"0000","close":"2400"}],"formattedText":"Saturday:  Open 24 hr"}},"contactInfo":{"phone":"4125555555","url":"https://maps.trimble.com"},"notes":"Example notes","facilityInformation":{"fuel":["diesel","def"],"repairServices":["tires","oil_change"],"amenities":["showers","restaurant","wifi"],"fuelInformation":{"fuelPrice":2.89,"fuelPriceRetail":2.99}},"breakApproved":true,"restrictedFuelLocation":false,"status":"Temporarily Closed","placeClassification":"Basic","lastModified":"2026-10-13T17:21:45.3121748+00:00"}
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/places/v1/place": {
      "post": {
        "tags": [
          "Places"
        ],
        "summary": "Creates a new place.",
        "operationId": "CreatePlace",
        "requestBody": {
          "description": "A JSON request object that contains attributes of the place to create.\r\nA trimblePlaceId will be assigned to the newly created Place. It does not needed to be included in the POST request.",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/PlaceRequest"
              },
              "example": {"brand":null,"customPlaceId":"TRIM057","name":"Example Place","setId":1,"categoryName":"Distribution Center","address":{"streetAddress":"Main Street","extendedAddress":"4th Floor","streetNumber":"123","city":"Pittsburgh","county":"Allegheny","state":{"name":"Pennsylvania","abbrv":"PA"},"country":{"name":"United States","abbrv":"US"},"postalCode":"15212"},"formattedAddress":"123 Main Street, 4th Floor, Pittsburgh, PA  15212","geometry":{"type":"Point","coordinates":[-80.006841,40.447307]},"region":null,"site":{"id":1505678743,"name":"Example site","type":"string","geometry":{"type":"MultiPolygon","coordinates":[[[[-80.007736,40.447704],[-80.004281,40.448271],[-80.003683,40.446575],[-80.007065,40.445767],[-80.007736,40.447704]]]]}},"contactInfo":{"phone":"4125555555","url":"https://maps.trimble.com"},"notes":"Example notes","facilityInformation":null,"breakApproved":null}
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PlaceRequest"
              },
              "example": {"brand":null,"customPlaceId":"TRIM057","name":"Example Place","setId":1,"categoryName":"Distribution Center","address":{"streetAddress":"Main Street","extendedAddress":"4th Floor","streetNumber":"123","city":"Pittsburgh","county":"Allegheny","state":{"name":"Pennsylvania","abbrv":"PA"},"country":{"name":"United States","abbrv":"US"},"postalCode":"15212"},"formattedAddress":"123 Main Street, 4th Floor, Pittsburgh, PA  15212","geometry":{"type":"Point","coordinates":[-80.006841,40.447307]},"region":null,"site":{"id":1505678743,"name":"Example site","type":"string","geometry":{"type":"MultiPolygon","coordinates":[[[[-80.007736,40.447704],[-80.004281,40.448271],[-80.003683,40.446575],[-80.007065,40.445767],[-80.007736,40.447704]]]]}},"contactInfo":{"phone":"4125555555","url":"https://maps.trimble.com"},"notes":"Example notes","facilityInformation":null,"breakApproved":null}
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PlaceRequest"
              },
              "example": {"brand":null,"customPlaceId":"TRIM057","name":"Example Place","setId":1,"categoryName":"Distribution Center","address":{"streetAddress":"Main Street","extendedAddress":"4th Floor","streetNumber":"123","city":"Pittsburgh","county":"Allegheny","state":{"name":"Pennsylvania","abbrv":"PA"},"country":{"name":"United States","abbrv":"US"},"postalCode":"15212"},"formattedAddress":"123 Main Street, 4th Floor, Pittsburgh, PA  15212","geometry":{"type":"Point","coordinates":[-80.006841,40.447307]},"region":null,"site":{"id":1505678743,"name":"Example site","type":"string","geometry":{"type":"MultiPolygon","coordinates":[[[[-80.007736,40.447704],[-80.004281,40.448271],[-80.003683,40.446575],[-80.007065,40.445767],[-80.007736,40.447704]]]]}},"contactInfo":{"phone":"4125555555","url":"https://maps.trimble.com"},"notes":"Example notes","facilityInformation":null,"breakApproved":null}
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PlaceRequest"
              },
              "example": {"brand":null,"customPlaceId":"TRIM057","name":"Example Place","setId":1,"categoryName":"Distribution Center","address":{"streetAddress":"Main Street","extendedAddress":"4th Floor","streetNumber":"123","city":"Pittsburgh","county":"Allegheny","state":{"name":"Pennsylvania","abbrv":"PA"},"country":{"name":"United States","abbrv":"US"},"postalCode":"15212"},"formattedAddress":"123 Main Street, 4th Floor, Pittsburgh, PA  15212","geometry":{"type":"Point","coordinates":[-80.006841,40.447307]},"region":null,"site":{"id":1505678743,"name":"Example site","type":"string","geometry":{"type":"MultiPolygon","coordinates":[[[[-80.007736,40.447704],[-80.004281,40.448271],[-80.003683,40.446575],[-80.007065,40.445767],[-80.007736,40.447704]]]]}},"contactInfo":{"phone":"4125555555","url":"https://maps.trimble.com"},"notes":"Example notes","facilityInformation":null,"breakApproved":null}
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SearchDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchDetails"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/places/v1/place/{placeId}/customcontent": {
      "patch": {
        "tags": [
          "Places"
        ],
        "summary": "Updates custom content for a single place. Applies to both public and custom places.",
        "operationId": "UpdatePlaceCustomContent",
        "parameters": [
          {
            "name": "placeId",
            "in": "path",
            "description": "The Trimble Place identifier.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The custom content attributes to update.",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/PlaceCustomContentRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PlaceCustomContentRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PlaceCustomContentRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PlaceCustomContentRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The custom content was updated successfully."
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/places/v1/place/customcontent/bulk": {
      "put": {
        "tags": [
          "Places"
        ],
        "summary": "Updates a group of places custom content in bulk.",
        "operationId": "UpdatePlacesCustomContentBulk",
        "requestBody": {
          "description": "A JSON request object that contains attributes of the places to update.",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PlaceUpdateRequest"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PlaceUpdateRequest"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PlaceUpdateRequest"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PlaceUpdateRequest"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/places/v1/place/customplaceid/validate": {
      "post": {
        "tags": [
          "Places"
        ],
        "summary": "Validates the supplied CustomPlaceIds against the requirements, returning the status and if any Id is already is in use.",
        "operationId": "CheckIfCustomIdUsed",
        "requestBody": {
          "description": "The custom place ids.",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CustomPlaceIdCheckResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomPlaceIdCheckResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomPlaceIdCheckResult"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/places/v1/place/{trimblePlaceId}/customplaceid": {
      "post": {
        "tags": [
          "Places"
        ],
        "summary": "Assigns a Custom Place Id to a place.",
        "operationId": "AssignCustomIdToPlace",
        "parameters": [
          {
            "name": "trimblePlaceId",
            "in": "path",
            "description": "The Trimble Place Id that is the target of this extra info.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The Custom Place Id that will be assigned this Place.",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/CustomPlaceIdRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomPlaceIdRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomPlaceIdRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CustomPlaceIdRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectStatus"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectStatus"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectStatus"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/places/v1/place/customplaceid/bulk": {
      "post": {
        "tags": [
          "Places"
        ],
        "summary": "Bullk assign Custom Place Ids to places.",
        "operationId": "AssignBulkCustomIdToPlace",
        "requestBody": {
          "description": "The Custom Place Ids to Trimble Place Ids assignment requests.",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CustomPlaceIdRequestBulk"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CustomPlaceIdRequestBulk"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CustomPlaceIdRequestBulk"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CustomPlaceIdRequestBulk"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CustomPlaceIdResultBulk"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomPlaceIdResultBulk"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomPlaceIdResultBulk"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/places/v1/place/{placeId}/customplaceid": {
      "delete": {
        "tags": [
          "Places"
        ],
        "summary": "Removes a Custom Place Id from its associated place.",
        "description": "The placeId provided can either be a Trimble Place Id or a Custom Place Id.",
        "operationId": "RemoveCustomIdFromPlace",
        "parameters": [
          {
            "name": "placeId",
            "in": "path",
            "description": "The identifier of the place to remove the Custom Place Id from.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectStatus"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectStatus"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectStatus"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/places/v1/place/updatedplaces": {
      "get": {
        "tags": [
          "Places"
        ],
        "summary": "Retrieves the list of places that have been modified or deleted since the given timestamp.",
        "operationId": "GetUpdatedPlaces",
        "parameters": [
          {
            "name": "lastModifiedDate",
            "in": "query",
            "description": "Records modified after this timestamp will be returned.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "The desired response page size.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "lastRecordId",
            "in": "query",
            "description": "The last returned record id.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ModificationReport"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ModificationReport"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ModificationReport"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/places/v1/place/updatedsites": {
      "get": {
        "tags": [
          "Places"
        ],
        "summary": "Retrieves the list of places whose site data has been modified since the given timestamp.",
        "operationId": "GetUpdatedSites",
        "parameters": [
          {
            "name": "lastModifiedDate",
            "in": "query",
            "description": "Records modified after this timestamp will be returned.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "The desired response page size.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "lastRecordId",
            "in": "query",
            "description": "The last returned record id.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "onlyCustomPlaces",
            "in": "query",
            "description": "When true, only custom places are included in the response.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ModificationReport"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ModificationReport"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ModificationReport"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/places/v1/place/updatedplaces/id": {
      "post": {
        "tags": [
          "Places"
        ],
        "summary": "Retrieves the list of places that have been modified or deleted since the given timestamp.",
        "operationId": "GetUpdatedPlacesByGuid",
        "parameters": [
          {
            "name": "lastModifiedDate",
            "in": "query",
            "description": "Records modified after this timestamp will be returned.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "requestBody": {
          "description": "A JSON request object that must contain an array attribute named placeIds.",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/IdRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IdRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/IdRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/IdRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ModificationReport"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ModificationReport"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ModificationReport"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/places/v1/place/boundingbox": {
      "get": {
        "tags": [
          "Places"
        ],
        "summary": "Gets public and private places within a bounding box",
        "operationId": "GetPlacesByBoundingBox",
        "parameters": [
          {
            "name": "lowerLongitude",
            "in": "query",
            "description": "The lower longitude value.",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "lowerLatitude",
            "in": "query",
            "description": "The lower latitude value.",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "upperLongitude",
            "in": "query",
            "description": "The upper longitude value.",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "upperLatitude",
            "in": "query",
            "description": "The upper latitude value.",
            "schema": {
              "type": "number",
              "format": "double"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/FeatureCollection"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FeatureCollection"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/FeatureCollection"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/places/v1/contains": {
      "get": {
        "tags": [
          "Search"
        ],
        "summary": "Returns all places that contain the given coordinates.",
        "operationId": "FindIntersectingPlaces",
        "parameters": [
          {
            "name": "lat",
            "in": "query",
            "description": "Latitude",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "lon",
            "in": "query",
            "description": "Longitude",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "buffer",
            "in": "query",
            "description": "An optional buffer to extend around the given coordinate.",
            "schema": {
              "type": "number",
              "format": "double"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PlaceSearchResult"
                },
                "example": {"count":1,"data":[{"trimblePlaceId":"0x6MTu_03diEyV9O5tusIVFg","name":"Example Place","siteName":"Example Site","customPlaceId":"TRIM057","breakApproved":true,"restrictedFuelLocation":false,"status":"Temporarily Closed","placeClassification":"Basic","categoryName":null,"address":{"streetAddress":"Main Street","extendedAddress":"4th Floor","streetNumber":"123","city":"Pittsburgh","county":"Allegheny","state":{"name":"Pennsylvania","abbrv":"PA"},"country":{"name":"United States","abbrv":"US"},"postalCode":"15212"},"geometry":{"type":"Point","coordinates":[-80.006841,40.447307]},"region":null,"distanceOffRoute":0.0,"brand":null}]}
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlaceSearchResult"
                },
                "example": {"count":1,"data":[{"trimblePlaceId":"0x6MTu_03diEyV9O5tusIVFg","name":"Example Place","siteName":"Example Site","customPlaceId":"TRIM057","breakApproved":true,"restrictedFuelLocation":false,"status":"Temporarily Closed","placeClassification":"Basic","categoryName":null,"address":{"streetAddress":"Main Street","extendedAddress":"4th Floor","streetNumber":"123","city":"Pittsburgh","county":"Allegheny","state":{"name":"Pennsylvania","abbrv":"PA"},"country":{"name":"United States","abbrv":"US"},"postalCode":"15212"},"geometry":{"type":"Point","coordinates":[-80.006841,40.447307]},"region":null,"distanceOffRoute":0.0,"brand":null}]}
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlaceSearchResult"
                },
                "example": {"count":1,"data":[{"trimblePlaceId":"0x6MTu_03diEyV9O5tusIVFg","name":"Example Place","siteName":"Example Site","customPlaceId":"TRIM057","breakApproved":true,"restrictedFuelLocation":false,"status":"Temporarily Closed","placeClassification":"Basic","categoryName":null,"address":{"streetAddress":"Main Street","extendedAddress":"4th Floor","streetNumber":"123","city":"Pittsburgh","county":"Allegheny","state":{"name":"Pennsylvania","abbrv":"PA"},"country":{"name":"United States","abbrv":"US"},"postalCode":"15212"},"geometry":{"type":"Point","coordinates":[-80.006841,40.447307]},"region":null,"distanceOffRoute":0.0,"brand":null}]}
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/places/v1/contains/bulk": {
      "post": {
        "tags": [
          "Search"
        ],
        "summary": "Returns all places that contain the given coordinates.",
        "operationId": "FindBulkIntersectingPlaces",
        "parameters": [
          {
            "name": "buffer",
            "in": "query",
            "description": "An optional buffer to extend around the given coordinate.",
            "schema": {
              "type": "number",
              "format": "double"
            }
          }
        ],
        "requestBody": {
          "description": "Array of latitudes/longitudes",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Coord"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Coord"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Coord"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Coord"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CoordinateSearchResponse"
                  }
                },
                "example": [{"cooordinates":{"lat":40.447307,"lon":-80.006841},"result":{"count":1,"data":[{"trimblePlaceId":"0x6MTu_03diEyV9O5tusIVFg","name":"Example Place","siteName":"Example Site","customPlaceId":"TRIM057","breakApproved":null,"status":"Temporarily Closed","placeClassification":"Basic","categoryName":null,"address":{"streetAddress":"Main Street","extendedAddress":"4th Floor","streetNumber":"123","city":"Pittsburgh","county":"Allegheny","state":{"name":"Pennsylvania","abbrv":"PA"},"country":{"name":"United States","abbrv":"US"},"postalCode":"15212"},"geometry":{"type":"Point","coordinates":[-80.006841,40.447307]},"region":null,"distanceOffRoute":0.0,"brand":null}]}}]
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CoordinateSearchResponse"
                  }
                },
                "example": [{"cooordinates":{"lat":40.447307,"lon":-80.006841},"result":{"count":1,"data":[{"trimblePlaceId":"0x6MTu_03diEyV9O5tusIVFg","name":"Example Place","siteName":"Example Site","customPlaceId":"TRIM057","breakApproved":null,"status":"Temporarily Closed","placeClassification":"Basic","categoryName":null,"address":{"streetAddress":"Main Street","extendedAddress":"4th Floor","streetNumber":"123","city":"Pittsburgh","county":"Allegheny","state":{"name":"Pennsylvania","abbrv":"PA"},"country":{"name":"United States","abbrv":"US"},"postalCode":"15212"},"geometry":{"type":"Point","coordinates":[-80.006841,40.447307]},"region":null,"distanceOffRoute":0.0,"brand":null}]}}]
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CoordinateSearchResponse"
                  }
                },
                "example": [{"cooordinates":{"lat":40.447307,"lon":-80.006841},"result":{"count":1,"data":[{"trimblePlaceId":"0x6MTu_03diEyV9O5tusIVFg","name":"Example Place","siteName":"Example Site","customPlaceId":"TRIM057","breakApproved":null,"status":"Temporarily Closed","placeClassification":"Basic","categoryName":null,"address":{"streetAddress":"Main Street","extendedAddress":"4th Floor","streetNumber":"123","city":"Pittsburgh","county":"Allegheny","state":{"name":"Pennsylvania","abbrv":"PA"},"country":{"name":"United States","abbrv":"US"},"postalCode":"15212"},"geometry":{"type":"Point","coordinates":[-80.006841,40.447307]},"region":null,"distanceOffRoute":0.0,"brand":null}]}}]
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/places/v1/place/customplaceid": {
      "get": {
        "tags": [
          "Search"
        ],
        "summary": "Finds any Places that match the given Custom Place Id.",
        "operationId": "FindPlaceByCustomPlaceId",
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "description": "The Custom Place Id fragment.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Offset",
            "in": "query",
            "schema": {
              "maximum": 99999,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "Limit",
            "in": "query",
            "schema": {
              "maximum": 1000,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "SortExpression",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SortDirection",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "region",
            "in": "query",
            "description": "Optional region parameter.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PlacePagedCollection"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlacePagedCollection"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlacePagedCollection"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/places/v1/place/search": {
      "get": {
        "tags": [
          "Search"
        ],
        "summary": "Finds any Place where the name or Custom PlaceId matches the query provided.",
        "operationId": "SearchPlaces",
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "description": "The search parameter.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Offset",
            "in": "query",
            "schema": {
              "maximum": 99999,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "Limit",
            "in": "query",
            "schema": {
              "maximum": 1000,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "SortExpression",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SortDirection",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "region",
            "in": "query",
            "description": "Optional region parameter.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PlaceForSearchPagedCollection"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlaceForSearchPagedCollection"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlaceForSearchPagedCollection"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/places/v1/place/filter": {
      "get": {
        "tags": [
          "Search"
        ],
        "summary": "Filter places by point + radius and/or country, with optional brand and/or category match. Returns hydrated\r\nplace details (site, operating hours, contact info, etc.) wrapped in the standard paged collection envelope.",
        "description": "Required: at least one of `buffer` or `country`, AND at least one of `brand` or `categoryName`.\r\nFilter logic: `[geo NearSphere(lat, lon, buffer)] AND [country] AND (brand IN brand[] OR category_name IN categoryName[])`.\r\nWhen `buffer` is provided, results within each data source are distance-ascending via Mongo `$nearSphere`.\r\nWhen only `country` is provided, no distance ordering is applied.\r\nResults are grouped private -> public (premium) -> basic.\r\nPagination: pass `limit` and `offset` as standard query params. Response includes `totalSize` and\r\nHATEOAS `next`/`last` links matching the rest of `/place/search` and `/place/customPlaceId`.",
        "operationId": "FilterPlaces",
        "parameters": [
          {
            "name": "Latitude",
            "in": "query",
            "description": "Latitude of the search center.",
            "schema": {
              "type": "number",
              "format": "double",
              "example": 40.445766
            },
            "example": 40.445766
          },
          {
            "name": "Longitude",
            "in": "query",
            "description": "Longitude of the search center.",
            "schema": {
              "type": "number",
              "format": "double",
              "example": -80.00774
            },
            "example": -80.00774
          },
          {
            "name": "Buffer",
            "in": "query",
            "description": "Search radius around the center, in meters. Range: 1 to 160935 (~100 miles).\r\nRequired when PlacesAPI.Business.Models.PlaceFilterRequest.Country is not provided.",
            "schema": {
              "type": "number",
              "format": "double",
              "example": 5000
            },
            "example": 5000
          },
          {
            "name": "Country",
            "in": "query",
            "description": "Full country name (e.g. \"United States\", \"Canada\", \"Mexico\").\r\nRequired when PlacesAPI.Business.Models.PlaceFilterRequest.Buffer is not provided.",
            "schema": {
              "type": "string",
              "example": "United States"
            },
            "example": "United States"
          },
          {
            "name": "Brand",
            "in": "query",
            "description": "Brands to match (repeatable). At least one brand or categoryName is required.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "example": [
                "TRAVIS"
              ]
            },
            "example": [
              "TRAVIS"
            ]
          },
          {
            "name": "CategoryName",
            "in": "query",
            "description": "Category names to match (repeatable). At least one brand or categoryName is required.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "example": [
                "Truck Stop"
              ]
            },
            "example": [
              "Truck Stop"
            ]
          },
          {
            "name": "Offset",
            "in": "query",
            "schema": {
              "maximum": 99999,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "Limit",
            "in": "query",
            "schema": {
              "maximum": 1000,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "SortExpression",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SortDirection",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PlaceWithDetailsPagedCollection"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlaceWithDetailsPagedCollection"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlaceWithDetailsPagedCollection"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AbbreviatedName": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Gets or sets the full name.",
            "nullable": true
          },
          "abbrv": {
            "type": "string",
            "description": "Gets or sets the abbreviation.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a full name and its abbreviation. Typically used for states and countries."
      },
      "AccessToken": {
        "type": "object",
        "properties": {
          "token": {
            "type": "string",
            "description": "The JWT used to access Places API.",
            "nullable": true,
            "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
          },
          "expires": {
            "type": "string",
            "description": "The date and time this token expires.",
            "format": "date-time",
            "nullable": true,
            "example": "2020-03-03T15:01:29.9007619+00:00"
          },
          "message": {
            "type": "string",
            "description": "Gets or sets the error message.",
            "nullable": true,
            "example": "The API Key was not found."
          }
        },
        "additionalProperties": false,
        "description": "The response from an authorization request."
      },
      "Address": {
        "type": "object",
        "properties": {
          "streetAddress": {
            "type": "string",
            "description": "The main street address.",
            "nullable": true
          },
          "extendedAddress": {
            "type": "string",
            "description": "Any additional parts of this address.",
            "nullable": true
          },
          "streetNumber": {
            "type": "string",
            "description": "The house number",
            "nullable": true
          },
          "city": {
            "type": "string",
            "description": "The city.",
            "nullable": true
          },
          "county": {
            "type": "string",
            "description": "The county.",
            "nullable": true
          },
          "state": {
            "$ref": "#/components/schemas/AbbreviatedName"
          },
          "country": {
            "$ref": "#/components/schemas/AbbreviatedName"
          },
          "postalCode": {
            "type": "string",
            "description": "The postal code (zip code).",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "An address object of Places API."
      },
      "ApiError": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Gets or sets the message.",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "description": "Gets or sets the detail.",
            "nullable": true
          },
          "errorCode": {
            "type": "integer",
            "description": "Gets or sets the error code.",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents any error returned by this API"
      },
      "AttributeSource": {
        "enum": [
          "Trimble",
          "Custom"
        ],
        "type": "string",
        "description": "Determines which Attributes to return in the response."
      },
      "BasicTrimblePlace": {
        "type": "object",
        "properties": {
          "trimblePlaceId": {
            "type": "string",
            "description": "The unique Trimble identifier for this place.",
            "nullable": true,
            "example": "0x6MTu_03diEyV9O5tusIVFg"
          },
          "name": {
            "type": "string",
            "description": "The name of a place.",
            "nullable": true,
            "example": "Schneider Dairy"
          }
        },
        "additionalProperties": false,
        "description": "A single basic place"
      },
      "CRSType": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "format": "int32"
      },
      "Category": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Gets or sets the identifier.",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Gets or sets the name.",
            "nullable": true
          },
          "drawStyle": {
            "$ref": "#/components/schemas/DrawStyle"
          },
          "count": {
            "type": "integer",
            "description": "Gets or sets the number of places that have this category.",
            "format": "int64"
          }
        },
        "additionalProperties": false,
        "description": "A Trimble MAPS category for a place."
      },
      "ContactModel": {
        "type": "object",
        "properties": {
          "phone": {
            "type": "string",
            "format": "tel",
            "nullable": true
          },
          "url": {
            "type": "string",
            "format": "uri",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ContactModelAttributeResponse": {
        "type": "object",
        "properties": {
          "default": {
            "$ref": "#/components/schemas/ContactModel"
          },
          "custom": {
            "$ref": "#/components/schemas/ContactModel"
          }
        },
        "additionalProperties": false,
        "description": "Represents a response that has both Trimble and Customer-specific attributes"
      },
      "Coord": {
        "type": "object",
        "properties": {
          "lat": {
            "type": "number",
            "format": "double"
          },
          "lon": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "CoordinateSearchResponse": {
        "type": "object",
        "properties": {
          "cooordinates": {
            "$ref": "#/components/schemas/Coord"
          },
          "result": {
            "$ref": "#/components/schemas/PlaceSearchResult"
          }
        },
        "additionalProperties": false
      },
      "CustomPlaceIdCheckResult": {
        "type": "object",
        "properties": {
          "invalidIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The list of Custom Place Ids that do not meet the requirements.",
            "nullable": true
          },
          "assignedCustomPlaceIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The list of Custom Place Ids that are already assigned to a Trimble Place.",
            "nullable": true
          },
          "validIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The list of unassigned, valid Custom Place Ids.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Response from checking status of Custom Place Ids."
      },
      "CustomPlaceIdRequest": {
        "required": [
          "customPlaceId"
        ],
        "type": "object",
        "properties": {
          "customPlaceId": {
            "maxLength": 24,
            "minLength": 1,
            "type": "string",
            "description": "The Custom Place Id to assign."
          }
        },
        "additionalProperties": false,
        "description": "Request object used to assign a Custom Place Id to a place."
      },
      "CustomPlaceIdRequestBulk": {
        "required": [
          "customPlaceId",
          "trimblePlaceId"
        ],
        "type": "object",
        "properties": {
          "trimblePlaceId": {
            "maxLength": 24,
            "minLength": 0,
            "type": "string",
            "description": "The Trimble Place Id to assign to."
          },
          "customPlaceId": {
            "maxLength": 24,
            "minLength": 1,
            "type": "string",
            "description": "The Custom Place Id to assign."
          }
        },
        "additionalProperties": false,
        "description": "Request object used to assign a Custom Place Id to a place."
      },
      "CustomPlaceIdResult": {
        "type": "object",
        "properties": {
          "customPlaceId": {
            "type": "string",
            "description": "The Custom Place Id to assign.",
            "nullable": true
          },
          "trimblePlaceId": {
            "type": "string",
            "description": "The Trimble Place Id to assign to.",
            "nullable": true
          },
          "error": {
            "$ref": "#/components/schemas/ApiError"
          }
        },
        "additionalProperties": false,
        "description": "Result of a Custom Place Id assignment."
      },
      "CustomPlaceIdResultBulk": {
        "type": "object",
        "properties": {
          "failedCustomPlaceIdAssignments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomPlaceIdResult"
            },
            "description": "The list of Custom Place Ids that failed to be assigned to a Trimble Place.",
            "nullable": true
          },
          "successfulCustomPlaceIdAssignments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomPlaceIdResult"
            },
            "description": "The list of Custom Place Ids that are successfully assigned to a Trimble Place.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Response from bulk assignment of Custom Place Ids."
      },
      "DayTimeModel": {
        "type": "object",
        "properties": {
          "hours": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PeriodModel"
            },
            "nullable": true
          },
          "formattedText": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "DrawStyle": {
        "type": "object",
        "properties": {
          "icon": {
            "type": "string",
            "description": "Gets or sets the icon.",
            "nullable": true
          },
          "shape": {
            "type": "string",
            "description": "Gets or sets the shape.",
            "nullable": true
          },
          "color": {
            "type": "string",
            "description": "Gets or sets the color.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "The draw style of a category."
      },
      "ExternalAttributeModel": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "nullable": true
          },
          "value": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FacilityInformationModel": {
        "type": "object",
        "properties": {
          "fuel": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "repairServices": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "amenities": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "parkingInformation": {
            "$ref": "#/components/schemas/ParkingInformationModel"
          },
          "fuelInformation": {
            "$ref": "#/components/schemas/FuelInformationModel"
          },
          "hotelInformation": {
            "$ref": "#/components/schemas/HotelInformationModel"
          }
        },
        "additionalProperties": false
      },
      "Feature": {
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/GeoJSONObjectType"
          },
          "id": {
            "type": "string",
            "nullable": true
          },
          "geometry": {
            "$ref": "#/components/schemas/IGeometryObject"
          },
          "properties": {
            "type": "object",
            "additionalProperties": { },
            "nullable": true
          },
          "bbox": {
            "type": "array",
            "items": {
              "type": "number",
              "format": "double"
            },
            "nullable": true
          },
          "crs": {
            "$ref": "#/components/schemas/ICRSObject"
          }
        },
        "additionalProperties": false
      },
      "FeatureCollection": {
        "required": [
          "features"
        ],
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/GeoJSONObjectType"
          },
          "features": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Feature"
            }
          },
          "bbox": {
            "type": "array",
            "items": {
              "type": "number",
              "format": "double"
            },
            "nullable": true
          },
          "crs": {
            "$ref": "#/components/schemas/ICRSObject"
          }
        },
        "additionalProperties": false
      },
      "FuelInformationModel": {
        "type": "object",
        "properties": {
          "fuelPrice": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "fuelPriceRetail": {
            "type": "number",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GeoJSONObjectType": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8
        ],
        "type": "integer",
        "format": "int32"
      },
      "GeometryPoint": {
        "type": "object",
        "properties": {
          "coordinates": {
            "$ref": "#/components/schemas/Point"
          }
        },
        "additionalProperties": false,
        "description": "Represents a specific point geometry."
      },
      "HotelInformationModel": {
        "type": "object",
        "properties": {
          "reservationUrl": {
            "type": "string",
            "nullable": true
          },
          "modified": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "checkIn": {
            "type": "string",
            "nullable": true
          },
          "checkOut": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ICRSObject": {
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/CRSType"
          }
        },
        "additionalProperties": false
      },
      "IGeometryObject": {
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/GeoJSONObjectType"
          }
        },
        "additionalProperties": false
      },
      "IPosition": {
        "type": "object",
        "properties": {
          "altitude": {
            "type": "number",
            "format": "double",
            "nullable": true,
            "readOnly": true
          },
          "latitude": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "longitude": {
            "type": "number",
            "format": "double",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "IdRequest": {
        "required": [
          "placeIds"
        ],
        "type": "object",
        "properties": {
          "placeIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "A list of Place Ids."
          }
        },
        "additionalProperties": false,
        "description": "A JSON request object for working with multiple Ids."
      },
      "LineString": {
        "required": [
          "coordinates"
        ],
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/GeoJSONObjectType"
          },
          "coordinates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IPosition"
            }
          },
          "bbox": {
            "type": "array",
            "items": {
              "type": "number",
              "format": "double"
            },
            "nullable": true
          },
          "crs": {
            "$ref": "#/components/schemas/ICRSObject"
          }
        },
        "additionalProperties": false
      },
      "Link": {
        "type": "object",
        "properties": {
          "href": {
            "type": "string",
            "nullable": true
          },
          "method": {
            "type": "string",
            "default": "GET",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ModificationReport": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ModificationReportItem"
            },
            "description": "A list of PlacesAPI.Business.Models.ModificationReportItem describing objects modified.",
            "nullable": true
          },
          "lastModifiedRecord": {
            "type": "string",
            "description": "The ID of the last modified record. Used for paging purposes.",
            "nullable": true,
            "readOnly": true
          },
          "lastModifiedTimestamp": {
            "type": "string",
            "description": "The timestamp of the last modified record. Used for paging purposes.",
            "format": "date-time",
            "readOnly": true
          }
        },
        "additionalProperties": false,
        "description": "A modification report listing all objects that have been modified."
      },
      "ModificationReportItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The ID of a modified object.",
            "nullable": true
          },
          "type": {
            "$ref": "#/components/schemas/ModificationType"
          },
          "timestamp": {
            "type": "string",
            "description": "Timestamp of the object's change.",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "A report item listing the ID of the object, its modification type as well as time of change."
      },
      "ModificationType": {
        "enum": [
          0,
          1
        ],
        "type": "integer",
        "description": "The modification type of a report item.",
        "format": "int32"
      },
      "MultiPolygon": {
        "required": [
          "coordinates"
        ],
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/GeoJSONObjectType"
          },
          "coordinates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Polygon"
            }
          },
          "bbox": {
            "type": "array",
            "items": {
              "type": "number",
              "format": "double"
            },
            "nullable": true
          },
          "crs": {
            "$ref": "#/components/schemas/ICRSObject"
          }
        },
        "additionalProperties": false
      },
      "NotesModel": {
        "required": [
          "notes"
        ],
        "type": "object",
        "properties": {
          "notes": {
            "maxLength": 250,
            "minLength": 1,
            "type": "string",
            "description": "The Notes to assign."
          },
          "applicationName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Request object for assigning place notes to a place."
      },
      "NotesModelAttributeResponse": {
        "type": "object",
        "properties": {
          "default": {
            "$ref": "#/components/schemas/NotesModel"
          },
          "custom": {
            "$ref": "#/components/schemas/NotesModel"
          }
        },
        "additionalProperties": false,
        "description": "Represents a response that has both Trimble and Customer-specific attributes"
      },
      "ObjectEnvelope": {
        "type": "object",
        "properties": {
          "href": {
            "type": "string",
            "nullable": true
          },
          "method": {
            "type": "string",
            "default": "GET",
            "nullable": true
          },
          "data": {
            "description": "Gets or sets the data.",
            "nullable": true
          },
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ApiError"
            },
            "description": "Gets or sets the errors.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Basic wrapper for API responses"
      },
      "ObjectStatus": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The Id of the item interacted with.",
            "format": "int32",
            "nullable": true
          },
          "success": {
            "type": "boolean",
            "description": "Indicates whether or not the operation was successful.",
            "nullable": true
          },
          "lastModified": {
            "type": "string",
            "description": "Indicates the last time the object interacted with was modified.",
            "format": "date-time",
            "nullable": true
          },
          "errorCode": {
            "type": "integer",
            "description": "An error code resulting from an unsuccessful operation.",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the result of a create, update, or delete operation in Places API."
      },
      "OperatingHoursModel": {
        "type": "object",
        "properties": {
          "sunday": {
            "$ref": "#/components/schemas/DayTimeModel"
          },
          "monday": {
            "$ref": "#/components/schemas/DayTimeModel"
          },
          "tuesday": {
            "$ref": "#/components/schemas/DayTimeModel"
          },
          "wednesday": {
            "$ref": "#/components/schemas/DayTimeModel"
          },
          "thursday": {
            "$ref": "#/components/schemas/DayTimeModel"
          },
          "friday": {
            "$ref": "#/components/schemas/DayTimeModel"
          },
          "saturday": {
            "$ref": "#/components/schemas/DayTimeModel"
          }
        },
        "additionalProperties": false
      },
      "OperatingHoursModelAttributeResponse": {
        "type": "object",
        "properties": {
          "default": {
            "$ref": "#/components/schemas/OperatingHoursModel"
          },
          "custom": {
            "$ref": "#/components/schemas/OperatingHoursModel"
          }
        },
        "additionalProperties": false,
        "description": "Represents a response that has both Trimble and Customer-specific attributes"
      },
      "ParkingAvailabilityModel": {
        "type": "object",
        "properties": {
          "availableCarParkingSpaces": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "availableTruckParkingSpaces": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "availableRvParkingSpaces": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ParkingInformationModel": {
        "type": "object",
        "properties": {
          "carParkingSpaces": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "truckParkingSpaces": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "rvParkingSpaces": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "maximumParkingHours": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "types": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "parkingAvailability": {
            "$ref": "#/components/schemas/ParkingAvailabilityModel"
          },
          "reservationInformation": {
            "$ref": "#/components/schemas/ReservationInformationModel"
          }
        },
        "additionalProperties": false
      },
      "PeriodModel": {
        "type": "object",
        "properties": {
          "open": {
            "maxLength": 4,
            "minLength": 4,
            "type": "string",
            "nullable": true
          },
          "close": {
            "maxLength": 4,
            "minLength": 4,
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Place": {
        "required": [
          "address",
          "geometry",
          "name"
        ],
        "type": "object",
        "properties": {
          "brand": {
            "type": "string",
            "nullable": true
          },
          "trimblePlaceId": {
            "type": "string",
            "description": "The unique Trimble identifier for this place.",
            "nullable": true,
            "readOnly": true,
            "example": "0x6MTu_03diEyV9O5tusIVFg"
          },
          "customPlaceId": {
            "type": "string",
            "description": "Your company-specific identifier for this place.",
            "nullable": true,
            "example": "TRIMB57"
          },
          "name": {
            "type": "string",
            "description": "The name of a place.",
            "example": "Schneider Dairy"
          },
          "setId": {
            "type": "integer",
            "description": "For company owned places, the Id of the place set containing this place.",
            "format": "int64",
            "nullable": true
          },
          "categoryName": {
            "type": "string",
            "description": "The name of the category assigned to this place.",
            "nullable": true,
            "example": "Distribution Center"
          },
          "address": {
            "$ref": "#/components/schemas/Address"
          },
          "formattedAddress": {
            "type": "string",
            "description": "A display formatted address of this place.",
            "nullable": true,
            "example": "123 Main Street, Pittsburgh, PA  15212"
          },
          "geometry": {
            "$ref": "#/components/schemas/Point"
          },
          "region": {
            "type": "string",
            "description": "The region of this place",
            "nullable": true,
            "readOnly": true
          },
          "breakApproved": {
            "type": "boolean",
            "description": "Indicates if this place is break approved.",
            "nullable": true
          },
          "restrictedFuelLocation": {
            "type": "boolean",
            "description": "Indicates if this place is a restricted fuel location.",
            "nullable": true
          },
          "status": {
            "type": "string",
            "description": "Indicates if this place is permanently/temporarily closed.",
            "nullable": true,
            "readOnly": true,
            "example": "Temporarily Closed"
          },
          "placeClassification": {
            "type": "string",
            "description": "Indicates the type of this place.",
            "nullable": true,
            "readOnly": true
          },
          "promotable": {
            "type": "boolean",
            "description": "Indicates if this Place can be made a public place by Trimble MAPS or if it's always private.",
            "nullable": true
          },
          "lastModified": {
            "type": "string",
            "description": "The date and time this place was last updated.",
            "format": "date-time",
            "readOnly": true
          }
        },
        "additionalProperties": false,
        "description": "A single Place."
      },
      "PlaceCustomContentRequest": {
        "type": "object",
        "properties": {
          "restrictedFuelLocation": {
            "type": "boolean",
            "description": "Gets or sets whether the place is a restricted fuel location.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents custom content attributes that can be applied to any place, including public places."
      },
      "PlaceFleetNoteBulkResponse": {
        "type": "object",
        "properties": {
          "trimblePlaceId": {
            "type": "string",
            "description": "The Trimble Place Id.",
            "nullable": true
          },
          "notes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PlaceFleetNoteResponse"
            },
            "description": "The fleet notes for the place, newest first. Empty when the place has no notes.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Response entry for a single place in a bulk fleet note retrieval."
      },
      "PlaceFleetNoteResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The identifier for the note.",
            "nullable": true
          },
          "trimblePlaceId": {
            "type": "string",
            "description": "The Trimble Place Id the note is associated with.",
            "nullable": true
          },
          "accountId": {
            "type": "integer",
            "description": "The account identifier.",
            "format": "int64"
          },
          "assetId": {
            "type": "string",
            "description": "The fleet asset identifier (e.g. trailer, truck, device).",
            "nullable": true
          },
          "driverId": {
            "type": "string",
            "description": "The driver identifier who submitted the note.",
            "nullable": true
          },
          "ownerId": {
            "type": "integer",
            "description": "The owner identifier.",
            "format": "int32"
          },
          "userId": {
            "type": "integer",
            "description": "The user identifier who created the note.",
            "format": "int64"
          },
          "content": {
            "type": "string",
            "description": "The note content text.",
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "description": "Timestamp when the note was created.",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "description": "Timestamp when the note was last updated.",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Response model for a fleet place note."
      },
      "PlaceFleetSubmissionRequest": {
        "required": [
          "assetId",
          "content"
        ],
        "type": "object",
        "properties": {
          "assetId": {
            "minLength": 1,
            "type": "string",
            "description": "The fleet asset identifier (e.g. trailer, truck, device)."
          },
          "driverId": {
            "type": "string",
            "description": "The driver identifier submitting the note (optional).",
            "nullable": true
          },
          "content": {
            "maxLength": 500,
            "minLength": 1,
            "type": "string",
            "description": "The note content text."
          }
        },
        "additionalProperties": false,
        "description": "Request model for submitting a fleet place note."
      },
      "PlaceFleetSubmissionUpdateRequest": {
        "required": [
          "content"
        ],
        "type": "object",
        "properties": {
          "content": {
            "maxLength": 500,
            "minLength": 1,
            "type": "string",
            "description": "The note content text."
          }
        },
        "additionalProperties": false,
        "description": "Request model for updating a fleet place note."
      },
      "PlaceForSearch": {
        "required": [
          "address",
          "geometry",
          "name"
        ],
        "type": "object",
        "properties": {
          "brand": {
            "type": "string",
            "nullable": true
          },
          "trimblePlaceId": {
            "type": "string",
            "description": "The unique Trimble identifier for this place.",
            "nullable": true,
            "readOnly": true,
            "example": "0x6MTu_03diEyV9O5tusIVFg"
          },
          "customPlaceId": {
            "type": "string",
            "description": "Your company-specific identifier for this place.",
            "nullable": true,
            "example": "TRIMB57"
          },
          "name": {
            "type": "string",
            "description": "The name of a place.",
            "example": "Schneider Dairy"
          },
          "setId": {
            "type": "integer",
            "description": "For company owned places, the Id of the place set containing this place.",
            "format": "int64",
            "nullable": true
          },
          "categoryName": {
            "type": "string",
            "description": "The name of the category assigned to this place.",
            "nullable": true,
            "example": "Distribution Center"
          },
          "address": {
            "$ref": "#/components/schemas/Address"
          },
          "formattedAddress": {
            "type": "string",
            "description": "A display formatted address of this place.",
            "nullable": true,
            "example": "123 Main Street, Pittsburgh, PA  15212"
          },
          "geometry": {
            "$ref": "#/components/schemas/Point"
          },
          "region": {
            "type": "string",
            "description": "The region of this place",
            "nullable": true,
            "readOnly": true
          },
          "phone": {
            "type": "string",
            "description": "The phone number of a place.",
            "nullable": true
          },
          "info": {
            "type": "string",
            "description": "Any company specific notes.",
            "nullable": true
          },
          "breakApproved": {
            "type": "boolean",
            "description": "Indicates if this place is break approved.",
            "nullable": true
          },
          "restrictedFuelLocation": {
            "type": "boolean",
            "description": "Indicates if this place is a restricted fuel location.",
            "nullable": true
          },
          "status": {
            "type": "string",
            "description": "Indicates if this place is permanently/temporarily closed.",
            "nullable": true,
            "readOnly": true,
            "example": "Temporarily Closed"
          },
          "placeClassification": {
            "type": "string",
            "description": "Indicates the type of this place.",
            "nullable": true,
            "readOnly": true
          },
          "promotable": {
            "type": "boolean",
            "description": "Indicates if this Place can be made a public place by Trimble MAPS or if it's always private.",
            "nullable": true
          },
          "lastModified": {
            "type": "string",
            "description": "The date and time this place was last updated.",
            "format": "date-time",
            "readOnly": true
          }
        },
        "additionalProperties": false,
        "description": "A single Place."
      },
      "PlaceForSearchPagedCollection": {
        "type": "object",
        "properties": {
          "href": {
            "type": "string",
            "nullable": true
          },
          "method": {
            "type": "string",
            "default": "GET",
            "nullable": true
          },
          "offset": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "limit": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "size": {
            "type": "integer",
            "format": "int32"
          },
          "first": {
            "$ref": "#/components/schemas/Link"
          },
          "previous": {
            "$ref": "#/components/schemas/Link"
          },
          "next": {
            "$ref": "#/components/schemas/Link"
          },
          "last": {
            "$ref": "#/components/schemas/Link"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PlaceForSearch"
            },
            "nullable": true
          },
          "dateCollected": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PlacePagedCollection": {
        "type": "object",
        "properties": {
          "href": {
            "type": "string",
            "nullable": true
          },
          "method": {
            "type": "string",
            "default": "GET",
            "nullable": true
          },
          "offset": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "limit": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "size": {
            "type": "integer",
            "format": "int32"
          },
          "first": {
            "$ref": "#/components/schemas/Link"
          },
          "previous": {
            "$ref": "#/components/schemas/Link"
          },
          "next": {
            "$ref": "#/components/schemas/Link"
          },
          "last": {
            "$ref": "#/components/schemas/Link"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Place"
            },
            "nullable": true
          },
          "dateCollected": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PlaceRequest": {
        "required": [
          "address",
          "geometry",
          "name"
        ],
        "type": "object",
        "properties": {
          "brand": {
            "type": "string",
            "nullable": true
          },
          "customPlaceId": {
            "type": "string",
            "description": "Your company-specific identifier for this place.",
            "nullable": true,
            "example": "TRIMB57"
          },
          "name": {
            "type": "string",
            "description": "The name of a place.",
            "example": "Schneider Dairy"
          },
          "setId": {
            "type": "integer",
            "description": "For company owned places, the Id of the place set containing this place.",
            "format": "int64",
            "nullable": true
          },
          "categoryName": {
            "type": "string",
            "description": "The name of the category assigned to this place.",
            "nullable": true,
            "example": "Distribution Center"
          },
          "address": {
            "$ref": "#/components/schemas/Address"
          },
          "formattedAddress": {
            "type": "string",
            "description": "A display formatted address of this place.",
            "nullable": true,
            "example": "123 Main Street, Pittsburgh, PA  15212"
          },
          "geometry": {
            "$ref": "#/components/schemas/Point"
          },
          "region": {
            "type": "string",
            "description": "The region of this place",
            "nullable": true,
            "readOnly": true
          },
          "site": {
            "$ref": "#/components/schemas/Site"
          },
          "contactInfo": {
            "$ref": "#/components/schemas/ContactModel"
          },
          "notes": {
            "type": "string",
            "description": "Any company specific notes.",
            "nullable": true
          },
          "facilityInformation": {
            "$ref": "#/components/schemas/FacilityInformationModel"
          },
          "externalAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExternalAttributeModel"
            },
            "description": "The miscellaneous attributes from external integrations.",
            "nullable": true
          },
          "breakApproved": {
            "type": "boolean",
            "description": "Indicates if this place is break approved.",
            "nullable": true
          },
          "restrictedFuelLocation": {
            "type": "boolean",
            "description": "Indicates if this place is a restricted fuel location.",
            "nullable": true
          },
          "status": {
            "type": "string",
            "description": "Indicates if this place is permanently/temporarily closed.",
            "nullable": true,
            "readOnly": true,
            "example": "Temporarily Closed"
          },
          "placeClassification": {
            "type": "string",
            "description": "Indicates the type of this place.",
            "nullable": true,
            "readOnly": true
          },
          "promotable": {
            "type": "boolean",
            "description": "Indicates if this Place can be made a public place by Trimble MAPS or if it's always private.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Place used for the create place POST request.\r\nIncludes properties to hide from the schema and example value on Swagger."
      },
      "PlaceSearchResult": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "description": "The number of places returned.",
            "format": "int32",
            "readOnly": true
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SearchDetails"
            },
            "description": "The places found by your search.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "The result of searching for places."
      },
      "PlaceSet": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "setId": {
            "type": "integer",
            "description": "The place set identifier.",
            "format": "int32"
          },
          "name": {
            "maxLength": 100,
            "minLength": 1,
            "pattern": "^[^/\\\\^\\*\\?\"<>\\|]*$",
            "type": "string",
            "description": "The name of the place set."
          },
          "placeCounts": {
            "type": "integer",
            "description": "The number of places in a set.",
            "format": "int32",
            "readOnly": true
          },
          "errorCode": {
            "type": "integer",
            "description": "An error code resulting from an unsuccessful operation.",
            "format": "int32",
            "nullable": true,
            "readOnly": true
          },
          "lastModified": {
            "type": "string",
            "description": "The last modified time of this place set.",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false,
        "description": "A set of company owned places."
      },
      "PlaceUpdateRequest": {
        "required": [
          "trimblePlaceId"
        ],
        "type": "object",
        "properties": {
          "trimblePlaceId": {
            "maxLength": 24,
            "minLength": 24,
            "type": "string",
            "description": "Gets or sets the custom place identifier."
          },
          "customPlaceId": {
            "maxLength": 24,
            "minLength": 1,
            "type": "string",
            "description": "Gets or sets the custom place identifier.",
            "nullable": true
          },
          "customPlaceName": {
            "type": "string",
            "description": "Gets or sets the custom place name.",
            "nullable": true
          },
          "operatingHours": {
            "$ref": "#/components/schemas/OperatingHoursModel"
          },
          "contactInfo": {
            "$ref": "#/components/schemas/ContactModel"
          },
          "notes": {
            "type": "string",
            "description": "Gets or sets the notes.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents custom attributes that can be assigned to a place."
      },
      "PlaceWithDetails": {
        "required": [
          "address",
          "geometry",
          "name"
        ],
        "type": "object",
        "properties": {
          "brand": {
            "type": "string",
            "nullable": true
          },
          "trimblePlaceId": {
            "type": "string",
            "description": "The unique Trimble identifier for this place.",
            "nullable": true,
            "readOnly": true,
            "example": "0x6MTu_03diEyV9O5tusIVFg"
          },
          "customPlaceId": {
            "type": "string",
            "description": "Your company-specific identifier for this place.",
            "nullable": true,
            "example": "TRIMB57"
          },
          "name": {
            "type": "string",
            "description": "The name of a place.",
            "example": "Schneider Dairy"
          },
          "setId": {
            "type": "integer",
            "description": "For company owned places, the Id of the place set containing this place.",
            "format": "int64",
            "nullable": true
          },
          "categoryName": {
            "type": "string",
            "description": "The name of the category assigned to this place.",
            "nullable": true,
            "example": "Distribution Center"
          },
          "address": {
            "$ref": "#/components/schemas/Address"
          },
          "formattedAddress": {
            "type": "string",
            "description": "A display formatted address of this place.",
            "nullable": true,
            "example": "123 Main Street, Pittsburgh, PA  15212"
          },
          "geometry": {
            "$ref": "#/components/schemas/Point"
          },
          "region": {
            "type": "string",
            "description": "The region of this place",
            "nullable": true,
            "readOnly": true
          },
          "site": {
            "$ref": "#/components/schemas/Site"
          },
          "operatingHours": {
            "$ref": "#/components/schemas/OperatingHoursModel"
          },
          "contactInfo": {
            "$ref": "#/components/schemas/ContactModel"
          },
          "notes": {
            "type": "string",
            "description": "Any company specific notes.",
            "nullable": true
          },
          "facilityInformation": {
            "$ref": "#/components/schemas/FacilityInformationModel"
          },
          "externalAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExternalAttributeModel"
            },
            "description": "The miscellaneous attributes from external integrations.",
            "nullable": true
          },
          "breakApproved": {
            "type": "boolean",
            "description": "Indicates if this place is break approved.",
            "nullable": true
          },
          "restrictedFuelLocation": {
            "type": "boolean",
            "description": "Indicates if this place is a restricted fuel location.",
            "nullable": true
          },
          "status": {
            "type": "string",
            "description": "Indicates if this place is permanently/temporarily closed.",
            "nullable": true,
            "readOnly": true,
            "example": "Temporarily Closed"
          },
          "placeClassification": {
            "type": "string",
            "description": "Indicates the type of this place.",
            "nullable": true,
            "readOnly": true
          },
          "promotable": {
            "type": "boolean",
            "description": "Indicates if this Place can be made a public place by Trimble MAPS or if it's always private.",
            "nullable": true
          },
          "lastModified": {
            "type": "string",
            "description": "The date and time this place was last updated.",
            "format": "date-time",
            "readOnly": true
          }
        },
        "additionalProperties": false,
        "description": "A single Place."
      },
      "PlaceWithDetailsPagedCollection": {
        "type": "object",
        "properties": {
          "href": {
            "type": "string",
            "nullable": true
          },
          "method": {
            "type": "string",
            "default": "GET",
            "nullable": true
          },
          "offset": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "limit": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "size": {
            "type": "integer",
            "format": "int32"
          },
          "first": {
            "$ref": "#/components/schemas/Link"
          },
          "previous": {
            "$ref": "#/components/schemas/Link"
          },
          "next": {
            "$ref": "#/components/schemas/Link"
          },
          "last": {
            "$ref": "#/components/schemas/Link"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PlaceWithDetails"
            },
            "nullable": true
          },
          "dateCollected": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Point": {
        "required": [
          "coordinates"
        ],
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/GeoJSONObjectType"
          },
          "coordinates": {
            "$ref": "#/components/schemas/IPosition"
          },
          "bbox": {
            "type": "array",
            "items": {
              "type": "number",
              "format": "double"
            },
            "nullable": true
          },
          "crs": {
            "$ref": "#/components/schemas/ICRSObject"
          }
        },
        "additionalProperties": false
      },
      "Polygon": {
        "required": [
          "coordinates"
        ],
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/GeoJSONObjectType"
          },
          "coordinates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LineString"
            }
          },
          "bbox": {
            "type": "array",
            "items": {
              "type": "number",
              "format": "double"
            },
            "nullable": true
          },
          "crs": {
            "$ref": "#/components/schemas/ICRSObject"
          }
        },
        "additionalProperties": false
      },
      "ProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": { }
      },
      "ReservationInformationModel": {
        "type": "object",
        "properties": {
          "reservationUrl": {
            "type": "string",
            "nullable": true
          },
          "reservationPhoneNumber": {
            "type": "string",
            "nullable": true
          },
          "reservationPrices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReservationPriceModel"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ReservationPriceModel": {
        "type": "object",
        "properties": {
          "price": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "duration": {
            "type": "string",
            "nullable": true
          },
          "currency": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SearchDetails": {
        "type": "object",
        "properties": {
          "trimblePlaceId": {
            "type": "string",
            "description": "The Trimble Place Id.",
            "nullable": true,
            "readOnly": true,
            "example": "0x6MTu_03diEyV9O5tusIVFg"
          },
          "name": {
            "type": "string",
            "description": "The name of a place.",
            "nullable": true,
            "readOnly": true,
            "example": "Place Name"
          },
          "siteName": {
            "type": "string",
            "description": "The name of a site.",
            "nullable": true,
            "readOnly": true,
            "example": "Site Name"
          },
          "customPlaceId": {
            "type": "string",
            "description": "The Custom Place Id.",
            "nullable": true,
            "readOnly": true,
            "example": "Company Name"
          },
          "breakApproved": {
            "type": "boolean",
            "description": "Indicates if this place is break approved.",
            "nullable": true
          },
          "restrictedFuelLocation": {
            "type": "boolean",
            "description": "Indicates if this place is a restricted fuel location.",
            "nullable": true
          },
          "status": {
            "type": "string",
            "description": "Indicates if this place is permanently/temporarily closed.",
            "nullable": true,
            "example": "Temporarily Closed"
          },
          "placeClassification": {
            "type": "string",
            "description": "The type of a place.",
            "nullable": true,
            "readOnly": true,
            "example": "Premium"
          },
          "categoryName": {
            "type": "string",
            "description": "The Category Name.",
            "nullable": true,
            "readOnly": true,
            "example": "Truck Repair"
          },
          "address": {
            "$ref": "#/components/schemas/Address"
          },
          "geometry": {
            "$ref": "#/components/schemas/Point"
          },
          "region": {
            "type": "string",
            "description": "The region of this place",
            "nullable": true
          },
          "distanceOffRoute": {
            "type": "number",
            "description": "The distance of this place from the route line.",
            "format": "double"
          },
          "brand": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "The result of a place search opeartion."
      },
      "Site": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of this specific site.",
            "format": "int64"
          },
          "name": {
            "type": "string",
            "description": "The Name of the site.",
            "nullable": true
          },
          "type": {
            "type": "string",
            "description": "The type.",
            "nullable": true
          },
          "gates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SiteGate"
            },
            "description": "All entry or exit gates for this site.",
            "nullable": true
          },
          "geometry": {
            "$ref": "#/components/schemas/MultiPolygon"
          },
          "lastModified": {
            "type": "string",
            "description": "The date and time this site was last updated.",
            "format": "date-time",
            "readOnly": true
          }
        },
        "additionalProperties": false,
        "description": "A polygon representing a known location."
      },
      "SiteGate": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The identifier.",
            "format": "int64"
          },
          "type": {
            "type": "string",
            "description": "The type.",
            "nullable": true
          },
          "vehAllowed": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The list of vehicle types allowed to use this gate.",
            "nullable": true
          },
          "gateToSite": {
            "$ref": "#/components/schemas/GeometryPoint"
          },
          "gateToRoad": {
            "$ref": "#/components/schemas/GeometryPoint"
          }
        },
        "additionalProperties": false,
        "description": "An entry and/or exit location for a site."
      },
      "TokenRequest": {
        "required": [
          "apiKey"
        ],
        "type": "object",
        "properties": {
          "apiKey": {
            "minLength": 1,
            "type": "string",
            "description": "The API Key.",
            "example": "ABCDEFGHIJKLMNOPQRSTUVWXYZ123456"
          }
        },
        "additionalProperties": false,
        "description": "Information required to generate a JWT to make authorized requests to Places API."
      }
    },
    "securitySchemes": {
      "Bearer": {
        "type": "apiKey",
        "description": "Standard Authorization header using the Bearer scheme. Example: \"bearer {token}\"",
        "name": "Authorization",
        "in": "header"
      }
    }
  },
  "security": [
    {
      "Bearer": [ ]
    }
  ]
}