# Service Patterns

Avoid reinventing common service flows using service patterns which provide tested models of how transactional services typically work.

Service patterns operate at two levels: **functional patterns** and **step patterns**.

<figure><img src="https://2558496101-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fr01lkIZM8PmYOiwanq4V%2Fuploads%2F3Ji1xuzsrb4MAVFGl8um%2Fservice%20patterns.png?alt=media&#x26;token=60f510ac-b793-4e0a-810c-193d360e8f4a" alt=""><figcaption></figcaption></figure>

### Functional patterns

Functional patterns describe common end-to-end service journeys, such as:

* Apply
* Register
* Request
* Make a payment
* Report
* Book

They show the typical stages of a service and how steps connect over time.

Use functional patterns to:

* Frame the overall journey
* Identify essential stages
* Avoid structural gaps

They are starting points, not rigid templates.

### Step patterns

Step patterns are steps that are reused across many journeys.

Examples include:

* Collect information
* Verify identity
* Upload documents
* Match records
* Calculate fees
* Send notification

Each step pattern includes guidance on purpose, content, user considerations, and technical implications.

Use step patterns to help you:

* Design consistent interactions
* Align with building blocks
* Reduce common usability errors

### How to use service patterns

Service patterns support the [GovStack Implementation Playbook](https://app.gitbook.com/s/DLeKag4x9xUV26hiPlNo/implementation/design-service/2-designing-the-future-service-to-be).

You can use them to:

* Compare your **as-is** service against common structures
* Assemble and adapt a **to-be** journey
* Prototype faster with fewer unknowns
* Align service design with architecture

Patterns do not replace research or testing. They accelerate it.

Start with a functional pattern, select the relevant step patterns, adapt them to your context, and validate through user testing.
