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

# Usage Patterns

> Recurring workflows and interaction models that represent common ways users accomplish tasks in TWICE.

## Definition

<Snippet file="definitions/usage-patterns-definition.mdx" />

Where [Design Patterns](/docs/concepts/repeating-patterns/design-patterns) describe how TWICE structures its data, **Usage Patterns** describe how you move through that data day to day. The same handful of interactions repeat across every view — once you learn them in one place, they work everywhere.

## Search and filter

Every data table — Inventory, Catalog, Orders, Customers, Collections — uses the same toolbar. The fastest way to find a record is:

1. **Search** — type into the toolbar search to match across all columns, including hidden ones
2. **Filter** — add one or more filter conditions, combined with AND logic
3. **Save** — store the resulting filter set as a **custom view** so you don't rebuild it next time

Filters honor the underlying data type — date columns offer `before` / `after` / `is`, single-select columns offer `is any of`, and string columns offer `contains` or `equals` depending on what the backend can match efficiently.

## Detail navigation

Tables are the index; detail pages are where the work happens.

* Click any row to open its detail page
* Detail pages use **tabs** for the major aspects of the record (General, Attributes, Documents, Activity Log, etc.)
* Use **Record ID** columns in related tables — for example the Orders tab on a Customer — to jump from one entity straight into another
* Browser back / forward navigates tab history within a record

## Bulk actions

Most tables support row selection via the leftmost checkbox column. Once you have one or more rows selected, the toolbar swaps in bulk operations:

* **Edit** — apply the same attribute change to every selected row
* **Tag / Untag** — apply or remove tags in bulk
* **Archive** — move records to `Archived` status without deleting
* **Export** — export only the selected rows as CSV

Bulk actions respect permissions — a Member with View access on a section sees no bulk action toolbar.

## Time-aware browsing

Inventory views are time-aware. The toolbar lets you pick any moment — past or future — and the table re-renders to show what the stock state was (or will be) at that time. This drives:

* **Availability checks** — what's free over a specific rental window
* **Historical reporting** — what was committed on a given day
* **Forecasting** — what utilization looks like next month

## Cross-entity drilling

The system is built as a graph of related records. Common paths users take:

* Stock Item → its SKU → the Listing presenting it → all Orders that referenced the Listing
* Order → the Customer → other Orders by the same Customer → their currently held Stock Items
* Listing → its Price Tables → the booking and sales rows, date windows, and variant overrides each defines

Activity logs hang off most detail pages and let you trace any of these paths back through time.

## Quick patterns

<AccordionGroup>
  <Accordion title="Find every order containing a specific SKU">
    Open the SKU resource page, switch to the **Orders log** tab (or the Listing's Orders log if the SKU has a single Listing). Filter by date range as needed.
  </Accordion>

  <Accordion title="Apply a new attribute to many items at once">
    Inventory table → filter to the target subset → select all → bulk edit. The attribute appears as a column once it's been created in Settings.
  </Accordion>

  <Accordion title="Audit a recent price change">
    Open the Listing → Activity log tab. Filter **Resource type** to `Pricing table` and widen the **Timestamp** range. Expand a row to see the before/after payload.
  </Accordion>

  <Accordion title="Build a recurring report">
    Configure filters, columns, sort, and group on any table. Save the view, set it as your default, and re-open it whenever you need the same slice of data.
  </Accordion>
</AccordionGroup>

## Related

<CardGroup cols={2}>
  <Card title="Design Patterns" icon="shapes" href="/docs/concepts/repeating-patterns/design-patterns">
    The structural patterns these workflows act on
  </Card>

  <Card title="Common Workflows" icon="route" href="/docs/concepts/repeating-patterns/common-workflows">
    End-to-end business processes
  </Card>
</CardGroup>
