Files
bakery-ia/shared/demo/fixtures/professional/04-recipes.json
2025-12-14 11:58:14 +01:00

840 lines
30 KiB
JSON

{
"recipes": [
{
"id": "30000000-0000-0000-0000-000000000001",
"tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6",
"name": "Baguette Francesa Tradicional",
"recipe_code": null,
"version": "1.0",
"finished_product_id": "20000000-0000-0000-0000-000000000001",
"description": "Baguette francesa tradicional con corteza crujiente y miga alveolada. Perfecta para acompañar cualquier comida.",
"category": "Panes",
"cuisine_type": "Francesa",
"difficulty_level": 2,
"yield_quantity": 10.0,
"yield_unit": "units",
"prep_time_minutes": 20,
"cook_time_minutes": 25,
"total_time_minutes": 165,
"rest_time_minutes": 120,
"estimated_cost_per_unit": null,
"last_calculated_cost": null,
"cost_calculation_date": null,
"target_margin_percentage": null,
"suggested_selling_price": null,
"instructions": {
"steps": [
{
"step": 1,
"title": "Amasado",
"description": "Mezclar harina, agua, sal y levadura. Amasar durante 15 minutos hasta obtener una masa lisa y elástica.",
"duration_minutes": 15
},
{
"step": 2,
"title": "Primera Fermentación",
"description": "Dejar reposar la masa en un recipiente tapado durante 60 minutos a temperatura ambiente (22-24°C).",
"duration_minutes": 60
},
{
"step": 3,
"title": "División y Formado",
"description": "Dividir la masa en 10 piezas de 250g cada una. Formar las baguettes dándoles la forma alargada característica.",
"duration_minutes": 20
},
{
"step": 4,
"title": "Segunda Fermentación",
"description": "Colocar las baguettes en un lienzo enharinado y dejar fermentar 60 minutos más.",
"duration_minutes": 60
},
{
"step": 5,
"title": "Greñado y Horneado",
"description": "Hacer cortes diagonales en la superficie con una cuchilla. Hornear a 240°C con vapor inicial durante 25 minutos.",
"duration_minutes": 25
}
]
},
"preparation_notes": "Es crucial usar vapor al inicio del horneado para lograr una corteza crujiente. La temperatura del agua debe estar entre 18-20°C.",
"storage_instructions": "Consumir el mismo día de producción. Se puede congelar después del horneado.",
"serves_count": null,
"nutritional_info": null,
"allergen_info": null,
"dietary_tags": null,
"batch_size_multiplier": 1.0,
"minimum_batch_size": null,
"maximum_batch_size": null,
"optimal_production_temperature": null,
"optimal_humidity": null,
"quality_check_configuration": null,
"status": "ACTIVE",
"is_seasonal": false,
"season_start_month": null,
"season_end_month": null,
"is_signature_item": true,
"created_at": "BASE_TS",
"updated_at": "BASE_TS",
"created_by": "c1a2b3c4-d5e6-47a8-b9c0-d1e2f3a4b5c6",
"updated_by": "c1a2b3c4-d5e6-47a8-b9c0-d1e2f3a4b5c6"
},
{
"id": "30000000-0000-0000-0000-000000000002",
"tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6",
"name": "Croissant de Mantequilla Artesanal",
"recipe_code": null,
"version": "1.0",
"finished_product_id": "20000000-0000-0000-0000-000000000002",
"description": "Croissant de mantequilla con laminado perfecto y textura hojaldrada. Elaboración artesanal con mantequilla de alta calidad.",
"category": "Bollería",
"cuisine_type": "Francesa",
"difficulty_level": 4,
"yield_quantity": 12.0,
"yield_unit": "units",
"prep_time_minutes": 45,
"cook_time_minutes": 18,
"total_time_minutes": 333,
"rest_time_minutes": 270,
"estimated_cost_per_unit": null,
"last_calculated_cost": null,
"cost_calculation_date": null,
"target_margin_percentage": null,
"suggested_selling_price": null,
"instructions": {
"steps": [
{
"step": 1,
"title": "Preparación de la Masa Base",
"description": "Mezclar todos los ingredientes excepto la mantequilla de laminado. Amasar hasta obtener una masa homogénea.",
"duration_minutes": 20
},
{
"step": 2,
"title": "Reposo en Frío",
"description": "Envolver la masa en film y refrigerar durante 2 horas.",
"duration_minutes": 120
},
{
"step": 3,
"title": "Laminado",
"description": "Extender la masa en rectángulo. Colocar la mantequilla en el centro y hacer 3 dobleces sencillos con 30 minutos de reposo entre cada uno.",
"duration_minutes": 90
},
{
"step": 4,
"title": "Formado",
"description": "Extender a 3mm de grosor, cortar triángulos y enrollar para formar los croissants.",
"duration_minutes": 25
},
{
"step": 5,
"title": "Fermentación Final",
"description": "Dejar fermentar a 26°C durante 2-3 horas hasta que dupliquen su volumen.",
"duration_minutes": 150
},
{
"step": 6,
"title": "Horneado",
"description": "Pintar con huevo batido y hornear a 200°C durante 18 minutos hasta dorar.",
"duration_minutes": 18
}
]
},
"preparation_notes": "La mantequilla para laminar debe estar a 15-16°C, flexible pero no blanda. Trabajar en ambiente fresco.",
"storage_instructions": "Consumir el día de producción. Se puede congelar la masa formada antes de la fermentación final.",
"serves_count": null,
"nutritional_info": null,
"allergen_info": null,
"dietary_tags": null,
"batch_size_multiplier": 1.0,
"minimum_batch_size": null,
"maximum_batch_size": null,
"optimal_production_temperature": null,
"optimal_humidity": null,
"quality_check_configuration": null,
"status": "ACTIVE",
"is_seasonal": false,
"season_start_month": null,
"season_end_month": null,
"is_signature_item": true,
"created_at": "BASE_TS",
"updated_at": "BASE_TS",
"created_by": "c1a2b3c4-d5e6-47a8-b9c0-d1e2f3a4b5c6",
"updated_by": "c1a2b3c4-d5e6-47a8-b9c0-d1e2f3a4b5c6"
},
{
"id": "30000000-0000-0000-0000-000000000003",
"tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6",
"name": "Pan de Pueblo con Masa Madre",
"recipe_code": null,
"version": "1.0",
"finished_product_id": "20000000-0000-0000-0000-000000000003",
"description": "Hogaza de pan rústico elaborada con masa madre natural. Corteza gruesa y miga densa con sabor ligeramente ácido.",
"category": "Panes Artesanales",
"cuisine_type": "Española",
"difficulty_level": 3,
"yield_quantity": 4.0,
"yield_unit": "units",
"prep_time_minutes": 30,
"cook_time_minutes": 45,
"total_time_minutes": 435,
"rest_time_minutes": 360,
"estimated_cost_per_unit": null,
"last_calculated_cost": null,
"cost_calculation_date": null,
"target_margin_percentage": null,
"suggested_selling_price": null,
"instructions": {
"steps": [
{
"step": 1,
"title": "Autolisis",
"description": "Mezclar harinas y agua, dejar reposar 30 minutos para desarrollar el gluten.",
"duration_minutes": 30
},
{
"step": 2,
"title": "Incorporación de Masa Madre y Sal",
"description": "Añadir la masa madre y la sal. Amasar suavemente hasta integrar completamente.",
"duration_minutes": 15
},
{
"step": 3,
"title": "Fermentación en Bloque con Pliegues",
"description": "Realizar 4 series de pliegues cada 30 minutos durante las primeras 2 horas. Luego dejar reposar 2 horas más.",
"duration_minutes": 240
},
{
"step": 4,
"title": "División y Preformado",
"description": "Dividir en 4 piezas de 800g. Preformar en bolas y dejar reposar 30 minutos.",
"duration_minutes": 30
},
{
"step": 5,
"title": "Formado Final",
"description": "Formar las hogazas dándoles tensión superficial. Colocar en banneton o lienzo enharinado.",
"duration_minutes": 15
},
{
"step": 6,
"title": "Fermentación Final",
"description": "Dejar fermentar a temperatura ambiente durante 2 horas o en frío durante la noche.",
"duration_minutes": 120
},
{
"step": 7,
"title": "Horneado",
"description": "Hacer cortes en la superficie. Hornear a 230°C con vapor inicial durante 45 minutos.",
"duration_minutes": 45
}
]
},
"preparation_notes": "La masa madre debe estar activa y en su punto óptimo. La temperatura final de la masa debe ser 24-25°C.",
"storage_instructions": "Se conserva hasta 5-7 días en bolsa de papel. Mejora al segundo día.",
"serves_count": null,
"nutritional_info": null,
"allergen_info": null,
"dietary_tags": null,
"batch_size_multiplier": 1.0,
"minimum_batch_size": null,
"maximum_batch_size": null,
"optimal_production_temperature": null,
"optimal_humidity": null,
"quality_check_configuration": null,
"status": "ACTIVE",
"is_seasonal": false,
"season_start_month": null,
"season_end_month": null,
"is_signature_item": true,
"created_at": "BASE_TS",
"updated_at": "BASE_TS",
"created_by": "c1a2b3c4-d5e6-47a8-b9c0-d1e2f3a4b5c6",
"updated_by": "c1a2b3c4-d5e6-47a8-b9c0-d1e2f3a4b5c6"
},
{
"id": "30000000-0000-0000-0000-000000000004",
"tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6",
"name": "Napolitana de Chocolate",
"recipe_code": null,
"version": "1.0",
"finished_product_id": "20000000-0000-0000-0000-000000000004",
"description": "Bollería de hojaldre rectangular rellena de chocolate. Clásico de las panaderías españolas.",
"category": "Bollería",
"cuisine_type": "Española",
"difficulty_level": 3,
"yield_quantity": 16.0,
"yield_unit": "units",
"prep_time_minutes": 40,
"cook_time_minutes": 15,
"total_time_minutes": 325,
"rest_time_minutes": 270,
"estimated_cost_per_unit": null,
"last_calculated_cost": null,
"cost_calculation_date": null,
"target_margin_percentage": null,
"suggested_selling_price": null,
"instructions": {
"steps": [
{
"step": 1,
"title": "Masa Base y Laminado",
"description": "Preparar masa de hojaldre siguiendo el mismo proceso que los croissants.",
"duration_minutes": 180
},
{
"step": 2,
"title": "Corte y Formado",
"description": "Extender la masa y cortar rectángulos de 10x15cm. Colocar barritas de chocolate en el centro.",
"duration_minutes": 20
},
{
"step": 3,
"title": "Sellado",
"description": "Doblar la masa sobre sí misma para cubrir el chocolate. Sellar bien los bordes.",
"duration_minutes": 20
},
{
"step": 4,
"title": "Fermentación",
"description": "Dejar fermentar a 26°C durante 90 minutos.",
"duration_minutes": 90
},
{
"step": 5,
"title": "Horneado",
"description": "Pintar con huevo y hornear a 190°C durante 15 minutos.",
"duration_minutes": 15
}
]
},
"preparation_notes": "El chocolate debe ser de buena calidad para un mejor resultado. No sobrecargar de chocolate.",
"storage_instructions": "Consumir preferiblemente el día de producción.",
"serves_count": null,
"nutritional_info": null,
"allergen_info": null,
"dietary_tags": null,
"batch_size_multiplier": 1.0,
"minimum_batch_size": null,
"maximum_batch_size": null,
"optimal_production_temperature": null,
"optimal_humidity": null,
"quality_check_configuration": null,
"status": "ACTIVE",
"is_seasonal": false,
"season_start_month": null,
"season_end_month": null,
"is_signature_item": false,
"created_at": "BASE_TS",
"updated_at": "BASE_TS",
"created_by": "c1a2b3c4-d5e6-47a8-b9c0-d1e2f3a4b5c6",
"updated_by": "c1a2b3c4-d5e6-47a8-b9c0-d1e2f3a4b5c6"
}
],
"recipe_ingredients": [
{
"id": "473debdb-ab7c-4a79-9b41-985715695710",
"tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6",
"recipe_id": "30000000-0000-0000-0000-000000000001",
"ingredient_id": "10000000-0000-0000-0000-000000000001",
"quantity": 1000.0,
"unit": "g",
"quantity_in_base_unit": null,
"alternative_quantity": null,
"alternative_unit": null,
"preparation_method": "tamizada",
"ingredient_notes": null,
"is_optional": false,
"ingredient_order": 1,
"ingredient_group": "Secos",
"substitution_options": null,
"substitution_ratio": null,
"unit_cost": null,
"total_cost": null,
"cost_updated_at": null
},
{
"id": "545c7899-d893-41f4-a839-963235f128cd",
"tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6",
"recipe_id": "30000000-0000-0000-0000-000000000001",
"ingredient_id": "10000000-0000-0000-0000-000000000033",
"quantity": 650.0,
"unit": "ml",
"quantity_in_base_unit": null,
"alternative_quantity": null,
"alternative_unit": null,
"preparation_method": "temperatura ambiente",
"ingredient_notes": null,
"is_optional": false,
"ingredient_order": 2,
"ingredient_group": "Líquidos",
"substitution_options": null,
"substitution_ratio": null,
"unit_cost": null,
"total_cost": null,
"cost_updated_at": null
},
{
"id": "4e9ec9cc-6339-4191-bad5-c52b604106c9",
"tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6",
"recipe_id": "30000000-0000-0000-0000-000000000001",
"ingredient_id": "10000000-0000-0000-0000-000000000031",
"quantity": 20.0,
"unit": "g",
"quantity_in_base_unit": null,
"alternative_quantity": null,
"alternative_unit": null,
"preparation_method": null,
"ingredient_notes": null,
"is_optional": false,
"ingredient_order": 3,
"ingredient_group": "Secos",
"substitution_options": null,
"substitution_ratio": null,
"unit_cost": null,
"total_cost": null,
"cost_updated_at": null
},
{
"id": "f89b85f2-e18e-451a-8048-668bcfb6bc51",
"tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6",
"recipe_id": "30000000-0000-0000-0000-000000000001",
"ingredient_id": "10000000-0000-0000-0000-000000000021",
"quantity": 15.0,
"unit": "g",
"quantity_in_base_unit": null,
"alternative_quantity": null,
"alternative_unit": null,
"preparation_method": "desmenuzada",
"ingredient_notes": null,
"is_optional": false,
"ingredient_order": 4,
"ingredient_group": "Fermentos",
"substitution_options": null,
"substitution_ratio": null,
"unit_cost": null,
"total_cost": null,
"cost_updated_at": null
},
{
"id": "5e25c0c8-17b9-4db1-b099-8dc459def206",
"tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6",
"recipe_id": "30000000-0000-0000-0000-000000000002",
"ingredient_id": "10000000-0000-0000-0000-000000000001",
"quantity": 500.0,
"unit": "g",
"quantity_in_base_unit": null,
"alternative_quantity": null,
"alternative_unit": null,
"preparation_method": null,
"ingredient_notes": null,
"is_optional": false,
"ingredient_order": 1,
"ingredient_group": "Masa base",
"substitution_options": null,
"substitution_ratio": null,
"unit_cost": null,
"total_cost": null,
"cost_updated_at": null
},
{
"id": "89a9872d-4bf4-469f-8c84-37f7bf0c9a92",
"tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6",
"recipe_id": "30000000-0000-0000-0000-000000000002",
"ingredient_id": "10000000-0000-0000-0000-000000000012",
"quantity": 120.0,
"unit": "ml",
"quantity_in_base_unit": null,
"alternative_quantity": null,
"alternative_unit": null,
"preparation_method": "tibia",
"ingredient_notes": null,
"is_optional": false,
"ingredient_order": 2,
"ingredient_group": "Masa base",
"substitution_options": null,
"substitution_ratio": null,
"unit_cost": null,
"total_cost": null,
"cost_updated_at": null
},
{
"id": "1843a05b-d3dd-4963-afa1-1c76fcd6922f",
"tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6",
"recipe_id": "30000000-0000-0000-0000-000000000002",
"ingredient_id": "10000000-0000-0000-0000-000000000033",
"quantity": 80.0,
"unit": "ml",
"quantity_in_base_unit": null,
"alternative_quantity": null,
"alternative_unit": null,
"preparation_method": null,
"ingredient_notes": null,
"is_optional": false,
"ingredient_order": 3,
"ingredient_group": "Masa base",
"substitution_options": null,
"substitution_ratio": null,
"unit_cost": null,
"total_cost": null,
"cost_updated_at": null
},
{
"id": "af984d98-3b75-458f-8fdd-02699dc33e9d",
"tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6",
"recipe_id": "30000000-0000-0000-0000-000000000002",
"ingredient_id": "10000000-0000-0000-0000-000000000032",
"quantity": 50.0,
"unit": "g",
"quantity_in_base_unit": null,
"alternative_quantity": null,
"alternative_unit": null,
"preparation_method": null,
"ingredient_notes": null,
"is_optional": false,
"ingredient_order": 4,
"ingredient_group": "Masa base",
"substitution_options": null,
"substitution_ratio": null,
"unit_cost": null,
"total_cost": null,
"cost_updated_at": null
},
{
"id": "b09b738f-d24c-4dde-be76-6b88ea99511e",
"tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6",
"recipe_id": "30000000-0000-0000-0000-000000000002",
"ingredient_id": "10000000-0000-0000-0000-000000000031",
"quantity": 10.0,
"unit": "g",
"quantity_in_base_unit": null,
"alternative_quantity": null,
"alternative_unit": null,
"preparation_method": null,
"ingredient_notes": null,
"is_optional": false,
"ingredient_order": 5,
"ingredient_group": "Masa base",
"substitution_options": null,
"substitution_ratio": null,
"unit_cost": null,
"total_cost": null,
"cost_updated_at": null
},
{
"id": "119496cd-e7e3-40a4-b298-09a434b679fc",
"tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6",
"recipe_id": "30000000-0000-0000-0000-000000000002",
"ingredient_id": "10000000-0000-0000-0000-000000000021",
"quantity": 20.0,
"unit": "g",
"quantity_in_base_unit": null,
"alternative_quantity": null,
"alternative_unit": null,
"preparation_method": null,
"ingredient_notes": null,
"is_optional": false,
"ingredient_order": 6,
"ingredient_group": "Masa base",
"substitution_options": null,
"substitution_ratio": null,
"unit_cost": null,
"total_cost": null,
"cost_updated_at": null
},
{
"id": "c8fe9422-3000-42b4-a74a-cb00b6277130",
"tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6",
"recipe_id": "30000000-0000-0000-0000-000000000002",
"ingredient_id": "10000000-0000-0000-0000-000000000011",
"quantity": 25.0,
"unit": "g",
"quantity_in_base_unit": null,
"alternative_quantity": null,
"alternative_unit": null,
"preparation_method": "en la masa",
"ingredient_notes": null,
"is_optional": false,
"ingredient_order": 7,
"ingredient_group": "Masa base",
"substitution_options": null,
"substitution_ratio": null,
"unit_cost": null,
"total_cost": null,
"cost_updated_at": null
},
{
"id": "107a15bf-d2df-4e25-95fe-aee64febf112",
"tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6",
"recipe_id": "30000000-0000-0000-0000-000000000002",
"ingredient_id": "10000000-0000-0000-0000-000000000011",
"quantity": 250.0,
"unit": "g",
"quantity_in_base_unit": null,
"alternative_quantity": null,
"alternative_unit": null,
"preparation_method": "para laminar (15-16°C)",
"ingredient_notes": null,
"is_optional": false,
"ingredient_order": 8,
"ingredient_group": "Laminado",
"substitution_options": null,
"substitution_ratio": null,
"unit_cost": null,
"total_cost": null,
"cost_updated_at": null
},
{
"id": "242e8508-3adf-4b11-b482-33d740bd5397",
"tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6",
"recipe_id": "30000000-0000-0000-0000-000000000003",
"ingredient_id": "10000000-0000-0000-0000-000000000002",
"quantity": 800.0,
"unit": "g",
"quantity_in_base_unit": null,
"alternative_quantity": null,
"alternative_unit": null,
"preparation_method": null,
"ingredient_notes": null,
"is_optional": false,
"ingredient_order": 1,
"ingredient_group": "Harinas",
"substitution_options": null,
"substitution_ratio": null,
"unit_cost": null,
"total_cost": null,
"cost_updated_at": null
},
{
"id": "ea701cf5-0c6b-45aa-9519-e4dc42a40662",
"tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6",
"recipe_id": "30000000-0000-0000-0000-000000000003",
"ingredient_id": "10000000-0000-0000-0000-000000000004",
"quantity": 200.0,
"unit": "g",
"quantity_in_base_unit": null,
"alternative_quantity": null,
"alternative_unit": null,
"preparation_method": null,
"ingredient_notes": null,
"is_optional": false,
"ingredient_order": 2,
"ingredient_group": "Harinas",
"substitution_options": null,
"substitution_ratio": null,
"unit_cost": null,
"total_cost": null,
"cost_updated_at": null
},
{
"id": "3a4f0c61-8451-42fe-b3bc-4b0f4527af87",
"tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6",
"recipe_id": "30000000-0000-0000-0000-000000000003",
"ingredient_id": "10000000-0000-0000-0000-000000000023",
"quantity": 300.0,
"unit": "g",
"quantity_in_base_unit": null,
"alternative_quantity": null,
"alternative_unit": null,
"preparation_method": "activa y alimentada",
"ingredient_notes": null,
"is_optional": false,
"ingredient_order": 3,
"ingredient_group": "Fermentos",
"substitution_options": null,
"substitution_ratio": null,
"unit_cost": null,
"total_cost": null,
"cost_updated_at": null
},
{
"id": "ededf3a3-b58a-4f10-8d12-324aa3400349",
"tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6",
"recipe_id": "30000000-0000-0000-0000-000000000003",
"ingredient_id": "10000000-0000-0000-0000-000000000033",
"quantity": 650.0,
"unit": "ml",
"quantity_in_base_unit": null,
"alternative_quantity": null,
"alternative_unit": null,
"preparation_method": "temperatura ambiente",
"ingredient_notes": null,
"is_optional": false,
"ingredient_order": 4,
"ingredient_group": "Líquidos",
"substitution_options": null,
"substitution_ratio": null,
"unit_cost": null,
"total_cost": null,
"cost_updated_at": null
},
{
"id": "93177be7-24e5-4e97-8d46-df373d6a04bc",
"tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6",
"recipe_id": "30000000-0000-0000-0000-000000000003",
"ingredient_id": "10000000-0000-0000-0000-000000000031",
"quantity": 22.0,
"unit": "g",
"quantity_in_base_unit": null,
"alternative_quantity": null,
"alternative_unit": null,
"preparation_method": null,
"ingredient_notes": null,
"is_optional": false,
"ingredient_order": 5,
"ingredient_group": "Condimentos",
"substitution_options": null,
"substitution_ratio": null,
"unit_cost": null,
"total_cost": null,
"cost_updated_at": null
},
{
"id": "c27a4fbb-d451-4a14-b0e2-09e5cbd07bad",
"tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6",
"recipe_id": "30000000-0000-0000-0000-000000000004",
"ingredient_id": "10000000-0000-0000-0000-000000000001",
"quantity": 500.0,
"unit": "g",
"quantity_in_base_unit": null,
"alternative_quantity": null,
"alternative_unit": null,
"preparation_method": null,
"ingredient_notes": null,
"is_optional": false,
"ingredient_order": 1,
"ingredient_group": "Masa",
"substitution_options": null,
"substitution_ratio": null,
"unit_cost": null,
"total_cost": null,
"cost_updated_at": null
},
{
"id": "dd8a0784-ead1-483b-b183-21c71b692a7d",
"tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6",
"recipe_id": "30000000-0000-0000-0000-000000000004",
"ingredient_id": "10000000-0000-0000-0000-000000000011",
"quantity": 300.0,
"unit": "g",
"quantity_in_base_unit": null,
"alternative_quantity": null,
"alternative_unit": null,
"preparation_method": null,
"ingredient_notes": null,
"is_optional": false,
"ingredient_order": 2,
"ingredient_group": "Laminado",
"substitution_options": null,
"substitution_ratio": null,
"unit_cost": null,
"total_cost": null,
"cost_updated_at": null
},
{
"id": "6434bf78-48e5-469d-a8d0-6f4dbe5c69ca",
"tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6",
"recipe_id": "30000000-0000-0000-0000-000000000004",
"ingredient_id": "10000000-0000-0000-0000-000000000041",
"quantity": 200.0,
"unit": "g",
"quantity_in_base_unit": null,
"alternative_quantity": null,
"alternative_unit": null,
"preparation_method": "en barritas",
"ingredient_notes": null,
"is_optional": false,
"ingredient_order": 3,
"ingredient_group": "Relleno",
"substitution_options": null,
"substitution_ratio": null,
"unit_cost": null,
"total_cost": null,
"cost_updated_at": null
},
{
"id": "38661b92-03e9-4dcd-ac90-86832eee9455",
"tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6",
"recipe_id": "30000000-0000-0000-0000-000000000004",
"ingredient_id": "10000000-0000-0000-0000-000000000032",
"quantity": 60.0,
"unit": "g",
"quantity_in_base_unit": null,
"alternative_quantity": null,
"alternative_unit": null,
"preparation_method": null,
"ingredient_notes": null,
"is_optional": false,
"ingredient_order": 4,
"ingredient_group": "Masa",
"substitution_options": null,
"substitution_ratio": null,
"unit_cost": null,
"total_cost": null,
"cost_updated_at": null
},
{
"id": "1ff5fb46-3361-4978-b248-a6b3bb6592f7",
"tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6",
"recipe_id": "30000000-0000-0000-0000-000000000004",
"ingredient_id": "10000000-0000-0000-0000-000000000031",
"quantity": 10.0,
"unit": "g",
"quantity_in_base_unit": null,
"alternative_quantity": null,
"alternative_unit": null,
"preparation_method": null,
"ingredient_notes": null,
"is_optional": false,
"ingredient_order": 5,
"ingredient_group": "Masa",
"substitution_options": null,
"substitution_ratio": null,
"unit_cost": null,
"total_cost": null,
"cost_updated_at": null
},
{
"id": "aa85612a-f99b-4c8b-a100-08ae4a9898a5",
"tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6",
"recipe_id": "30000000-0000-0000-0000-000000000004",
"ingredient_id": "10000000-0000-0000-0000-000000000021",
"quantity": 15.0,
"unit": "g",
"quantity_in_base_unit": null,
"alternative_quantity": null,
"alternative_unit": null,
"preparation_method": null,
"ingredient_notes": null,
"is_optional": false,
"ingredient_order": 6,
"ingredient_group": "Masa",
"substitution_options": null,
"substitution_ratio": null,
"unit_cost": null,
"total_cost": null,
"cost_updated_at": null
},
{
"id": "33c542c8-bf36-4041-957f-765bf28cc68a",
"tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6",
"recipe_id": "30000000-0000-0000-0000-000000000004",
"ingredient_id": "10000000-0000-0000-0000-000000000012",
"quantity": 150.0,
"unit": "ml",
"quantity_in_base_unit": null,
"alternative_quantity": null,
"alternative_unit": null,
"preparation_method": null,
"ingredient_notes": null,
"is_optional": false,
"ingredient_order": 7,
"ingredient_group": "Masa",
"substitution_options": null,
"substitution_ratio": null,
"unit_cost": null,
"total_cost": null,
"cost_updated_at": null
}
]
}