# GetSite

## Overview

GetSite retrieves a single site by its unique identifier. Returns the full site record including status, name, type, address, timezone, and company reference, or null if no matching site exists.

## Business Rules

- Lookup by `id` performs an exact UUID match
- Returns the full site record including status, name, type, address fields, country, timezone, and companyId
- Does not filter by status — returns both ACTIVE and INACTIVE sites
- Returns null when no matching site is found

## Process Flow

```mermaid
flowchart TD
    A[Receive lookup request] --> B[Query Site by id]
    B --> C{Found?}
    C -->|Yes| D[Return site]
    C -->|No| E[Return null]
```

## External Dependencies

- None

## Error Scenarios

- None (returns null when not found instead of throwing)

## Test Cases

- returns site when found by id
- returns null when site not found
- returns ACTIVE site
- returns INACTIVE site
