# GetHolidayCalendar

## Overview

GetHolidayCalendar retrieves a single `HolidayCalendar` record by its surrogate id, returning the stable `key` and the human-facing `name`. It supports admin/UI lookups where the record's id is already known (e.g. viewing or editing a specific calendar).

## Business Rules

- Resolves by the surrogate `id`; the `key` is returned as the stable, unique identifier of the calendar
- Returns the record as currently stored; `HolidayCalendar` is master data, not effective-dated, so there is no `asOf` resolution — a correction is visible immediately in place
- `name` is UI-only and carries no scoping or calculation semantics

## Process Flow

```mermaid
flowchart TD
    A[Caller provides HolidayCalendar id] --> B[Look up record by id]
    B --> C{Found?}
    C -- Yes --> D[Return HolidayCalendar: key, name]
    C -- No --> E[Return HOLIDAY_CALENDAR_NOT_FOUND]
```

## External Dependencies

- [time-tracking::HolidayCalendar](../model/HolidayCalendar.md) model — entity being queried

## Error Scenarios

- **HOLIDAY_CALENDAR_NOT_FOUND**: no HolidayCalendar exists for the given id

## Test Cases

- returns the HolidayCalendar when found by id
- returns HOLIDAY_CALENDAR_NOT_FOUND when no record matches the id
- returns the `key` as the stable identifier and `name` as a UI-only label
