{ "location": { "id": "B0000000-0000-4000-a000-000000000001", "parent_tenant_id": "80000000-0000-4000-a000-000000000001", "name": "Barcelona Gràcia", "location_code": "ENT-BCN-001", "city": "Barcelona", "zone": "Gràcia", "address": "Carrer de Verdi, 28", "postal_code": "08012", "country": "España", "latitude": 41.4036, "longitude": 2.1561, "status": "ACTIVE", "opening_hours": "07:30-21:30", "daily_capacity": 1800, "storage_capacity_kg": 6000, "created_at": "2025-01-15T06:00:00Z", "enterprise_location": true, "location_type": "retail_and_wholesale", "manager_id": "50000000-0000-0000-0000-000000000012", "staff_count": 15, "equipment": [ "30000000-0000-0000-0000-000000000002" ], "shared_ingredients": [ "10000000-0000-0000-0000-000000000001", "10000000-0000-0000-0000-000000000002", "10000000-0000-0000-0000-000000000003", "20000000-0000-0000-0000-000000000001", "20000000-0000-0000-0000-000000000002" ], "shared_recipes": [ "30000000-0000-0000-0000-000000000001", "30000000-0000-0000-0000-000000000002" ] }, "local_inventory": [ { "id": "10000000-0000-0000-0000-000000002001", "tenant_id": "B0000000-0000-4000-a000-000000000001", "ingredient_id": "10000000-0000-0000-0000-000000000001", "quantity": 180.0, "location": "Barcelona Gràcia - Storage", "production_stage": "RAW_MATERIAL", "quality_status": "APPROVED", "expiration_date": "BASE_TS + 35d 18h", "supplier_id": "40000000-0000-0000-0000-000000000001", "batch_number": "BCN-HAR-20250115-001", "created_at": "BASE_TS", "enterprise_shared": true, "source_location": "Central Warehouse - Barcelona", "staff_assigned": [] }, { "id": "10000000-0000-0000-0000-000000002002", "tenant_id": "B0000000-0000-4000-a000-000000000001", "ingredient_id": "10000000-0000-0000-0000-000000000002", "quantity": 45.0, "location": "Barcelona Gràcia - Cold Storage", "production_stage": "RAW_MATERIAL", "quality_status": "APPROVED", "expiration_date": "BASE_TS + 9d 18h", "supplier_id": "40000000-0000-0000-0000-000000000002", "batch_number": "BCN-MAN-20250115-001", "created_at": "BASE_TS", "enterprise_shared": true, "source_location": "Central Warehouse - Barcelona", "staff_assigned": [] }, { "id": "20000000-0000-0000-0000-000000002001", "tenant_id": "B0000000-0000-4000-a000-000000000001", "ingredient_id": "20000000-0000-0000-0000-000000000001", "quantity": 65.0, "location": "Barcelona Gràcia - Display", "production_stage": "FINISHED_PRODUCT", "quality_status": "APPROVED", "expiration_date": "BASE_TS + 1d", "supplier_id": null, "batch_number": "BCN-BAG-20250115-001", "created_at": "BASE_TS", "enterprise_shared": true, "source_location": "Central Production Facility - Barcelona", "staff_assigned": [] }, { "id": "20000000-0000-0000-0000-000000002002", "tenant_id": "B0000000-0000-4000-a000-000000000001", "ingredient_id": "20000000-0000-0000-0000-000000000002", "quantity": 30.0, "location": "Barcelona Gràcia - Display", "production_stage": "FINISHED_PRODUCT", "quality_status": "APPROVED", "expiration_date": "BASE_TS + 1d 2h", "supplier_id": null, "batch_number": "BCN-CRO-20250115-001", "created_at": "BASE_TS", "enterprise_shared": true, "source_location": "Central Production Facility - Barcelona", "staff_assigned": [] } ], "local_sales": [ { "id": "70000000-0000-0000-0000-000000004001", "tenant_id": "B0000000-0000-4000-a000-000000000001", "sale_date": "2025-01-15T08:30:00Z", "product_id": "20000000-0000-0000-0000-000000000001", "quantity_sold": 35.0, "unit_price": 2.85, "total_revenue": 99.75, "sales_channel": "RETAIL", "created_at": "BASE_TS", "notes": "Venda local a Barcelona Gràcia - matí", "enterprise_location_sale": true, "parent_order_id": "60000000-0000-0000-0000-000000003001" }, { "id": "70000000-0000-0000-0000-000000004002", "tenant_id": "B0000000-0000-4000-a000-000000000001", "sale_date": "2025-01-15T09:15:00Z", "product_id": "20000000-0000-0000-0000-000000000002", "quantity_sold": 18.0, "unit_price": 3.95, "total_revenue": 71.1, "sales_channel": "RETAIL", "created_at": "BASE_TS", "notes": "Venda de croissants a Barcelona Gràcia", "enterprise_location_sale": true, "parent_order_id": "60000000-0000-0000-0000-000000003002" }, { "id": "70000000-0000-0000-0000-000000004003", "tenant_id": "B0000000-0000-4000-a000-000000000001", "sale_date": "2025-01-14T17:00:00Z", "product_id": "20000000-0000-0000-0000-000000000001", "quantity_sold": 28.0, "unit_price": 2.85, "total_revenue": 79.8, "sales_channel": "RETAIL", "created_at": "BASE_TS", "notes": "Venda de tarda a Barcelona Gràcia", "enterprise_location_sale": true, "parent_order_id": "60000000-0000-0000-0000-000000003003" } ], "local_orders": [ { "id": "60000000-0000-0000-0000-000000003001", "tenant_id": "B0000000-0000-4000-a000-000000000001", "order_number": "ORD-BCN-GRA-20250115-001", "customer_name": "Restaurant El Vaixell", "customer_email": "comandes@elvaixell.cat", "order_date": "BASE_TS + 1h", "delivery_date": "BASE_TS + 2h 30m", "status": "DELIVERED", "total_amount": 99.75, "created_at": "BASE_TS", "notes": "Comanda matinal per restaurant local", "enterprise_location_order": true }, { "id": "60000000-0000-0000-0000-000000003002", "tenant_id": "B0000000-0000-4000-a000-000000000001", "order_number": "ORD-BCN-GRA-20250115-002", "customer_name": "Cafeteria La Perla", "customer_email": "info@laperla.cat", "order_date": "BASE_TS + 30m", "delivery_date": "BASE_TS + 3h", "status": "DELIVERED", "total_amount": 71.1, "created_at": "BASE_TS", "notes": "Croissants per cafeteria", "enterprise_location_order": true }, { "id": "60000000-0000-0000-0000-000000003003", "tenant_id": "B0000000-0000-4000-a000-000000000001", "order_number": "ORD-BCN-GRA-20250114-003", "customer_name": "Hotel Casa Fuster", "customer_email": "compras@casafuster.com", "order_date": "BASE_TS - 1d 8h", "delivery_date": "BASE_TS - 1d 11h", "status": "DELIVERED", "total_amount": 79.8, "created_at": "BASE_TS", "notes": "Comanda de tarda per hotel", "enterprise_location_order": true } ], "local_production_batches": [ { "id": "40000000-0000-0000-0000-000000002001", "tenant_id": "B0000000-0000-4000-a000-000000000001", "batch_number": "BCN-BATCH-20250115-001", "recipe_id": "30000000-0000-0000-0000-000000000001", "product_id": "20000000-0000-0000-0000-000000000001", "planned_quantity": 100.0, "actual_quantity": 98.0, "status": "COMPLETED", "planned_start_time": "BASE_TS - 1d 22h", "actual_start_time": "BASE_TS - 1d 22h 5m", "planned_end_time": "BASE_TS", "actual_end_time": "BASE_TS + 10m", "equipment_id": "30000000-0000-0000-0000-000000000002", "operator_id": "50000000-0000-0000-0000-000000000012", "created_at": "BASE_TS", "notes": "Producció matinal de baguettes a Barcelona", "enterprise_location_production": true, "staff_assigned": [] }, { "id": "40000000-0000-0000-0000-000000002002", "tenant_id": "B0000000-0000-4000-a000-000000000001", "batch_number": "BCN-BATCH-20250115-002", "recipe_id": "30000000-0000-0000-0000-000000000002", "product_id": "20000000-0000-0000-0000-000000000002", "planned_quantity": 50.0, "actual_quantity": null, "status": "IN_PROGRESS", "planned_start_time": "BASE_TS - 1d 23h", "actual_start_time": "BASE_TS - 1d 23h", "planned_end_time": "BASE_TS + 1h 30m", "actual_end_time": null, "equipment_id": "30000000-0000-0000-0000-000000000002", "operator_id": "50000000-0000-0000-0000-000000000013", "created_at": "BASE_TS", "notes": "Producció de croissants en curs a Barcelona", "enterprise_location_production": true, "staff_assigned": [] } ], "local_forecasts": [ { "id": "80000000-0000-0000-0000-000000002001", "tenant_id": "B0000000-0000-4000-a000-000000000001", "product_id": "20000000-0000-0000-0000-000000000001", "forecast_date": "BASE_TS + 18h", "predicted_quantity": 85.0, "confidence_score": 0.91, "forecast_horizon_days": 1, "created_at": "BASE_TS", "notes": "Previsió de demanda diària per Barcelona Gràcia", "enterprise_location_forecast": true }, { "id": "80000000-0000-0000-0000-000000002002", "tenant_id": "B0000000-0000-4000-a000-000000000001", "product_id": "20000000-0000-0000-0000-000000000002", "forecast_date": "BASE_TS + 18h", "predicted_quantity": 45.0, "confidence_score": 0.89, "forecast_horizon_days": 1, "created_at": "BASE_TS", "notes": "Previsió de croissants per demà a Barcelona", "enterprise_location_forecast": true } ] }