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

# Issues and Submissions

> Understand how CleanScan aggregates anonymous scan submissions into actionable issues, and how those issues move from open to resolved.

When someone scans a tag and reports a problem, they're creating a submission. When multiple submissions point to the same problem in the same zone, CleanScan rolls them up into a single issue. This distinction — between the raw input (submission) and the aggregated work item (issue) — keeps your team's queue manageable while preserving the full record of everything that was reported.

## Submissions

A submission is an immutable record created the moment someone scans a tag and reports a problem. Anyone can submit — no app download, no account, no login required. The scan page opens in the browser, the reporter picks a category, optionally adds a description, and submits.

Submissions are permanent. They cannot be edited or deleted. This is intentional: submissions are the raw signal from people in the space, and that record should not be altered.

Multiple submissions about the same type of problem in the same zone roll up into one active issue. If ten gym members report a mess in the locker room over an hour, your team sees one "Mess/Spill" issue — not ten separate tickets — with all ten submissions visible in the issue timeline.

## Issues

An issue is the aggregated, actionable work item. There is one active issue per zone per category at a time. If a second Mess/Spill submission arrives while a Mess/Spill issue is already open in that zone, it attaches to the existing issue rather than creating a new one.

Issues are where your team works. They hold the full submission history, track the current status, carry the assigned team and priority, and store resolution proof when the issue is closed.

## Issue lifecycle

Every issue moves through a defined lifecycle. Both the facility manager and the assigned team can see the full event timeline at each stage.

<Steps>
  <Step title="Open">
    Created automatically when the first submission arrives for a new zone + category combination. The issue is routed to the appropriate team based on your routing rules.
  </Step>

  <Step title="In Progress">
    A resolver on the assigned team has acknowledged the issue and is working on it. The timestamp is recorded.
  </Step>

  <Step title="Resolved">
    A resolver has closed the issue. If your resolution policy requires it, they attached a photo and/or a written note before the issue could close. The resolution timestamp and any proof are visible to both the facility and the contractor.
  </Step>
</Steps>

<Note>
  If a new submission arrives for a zone + category combination after an issue has been resolved, a new issue is created. The old issue's history is preserved separately.
</Note>

## Issue categories

Categories describe what kind of problem was reported: "Mess/Spill", "Supply Needed", "Equipment Issue", "Safety Hazard". They are not a hardcoded list — your organization defines its own categories, and CleanScan seeds sensible defaults when you sign up based on the industry you select.

<AccordionGroup>
  <Accordion title="Gym defaults">
    | Category        | Default priority | Alerting  |
    | --------------- | ---------------- | --------- |
    | Mess/Spill      | High             | Standard  |
    | Supply Needed   | Medium           | Standard  |
    | Equipment Issue | Medium           | Standard  |
    | Maintenance     | Medium           | Standard  |
    | Safety Hazard   | Critical         | Immediate |
    | Other           | Low              | Passive   |
  </Accordion>

  <Accordion title="Office defaults">
    | Category            | Default priority | Alerting  |
    | ------------------- | ---------------- | --------- |
    | Cleaning Needed     | Medium           | Standard  |
    | Maintenance Request | Medium           | Standard  |
    | Temperature/HVAC    | Medium           | Standard  |
    | Supply Needed       | Low              | Passive   |
    | Safety Hazard       | Critical         | Immediate |
    | Other               | Low              | Passive   |
  </Accordion>

  <Accordion title="School defaults">
    | Category      | Default priority | Alerting  |
    | ------------- | ---------------- | --------- |
    | Spill/Mess    | High             | Standard  |
    | Maintenance   | Medium           | Standard  |
    | Vandalism     | High             | Immediate |
    | Supply Needed | Medium           | Standard  |
    | Safety Hazard | Critical         | Immediate |
    | Other         | Low              | Passive   |
  </Accordion>
</AccordionGroup>

You can add, edit, reorder, or deactivate categories at any time from **Settings → Issue categories**. Categories that have existing issues attached can be deactivated but not deleted.

Categories also drive routing: when you configure a service relationship with a contractor, you specify which categories route to their team. See [Teams and routing](/concepts/teams-and-routing) for details.

## Priority levels

Every issue has a priority level that determines how urgently it needs attention and how notifications fire.

| Priority     | Meaning                                    |
| ------------ | ------------------------------------------ |
| **Critical** | Immediate attention required — safety risk |
| **High**     | Needs prompt attention                     |
| **Medium**   | Standard response time                     |
| **Low**      | Address when convenient                    |

Priority is set automatically from the category's default when an issue is created. It can be adjusted in two ways:

* **Reporters** can tap "This is urgent" on the scan page to bump the priority up one level.
* **Managers** can manually adjust priority on any open issue from the dashboard.

<Warning>
  Any issue escalated to **critical** priority triggers immediate SMS notification to all assigned teams, regardless of the category's normal alerting behavior.
</Warning>

## Alerting behaviors

Each category carries its own alerting behavior, separate from priority.

<Tabs>
  <Tab title="Immediate">
    An SMS is sent to the assigned team the moment the issue is created. Use this for Safety Hazard and any category where a delay is unacceptable.
  </Tab>

  <Tab title="Standard">
    A dashboard notification appears immediately. An SMS follows after the issue has gone unresolved for a configured delay. Use this for Mess/Spill, Equipment Issue, and most operational categories.
  </Tab>

  <Tab title="Passive">
    Dashboard and email notification only — no SMS. Use this for Supply Needed, General Feedback, and lower-urgency categories where a phone buzz isn't warranted.
  </Tab>
</Tabs>

You configure alerting behavior per category in **Settings → Issue categories**.

## Ratings

When someone scans a tag, they can also give a 1–5 star rating for the space — separately from reporting an issue. Ratings don't create issues and don't trigger routing. They're a continuous perception signal: a stream of anonymous feedback about how the space feels to the people using it.

Ratings appear in your zone analytics alongside issue volume, giving you two complementary views of space health: discrete problem reports (issues) and ongoing visitor sentiment (ratings).

<CardGroup cols={2}>
  <Card title="Zones and tags" icon="tag" href="/concepts/zones-and-tags">
    Understand the physical layer that submissions attach to.
  </Card>

  <Card title="Teams and routing" icon="users" href="/concepts/teams-and-routing">
    Learn how issues reach the right team automatically.
  </Card>

  <Card title="Proof of work" icon="camera" href="/concepts/proof-of-work">
    See what happens when a resolver closes an issue.
  </Card>

  <Card title="Issue categories (facilities)" icon="list" href="/facilities/issue-categories">
    Configure your own categories, priorities, and alerting behaviors.
  </Card>
</CardGroup>
