# Custom Options

Create a meal plan template based on specific program and nutritional information such as calories, carbohydrates, protein, and fat.  Send the parameters in the same way as if the [`customMealPlan`](https://docs.suggestic.com/graphql/queries/meal-plan/meal-plan#example) sends. The meal plan generated is saved in this template.

### Available Arguments

Refer to [this document](https://docs.suggestic.com/graphql/query/mutations/meal-plan/create-meal-plan-template#available-arguments) to see the available arguments to use in this mutation.

## Example

### Create a custom meal plan

{% tabs %}
{% tab title="Mutation" %}

```graphql
mutation {
  createMealPlanTemplate(
    description: "Custom Meal Plan Template"
    customOptions: {
    calories: 1500
    carbsPerc: 45
    proteinPerc: 25
    fatPerc: 30
    program: "UHJvZ3JhbTozMzNhZjZiYi0xYTg4LTQzYzQtYjExZC1kYjJjZWNkMjk3YjA="
    }
    name: "New Meal Plan Template"
  )
  {
    message
    success
  }
}

```

{% endtab %}

{% tab title="Response" %}

```graphql
{
  "data": {
    "createMealPlanTemplate": {
      "message": "Meal plan template created",
      "success": true
    }
  }
}
```

{% endtab %}
{% endtabs %}

Get the meal plan template Id by executing the [`mealPlanTemplates`](https://docs.suggestic.com/graphql/query/search/meal-plan-template-search) query

Generate the meal plan:

{% tabs %}
{% tab title="Request" %}

```graphql
mutation {
  generateMealPlan(
    fromTemplate: "TWVhbFBsYW5UZW1wbGF0ZToyYTVmY2Q3Zi0wNzJlLTRiMjYtOGE3ZC1iYTgxNDZhMmY3ZTQ="
    addDays: true
  ) {
    success
    message
  }
}
```

{% endtab %}

{% tab title="Response" %}

```graphql
{
  "data": {
    "generateMealPlan": {
      "success": true,
      "message": "Meal plan generated."
    }
  }
}
```

{% endtab %}
{% endtabs %}

Finally, execute the [`mealPlan`](https://docs.suggestic.com/graphql/query/queries/meal-plan/meal-plan-1) query to see the information of the recent meal plan created.
