# 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="/files/AAna0DB9WyvIVQLr6odN" 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.

[2. Functional patterns](/service-patterns/2.-functional-patterns.md)

### 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

[3. Step patterns](/service-patterns/3.-step-patterns.md)

### How to use service patterns

Service patterns support the [GovStack Implementation Playbook](/implementation-playbook/1.0.0-rc/implementation/design-service/2-designing-the-future-service-to-be.md).

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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://specs.govstack.global/service-patterns/service-patterns.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
