{
 "schema_version": "1.0",
 "brand": "BlueLoop Coffee",
 "language": "es",
 "currency": "EUR",
 "last_updated": "2026-08-26",
 "source_note": "Carta facilitada por BlueLoop Coffee y corrección de ubicaciones indicada por la propiedad.",
 "allergen_policy": {
  "basis": "Los alérgenos se han asociado a partir de los ingredientes declarados en la carta. Las recetas, marcas y trazas pueden cambiar.",
  "warning": "La ausencia de un alérgeno en esta ficha no garantiza ausencia de trazas ni evita la contaminación cruzada. Las personas con alergias o celiaquía deben confirmar siempre con el equipo antes de pedir.",
  "taxonomy": {
   "gluten": "Cereales con gluten",
   "crustaceans": "Crustáceos",
   "eggs": "Huevos",
   "fish": "Pescado",
   "peanuts": "Cacahuetes",
   "soy": "Soja",
   "milk": "Leche",
   "tree_nuts": "Frutos de cáscara",
   "celery": "Apio",
   "mustard": "Mostaza",
   "sesame": "Sésamo",
   "sulphites": "Sulfitos",
   "lupin": "Altramuces",
   "molluscs": "Moluscos"
  }
 },
 "locations": [
  {
   "id": "lafora",
   "name": "BlueLoop Specialty Coffee - El Postiguet",
   "short_name": "El Postiguet",
   "address": "Avinguda Juan Bautista Lafora, 3, 03002, Alicante",
   "latitude": 38.34502,
   "longitude": -0.47962,
   "service": "Solo para llevar",
   "menu_summary": "Café, bebidas, sandwiches, bollería y dulces.",
   "directions_url": "https://www.google.com/maps/search/?api=1&query=Avinguda%20Juan%20Bautista%20Lafora%203%2C%20Alicante",
   "sections": [
    {
     "id": "hot-drinks",
     "name": "Bebidas calientes",
     "item_ids": [
      "espresso",
      "americano",
      "batch-brew",
      "filtro",
      "flat-white",
      "latte",
      "cappuccino",
      "cortado-macchiato",
      "cacao-latte",
      "mocha-latte",
      "matcha-latte",
      "chai-latte",
      "tea-infusion"
     ]
    },
    {
     "id": "iced-drinks",
     "name": "Bebidas frías",
     "item_ids": [
      "iced-latte",
      "iced-americano",
      "iced-cacao-latte",
      "cold-brew",
      "fresh-lemonade",
      "iced-matcha",
      "orange-matcha",
      "lemonade-matcha"
     ]
    },
    {
     "id": "juices-smoothies",
     "name": "Zumos y smoothies",
     "item_ids": [
      "orange-juice",
      "madrid-juice",
      "colombo-smoothie",
      "copenhague-smoothie"
     ]
    },
    {
     "id": "sandwiches",
     "name": "Sandwiches",
     "item_ids": [
      "cubano",
      "miami",
      "tribeca",
      "grilled-ham-cheese",
      "caprese",
      "loop",
      "grilled-cheese"
     ]
    },
    {
     "id": "bolleria",
     "name": "Bollería",
     "item_ids": [
      "croissant-base",
      "croissant-ham-cheese"
     ]
    },
    {
     "id": "bowls-sweets",
     "name": "Bowls y dulces",
     "item_ids": [
      "caesar-salad-no-chicken",
      "yogurt-granola",
      "acai-bowl",
      "cookies",
      "banana-bread",
      "cake",
      "cupcake"
     ]
    }
   ],
   "telephone": "+34622939781",
   "opening_hours": {
    "opens": "08:00",
    "closes": "16:30",
    "days": [
     "Monday",
     "Tuesday",
     "Wednesday",
     "Thursday",
     "Friday",
     "Saturday",
     "Sunday"
    ],
    "schema": "Mo-Su 08:00-16:30"
   }
  },
  {
   "id": "garberi",
   "name": "BlueLoop Coffee - San Juan Playa",
   "short_name": "San Juan Playa",
   "address": "Maestro José Garberí Serrano, 14, 03540, Alicante",
   "latitude": 38.37396,
   "longitude": -0.41007,
   "service": "Carta completa",
   "menu_summary": "Café, bebidas, sandwiches, tostadas, bowls y dulces.",
   "directions_url": "https://www.google.com/maps/search/?api=1&query=Maestro%20Jos%C3%A9%20Garber%C3%AD%20Serrano%2014%2C%20Alicante",
   "sections": [
    {
     "id": "hot-drinks",
     "name": "Bebidas calientes",
     "item_ids": [
      "espresso",
      "americano",
      "batch-brew",
      "filtro",
      "flat-white",
      "latte",
      "cappuccino",
      "cortado-macchiato",
      "cacao-latte",
      "mocha-latte",
      "matcha-latte",
      "chai-latte",
      "tea-infusion"
     ]
    },
    {
     "id": "iced-drinks",
     "name": "Bebidas frías",
     "item_ids": [
      "iced-latte",
      "iced-americano",
      "iced-cacao-latte",
      "cold-brew",
      "fresh-lemonade",
      "iced-matcha",
      "orange-matcha",
      "lemonade-matcha"
     ]
    },
    {
     "id": "juices-smoothies",
     "name": "Zumos y smoothies",
     "item_ids": [
      "orange-juice",
      "madrid-juice",
      "colombo-smoothie",
      "copenhague-smoothie"
     ]
    },
    {
     "id": "sandwiches",
     "name": "Sandwiches",
     "item_ids": [
      "cubano",
      "new-orleans",
      "miami",
      "tribeca",
      "grilled-ham-cheese",
      "caprese",
      "loop",
      "grilled-cheese"
     ]
    },
    {
     "id": "toasts",
     "name": "Tostadas y brunch",
     "item_ids": [
      "sourdough-base",
      "brioche-base",
      "gluten-free-base",
      "croissant-base",
      "croissant-ham-cheese",
      "croissant-scrambled",
      "omelette-bacon-avocado",
      "salmon-toast",
      "iberico-toast",
      "becs",
      "benedict-avocado",
      "benedict-york",
      "benedict-bacon",
      "benedict-salmon",
      "french-toast"
     ]
    },
    {
     "id": "extras",
     "name": "Extras",
     "item_ids": [
      "extra-avocado",
      "extra-tomato",
      "extra-bacon",
      "extra-york-ham",
      "extra-turkey",
      "extra-cured-cheese",
      "extra-poached-egg",
      "extra-omelette",
      "extra-smoked-salmon",
      "extra-iberico",
      "extra-homemade-jam"
     ]
    },
    {
     "id": "bowls-sweets",
     "name": "Bowls y dulces",
     "item_ids": [
      "caesar-salad",
      "porridge",
      "yogurt-granola",
      "acai-bowl",
      "cookies",
      "banana-bread",
      "cake",
      "cupcake"
     ]
    }
   ],
   "telephone": "+34722378950",
   "opening_hours": {
    "opens": "08:30",
    "closes": "15:45",
    "days": [
     "Monday",
     "Tuesday",
     "Wednesday",
     "Thursday",
     "Friday",
     "Saturday",
     "Sunday"
    ],
    "schema": "Mo-Su 08:30-15:45"
   }
  }
 ],
 "products": {
  "espresso": {
   "name": "Espresso / doble",
   "price": "2 € / 2,20 €",
   "price_min": 2,
   "allergens": [],
   "description": "Espresso de café de especialidad; opción sencilla o doble.",
   "diet": [
    "vegan"
   ]
  },
  "americano": {
   "name": "Americano",
   "price": "2,50 €",
   "price_min": 2.5,
   "allergens": [],
   "description": "Espresso y agua.",
   "diet": [
    "vegan"
   ]
  },
  "batch-brew": {
   "name": "Batch brew",
   "price": "4,20 €",
   "price_min": 4.2,
   "allergens": [],
   "description": "Café filtrado por lote.",
   "diet": [
    "vegan"
   ]
  },
  "filtro": {
   "name": "Filtro",
   "price": "5 € / 7 €",
   "price_min": 5,
   "allergens": [],
   "description": "Café filtrado; dos tamaños o preparaciones según disponibilidad.",
   "diet": [
    "vegan"
   ]
  },
  "flat-white": {
   "name": "Flat white",
   "price": "3,30 €",
   "price_min": 3.3,
   "allergens": [
    "milk"
   ],
   "description": "Espresso con leche texturizada.",
   "allergen_note": "La bebida vegetal elegida puede añadir gluten, soja o frutos de cáscara.",
   "diet": [
    "vegan_option",
    "vegetarian"
   ]
  },
  "latte": {
   "name": "Latte",
   "price": "3 € / 3,50 €",
   "price_min": 3,
   "allergens": [
    "milk"
   ],
   "description": "Espresso con leche; dos tamaños.",
   "allergen_note": "La bebida vegetal elegida puede añadir gluten, soja o frutos de cáscara.",
   "diet": [
    "vegan_option",
    "vegetarian"
   ]
  },
  "cappuccino": {
   "name": "Cappuccino",
   "price": "3,50 €",
   "price_min": 3.5,
   "allergens": [
    "milk"
   ],
   "description": "Espresso con leche y espuma.",
   "allergen_note": "La bebida vegetal elegida puede añadir gluten, soja o frutos de cáscara.",
   "diet": [
    "vegan_option",
    "vegetarian"
   ]
  },
  "cortado-macchiato": {
   "name": "Cortado / macchiato",
   "price": "2,40 €",
   "price_min": 2.4,
   "allergens": [
    "milk"
   ],
   "description": "Espresso con una pequeña cantidad de leche.",
   "allergen_note": "La bebida vegetal elegida puede añadir gluten, soja o frutos de cáscara.",
   "diet": [
    "vegan_option",
    "vegetarian"
   ]
  },
  "cacao-latte": {
   "name": "Cacao latte",
   "price": "3 €",
   "price_min": 3,
   "allergens": [
    "milk"
   ],
   "description": "Cacao con leche.",
   "allergen_note": "Confirma la composición del cacao y de la bebida vegetal elegida.",
   "diet": [
    "vegan_option",
    "vegetarian"
   ],
   "diet_verify": "la mezcla de cacao puede contener leche en polvo"
  },
  "mocha-latte": {
   "name": "Mocha latte",
   "price": "3,50 €",
   "price_min": 3.5,
   "allergens": [
    "milk"
   ],
   "description": "Espresso, cacao y leche.",
   "allergen_note": "Confirma la composición del cacao y de la bebida vegetal elegida.",
   "diet": [
    "vegan_option",
    "vegetarian"
   ],
   "diet_verify": "la mezcla de cacao puede contener leche en polvo"
  },
  "matcha-latte": {
   "name": "Matcha latte",
   "price": "4,50 €",
   "price_min": 4.5,
   "allergens": [
    "milk"
   ],
   "description": "Té matcha con leche.",
   "allergen_note": "La bebida vegetal elegida puede añadir gluten, soja o frutos de cáscara.",
   "diet": [
    "vegan_option",
    "vegetarian"
   ]
  },
  "chai-latte": {
   "name": "Chai latte",
   "price": "4 €",
   "price_min": 4,
   "allergens": [
    "milk"
   ],
   "description": "Té chai especiado con leche.",
   "allergen_note": "Confirma la composición de la mezcla chai y de la bebida vegetal elegida.",
   "diet": [
    "vegan_option",
    "vegetarian"
   ],
   "diet_verify": "la mezcla chai puede contener leche en polvo"
  },
  "tea-infusion": {
   "name": "Té / infusión",
   "price": "3 €",
   "price_min": 3,
   "allergens": [],
   "description": "Selección de té o infusión; consulta variedades.",
   "diet": [
    "vegan"
   ]
  },
  "iced-latte": {
   "name": "Iced latte",
   "price": "4 €",
   "price_min": 4,
   "allergens": [
    "milk"
   ],
   "description": "Espresso, leche y hielo.",
   "allergen_note": "La bebida vegetal elegida puede añadir gluten, soja o frutos de cáscara.",
   "diet": [
    "vegan_option",
    "vegetarian"
   ]
  },
  "iced-americano": {
   "name": "Iced americano",
   "price": "2,80 €",
   "price_min": 2.8,
   "allergens": [],
   "description": "Espresso, agua y hielo.",
   "diet": [
    "vegan"
   ]
  },
  "iced-cacao-latte": {
   "name": "Iced cacao latte",
   "price": "3,50 €",
   "price_min": 3.5,
   "allergens": [
    "milk"
   ],
   "description": "Cacao, leche y hielo.",
   "allergen_note": "Confirma la composición del cacao y de la bebida vegetal elegida.",
   "diet": [
    "vegan_option",
    "vegetarian"
   ],
   "diet_verify": "la mezcla de cacao puede contener leche en polvo"
  },
  "cold-brew": {
   "name": "Cold brew",
   "price": "4,50 €",
   "price_min": 4.5,
   "allergens": [],
   "description": "Café extraído en frío.",
   "diet": [
    "vegan"
   ]
  },
  "fresh-lemonade": {
   "name": "Fresh lemonade",
   "price": "4 €",
   "price_min": 4,
   "allergens": [],
   "description": "Limonada fresca.",
   "diet": [
    "vegan"
   ]
  },
  "iced-matcha": {
   "name": "Iced matcha",
   "price": "5 €",
   "price_min": 5,
   "allergens": [
    "milk"
   ],
   "description": "Matcha con leche y hielo.",
   "allergen_note": "La bebida vegetal elegida puede añadir gluten, soja o frutos de cáscara.",
   "diet": [
    "vegan_option",
    "vegetarian"
   ]
  },
  "orange-matcha": {
   "name": "Orange matcha",
   "price": "6 €",
   "price_min": 6,
   "allergens": [],
   "description": "Matcha y zumo de naranja.",
   "diet": [
    "vegan"
   ]
  },
  "lemonade-matcha": {
   "name": "Lemonade matcha",
   "price": "6 €",
   "price_min": 6,
   "allergens": [],
   "description": "Matcha y limonada.",
   "diet": [
    "vegan"
   ]
  },
  "orange-juice": {
   "name": "Zumo de naranja",
   "price": "4 € / 6 €",
   "price_min": 4,
   "allergens": [],
   "description": "Zumo de naranja; dos tamaños: normal y grande.",
   "diet": [
    "vegan"
   ],
   "serves": "1",
   "sizes": [
    "normal",
    "grande"
   ]
  },
  "madrid-juice": {
   "name": "Madrid",
   "price": "4 € / 6 €",
   "price_min": 4,
   "allergens": [],
   "description": "Manzana, zanahoria y jengibre; dos tamaños: normal y grande.",
   "diet": [
    "vegan"
   ],
   "serves": "1",
   "sizes": [
    "normal",
    "grande"
   ]
  },
  "colombo-smoothie": {
   "name": "Colombo",
   "price": "6 €",
   "price_min": 6,
   "allergens": [
    "gluten"
   ],
   "description": "Mango, plátano, naranja y bebida de avena.",
   "allergen_note": "La avena puede contener gluten; confirma la marca utilizada si eres celíaco.",
   "diet": [
    "vegan"
   ],
   "serves": "1"
  },
  "copenhague-smoothie": {
   "name": "Copenhague",
   "price": "6 €",
   "price_min": 6,
   "allergens": [
    "gluten"
   ],
   "description": "Frutos rojos, plátano y bebida de avena.",
   "allergen_note": "La avena puede contener gluten; confirma la marca utilizada si eres celíaco.",
   "diet": [
    "vegan"
   ],
   "serves": "1"
  },
  "cubano": {
   "name": "Cubano",
   "price": "14 €",
   "price_min": 14,
   "allergens": [
    "gluten",
    "milk",
    "mustard"
   ],
   "description": "Cerdo asado, jamón York, edam, mostaza y pepinillos.",
   "diet": [
    "contains_meat",
    "contains_pork"
   ],
   "serves": "2"
  },
  "new-orleans": {
   "name": "New Orleans",
   "price": "15 €",
   "price_min": 15,
   "allergens": [
    "gluten",
    "eggs",
    "milk"
   ],
   "description": "Pollo crujiente, lechuga, queso fundido y mayo-sriracha.",
   "diet": [
    "contains_meat"
   ],
   "serves": "2"
  },
  "miami": {
   "name": "Miami",
   "price": "14 €",
   "price_min": 14,
   "allergens": [
    "gluten",
    "eggs",
    "milk",
    "mustard"
   ],
   "description": "Pavo, jamón York, edam y cheddar, lechuga iceberg, pepino, pepinillo y mayonesa de miel y mostaza.",
   "diet": [
    "contains_meat",
    "contains_pork"
   ],
   "serves": "2"
  },
  "tribeca": {
   "name": "Tribeca",
   "price": "14 €",
   "price_min": 14,
   "allergens": [
    "gluten",
    "eggs",
    "milk"
   ],
   "description": "Bacon, aguacate, edam, parmesano, pavo y mayo-sriracha.",
   "diet": [
    "contains_meat",
    "contains_pork"
   ],
   "serves": "2"
  },
  "grilled-ham-cheese": {
   "name": "Grilled ham & cheese",
   "price": "10 €",
   "price_min": 10,
   "allergens": [
    "gluten",
    "milk"
   ],
   "description": "Sandwich caliente de jamón y queso.",
   "diet": [
    "contains_meat",
    "contains_pork"
   ],
   "serves": "2"
  },
  "caprese": {
   "name": "Caprese",
   "price": "12 €",
   "price_min": 12,
   "allergens": [
    "gluten",
    "milk",
    "tree_nuts"
   ],
   "description": "Mozzarella con pesto, tomate y rúcula.",
   "allergen_note": "El pesto puede contener frutos de cáscara; confirma la receta.",
   "diet": [
    "vegetarian"
   ],
   "serves": "2"
  },
  "loop": {
   "name": "Loop",
   "price": "13 €",
   "price_min": 13,
   "allergens": [
    "gluten",
    "eggs",
    "milk"
   ],
   "description": "Pavo, bacon, edam, tomate, lechuga y mayo-sriracha.",
   "diet": [
    "contains_meat",
    "contains_pork"
   ],
   "serves": "2"
  },
  "grilled-cheese": {
   "name": "Grilled cheese",
   "price": "8 €",
   "price_min": 8,
   "allergens": [
    "gluten",
    "milk"
   ],
   "description": "Sandwich de queso fundido.",
   "diet": [
    "vegetarian"
   ],
   "serves": "2"
  },
  "sourdough-base": {
   "name": "Tostada de masa madre",
   "price": "2,50 €",
   "price_min": 2.5,
   "allergens": [
    "gluten"
   ],
   "description": "Base de pan de masa madre.",
   "diet": [
    "vegan"
   ],
   "diet_verify": "confirmar que la masa madre no lleva lácteo",
   "serves": "1-2",
   "half_portion": true,
   "half_price": "1,80 €"
  },
  "brioche-base": {
   "name": "Brioche",
   "price": "3 €",
   "price_min": 3,
   "allergens": [
    "gluten",
    "eggs",
    "milk"
   ],
   "description": "Base de pan brioche.",
   "diet": [
    "vegetarian"
   ],
   "serves": "1-2"
  },
  "gluten-free-base": {
   "name": "Pan sin gluten",
   "price": "3 €",
   "price_min": 3,
   "allergens": [],
   "description": "Opción de pan sin gluten.",
   "allergen_note": "Se manipula en un establecimiento que trabaja con gluten; confirma el protocolo de contaminación cruzada.",
   "diet": [
    "vegetarian"
   ],
   "diet_verify": "composición del pan sin gluten variable según marca",
   "serves": "1-2",
   "half_portion": true,
   "half_price": "1,50 €"
  },
  "croissant-base": {
   "name": "Croissant",
   "price": "2,50 €",
   "price_min": 2.5,
   "allergens": [
    "gluten",
    "eggs",
    "milk"
   ],
   "description": "Croissant clásico.",
   "diet": [
    "vegetarian"
   ],
   "serves": "1"
  },
  "croissant-ham-cheese": {
   "name": "Croissant de jamón y queso",
   "price": "6 €",
   "price_min": 6,
   "allergens": [
    "gluten",
    "eggs",
    "milk"
   ],
   "description": "Croissant relleno de jamón y queso.",
   "diet": [
    "contains_meat",
    "contains_pork"
   ],
   "serves": "1"
  },
  "croissant-scrambled": {
   "name": "Croissant de huevos revueltos",
   "price": "11 €",
   "price_min": 11,
   "allergens": [
    "gluten",
    "eggs",
    "milk"
   ],
   "description": "Croissant con huevos revueltos, aguacate y parmesano.",
   "diet": [
    "vegetarian"
   ],
   "serves": "1"
  },
  "omelette-bacon-avocado": {
   "name": "Tortilla con bacon y aguacate",
   "price": "12 €",
   "price_min": 12,
   "allergens": [
    "gluten",
    "eggs"
   ],
   "description": "Tortilla, bacon, aguacate y tostada.",
   "diet": [
    "contains_meat",
    "contains_pork"
   ],
   "serves": "1-2"
  },
  "salmon-toast": {
   "name": "Tostada de salmón",
   "price": "14 €",
   "price_min": 14,
   "allergens": [
    "gluten",
    "fish",
    "milk"
   ],
   "description": "Salmón, queso crema y aguacate sobre tostada.",
   "diet": [
    "contains_fish"
   ],
   "serves": "1-2"
  },
  "iberico-toast": {
   "name": "Tostada de jamón ibérico",
   "price": "9 €",
   "price_min": 9,
   "allergens": [
    "gluten"
   ],
   "description": "Jamón de bellota 50 % raza ibérica, etiqueta roja, y tomate sobre tostada.",
   "diet": [
    "contains_meat",
    "contains_pork"
   ],
   "serves": "1-2"
  },
  "becs": {
   "name": "BECs",
   "price": "12 €",
   "price_min": 12,
   "allergens": [
    "gluten",
    "eggs",
    "milk"
   ],
   "description": "Bacon, huevos y queso acompañado de pan brioche.",
   "diet": [
    "contains_meat",
    "contains_pork"
   ],
   "serves": "1-2"
  },
  "benedict-avocado": {
   "name": "Benedict brioche con aguacate",
   "price": "10 €",
   "price_min": 10,
   "allergens": [
    "gluten",
    "eggs",
    "milk"
   ],
   "description": "Huevo poché, salsa holandesa, aguacate y pan brioche.",
   "diet": [
    "vegetarian"
   ],
   "serves": "1-2"
  },
  "benedict-york": {
   "name": "Benedict brioche con jamón York",
   "price": "10 €",
   "price_min": 10,
   "allergens": [
    "gluten",
    "eggs",
    "milk"
   ],
   "description": "Huevo poché, salsa holandesa, jamón York y pan brioche.",
   "diet": [
    "contains_meat",
    "contains_pork"
   ],
   "serves": "1-2"
  },
  "benedict-bacon": {
   "name": "Benedict brioche con bacon",
   "price": "11 €",
   "price_min": 11,
   "allergens": [
    "gluten",
    "eggs",
    "milk"
   ],
   "description": "Huevo poché, salsa holandesa, bacon y pan brioche.",
   "diet": [
    "contains_meat",
    "contains_pork"
   ],
   "serves": "1-2"
  },
  "benedict-salmon": {
   "name": "Benedict brioche con salmón",
   "price": "13 €",
   "price_min": 13,
   "allergens": [
    "gluten",
    "eggs",
    "fish",
    "milk"
   ],
   "description": "Huevo poché, salsa holandesa, salmón y pan brioche.",
   "diet": [
    "contains_fish"
   ],
   "serves": "1-2"
  },
  "french-toast": {
   "name": "French toast",
   "price": "15 €",
   "price_min": 15.0,
   "allergens": [
    "gluten",
    "eggs",
    "milk"
   ],
   "description": "Tostada francesa con frutas de temporada y miel. Media ración una rebanada, entera dos. Tiempo medio: 20 minutos.",
   "diet": [
    "vegetarian"
   ],
   "prep_minutes": 20,
   "serves": "1-2",
   "half_portion": true,
   "half_price": "10 €"
  },
  "extra-avocado": {
   "name": "Extra de aguacate",
   "price": "3 €",
   "price_min": 3.0,
   "allergens": [],
   "description": "Aguacate adicional.",
   "diet": [
    "vegan"
   ],
   "half_portion": true,
   "half_price": "2,20 €"
  },
  "extra-tomato": {
   "name": "Extra de tomate",
   "price": "0,50 €",
   "price_min": 0.5,
   "allergens": [],
   "description": "Tomate adicional.",
   "diet": [
    "vegan"
   ]
  },
  "extra-bacon": {
   "name": "Extra de bacon",
   "price": "3,50 €",
   "price_min": 3.5,
   "allergens": [],
   "description": "Bacon adicional.",
   "diet": [
    "contains_meat",
    "contains_pork"
   ]
  },
  "extra-york-ham": {
   "name": "Extra de jamón York",
   "price": "3 €",
   "price_min": 3,
   "allergens": [],
   "description": "Jamón York adicional.",
   "diet": [
    "contains_meat",
    "contains_pork"
   ],
   "half_portion": true,
   "half_price": "1,50 €"
  },
  "extra-turkey": {
   "name": "Extra de pavo",
   "price": "3,50 €",
   "price_min": 3.5,
   "allergens": [],
   "description": "Pavo adicional.",
   "diet": [
    "contains_meat"
   ]
  },
  "extra-cured-cheese": {
   "name": "Extra de queso curado",
   "price": "2,50 €",
   "price_min": 2.5,
   "allergens": [
    "milk"
   ],
   "description": "Queso curado adicional.",
   "diet": [
    "vegetarian"
   ],
   "diet_verify": "algunos quesos curados usan cuajo animal"
  },
  "extra-poached-egg": {
   "name": "Extra de huevo poché",
   "price": "2 €",
   "price_min": 2,
   "allergens": [
    "eggs"
   ],
   "description": "Huevo poché adicional.",
   "diet": [
    "vegetarian"
   ]
  },
  "extra-omelette": {
   "name": "Extra de tortilla",
   "price": "3 €",
   "price_min": 3,
   "allergens": [
    "eggs"
   ],
   "description": "Tortilla adicional.",
   "diet": [
    "vegetarian"
   ]
  },
  "extra-smoked-salmon": {
   "name": "Extra de salmón ahumado",
   "price": "6,50 €",
   "price_min": 6.5,
   "allergens": [
    "fish"
   ],
   "description": "Salmón ahumado adicional.",
   "diet": [
    "contains_fish"
   ],
   "half_portion": true,
   "half_price": "3,25 €"
  },
  "extra-iberico": {
   "name": "Extra de jamón ibérico",
   "price": "5,50 €",
   "price_min": 5.5,
   "allergens": [],
   "description": "Jamón de bellota 50 % raza ibérica, etiqueta roja. Adicional.",
   "diet": [
    "contains_meat",
    "contains_pork"
   ],
   "half_portion": true,
   "half_price": "2,75 €"
  },
  "extra-homemade-jam": {
   "name": "Extra de mermelada casera",
   "price": "2,50 €",
   "price_min": 2.5,
   "allergens": [],
   "description": "Mermelada casera adicional.",
   "diet": [
    "vegan"
   ],
   "diet_verify": "la mermelada casera puede endulzarse con miel"
  },
  "caesar-salad": {
   "name": "Ensalada César",
   "price": "15 €",
   "price_min": 15,
   "allergens": [
    "gluten",
    "eggs",
    "fish",
    "milk",
    "mustard"
   ],
   "description": "Lechuga romana, pollo crujiente, parmesano y salsa César.",
   "allergen_note": "La salsa César suele contener huevo y pescado; confirma la receta del día.",
   "diet": [
    "contains_fish",
    "contains_meat"
   ],
   "diet_verify": "la salsa César suele contener anchoa y huevo",
   "serves": "1"
  },
  "porridge": {
   "name": "Porridge de avena",
   "price": "10 €",
   "price_min": 10,
   "allergens": [
    "gluten",
    "milk",
    "tree_nuts"
   ],
   "description": "Avena con plátano, almendras y dulce de leche.",
   "diet": [
    "vegan_option",
    "vegetarian"
   ],
   "diet_verify": "puede prepararse con leche de vaca; pedir con bebida vegetal",
   "serves": "1"
  },
  "yogurt-granola": {
   "name": "Yogur con granola",
   "price": "8 €",
   "price_min": 8,
   "allergens": [
    "gluten",
    "milk",
    "tree_nuts"
   ],
   "description": "Yogur, granola, frutas de temporada y miel.",
   "allergen_note": "La composición de la granola puede variar; confirma frutos de cáscara y semillas.",
   "diet": [
    "vegetarian"
   ],
   "diet_verify": "lleva miel; la granola puede variar",
   "serves": "1"
  },
  "acai-bowl": {
   "name": "Açaí bowl",
   "price": "13 €",
   "price_min": 13,
   "allergens": [
    "gluten",
    "peanuts"
   ],
   "description": "Açaí, plátano, fruta, crema de cacahuete, coco y granola. Tiempo medio: 20 minutos.",
   "allergen_note": "La composición de la granola puede variar; confirma frutos de cáscara y semillas.",
   "diet": [
    "vegetarian"
   ],
   "diet_verify": "la granola puede contener miel",
   "prep_minutes": 20,
   "serves": "1"
  },
  "cookies": {
   "name": "Cookies",
   "price": "4 € - 4,50 €",
   "price_min": 4,
   "allergens": [
    "gluten",
    "eggs",
    "milk",
    "peanuts",
    "soy",
    "tree_nuts"
   ],
   "description": "Cookies artesanas; sabores y precio según variedad.",
   "allergen_note": "Los alérgenos cambian según la variedad. Esta ficha reúne los principales alérgenos posibles; confirma la cookie concreta antes de pedir.",
   "diet": [
    "vegetarian"
   ],
   "diet_verify": "alérgenos y composición varían según la variedad",
   "serves": "1"
  },
  "banana-bread": {
   "name": "Banana bread",
   "price": "4 €",
   "price_min": 4,
   "allergens": [
    "gluten",
    "eggs",
    "milk",
    "tree_nuts"
   ],
   "description": "Bizcocho de plátano.",
   "allergen_note": "Confirma la receta y los frutos de cáscara de la variedad disponible.",
   "diet": [
    "vegetarian"
   ],
   "diet_verify": "puede contener huevo y mantequilla",
   "serves": "1"
  },
  "cake": {
   "name": "Cake",
   "price": "5 €",
   "price_min": 5,
   "allergens": [
    "gluten",
    "eggs",
    "milk"
   ],
   "description": "Tarta del día.",
   "allergen_note": "Los alérgenos cambian según la variedad; confirma la tarta concreta.",
   "diet": [
    "vegetarian"
   ],
   "diet_verify": "varía según la tarta del día",
   "serves": "1"
  },
  "cupcake": {
   "name": "Cupcake",
   "price": "5 €",
   "price_min": 5,
   "allergens": [
    "gluten",
    "eggs",
    "milk"
   ],
   "description": "Cupcake del día.",
   "allergen_note": "Los alérgenos cambian según la variedad; confirma el cupcake concreto.",
   "diet": [
    "vegetarian"
   ],
   "diet_verify": "varía según el cupcake del día",
   "serves": "1"
  },
  "caesar-salad-no-chicken": {
   "name": "Ensalada César (sin pollo)",
   "price": "12 €",
   "price_min": 12,
   "allergens": [
    "gluten",
    "eggs",
    "fish",
    "milk",
    "mustard"
   ],
   "description": "Lechuga romana, parmesano y salsa César. En El Postiguet se sirve sin pollo.",
   "allergen_note": "La salsa César suele contener huevo y pescado; confirma la receta del día.",
   "diet": [
    "contains_fish"
   ],
   "diet_verify": "la salsa César suele contener anchoa y huevo"
  }
 },
 "business": {
  "legal_name": "REDLINECO S.L.",
  "tax_id": "B42779983",
  "registered_address": "Avinguda Juan Bautista Lafora, 3, 03002 Alacant, Alicante, Spain",
  "telephone": "+34623317729",
  "instagram": "https://www.instagram.com/blueloopcoffee"
 },
 "delivery": {
  "provider": "Glovo",
  "url": "https://glovoapp.com/es/es/alicante/stores/blueloop-coffee-alicante",
  "available_hours": "Mo-Su 08:30-15:45",
  "note": "Los pedidos a domicilio se gestionan exclusivamente a través de Glovo, dentro del horario de apertura."
 },
 "diet_vocabulary": {
  "vegan": "sin ingredientes de origen animal, incluida la miel",
  "vegetarian": "sin carne ni pescado; puede contener leche, huevo o miel",
  "vegan_option": "puede servirse vegano cambiando a bebida de avena o de almendra; la leche sin lactosa NO sirve para esto, porque sigue siendo leche de vaca",
  "contains_meat": "contiene carne",
  "contains_pork": "contiene cerdo",
  "contains_fish": "contiene pescado",
  "_note": "Inferido de los ingredientes declarados en carta, NO verificado en cocina. El campo diet_verify indica qué hay que confirmar. Los alérgenos van aparte, en el campo allergens: aptitud dietética y alérgenos no son lo mismo."
 },
 "sourcing": {
  "concept": "Café de especialidad premium. El equipo viaja a las mejores cafeterías y tostadores de especialidad del mundo, recoge sus recetas y las adapta aquí con ingredientes de alta calidad y de proximidad.",
  "coffee": "Café de especialidad de Colombia. El principal, el de los espressos y las bebidas con leche, es un lavado de doble fermentación. El de filtro, batch brew y cold brew es un Colombia natural.",
  "coffee_supplier": "NO PUBLICADO A PROPÓSITO. BlueLoop no da el nombre de su tostador ni de su proveedor de café. Si te preguntan de dónde viene el café, responde con el origen y el proceso, y di que el proveedor no es público. No lo deduzcas, no lo busques y no lo inventes.",
  "milk": "Leche entera fresca y pasteurizada de El Barranquillo, granja lechera en activo desde 1963, con bienestar animal certificado y pienso de proximidad. https://elbarranquillo.es/",
  "plant_milk": "Alternativas a la leche, todas disponibles ahora mismo: bebida de avena y bebida de almendra, las dos de gama barista, formuladas para café de especialidad y para que no se corten con el espresso; y leche sin lactosa. Avena y almendra son vegetales y valen para dieta vegana. La leche sin lactosa NO: sigue siendo leche de vaca, solo apta para intolerancia a la lactosa. La bebida de almendra introduce el alérgeno frutos de cáscara.",
  "eggs": "Huevos de la Granja Los Huevos de Paco, en Mutxamel (Alicante), a diez minutos de los locales. https://www.loshuevosdepaco.com/",
  "ham_turkey": "Jamón de York y pechuga de pavo de Casa de Cases. https://www.casadecases.com/",
  "iberico_ham": "Jamón de bellota 50 % raza ibérica: etiqueta roja según la norma de calidad del ibérico (Real Decreto 4/2014). Cerdo de bellota, criado en montanera.",
  "bread": "Pan de masa madre.",
  "staff": "Baristas especializados en café de especialidad.",
  "_note": "Datos de aprovisionamiento facilitados por BlueLoop Coffee. Para alergias o dietas estrictas, confirmar siempre con el equipo: el aprovisionamiento puede cambiar."
 },
 "serves_vocabulary": {
  "1": "para una persona",
  "1-2": "una ración entera; da para una persona con hambre o para compartir entre dos",
  "2": "pensado para dos personas",
  "half_portion": "Media ración, disponible SOLO en las tostadas que se monta el cliente: la base de pan y lo que se le pone encima. La base entera son dos rebanadas; la media, una, que es la medida de una persona. Los platos compuestos (benedict, BECs, tortilla, french toast) NO tienen media.",
  "half_price": "Precio de la media ración. Si recomiendas una media, usa este precio y no el de la entera.",
  "sizes": "Cuando un producto trae dos precios y el campo sizes, el primero es el tamaño normal y el segundo el grande. No confundir con la media ración.",
  "_note": "Dato facilitado por BlueLoop Coffee y confirmado en el TPV de San Juan Playa. Los desayunos llenan todos bastante: al recomendar, lo que importa no es cuánto sacia un plato sino para cuántos es."
 }
}
