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

# Grupos de modificadores

> Defina as perguntas que o cliente responde ao pedir — tamanho, molho, adicionais — uma única vez e reutilize em todos os produtos.

Um grupo de modificadores é uma **pergunta que você faz ao cliente quando ele pede**: *qual molho?*, *que tamanho?*, *quer adicionar algo?*. O grupo define a pergunta, as respostas possíveis e quantas ele pode escolher.

Define-se uma vez e reutiliza-se: o mesmo grupo *Molhos* serve para os dez hambúrgueres do cardápio, e no dia em que você adicionar um molho novo ele aparece nos dez. Vá em **Restaurant OS → Menu e Produtos → Grupos de modificadores**.

<Frame>
  <img src="https://mintcdn.com/firepos/fMgbql6u0dMQH9DE/images/manuals/backoffice/modifier-groups/01-listado.png?fit=max&auto=format&n=fMgbql6u0dMQH9DE&q=85&s=848de1031d379a2a733e04136b3be38d" alt="Lista de grupos de modificadores" width="3200" height="2000" data-path="images/manuals/backoffice/modifier-groups/01-listado.png" />
</Frame>

***

## O mínimo que você precisa saber

<Note>
  **1. As opções são produtos do catálogo.** Para oferecer *queijo extra* tem que existir um produto *queijo extra*. Não se escrevem opções soltas.

  **2. O preço da opção vem do produto**, não se digita aqui. Esta tela o mostra apenas para leitura.

  **3. Você só define dois números: o mínimo e o máximo.** Se o grupo é obrigatório e se é de uma ou de várias opções **não se escolhe** — a tela deduz isso desses dois números.
</Note>

***

## O caminho simples

1. **Novo grupo de modificadores**, dê um nome — *Molhos*, *Tamanho*, *Adicionais*.
2. Defina o **mínimo** e o **máximo** de opções que ele pode escolher.
3. Salve, e na aba **Options** busque os produtos que serão as opções.
4. Vá na ficha de cada produto que usa este grupo e adicione-o pela aba **Modifier Groups** dele.

<Tip>
  Um grupo não faz nada sozinho. Ele começa a funcionar quando um produto o usa.
</Tip>

***

## As regras de seleção

<Frame>
  <img src="https://mintcdn.com/firepos/fMgbql6u0dMQH9DE/images/manuals/backoffice/modifier-groups/02-reglas.png?fit=max&auto=format&n=fMgbql6u0dMQH9DE&q=85&s=39fd7ee0371f80c8ea1d2a78ab31f4b3" alt="Cartão de regras de seleção: mínimo, máximo e as etiquetas derivadas" width="3200" height="2000" data-path="images/manuals/backoffice/modifier-groups/02-reglas.png" />
</Frame>

O cartão tem **apenas dois campos**: **Minimum options** e **Maximum options**. Nada mais.

Abaixo aparecem duas etiquetas — **Required** ou **Optional**, e **Single** ou **Multiple** — com a frase *"Derived from min / max values"*. Não são campos: são o resultado dos dois números que você definiu.

<Info>
  **Por que é deduzido em vez de escolhido.** Um grupo marcado como "opcional" com mínimo 1 seria uma contradição, e alguém a descobriria quando um cliente não conseguisse finalizar o pedido. Ao derivá-lo dos números, essa contradição não pode existir.
</Info>

Exemplos que cobrem quase tudo:

| O que você quer                           | Min | Max | Fica                |
| ----------------------------------------- | --- | --- | ------------------- |
| Escolher o tamanho, sem escapatória       | 1   | 1   | Required · Single   |
| Molho, opcional                           | 0   | 1   | Optional · Single   |
| Até três adicionais, opcionais            | 0   | 3   | Optional · Multiple |
| Escolher dois acompanhamentos de um combo | 2   | 2   | Required · Multiple |

***

## As opções são produtos

Esta é a parte que surpreende: uma opção não é um texto solto. **Atrás de cada opção há um produto do catálogo**, e a aba **Options** oferece dois caminhos para chegar lá.

<Frame>
  <img src="https://mintcdn.com/firepos/fMgbql6u0dMQH9DE/images/manuals/backoffice/modifier-groups/03-opciones.png?fit=max&auto=format&n=fMgbql6u0dMQH9DE&q=85&s=acb7f4e5a2378f8025e6fd8e430f7050" alt="Aba Options com os produtos atribuídos como opções" width="3200" height="2000" data-path="images/manuals/backoffice/modifier-groups/03-opciones.png" />
</Frame>

| Caminho                       | Quando                                                                                                                                                     |
| ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Search and assign product** | O produto já existe. Você o busca pelo nome e ele fica atribuído.                                                                                          |
| **Add option**                | Ele ainda não existe. O formulário pede nome, **PLU**, **External ID**, **Recipe ID**, descrições e preço — é a ficha de um produto, e é isso que se cria. |

Tem uma razão prática: uma opção tem preço, impostos, código de PLU, receita de cozinha e nome em três idiomas. Tudo isso já vive num produto, e duplicar seria manter duas vezes.

<Info>
  **É por isso que existe o tipo de produto Modifier.** Em [Produtos](/pt/manuals/backoffice/products) você pode criar um produto do tipo **Modifier** — *queijo extra*, *carne dupla* — que existe para ser opção e não para ser vendido sozinho. Basta desligar o **Show in menu**: o produto não aparece no cardápio mas segue disponível dentro de combos e modificadores.
</Info>

As opções **se reordenam arrastando**, e essa é a ordem em que o cliente as vê.

As opções **não se salvam sozinhas**: ao terminar é preciso confirmar com **Save options**.

### O que se define por opção

<Frame>
  <img src="https://mintcdn.com/firepos/fMgbql6u0dMQH9DE/images/manuals/backoffice/modifier-groups/04-opcion.png?fit=max&auto=format&n=fMgbql6u0dMQH9DE&q=85&s=f21f92eda7d307e5b3371a98d9520883" alt="Diálogo Add option, com os identificadores e as descrições da opção" width="1600" height="1800" data-path="images/manuals/backoffice/modifier-groups/04-opcion.png" />
</Frame>

| Controle                                  | O que faz                                              |
| ----------------------------------------- | ------------------------------------------------------ |
| **Default option**                        | Vem pré-selecionada quando o cliente abre o grupo.     |
| **Availability**                          | Se desligado, a opção **fica fora de todos os menus**. |
| **External ID** · **PLU** · **Recipe ID** | Os identificadores para POS, varejo e cozinha.         |
| **Tags KDS**                              | Etiquetas para a tela da cozinha.                      |

A aba **Price** do diálogo é **somente leitura**: mostra o líquido, o bruto e o sugerido *do produto que você escolheu*. A própria tela diz: *"Values from the selected product (read from product detail)"*.

<Warning>
  **Para mudar quanto custa uma opção, é preciso ir ao produto ou à lista de preços.** Aqui não se edita. Se o adicional de queijo tem que custar diferente, o preço se corrige no produto *queijo extra* ou na [lista de preços](/pt/manuals/backoffice/price-lists) correspondente.
</Warning>

***

## O mesmo grupo, diferente em um produto

Um grupo se define uma vez, mas **um produto pode se afastar dele** sem quebrar os demais. Isso se faz pela ficha do produto, não aqui.

Pela aba **Modifier Groups** de um produto você pode mudar, só para aquele produto:

* o **título** com que o grupo é exibido,
* o **mínimo** e o **máximo**,
* o **preço de cada opção**.

O que você deixar no valor do grupo continua sendo herdado. O que mudar fica marcado como **Custom for this product**.

<Info>
  É o mesmo padrão do resto do catálogo: define-se uma vez em cima e ajusta-se embaixo só onde faz falta. O grupo *Adicionais* pode custar mais caro dentro do hambúrguer premium sem que isso toque os demais.
</Info>

***

## Receitas: como os casos reais se resolvem

<AccordionGroup>
  <Accordion title="Oferecer molhos à escolha, sem custo">
    1. Crie os produtos dos molhos em [Produtos](/pt/manuals/backoffice/products), tipo **Modifier**, com **Show in menu** desligado e preço 0.
    2. **Novo grupo de modificadores**, nome *Molhos*.
    3. Mínimo **0**, máximo **1**. O grupo fica **Optional · Single** sozinho.
    4. Aba **Options**: adicione os molhos e ordene-os arrastando.
    5. Em cada produto que os leve, aba **Modifier Groups** → **Add group**.
  </Accordion>

  <Accordion title="Obrigar a escolher o tamanho">
    1. Crie os produtos *Pequeno*, *Médio*, *Grande* como **Modifier**, cada um com seu preço.
    2. Grupo *Tamanho*, mínimo **1**, máximo **1**. Fica **Required · Single**.
    3. Marque *Médio* como **Default option** para que venha pré-selecionado.

    Com mínimo 1 o cliente não consegue avançar sem escolher, que é exatamente o que você quer quando o preço depende do tamanho.
  </Accordion>

  <Accordion title="Cobrar o mesmo adicional mais caro num produto premium">
    Não duplique o grupo. Vá na ficha do produto premium, aba **Modifier Groups**, abra o grupo e edite o **preço daquela opção para este produto**.

    Fica marcado **Custom for this product** e os demais produtos seguem com o preço do catálogo.
  </Accordion>

  <Accordion title="Acabou um adicional: tirá-lo de todos os lugares">
    Se for por hoje, não mexa nisto: use [Esgotados](/pt/manuals/backoffice/out-of-stock), que o devolve sozinho no fechamento.

    Se for definitivo, desligue **Availability** naquela opção: ela fica fora de todos os menus que usam o grupo.
  </Accordion>
</AccordionGroup>

***

## Erros que saem caro

<Warning>
  **Colocar mínimo 1 num grupo que você queria opcional.** O grupo passa a ser obrigatório e o cliente não consegue finalizar o pedido sem responder. Não existe um interruptor de "opcional" que contradiga isso: olhe as etiquetas embaixo dos números antes de salvar.
</Warning>

<Warning>
  **Criar as opções como produtos vendáveis.** Se um produto do tipo **Modifier** ficar com **Show in menu** ligado, *queijo extra* aparece no cardápio como se fosse um prato. Desligue: ele continua funcionando como opção.
</Warning>

<Warning>
  **Procurar o preço da opção nesta tela.** Aqui é somente leitura. Corrige-se no produto ou na lista de preços, e de lá chega a todos os grupos que usam aquela opção.
</Warning>

<Warning>
  **Desligar o Availability de uma opção por algo temporário.** Ela sai de todos os menus e fica assim até alguém desfazer na mão.
</Warning>

***

## Glossário

| Termo                       | O que significa                                                                 |
| --------------------------- | ------------------------------------------------------------------------------- |
| **Grupo de modificadores**  | A pergunta feita ao cliente ao pedir, com suas respostas possíveis.             |
| **Opção**                   | Uma resposta possível. Sempre é um produto do catálogo.                         |
| **Min / Max**               | Os dois únicos números que se configuram: quantas opções podem ser escolhidas.  |
| **Single / Multiple**       | Se o cliente escolhe uma ou várias. Deduz-se do máximo; não se escolhe.         |
| **Required / Optional**     | Deduz-se do mínimo: 1 ou mais o torna obrigatório. Também não se escolhe.       |
| **Default option**          | A opção que vem pré-selecionada.                                                |
| **Modifier**                | O tipo de produto que existe para ser opção e não para ser vendido sozinho.     |
| **Custom for this product** | A marca de um grupo que naquele produto tem título, limites ou preços próprios. |

***

## Perguntas frequentes

<AccordionGroup>
  <Accordion title="Não encontro o produto que quero colocar como opção">
    Com **Search and assign product** só aparecem os que já existem. Se não estiver, você tem duas saídas: criá-lo em [Produtos](/pt/manuals/backoffice/products) — normalmente do tipo **Modifier** — e buscar de novo, ou usar **Add option** e cadastrá-lo daqui com os dados dele.
  </Accordion>

  <Accordion title="Onde mudo o preço de uma opção?">
    No produto que está atrás daquela opção, ou na [lista de preços](/pt/manuals/backoffice/price-lists) que aquele destino usa. Se só tiver que mudar dentro de um produto específico, isso se faz pela aba **Modifier Groups** daquele produto.
  </Accordion>

  <Accordion title="Adicionei o grupo e o cliente não vê">
    Um grupo não chega ao menu sozinho. Ele tem que estar atribuído ao produto (aba **Modifier Groups** da ficha) e esse produto tem que estar num menu que tenha sido sincronizado em [Atribuição de menus](/pt/manuals/backoffice/menu-assignments).
  </Accordion>

  <Accordion title="Converti um produto para Modifier e ele perdeu os grupos">
    É o esperado e a tela avisa antes: *"A modifier cannot have modifier groups"*. Um modificador é uma resposta, não uma pergunta, então não pode ter grupos pendurados.
  </Accordion>
</AccordionGroup>

***

## O que vem por aí

* **Grupos aninhados**: hoje uma opção não pode abrir, por sua vez, outro grupo de perguntas.
