> For the complete documentation index, see [llms.txt](https://eurekabusiness.caiziii.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://eurekabusiness.caiziii.com/eurekabusinesscommunity-en/module-reference/retail-module.md).

# Retail Module Contracts

The Retail module implements core retail gameplay on top of Core framework contracts.

## Functional Scope

Retail manages:

* Shop 3D boundaries, entrances, exits, and operational switch states;
* Display pedestals, display inventories, and price tag modules;
* Item value catalogs and 4-tier price reaction bands;
* Customer spawning, shopping plans, pedestal browsing, baskets, and settlement;
* Retail transaction logs and world persistence recovery.

## Catalog Definition Structure

A `CatalogItemDefinition` encapsulates an item ID, 4 price intervals (`PriceBand`), and associated `List<CatalogElement>`. Each `CatalogElement` binds an element ID with a level (`1..9`). The catalog is loaded and published by the server as an immutable snapshot.

## Public Pricing & Atomic Settlement

Customers make purchasing choices based on public prices displayed on pedestal price tags. While cheapest-first selection guides customers to lower prices, final checkout validates pedestal revision, inventory availability, published price, and complete item data components on the server. Any failure cleanly aborts the transaction without partial state mutations.

## Addon Extension Best Practices

Addons should extend content via Core element and customer variant contracts. Retail must not depend backward on addons, nor should addons mutate Retail internal snapshots directly.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://eurekabusiness.caiziii.com/eurekabusinesscommunity-en/module-reference/retail-module.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
