Skip to content

Location Groups

Location Groups are simple identifiers that allow multiple locations to be logically associated together for operational or business purposes. They consist only of an ID, name, and type.

Overview

Location groups provide flexible organization without constraints:

  • Groups are just identifiers referenced by locations
  • Locations in the same group can be anywhere in the service area
  • The group itself has no knowledge of the locations that reference it

Get Location Group by ID

http
GET /location-groups/{id}
Authorization: Bearer {access_token}

Path Parameters

ParameterTypeDescription
idUUIDLocation group identifier

Response

json
{
  "id": "660e8400-e29b-41d4-a716-446655440001",
  "name": "Downtown Service Area",
  "type": "OTHER"
}

List Location Groups

http
GET /location-groups
Authorization: Bearer {access_token}

Query Parameters

ParameterTypeRequiredDescription
typeStringNoFilter by group type
nameStringNoFilter by name (partial match)
limitIntegerNoMaximum results to return (default: 100)
offsetIntegerNoPagination offset (default: 0)

Response

json
{
  "locationGroups": [
    {
      "id": "660e8400-e29b-41d4-a716-446655440001",
      "name": "Downtown Service Area",
      "type": "OTHER"
    },
    {
      "id": "660e8400-e29b-41d4-a716-446655440002",
      "name": "Phase 3 Deployment",
      "type": "OTHER"
    }
  ],
  "pagination": {
    "limit": 100,
    "offset": 0,
    "total": 2
  }
}

Data Model

FieldTypeDescription
idUUIDUnique identifier for the location group
nameStringHuman-readable name of the group
typeEnumCurrently only OTHER is valid

How It Works

Locations reference location groups through the locationGroupId field at the root level:

json
// Location Group
{
  "id": "660e8400-e29b-41d4-a716-446655440001",
  "name": "Downtown Service Area",
  "type": "OTHER"
}

// Location 1 in group
{
  "id": "loc-001",
  "locationGroupId": "660e8400-e29b-41d4-a716-446655440001",
  "address": {
    "streetNumber": "100",
    "streetName": "MAIN",
    "streetType": "STREET"
  }
}

// Location 2 in same group (different area)
{
  "id": "loc-002",
  "locationGroupId": "660e8400-e29b-41d4-a716-446655440001",
  "address": {
    "streetNumber": "500",
    "streetName": "COMMERCE",
    "streetType": "AVENUE"
  }
}

Common Use Cases

Location groups can be used for any organizational need:

  • Service areas or territories
  • Deployment phases
  • Customer segments
  • Network segments
  • Operational zones
  • Any custom grouping

Finding Locations in a Group

http
# Get all locations in a group
GET /locations?locationGroupId=660e8400-e29b-41d4-a716-446655440001

# Export locations in a group
POST /locations/exports
{
  "filters": {
    "locationGroupId": "660e8400-e29b-41d4-a716-446655440001"
  }
}

# Get statistics for a group
GET /locations/statistics?locationGroupId=660e8400-e29b-41d4-a716-446655440001

Error Responses

404 Not Found

json
{
  "error": {
    "code": "RESOURCE_NOT_FOUND",
    "message": "Location group not found"
  }
}

400 Bad Request

json
{
  "error": {
    "code": "INVALID_REQUEST",
    "message": "Invalid UUID format"
  }
}

Open Access Forum API Documentation