# Key Concepts

These are the building blocks you'll meet across the rest of the documentation. A quick read here makes everything that follows easier.

## Roles

A role defines what a user can access. Each role is linked to a workflow, so when you assign a role to someone, they automatically get the pages and features defined in that workflow. Common examples: Administrator, Client Admin, Store Manager, Cashier, Customer. You can create as many roles as you need.

## Subsidiaries

If your organization operates in multiple locations, regions, or business units, each one can be set up as a subsidiary. Every subsidiary can have its own products and catalogs, currency, tax rules, branding, and workflows. When users log in, they're connected to their subsidiary, and everything they see is tailored to that location.

## Workflows

Think of a workflow as an "app configuration" for a type of user. A workflow defines the set of pages and features someone sees when they log in.

A retail organization might set up:

* A **Store Employee** workflow with a POS screen, product catalog, and order entry.
* A **Store Manager** workflow that includes everything the employee sees, plus reports and user management.
* A **Warehouse Staff** workflow with only order fulfillment tools.

When a user logs in, <code class="expression">space.vars.productName</code> looks at their role, finds the matching workflow, and shows them the right set of pages.

## Modules

A module is a single page or section within a workflow. Each workflow is made up of one or more modules, and every module has a type that controls what kind of page it is and which Page Builder elements are available on it.

| Module type        | What it is                                         |
| ------------------ | -------------------------------------------------- |
| Dashboard          | Summary page with charts, numbers, and quick links |
| Page               | General-purpose page for any content               |
| Order Form         | Page for creating and submitting orders            |
| Catalog            | Product browsing and shopping page                 |
| Reports            | Page for viewing and running reports               |
| Modal              | Pop-up dialog page that overlays another page      |
| Header Navigation  | Customizable top navigation bar                    |
| Sidebar Navigation | Customizable left sidebar menu                     |
| Public             | Page accessible without logging in (Public Portal) |

## Page Builder

The Page Builder is a visual drag-and-drop tool that lets administrators create and customize portal pages without code.

{% stepper %}
{% step %}

### Open a module

Pick a module from your workflow in the Admin Portal.
{% endstep %}

{% step %}

### Drag elements onto the canvas

Choose from over 80 ready-made elements — headings, buttons, charts, order forms, catalog blocks, payment screens, reports.
{% endstep %}

{% step %}

### Configure each element

Use the settings panel on the right to adjust labels, behavior, and styling.
{% endstep %}

{% step %}

### Preview and save

Save and publish — the page is immediately available to end users.
{% endstep %}
{% endstepper %}

## Catalogs

A catalog is a collection of products organized for browsing and ordering. Catalogs include products, categories, attributes (like colour or size), pricing, and inventory levels. You manage them in the Admin Portal, and they show up in the User Portal and Public Portal for browsing and ordering. Different subsidiaries can have different catalogs.

## Themes

A theme controls the visual appearance of your portals — colours, fonts, logo, light or dark background. You set up themes using the Theme Builder, which shows a live preview as you make changes. Different subsidiaries can each have their own theme so different locations can match their own brand.

## POS (Point of Sale)

<code class="expression">space.vars.productName</code> includes full point-of-sale functionality for in-store sales. Cashiers ring up items, take cash and card payments, manage cash drawers, handle returns, print receipts, and run end-of-day reports. Each register is set up in the Admin Portal and accessed by cashiers through the User Portal.

## Related

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Choose Your Path</strong></td><td>Pick the guide for your role.</td><td><a href="/pages/WIxTVWqfARHMB9yyLmaE">/pages/WIxTVWqfARHMB9yyLmaE</a></td></tr><tr><td><strong>Glossary</strong></td><td>Plain-language definitions for every term.</td><td><a href="/pages/jmp6N2FBihXWZBOm5rsS">/pages/jmp6N2FBihXWZBOm5rsS</a></td></tr><tr><td><strong>What is</strong> <code class="expression">space.vars.productName</code><strong>?</strong></td><td>The platform at a glance.</td><td><a href="/pages/oz7gsclI4Wzww4JkLsSo">/pages/oz7gsclI4Wzww4JkLsSo</a></td></tr></tbody></table>


---

# 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://docs.in8sync.com/getting-started/key-concepts.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.
