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

# Transport

> Manage and review transport requests for residents at recovery housing residences, with status tracking at /rh/transport.

The Transport screen at `/rh/transport` displays a table of transport requests for the current organization and allows staff to create new requests via a dialog.

## Overview

The page loads transport requests via `useTransportRequests`, which queries the `rh_transport_requests` table scoped to `organization_id` (from `useOrganization`), ordered by `requested_datetime` ascending. The hook accepts optional `TransportRequestFilters` (episodeId, status, dateFrom, dateTo). The table displays up to 20 records (`requests.slice(0, 20)`). Columns rendered: `request_date` + `request_time` (combined), `transport_type`, `destination`, and `status` (rendered as a `Badge`). The **Request Transport** button opens `TransportRequestDialog`.

Observable transport status values from `TransportStatus` type: `requested`, `approved`, `denied`, `completed`, `cancelled`.

## Who it's for

No route-level `RequirePermission` beyond the outer `RHViewGuard` (`rh.dashboard.view`). `RH_PERMISSIONS.TRANSPORT_VIEW` (`rh.transport.view`) and `RH_PERMISSIONS.TRANSPORT_CREATE` (`rh.transport.create`) exist in the permission constants but are not applied as route-level guards on this path.

## Before you start

* Hold `rh.dashboard.view` to access the RH module.
* Identify the episode and destination details for the transport request you need to create.

## Steps

<Steps>
  <Step title="Open Transport">
    Navigate to `/rh/transport`. The table loads the next 20 upcoming transport requests ordered by `requested_datetime` ascending.
  </Step>

  <Step title="Review existing requests">
    The table shows request date/time, type, destination, and status for up to 20 records.
  </Step>

  <Step title="Request transport">
    Click **Request Transport** in the page header. The `TransportRequestDialog` opens. Complete the form and save.
  </Step>

  <Step title="Monitor status">
    After creation, the status badge on each row reflects the current state (`requested`, `approved`, `denied`, `completed`, or `cancelled`). Status transitions are managed through the application; the specific workflow requires SME confirmation.
  </Step>
</Steps>

## Key concepts

<AccordionGroup>
  <Accordion title="Transport statuses">
    Observable values: `requested`, `approved`, `denied`, `completed`, `cancelled`. The authorization and workflow for advancing between states should be confirmed with a subject-matter expert.
  </Accordion>

  <Accordion title="Record limit">
    The table renders at most 20 records (`requests.slice(0, 20)`). Whether this is a deliberate operational limit or a placeholder for pagination should be confirmed with a subject-matter expert.
  </Accordion>

  <Accordion title="Transport type">
    `transport_type` is a free-form or enumerated field on `rh_transport_requests`. The values in use within your program should be confirmed with a subject-matter expert.
  </Accordion>

  <Accordion title="Organization scoping">
    `useTransportRequests` derives `organization_id` from `useOrganization` (the current tenant context). The query will not run if no organization is selected.
  </Accordion>
</AccordionGroup>

## Related

<Columns cols={2}>
  <Card title="Recovery Housing" icon="house" href="/rh/references">
    Recovery Housing references and overview.
  </Card>

  <Card title="Governance & parity" icon="scale-balanced" href="/governance/index">
    Documentation coverage and governance.
  </Card>
</Columns>

<Note>
  This page documents shipped product behavior. It is not medical, legal, or
  billing advice. Verify against your organization's policies and applicable
  regulations before using it for clinical, compliance, or billing decisions.
  Protected health information (PHI) shown in the product is governed by your
  tenant's access controls and is never exposed in this documentation.
</Note>

<Accordion title="Documentation sources">
  * src/routes/rh.tsx
  * src/cores/rh/pages/TransportPage.tsx
  * src/cores/rh/hooks/useTransportRequests.ts
  * src/cores/rh/types/index.ts
</Accordion>
