# Commerce concepts Use these pages to understand how Thor models commerce before choosing implementation details. For an ordered task with API examples, use [Developer guides](/guides). For the overall product model, read [How Thor fits together](/getting-started/platform). ## Model the catalog | Decision | Read | | --- | --- | | What belongs to the product or the sellable option? | [Products and variants](/concepts/catalog/products-and-variants) | | How should reusable options be represented? | [Attributes](/concepts/catalog/attributes) | | Is this a browse hierarchy or a curated group? | [Categories](/concepts/catalog/categories) and [Collections](/concepts/catalog/collections) | | Why is an item missing or unavailable? | [Catalog visibility](/concepts/catalog/publication) | | Which variant owns an image? | [Product media](/concepts/catalog/media) | | Where do translated or custom values belong? | [Translations](/concepts/localization/translations) and [Metafields](/concepts/custom-data/metafields) | ## Configure commercial context | Decision | Read | | --- | --- | | What should markets share? | [Stores and channels](/concepts/markets/stores-and-channels) | | How do market and customer prices differ? | [Prices and price selection](/concepts/pricing/prices) | | How should amounts be displayed? | [Money and rounding](/concepts/pricing/money) and [Taxes](/concepts/pricing/tax) | | What stock can a buyer purchase? | [Stock and availability](/concepts/inventory/availability) | | What happens between cart, order, and shipment? | [Allocation and inventory lifecycle](/concepts/inventory/allocation) | | How do buyer identity and commercial groups differ? | [Customers and customer groups](/concepts/customers/customer-model) | ## Understand checkout and operations Read [Carts and line items](/concepts/checkout/carts), [calculation](/concepts/checkout/calculation), and [order placement](/concepts/checkout/order-placement) for the purchase lifecycle. Use [Shipping](/concepts/checkout/shipping), [Payments](/concepts/checkout/payments), and [Discounts](/concepts/discounts) for the rules that contribute to it. After placement, use [Orders](/concepts/orders/orders) and [Fulfillments](/concepts/orders/fulfillments). [Draft orders](/concepts/orders/draft-orders) cover administrator-assisted purchases. ## Build reliable API clients Start with [Authentication](/concepts/api/authentication), [GraphQL basics](/concepts/graphql-basics), and [Storefront request context](/concepts/storefront/request-context). Use [Pagination](/concepts/pagination), [Typed IDs](/concepts/typed-ids), and [Errors and retries](/concepts/operations/errors-and-retries) for shared client behavior. [Search query language](/concepts/query-language) describes resource filtering. [Predicate language](/concepts/predicate-language) describes commerce-rule conditions, with separate [cart](/concepts/cart-predicate-language) and [product-price](/concepts/product-predicate-language) contexts.