Fix Demo enterprise
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"location": {
|
||||
"id": "A0000000-0000-4000-a000-000000000001",
|
||||
"parent_tenant_id": "80000000-0000-4000-a000-000000000001",
|
||||
"name": "Madrid - Salamanca",
|
||||
"location_code": "MAD",
|
||||
"city": "Madrid",
|
||||
"zone": "Salamanca",
|
||||
"address": "Calle de Serrano, 48",
|
||||
"postal_code": "28001",
|
||||
"country": "España",
|
||||
"latitude": 40.4284,
|
||||
"longitude": -3.6847,
|
||||
"status": "ACTIVE",
|
||||
"opening_hours": "07:00-21:00",
|
||||
"daily_capacity": 2500,
|
||||
"storage_capacity_kg": 1500,
|
||||
"created_at": "2024-06-01T00:00:00Z",
|
||||
"enterprise_location": true,
|
||||
"location_type": "retail",
|
||||
"staff_count": 12,
|
||||
"description": "Premium location in upscale Salamanca district"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"users": [
|
||||
{
|
||||
"id": "68c1b366-a760-5c63-89bc-fafed412bafe",
|
||||
"tenant_id": "A0000000-0000-4000-a000-000000000001",
|
||||
"name": "Gerente Madrid - Salamanca",
|
||||
"email": "gerente.a0000000-0000-4000-a000-000000000001@panaderiaartesana.es",
|
||||
"role": "manager",
|
||||
"is_active": true,
|
||||
"created_at": "BASE_TS - 180d",
|
||||
"updated_at": "BASE_TS - 180d"
|
||||
},
|
||||
{
|
||||
"id": "f21eac29-4810-5778-84d5-388c57d7d1aa",
|
||||
"tenant_id": "A0000000-0000-4000-a000-000000000001",
|
||||
"name": "Empleado Madrid - Salamanca",
|
||||
"email": "empleado.a0000000-0000-4000-a000-000000000001@panaderiaartesana.es",
|
||||
"role": "user",
|
||||
"is_active": true,
|
||||
"created_at": "BASE_TS - 150d",
|
||||
"updated_at": "BASE_TS - 150d"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,242 @@
|
||||
{
|
||||
"stock": [
|
||||
{
|
||||
"id": "965d50e9-c9dd-420f-a6e3-06bbd39186f4",
|
||||
"tenant_id": "A0000000-0000-4000-a000-000000000001",
|
||||
"ingredient_id": "10000000-0000-0000-0000-000000000001",
|
||||
"production_stage": "raw_ingredient",
|
||||
"quality_status": "APPROVED",
|
||||
"expiration_date": "BASE_TS + 1d 6h",
|
||||
"supplier_id": "40000000-0000-0000-0000-000000000001",
|
||||
"batch_number": "MAD-PRO-20250116-001",
|
||||
"created_at": "BASE_TS - 6h",
|
||||
"current_quantity": 32.0,
|
||||
"reserved_quantity": 0.0,
|
||||
"available_quantity": 32.0,
|
||||
"storage_location": "Madrid - Salamanca - Display Area",
|
||||
"updated_at": "BASE_TS - 6h",
|
||||
"is_available": true,
|
||||
"is_expired": false
|
||||
},
|
||||
{
|
||||
"id": "80d9e71d-7468-47f9-b74c-1d7190cbfd46",
|
||||
"tenant_id": "A0000000-0000-4000-a000-000000000001",
|
||||
"ingredient_id": "10000000-0000-0000-0000-000000000002",
|
||||
"production_stage": "raw_ingredient",
|
||||
"quality_status": "APPROVED",
|
||||
"expiration_date": "BASE_TS + 1d 6h",
|
||||
"supplier_id": "40000000-0000-0000-0000-000000000001",
|
||||
"batch_number": "MAD-PRO-20250116-002",
|
||||
"created_at": "BASE_TS - 6h",
|
||||
"current_quantity": 36.0,
|
||||
"reserved_quantity": 0.0,
|
||||
"available_quantity": 36.0,
|
||||
"storage_location": "Madrid - Salamanca - Display Area",
|
||||
"updated_at": "BASE_TS - 6h",
|
||||
"is_available": true,
|
||||
"is_expired": false
|
||||
},
|
||||
{
|
||||
"id": "6f4b9fc2-15a4-471b-abb0-734c0b814a64",
|
||||
"tenant_id": "A0000000-0000-4000-a000-000000000001",
|
||||
"ingredient_id": "10000000-0000-0000-0000-000000000003",
|
||||
"production_stage": "raw_ingredient",
|
||||
"quality_status": "APPROVED",
|
||||
"expiration_date": "BASE_TS + 1d 6h",
|
||||
"supplier_id": "40000000-0000-0000-0000-000000000001",
|
||||
"batch_number": "MAD-PRO-20250116-003",
|
||||
"created_at": "BASE_TS - 6h",
|
||||
"current_quantity": 40.0,
|
||||
"reserved_quantity": 0.0,
|
||||
"available_quantity": 40.0,
|
||||
"storage_location": "Madrid - Salamanca - Display Area",
|
||||
"updated_at": "BASE_TS - 6h",
|
||||
"is_available": true,
|
||||
"is_expired": false
|
||||
},
|
||||
{
|
||||
"id": "e02147f2-86c4-48f7-9109-73775f997798",
|
||||
"tenant_id": "A0000000-0000-4000-a000-000000000001",
|
||||
"ingredient_id": "10000000-0000-0000-0000-000000000004",
|
||||
"production_stage": "raw_ingredient",
|
||||
"quality_status": "APPROVED",
|
||||
"expiration_date": "BASE_TS + 1d 6h",
|
||||
"supplier_id": "40000000-0000-0000-0000-000000000001",
|
||||
"batch_number": "MAD-PRO-20250116-004",
|
||||
"created_at": "BASE_TS - 6h",
|
||||
"current_quantity": 44.0,
|
||||
"reserved_quantity": 0.0,
|
||||
"available_quantity": 44.0,
|
||||
"storage_location": "Madrid - Salamanca - Display Area",
|
||||
"updated_at": "BASE_TS - 6h",
|
||||
"is_available": true,
|
||||
"is_expired": false
|
||||
}
|
||||
],
|
||||
"ingredients": [
|
||||
{
|
||||
"id": "10000000-0000-0000-0000-000000000001",
|
||||
"tenant_id": "A0000000-0000-4000-a000-000000000001",
|
||||
"name": "Harina de Trigo T55",
|
||||
"sku": "HAR-T55-ENT-001",
|
||||
"barcode": null,
|
||||
"product_type": "INGREDIENT",
|
||||
"ingredient_category": "FLOUR",
|
||||
"product_category": "BREAD",
|
||||
"subcategory": null,
|
||||
"description": "Harina de trigo refinada tipo 55, ideal para panes tradicionales y bollería",
|
||||
"brand": "Molinos San José - Enterprise Grade",
|
||||
"unit_of_measure": "KILOGRAMS",
|
||||
"package_size": null,
|
||||
"average_cost": 0.78,
|
||||
"last_purchase_price": null,
|
||||
"standard_cost": null,
|
||||
"low_stock_threshold": 700.0,
|
||||
"reorder_point": 1050.0,
|
||||
"reorder_quantity": null,
|
||||
"max_stock_level": null,
|
||||
"shelf_life_days": null,
|
||||
"display_life_hours": null,
|
||||
"best_before_hours": null,
|
||||
"storage_instructions": null,
|
||||
"central_baker_product_code": null,
|
||||
"delivery_days": null,
|
||||
"minimum_order_quantity": null,
|
||||
"pack_size": null,
|
||||
"is_active": true,
|
||||
"is_perishable": false,
|
||||
"allergen_info": [
|
||||
"gluten"
|
||||
],
|
||||
"nutritional_info": null,
|
||||
"produced_locally": false,
|
||||
"recipe_id": null,
|
||||
"created_at": "BASE_TS",
|
||||
"updated_at": "BASE_TS",
|
||||
"created_by": "ae38accc-1ad4-410d-adbc-a55630908924"
|
||||
},
|
||||
{
|
||||
"id": "10000000-0000-0000-0000-000000000002",
|
||||
"tenant_id": "A0000000-0000-4000-a000-000000000001",
|
||||
"name": "Harina de Trigo T65",
|
||||
"sku": "HAR-T65-ENT-002",
|
||||
"barcode": null,
|
||||
"product_type": "INGREDIENT",
|
||||
"ingredient_category": "FLOUR",
|
||||
"product_category": "BREAD",
|
||||
"subcategory": null,
|
||||
"description": "Harina de trigo semi-integral tipo 65, perfecta para panes rústicos",
|
||||
"brand": "Molinos San José - Enterprise Grade",
|
||||
"unit_of_measure": "KILOGRAMS",
|
||||
"package_size": null,
|
||||
"average_cost": 0.87,
|
||||
"last_purchase_price": null,
|
||||
"standard_cost": null,
|
||||
"low_stock_threshold": 560.0,
|
||||
"reorder_point": 840.0,
|
||||
"reorder_quantity": null,
|
||||
"max_stock_level": null,
|
||||
"shelf_life_days": null,
|
||||
"display_life_hours": null,
|
||||
"best_before_hours": null,
|
||||
"storage_instructions": null,
|
||||
"central_baker_product_code": null,
|
||||
"delivery_days": null,
|
||||
"minimum_order_quantity": null,
|
||||
"pack_size": null,
|
||||
"is_active": true,
|
||||
"is_perishable": false,
|
||||
"allergen_info": [
|
||||
"gluten"
|
||||
],
|
||||
"nutritional_info": null,
|
||||
"produced_locally": false,
|
||||
"recipe_id": null,
|
||||
"created_at": "BASE_TS",
|
||||
"updated_at": "BASE_TS",
|
||||
"created_by": "ae38accc-1ad4-410d-adbc-a55630908924"
|
||||
},
|
||||
{
|
||||
"id": "10000000-0000-0000-0000-000000000003",
|
||||
"tenant_id": "A0000000-0000-4000-a000-000000000001",
|
||||
"name": "Harina de Fuerza W300",
|
||||
"sku": "HAR-FUE-003",
|
||||
"barcode": null,
|
||||
"product_type": "INGREDIENT",
|
||||
"ingredient_category": "FLOUR",
|
||||
"product_category": "BREAD",
|
||||
"subcategory": null,
|
||||
"description": "Harina de gran fuerza W300, ideal para masas con alta hidratación",
|
||||
"brand": "Harinas Premium - Enterprise Grade",
|
||||
"unit_of_measure": "KILOGRAMS",
|
||||
"package_size": null,
|
||||
"average_cost": 1.06,
|
||||
"last_purchase_price": null,
|
||||
"standard_cost": null,
|
||||
"low_stock_threshold": 350.0,
|
||||
"reorder_point": 560.0,
|
||||
"reorder_quantity": null,
|
||||
"max_stock_level": null,
|
||||
"shelf_life_days": null,
|
||||
"display_life_hours": null,
|
||||
"best_before_hours": null,
|
||||
"storage_instructions": null,
|
||||
"central_baker_product_code": null,
|
||||
"delivery_days": null,
|
||||
"minimum_order_quantity": null,
|
||||
"pack_size": null,
|
||||
"is_active": true,
|
||||
"is_perishable": false,
|
||||
"allergen_info": [
|
||||
"gluten"
|
||||
],
|
||||
"nutritional_info": null,
|
||||
"produced_locally": false,
|
||||
"recipe_id": null,
|
||||
"created_at": "BASE_TS",
|
||||
"updated_at": "BASE_TS",
|
||||
"created_by": "ae38accc-1ad4-410d-adbc-a55630908924"
|
||||
},
|
||||
{
|
||||
"id": "10000000-0000-0000-0000-000000000004",
|
||||
"tenant_id": "A0000000-0000-4000-a000-000000000001",
|
||||
"name": "Harina Integral de Trigo",
|
||||
"sku": "HAR-INT-004",
|
||||
"barcode": null,
|
||||
"product_type": "INGREDIENT",
|
||||
"ingredient_category": "FLOUR",
|
||||
"product_category": "BREAD",
|
||||
"subcategory": null,
|
||||
"description": "Harina integral 100% con salvado, rica en fibra",
|
||||
"brand": "Bio Cereales - Enterprise Grade",
|
||||
"unit_of_measure": "KILOGRAMS",
|
||||
"package_size": null,
|
||||
"average_cost": 1.1,
|
||||
"last_purchase_price": null,
|
||||
"standard_cost": null,
|
||||
"low_stock_threshold": 420.0,
|
||||
"reorder_point": 630.0,
|
||||
"reorder_quantity": null,
|
||||
"max_stock_level": null,
|
||||
"shelf_life_days": null,
|
||||
"display_life_hours": null,
|
||||
"best_before_hours": null,
|
||||
"storage_instructions": null,
|
||||
"central_baker_product_code": null,
|
||||
"delivery_days": null,
|
||||
"minimum_order_quantity": null,
|
||||
"pack_size": null,
|
||||
"is_active": true,
|
||||
"is_perishable": false,
|
||||
"allergen_info": [
|
||||
"gluten"
|
||||
],
|
||||
"nutritional_info": null,
|
||||
"produced_locally": false,
|
||||
"recipe_id": null,
|
||||
"created_at": "BASE_TS",
|
||||
"updated_at": "BASE_TS",
|
||||
"created_by": "ae38accc-1ad4-410d-adbc-a55630908924"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"recipes": [],
|
||||
"recipe_ingredients": [],
|
||||
"recipe_instructions": []
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"suppliers": []
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
{
|
||||
"equipment": [],
|
||||
"quality_check_templates": [],
|
||||
"quality_checks": [],
|
||||
"batches": [
|
||||
{
|
||||
"id": "50000001-0000-4000-a000-000000000001",
|
||||
"tenant_id": "A0000000-0000-4000-a000-000000000001",
|
||||
"recipe_id": "30000000-0000-0000-0000-000000000001",
|
||||
"product_id": "20000000-0000-0000-0000-000000000001",
|
||||
"batch_number": "BATCH-A000-0001",
|
||||
"status": "completed",
|
||||
"quantity_produced": 50,
|
||||
"quantity_good": 50,
|
||||
"quantity_defective": 0,
|
||||
"production_date": "BASE_TS - 1d",
|
||||
"expiration_date": "BASE_TS + 2d",
|
||||
"production_line": "Linea 1",
|
||||
"shift": "morning",
|
||||
"produced_by": "ae38accc-1ad4-410d-adbc-a55630908924",
|
||||
"approved_by": "80765906-0074-4206-8f58-5867df1975fd",
|
||||
"created_at": "BASE_TS - 1d",
|
||||
"updated_at": "BASE_TS - 1d",
|
||||
"is_active": true,
|
||||
"ingredients": [
|
||||
{
|
||||
"ingredient_id": "10000000-0000-0000-0000-000000000001",
|
||||
"quantity_used": 25.0,
|
||||
"unit": "kg"
|
||||
}
|
||||
],
|
||||
"product_name": "Baguette Tradicional",
|
||||
"planned_start_time": "BASE_TS",
|
||||
"planned_end_time": "BASE_TS + 4h",
|
||||
"actual_start_time": "BASE_TS - 1d",
|
||||
"actual_end_time": "BASE_TS - 1d + 4h",
|
||||
"planned_quantity": 50.0,
|
||||
"planned_duration_minutes": 240
|
||||
},
|
||||
{
|
||||
"id": "50000002-0000-4000-a000-000000000001",
|
||||
"tenant_id": "A0000000-0000-4000-a000-000000000001",
|
||||
"recipe_id": "30000000-0000-0000-0000-000000000002",
|
||||
"product_id": "20000000-0000-0000-0000-000000000002",
|
||||
"batch_number": "BATCH-A000-0002",
|
||||
"status": "completed",
|
||||
"quantity_produced": 60,
|
||||
"quantity_good": 60,
|
||||
"quantity_defective": 0,
|
||||
"production_date": "BASE_TS - 2d",
|
||||
"expiration_date": "BASE_TS + 1d",
|
||||
"production_line": "Linea 2",
|
||||
"shift": "morning",
|
||||
"produced_by": "ae38accc-1ad4-410d-adbc-a55630908924",
|
||||
"approved_by": "80765906-0074-4206-8f58-5867df1975fd",
|
||||
"created_at": "BASE_TS - 2d",
|
||||
"updated_at": "BASE_TS - 2d",
|
||||
"is_active": true,
|
||||
"ingredients": [
|
||||
{
|
||||
"ingredient_id": "10000000-0000-0000-0000-000000000001",
|
||||
"quantity_used": 30.0,
|
||||
"unit": "kg"
|
||||
}
|
||||
],
|
||||
"product_name": "Croissant de Mantequilla",
|
||||
"planned_start_time": "BASE_TS",
|
||||
"planned_end_time": "BASE_TS + 4h",
|
||||
"actual_start_time": "BASE_TS - 1d",
|
||||
"actual_end_time": "BASE_TS - 1d + 4h",
|
||||
"planned_quantity": 50.0,
|
||||
"planned_duration_minutes": 240
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"purchase_orders": [],
|
||||
"purchase_order_items": []
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
{
|
||||
"customers": [
|
||||
{
|
||||
"id": "60000000-0000-0000-0000-000000000001",
|
||||
"tenant_id": "A0000000-0000-4000-a000-000000000001",
|
||||
"customer_code": "CUST-001",
|
||||
"name": "Restaurante El Buen Yantar - Madrid",
|
||||
"customer_type": "WHOLESALE",
|
||||
"contact_person": "Luis Gómez",
|
||||
"email": "compras@buenyantar.es",
|
||||
"phone": "+34 912 345 678",
|
||||
"address": "Calle Mayor, 45",
|
||||
"city": "Madrid",
|
||||
"postal_code": "28013",
|
||||
"country": "España",
|
||||
"status": "ACTIVE",
|
||||
"total_orders": 45,
|
||||
"total_spent": 3250.75,
|
||||
"created_at": "BASE_TS",
|
||||
"notes": "Regular wholesale customer - weekly orders"
|
||||
},
|
||||
{
|
||||
"id": "60000000-0000-0000-0000-000000000002",
|
||||
"tenant_id": "A0000000-0000-4000-a000-000000000001",
|
||||
"customer_code": "CUST-002",
|
||||
"name": "Cafetería La Esquina - Madrid",
|
||||
"customer_type": "RETAIL",
|
||||
"contact_person": "Marta Ruiz",
|
||||
"email": "cafeteria@laesquina.com",
|
||||
"phone": "+34 913 456 789",
|
||||
"address": "Plaza del Sol, 12",
|
||||
"city": "Madrid",
|
||||
"postal_code": "28012",
|
||||
"country": "España",
|
||||
"status": "ACTIVE",
|
||||
"total_orders": 12,
|
||||
"total_spent": 850.2,
|
||||
"created_at": "BASE_TS",
|
||||
"notes": "Small retail customer - biweekly orders"
|
||||
}
|
||||
],
|
||||
"customer_orders": [],
|
||||
"order_items": []
|
||||
}
|
||||
@@ -0,0 +1,379 @@
|
||||
{
|
||||
"sales_data": [
|
||||
{
|
||||
"id": "dde67992-5abc-4557-b927-0bd8fea21c38",
|
||||
"tenant_id": "A0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 16h 0m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000001",
|
||||
"quantity_sold": 2,
|
||||
"unit_price": 0.9,
|
||||
"total_revenue": 1.8,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "cash",
|
||||
"created_at": "BASE_TS - 16h 0m",
|
||||
"notes": "Venta local en Madrid - Salamanca",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "7791177b-72f3-4c7a-8af6-31b1f69c97a5",
|
||||
"tenant_id": "A0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 15h 3m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000002",
|
||||
"quantity_sold": 3,
|
||||
"unit_price": 1.39,
|
||||
"total_revenue": 4.16,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 15h 3m",
|
||||
"notes": "Venta local en Madrid - Salamanca",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "928e27ba-76e5-4e86-8dda-c85bde2666ba",
|
||||
"tenant_id": "A0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 14h 6m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000003",
|
||||
"quantity_sold": 4,
|
||||
"unit_price": 3.74,
|
||||
"total_revenue": 14.96,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 14h 6m",
|
||||
"notes": "Venta local en Madrid - Salamanca",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "8cb0f672-7b98-4fb8-8d40-c6157df9ac33",
|
||||
"tenant_id": "A0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 13h 9m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000004",
|
||||
"quantity_sold": 5,
|
||||
"unit_price": 1.45,
|
||||
"total_revenue": 7.26,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 13h 9m",
|
||||
"notes": "Venta local en Madrid - Salamanca",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "1bd14e1c-7cff-4502-a2b8-1c5a4cb2ef6b",
|
||||
"tenant_id": "A0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 12h 12m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000001",
|
||||
"quantity_sold": 6,
|
||||
"unit_price": 0.9,
|
||||
"total_revenue": 5.41,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "cash",
|
||||
"created_at": "BASE_TS - 12h 12m",
|
||||
"notes": "Venta local en Madrid - Salamanca",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "ada4985e-242e-45aa-9ed7-2197360f765b",
|
||||
"tenant_id": "A0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 11h 15m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000002",
|
||||
"quantity_sold": 2,
|
||||
"unit_price": 1.39,
|
||||
"total_revenue": 2.77,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 11h 15m",
|
||||
"notes": "Venta local en Madrid - Salamanca",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "a8954875-de31-4c2a-b4dc-0995cc918284",
|
||||
"tenant_id": "A0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 10h 18m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000003",
|
||||
"quantity_sold": 3,
|
||||
"unit_price": 3.74,
|
||||
"total_revenue": 11.22,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 10h 18m",
|
||||
"notes": "Venta local en Madrid - Salamanca",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "c8ddb626-bae7-4ab7-9e84-0d7bdd873607",
|
||||
"tenant_id": "A0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 9h 21m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000004",
|
||||
"quantity_sold": 4,
|
||||
"unit_price": 1.45,
|
||||
"total_revenue": 5.81,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 9h 21m",
|
||||
"notes": "Venta local en Madrid - Salamanca",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "a1a326e6-2194-42dd-bede-77ebcbebc5ec",
|
||||
"tenant_id": "A0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 8h 24m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000001",
|
||||
"quantity_sold": 5,
|
||||
"unit_price": 0.9,
|
||||
"total_revenue": 4.51,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "cash",
|
||||
"created_at": "BASE_TS - 8h 24m",
|
||||
"notes": "Venta local en Madrid - Salamanca",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "f95d7a80-13fe-4d48-b0ef-231e7e826f56",
|
||||
"tenant_id": "A0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 7h 27m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000002",
|
||||
"quantity_sold": 6,
|
||||
"unit_price": 1.39,
|
||||
"total_revenue": 8.32,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 7h 27m",
|
||||
"notes": "Venta local en Madrid - Salamanca",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "5c5cfa90-816b-4f9b-a04e-132470143533",
|
||||
"tenant_id": "A0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 6h 30m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000003",
|
||||
"quantity_sold": 2,
|
||||
"unit_price": 3.74,
|
||||
"total_revenue": 7.48,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 6h 30m",
|
||||
"notes": "Venta local en Madrid - Salamanca",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "a25b4c22-bedb-48ed-83d9-1660e4c5d174",
|
||||
"tenant_id": "A0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 5h 33m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000004",
|
||||
"quantity_sold": 3,
|
||||
"unit_price": 1.45,
|
||||
"total_revenue": 4.36,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 5h 33m",
|
||||
"notes": "Venta local en Madrid - Salamanca",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "86bd4fb8-138d-4d4e-8174-55b61627460b",
|
||||
"tenant_id": "A0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 16h 36m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000001",
|
||||
"quantity_sold": 4,
|
||||
"unit_price": 0.9,
|
||||
"total_revenue": 3.61,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "cash",
|
||||
"created_at": "BASE_TS - 16h 36m",
|
||||
"notes": "Venta local en Madrid - Salamanca",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "21a15b7d-1ee9-4809-9ad0-15da0372cb63",
|
||||
"tenant_id": "A0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 15h 39m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000002",
|
||||
"quantity_sold": 5,
|
||||
"unit_price": 1.39,
|
||||
"total_revenue": 6.93,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 15h 39m",
|
||||
"notes": "Venta local en Madrid - Salamanca",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "cb6ab4c0-205f-4a17-959f-56e9fbbfb353",
|
||||
"tenant_id": "A0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 14h 42m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000003",
|
||||
"quantity_sold": 6,
|
||||
"unit_price": 3.74,
|
||||
"total_revenue": 22.44,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 14h 42m",
|
||||
"notes": "Venta local en Madrid - Salamanca",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "d3995f7e-fa21-48c9-bd77-9f296d936907",
|
||||
"tenant_id": "A0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 13h 45m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000004",
|
||||
"quantity_sold": 2,
|
||||
"unit_price": 1.45,
|
||||
"total_revenue": 2.9,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 13h 45m",
|
||||
"notes": "Venta local en Madrid - Salamanca",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "911efb88-a1fa-449a-8470-35a0e0517a3f",
|
||||
"tenant_id": "A0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 12h 48m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000001",
|
||||
"quantity_sold": 3,
|
||||
"unit_price": 0.9,
|
||||
"total_revenue": 2.71,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "cash",
|
||||
"created_at": "BASE_TS - 12h 48m",
|
||||
"notes": "Venta local en Madrid - Salamanca",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "a15316e1-4ae4-4684-be06-b8e30165889b",
|
||||
"tenant_id": "A0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 11h 51m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000002",
|
||||
"quantity_sold": 4,
|
||||
"unit_price": 1.39,
|
||||
"total_revenue": 5.54,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 11h 51m",
|
||||
"notes": "Venta local en Madrid - Salamanca",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "0b912be6-8ba4-4071-888d-acbb85e2bd34",
|
||||
"tenant_id": "A0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 10h 54m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000003",
|
||||
"quantity_sold": 5,
|
||||
"unit_price": 3.74,
|
||||
"total_revenue": 18.7,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 10h 54m",
|
||||
"notes": "Venta local en Madrid - Salamanca",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "2f6604b3-ecbe-4846-b901-94bbbaef5e48",
|
||||
"tenant_id": "A0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 9h 57m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000004",
|
||||
"quantity_sold": 6,
|
||||
"unit_price": 1.45,
|
||||
"total_revenue": 8.71,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 9h 57m",
|
||||
"notes": "Venta local en Madrid - Salamanca",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "7fb34ca8-3b8b-4007-a6fc-7e32d72bf198",
|
||||
"tenant_id": "A0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 8h 60m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000001",
|
||||
"quantity_sold": 2,
|
||||
"unit_price": 0.9,
|
||||
"total_revenue": 1.8,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "cash",
|
||||
"created_at": "BASE_TS - 8h 60m",
|
||||
"notes": "Venta local en Madrid - Salamanca",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "277c663d-2e14-4dee-ba17-38cf26cc9736",
|
||||
"tenant_id": "A0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 7h 63m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000002",
|
||||
"quantity_sold": 3,
|
||||
"unit_price": 1.39,
|
||||
"total_revenue": 4.16,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 7h 63m",
|
||||
"notes": "Venta local en Madrid - Salamanca",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "91bd5c55-1273-42b9-9530-054704a356df",
|
||||
"tenant_id": "A0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 6h 66m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000003",
|
||||
"quantity_sold": 4,
|
||||
"unit_price": 3.74,
|
||||
"total_revenue": 14.96,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 6h 66m",
|
||||
"notes": "Venta local en Madrid - Salamanca",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "5f58dd35-ea0c-49cd-864f-2fd0c55a0b9e",
|
||||
"tenant_id": "A0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 5h 69m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000004",
|
||||
"quantity_sold": 5,
|
||||
"unit_price": 1.45,
|
||||
"total_revenue": 7.26,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 5h 69m",
|
||||
"notes": "Venta local en Madrid - Salamanca",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "70defcf2-c89f-47fd-ab4d-d2af07611baf",
|
||||
"tenant_id": "A0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 16h 72m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000001",
|
||||
"quantity_sold": 6,
|
||||
"unit_price": 0.9,
|
||||
"total_revenue": 5.41,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "cash",
|
||||
"created_at": "BASE_TS - 16h 72m",
|
||||
"notes": "Venta local en Madrid - Salamanca",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"orchestration_run": null,
|
||||
"alerts": []
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"location": {
|
||||
"id": "B0000000-0000-4000-a000-000000000001",
|
||||
"parent_tenant_id": "80000000-0000-4000-a000-000000000001",
|
||||
"name": "Barcelona - Eixample",
|
||||
"location_code": "BCN",
|
||||
"city": "Barcelona",
|
||||
"zone": "Eixample",
|
||||
"address": "Passeig de Gràcia, 92",
|
||||
"postal_code": "08008",
|
||||
"country": "España",
|
||||
"latitude": 41.3947,
|
||||
"longitude": 2.1616,
|
||||
"status": "ACTIVE",
|
||||
"opening_hours": "07:00-21:00",
|
||||
"daily_capacity": 3000,
|
||||
"storage_capacity_kg": 2000,
|
||||
"created_at": "2024-06-01T00:00:00Z",
|
||||
"enterprise_location": true,
|
||||
"location_type": "retail",
|
||||
"staff_count": 15,
|
||||
"description": "High-volume tourist and local area in central Barcelona"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"users": [
|
||||
{
|
||||
"id": "c2563327-897b-506f-ac17-e7484cbee154",
|
||||
"tenant_id": "B0000000-0000-4000-a000-000000000001",
|
||||
"name": "Gerente Barcelona - Eixample",
|
||||
"email": "gerente.b0000000-0000-4000-a000-000000000001@panaderiaartesana.es",
|
||||
"role": "manager",
|
||||
"is_active": true,
|
||||
"created_at": "BASE_TS - 180d",
|
||||
"updated_at": "BASE_TS - 180d"
|
||||
},
|
||||
{
|
||||
"id": "42909c80-9479-5adb-9b98-8fe32cbedab9",
|
||||
"tenant_id": "B0000000-0000-4000-a000-000000000001",
|
||||
"name": "Empleado Barcelona - Eixample",
|
||||
"email": "empleado.b0000000-0000-4000-a000-000000000001@panaderiaartesana.es",
|
||||
"role": "user",
|
||||
"is_active": true,
|
||||
"created_at": "BASE_TS - 150d",
|
||||
"updated_at": "BASE_TS - 150d"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,242 @@
|
||||
{
|
||||
"stock": [
|
||||
{
|
||||
"id": "4f94abdc-fcc1-45f7-8f4a-bc0781b983d1",
|
||||
"tenant_id": "B0000000-0000-4000-a000-000000000001",
|
||||
"ingredient_id": "10000000-0000-0000-0000-000000000001",
|
||||
"production_stage": "raw_ingredient",
|
||||
"quality_status": "APPROVED",
|
||||
"expiration_date": "BASE_TS + 1d 6h",
|
||||
"supplier_id": "40000000-0000-0000-0000-000000000001",
|
||||
"batch_number": "BCN-PRO-20250116-001",
|
||||
"created_at": "BASE_TS - 6h",
|
||||
"current_quantity": 48.0,
|
||||
"reserved_quantity": 0.0,
|
||||
"available_quantity": 48.0,
|
||||
"storage_location": "Barcelona - Eixample - Display Area",
|
||||
"updated_at": "BASE_TS - 6h",
|
||||
"is_available": true,
|
||||
"is_expired": false
|
||||
},
|
||||
{
|
||||
"id": "f1abe185-4ab8-400f-ab34-204843f65b4e",
|
||||
"tenant_id": "B0000000-0000-4000-a000-000000000001",
|
||||
"ingredient_id": "10000000-0000-0000-0000-000000000002",
|
||||
"production_stage": "raw_ingredient",
|
||||
"quality_status": "APPROVED",
|
||||
"expiration_date": "BASE_TS + 1d 6h",
|
||||
"supplier_id": "40000000-0000-0000-0000-000000000001",
|
||||
"batch_number": "BCN-PRO-20250116-002",
|
||||
"created_at": "BASE_TS - 6h",
|
||||
"current_quantity": 54.0,
|
||||
"reserved_quantity": 0.0,
|
||||
"available_quantity": 54.0,
|
||||
"storage_location": "Barcelona - Eixample - Display Area",
|
||||
"updated_at": "BASE_TS - 6h",
|
||||
"is_available": true,
|
||||
"is_expired": false
|
||||
},
|
||||
{
|
||||
"id": "bde1a1c7-08a9-4de2-bce4-823bf0d8f58e",
|
||||
"tenant_id": "B0000000-0000-4000-a000-000000000001",
|
||||
"ingredient_id": "10000000-0000-0000-0000-000000000003",
|
||||
"production_stage": "raw_ingredient",
|
||||
"quality_status": "APPROVED",
|
||||
"expiration_date": "BASE_TS + 1d 6h",
|
||||
"supplier_id": "40000000-0000-0000-0000-000000000001",
|
||||
"batch_number": "BCN-PRO-20250116-003",
|
||||
"created_at": "BASE_TS - 6h",
|
||||
"current_quantity": 60.0,
|
||||
"reserved_quantity": 0.0,
|
||||
"available_quantity": 60.0,
|
||||
"storage_location": "Barcelona - Eixample - Display Area",
|
||||
"updated_at": "BASE_TS - 6h",
|
||||
"is_available": true,
|
||||
"is_expired": false
|
||||
},
|
||||
{
|
||||
"id": "90cbc91b-2853-430a-bc8c-50498b823ffb",
|
||||
"tenant_id": "B0000000-0000-4000-a000-000000000001",
|
||||
"ingredient_id": "10000000-0000-0000-0000-000000000004",
|
||||
"production_stage": "raw_ingredient",
|
||||
"quality_status": "APPROVED",
|
||||
"expiration_date": "BASE_TS + 1d 6h",
|
||||
"supplier_id": "40000000-0000-0000-0000-000000000001",
|
||||
"batch_number": "BCN-PRO-20250116-004",
|
||||
"created_at": "BASE_TS - 6h",
|
||||
"current_quantity": 66.0,
|
||||
"reserved_quantity": 0.0,
|
||||
"available_quantity": 66.0,
|
||||
"storage_location": "Barcelona - Eixample - Display Area",
|
||||
"updated_at": "BASE_TS - 6h",
|
||||
"is_available": true,
|
||||
"is_expired": false
|
||||
}
|
||||
],
|
||||
"ingredients": [
|
||||
{
|
||||
"id": "10000000-0000-0000-0000-000000000001",
|
||||
"tenant_id": "B0000000-0000-4000-a000-000000000001",
|
||||
"name": "Harina de Trigo T55",
|
||||
"sku": "HAR-T55-ENT-001",
|
||||
"barcode": null,
|
||||
"product_type": "INGREDIENT",
|
||||
"ingredient_category": "FLOUR",
|
||||
"product_category": "BREAD",
|
||||
"subcategory": null,
|
||||
"description": "Harina de trigo refinada tipo 55, ideal para panes tradicionales y bollería",
|
||||
"brand": "Molinos San José - Enterprise Grade",
|
||||
"unit_of_measure": "KILOGRAMS",
|
||||
"package_size": null,
|
||||
"average_cost": 0.78,
|
||||
"last_purchase_price": null,
|
||||
"standard_cost": null,
|
||||
"low_stock_threshold": 700.0,
|
||||
"reorder_point": 1050.0,
|
||||
"reorder_quantity": null,
|
||||
"max_stock_level": null,
|
||||
"shelf_life_days": null,
|
||||
"display_life_hours": null,
|
||||
"best_before_hours": null,
|
||||
"storage_instructions": null,
|
||||
"central_baker_product_code": null,
|
||||
"delivery_days": null,
|
||||
"minimum_order_quantity": null,
|
||||
"pack_size": null,
|
||||
"is_active": true,
|
||||
"is_perishable": false,
|
||||
"allergen_info": [
|
||||
"gluten"
|
||||
],
|
||||
"nutritional_info": null,
|
||||
"produced_locally": false,
|
||||
"recipe_id": null,
|
||||
"created_at": "BASE_TS",
|
||||
"updated_at": "BASE_TS",
|
||||
"created_by": "ae38accc-1ad4-410d-adbc-a55630908924"
|
||||
},
|
||||
{
|
||||
"id": "10000000-0000-0000-0000-000000000002",
|
||||
"tenant_id": "B0000000-0000-4000-a000-000000000001",
|
||||
"name": "Harina de Trigo T65",
|
||||
"sku": "HAR-T65-ENT-002",
|
||||
"barcode": null,
|
||||
"product_type": "INGREDIENT",
|
||||
"ingredient_category": "FLOUR",
|
||||
"product_category": "BREAD",
|
||||
"subcategory": null,
|
||||
"description": "Harina de trigo semi-integral tipo 65, perfecta para panes rústicos",
|
||||
"brand": "Molinos San José - Enterprise Grade",
|
||||
"unit_of_measure": "KILOGRAMS",
|
||||
"package_size": null,
|
||||
"average_cost": 0.87,
|
||||
"last_purchase_price": null,
|
||||
"standard_cost": null,
|
||||
"low_stock_threshold": 560.0,
|
||||
"reorder_point": 840.0,
|
||||
"reorder_quantity": null,
|
||||
"max_stock_level": null,
|
||||
"shelf_life_days": null,
|
||||
"display_life_hours": null,
|
||||
"best_before_hours": null,
|
||||
"storage_instructions": null,
|
||||
"central_baker_product_code": null,
|
||||
"delivery_days": null,
|
||||
"minimum_order_quantity": null,
|
||||
"pack_size": null,
|
||||
"is_active": true,
|
||||
"is_perishable": false,
|
||||
"allergen_info": [
|
||||
"gluten"
|
||||
],
|
||||
"nutritional_info": null,
|
||||
"produced_locally": false,
|
||||
"recipe_id": null,
|
||||
"created_at": "BASE_TS",
|
||||
"updated_at": "BASE_TS",
|
||||
"created_by": "ae38accc-1ad4-410d-adbc-a55630908924"
|
||||
},
|
||||
{
|
||||
"id": "10000000-0000-0000-0000-000000000003",
|
||||
"tenant_id": "B0000000-0000-4000-a000-000000000001",
|
||||
"name": "Harina de Fuerza W300",
|
||||
"sku": "HAR-FUE-003",
|
||||
"barcode": null,
|
||||
"product_type": "INGREDIENT",
|
||||
"ingredient_category": "FLOUR",
|
||||
"product_category": "BREAD",
|
||||
"subcategory": null,
|
||||
"description": "Harina de gran fuerza W300, ideal para masas con alta hidratación",
|
||||
"brand": "Harinas Premium - Enterprise Grade",
|
||||
"unit_of_measure": "KILOGRAMS",
|
||||
"package_size": null,
|
||||
"average_cost": 1.06,
|
||||
"last_purchase_price": null,
|
||||
"standard_cost": null,
|
||||
"low_stock_threshold": 350.0,
|
||||
"reorder_point": 560.0,
|
||||
"reorder_quantity": null,
|
||||
"max_stock_level": null,
|
||||
"shelf_life_days": null,
|
||||
"display_life_hours": null,
|
||||
"best_before_hours": null,
|
||||
"storage_instructions": null,
|
||||
"central_baker_product_code": null,
|
||||
"delivery_days": null,
|
||||
"minimum_order_quantity": null,
|
||||
"pack_size": null,
|
||||
"is_active": true,
|
||||
"is_perishable": false,
|
||||
"allergen_info": [
|
||||
"gluten"
|
||||
],
|
||||
"nutritional_info": null,
|
||||
"produced_locally": false,
|
||||
"recipe_id": null,
|
||||
"created_at": "BASE_TS",
|
||||
"updated_at": "BASE_TS",
|
||||
"created_by": "ae38accc-1ad4-410d-adbc-a55630908924"
|
||||
},
|
||||
{
|
||||
"id": "10000000-0000-0000-0000-000000000004",
|
||||
"tenant_id": "B0000000-0000-4000-a000-000000000001",
|
||||
"name": "Harina Integral de Trigo",
|
||||
"sku": "HAR-INT-004",
|
||||
"barcode": null,
|
||||
"product_type": "INGREDIENT",
|
||||
"ingredient_category": "FLOUR",
|
||||
"product_category": "BREAD",
|
||||
"subcategory": null,
|
||||
"description": "Harina integral 100% con salvado, rica en fibra",
|
||||
"brand": "Bio Cereales - Enterprise Grade",
|
||||
"unit_of_measure": "KILOGRAMS",
|
||||
"package_size": null,
|
||||
"average_cost": 1.1,
|
||||
"last_purchase_price": null,
|
||||
"standard_cost": null,
|
||||
"low_stock_threshold": 420.0,
|
||||
"reorder_point": 630.0,
|
||||
"reorder_quantity": null,
|
||||
"max_stock_level": null,
|
||||
"shelf_life_days": null,
|
||||
"display_life_hours": null,
|
||||
"best_before_hours": null,
|
||||
"storage_instructions": null,
|
||||
"central_baker_product_code": null,
|
||||
"delivery_days": null,
|
||||
"minimum_order_quantity": null,
|
||||
"pack_size": null,
|
||||
"is_active": true,
|
||||
"is_perishable": false,
|
||||
"allergen_info": [
|
||||
"gluten"
|
||||
],
|
||||
"nutritional_info": null,
|
||||
"produced_locally": false,
|
||||
"recipe_id": null,
|
||||
"created_at": "BASE_TS",
|
||||
"updated_at": "BASE_TS",
|
||||
"created_by": "ae38accc-1ad4-410d-adbc-a55630908924"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"recipes": [],
|
||||
"recipe_ingredients": [],
|
||||
"recipe_instructions": []
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"suppliers": []
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
{
|
||||
"equipment": [],
|
||||
"quality_check_templates": [],
|
||||
"quality_checks": [],
|
||||
"batches": [
|
||||
{
|
||||
"id": "50000001-0000-4000-a000-000000000001",
|
||||
"tenant_id": "B0000000-0000-4000-a000-000000000001",
|
||||
"recipe_id": "30000000-0000-0000-0000-000000000001",
|
||||
"product_id": "20000000-0000-0000-0000-000000000001",
|
||||
"batch_number": "BATCH-B000-0001",
|
||||
"status": "completed",
|
||||
"quantity_produced": 50,
|
||||
"quantity_good": 50,
|
||||
"quantity_defective": 0,
|
||||
"production_date": "BASE_TS - 1d",
|
||||
"expiration_date": "BASE_TS + 2d",
|
||||
"production_line": "Linea 1",
|
||||
"shift": "morning",
|
||||
"produced_by": "ae38accc-1ad4-410d-adbc-a55630908924",
|
||||
"approved_by": "80765906-0074-4206-8f58-5867df1975fd",
|
||||
"created_at": "BASE_TS - 1d",
|
||||
"updated_at": "BASE_TS - 1d",
|
||||
"is_active": true,
|
||||
"ingredients": [
|
||||
{
|
||||
"ingredient_id": "10000000-0000-0000-0000-000000000001",
|
||||
"quantity_used": 25.0,
|
||||
"unit": "kg"
|
||||
}
|
||||
],
|
||||
"product_name": "Baguette Tradicional",
|
||||
"planned_start_time": "BASE_TS",
|
||||
"planned_end_time": "BASE_TS + 4h",
|
||||
"actual_start_time": "BASE_TS - 1d",
|
||||
"actual_end_time": "BASE_TS - 1d + 4h",
|
||||
"planned_quantity": 50.0,
|
||||
"planned_duration_minutes": 240
|
||||
},
|
||||
{
|
||||
"id": "50000002-0000-4000-a000-000000000001",
|
||||
"tenant_id": "B0000000-0000-4000-a000-000000000001",
|
||||
"recipe_id": "30000000-0000-0000-0000-000000000002",
|
||||
"product_id": "20000000-0000-0000-0000-000000000002",
|
||||
"batch_number": "BATCH-B000-0002",
|
||||
"status": "completed",
|
||||
"quantity_produced": 60,
|
||||
"quantity_good": 60,
|
||||
"quantity_defective": 0,
|
||||
"production_date": "BASE_TS - 2d",
|
||||
"expiration_date": "BASE_TS + 1d",
|
||||
"production_line": "Linea 2",
|
||||
"shift": "morning",
|
||||
"produced_by": "ae38accc-1ad4-410d-adbc-a55630908924",
|
||||
"approved_by": "80765906-0074-4206-8f58-5867df1975fd",
|
||||
"created_at": "BASE_TS - 2d",
|
||||
"updated_at": "BASE_TS - 2d",
|
||||
"is_active": true,
|
||||
"ingredients": [
|
||||
{
|
||||
"ingredient_id": "10000000-0000-0000-0000-000000000001",
|
||||
"quantity_used": 30.0,
|
||||
"unit": "kg"
|
||||
}
|
||||
],
|
||||
"product_name": "Croissant de Mantequilla",
|
||||
"planned_start_time": "BASE_TS",
|
||||
"planned_end_time": "BASE_TS + 4h",
|
||||
"actual_start_time": "BASE_TS - 1d",
|
||||
"actual_end_time": "BASE_TS - 1d + 4h",
|
||||
"planned_quantity": 50.0,
|
||||
"planned_duration_minutes": 240
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"purchase_orders": [],
|
||||
"purchase_order_items": []
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
{
|
||||
"customers": [
|
||||
{
|
||||
"id": "60000000-0000-0000-0000-000000000001",
|
||||
"tenant_id": "B0000000-0000-4000-a000-000000000001",
|
||||
"customer_code": "CUST-001",
|
||||
"name": "Restaurante El Buen Yantar - Barcelona",
|
||||
"customer_type": "WHOLESALE",
|
||||
"contact_person": "Luis Gómez",
|
||||
"email": "compras@buenyantar.es",
|
||||
"phone": "+34 912 345 678",
|
||||
"address": "Calle Mayor, 45",
|
||||
"city": "Barcelona",
|
||||
"postal_code": "08013",
|
||||
"country": "España",
|
||||
"status": "ACTIVE",
|
||||
"total_orders": 45,
|
||||
"total_spent": 3250.75,
|
||||
"created_at": "BASE_TS",
|
||||
"notes": "Regular wholesale customer - weekly orders"
|
||||
},
|
||||
{
|
||||
"id": "60000000-0000-0000-0000-000000000002",
|
||||
"tenant_id": "B0000000-0000-4000-a000-000000000001",
|
||||
"customer_code": "CUST-002",
|
||||
"name": "Cafetería La Esquina - Barcelona",
|
||||
"customer_type": "RETAIL",
|
||||
"contact_person": "Marta Ruiz",
|
||||
"email": "cafeteria@laesquina.com",
|
||||
"phone": "+34 913 456 789",
|
||||
"address": "Plaza del Sol, 12",
|
||||
"city": "Barcelona",
|
||||
"postal_code": "08012",
|
||||
"country": "España",
|
||||
"status": "ACTIVE",
|
||||
"total_orders": 12,
|
||||
"total_spent": 850.2,
|
||||
"created_at": "BASE_TS",
|
||||
"notes": "Small retail customer - biweekly orders"
|
||||
}
|
||||
],
|
||||
"customer_orders": [],
|
||||
"order_items": []
|
||||
}
|
||||
@@ -0,0 +1,529 @@
|
||||
{
|
||||
"sales_data": [
|
||||
{
|
||||
"id": "c98c079b-58c0-4604-8dd6-3857ffad5d0a",
|
||||
"tenant_id": "B0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 16h 0m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000001",
|
||||
"quantity_sold": 2,
|
||||
"unit_price": 0.9,
|
||||
"total_revenue": 1.8,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "cash",
|
||||
"created_at": "BASE_TS - 16h 0m",
|
||||
"notes": "Venta local en Barcelona - Eixample",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "fefa3670-b349-42a1-9ff5-ef4f8b6d2b9f",
|
||||
"tenant_id": "B0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 15h 3m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000002",
|
||||
"quantity_sold": 3,
|
||||
"unit_price": 1.39,
|
||||
"total_revenue": 4.16,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 15h 3m",
|
||||
"notes": "Venta local en Barcelona - Eixample",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "330fe4a8-519f-416b-82bf-b723bc46940a",
|
||||
"tenant_id": "B0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 14h 6m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000003",
|
||||
"quantity_sold": 4,
|
||||
"unit_price": 3.74,
|
||||
"total_revenue": 14.96,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 14h 6m",
|
||||
"notes": "Venta local en Barcelona - Eixample",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "87c3e0d2-a2cd-4601-a761-b843439bfa37",
|
||||
"tenant_id": "B0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 13h 9m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000004",
|
||||
"quantity_sold": 5,
|
||||
"unit_price": 1.45,
|
||||
"total_revenue": 7.26,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 13h 9m",
|
||||
"notes": "Venta local en Barcelona - Eixample",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "8e2c025d-d24c-4045-a661-bf15634d09e4",
|
||||
"tenant_id": "B0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 12h 12m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000001",
|
||||
"quantity_sold": 6,
|
||||
"unit_price": 0.9,
|
||||
"total_revenue": 5.41,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "cash",
|
||||
"created_at": "BASE_TS - 12h 12m",
|
||||
"notes": "Venta local en Barcelona - Eixample",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "7a38ebd1-6751-4200-9dd5-ff0d02a346eb",
|
||||
"tenant_id": "B0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 11h 15m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000002",
|
||||
"quantity_sold": 2,
|
||||
"unit_price": 1.39,
|
||||
"total_revenue": 2.77,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 11h 15m",
|
||||
"notes": "Venta local en Barcelona - Eixample",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "5c230de0-d3b6-45c8-96eb-e3b08b6ff1d0",
|
||||
"tenant_id": "B0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 10h 18m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000003",
|
||||
"quantity_sold": 3,
|
||||
"unit_price": 3.74,
|
||||
"total_revenue": 11.22,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 10h 18m",
|
||||
"notes": "Venta local en Barcelona - Eixample",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "942c135e-742d-4170-a77a-a890457c9c7f",
|
||||
"tenant_id": "B0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 9h 21m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000004",
|
||||
"quantity_sold": 4,
|
||||
"unit_price": 1.45,
|
||||
"total_revenue": 5.81,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 9h 21m",
|
||||
"notes": "Venta local en Barcelona - Eixample",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "0952fb16-4269-457f-97a9-f673f79a1046",
|
||||
"tenant_id": "B0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 8h 24m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000001",
|
||||
"quantity_sold": 5,
|
||||
"unit_price": 0.9,
|
||||
"total_revenue": 4.51,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "cash",
|
||||
"created_at": "BASE_TS - 8h 24m",
|
||||
"notes": "Venta local en Barcelona - Eixample",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "d1f2dff4-e324-4631-b65e-1a5bb06e49a0",
|
||||
"tenant_id": "B0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 7h 27m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000002",
|
||||
"quantity_sold": 6,
|
||||
"unit_price": 1.39,
|
||||
"total_revenue": 8.32,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 7h 27m",
|
||||
"notes": "Venta local en Barcelona - Eixample",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "863d7175-d174-4401-a0eb-b1e1b13f5e3f",
|
||||
"tenant_id": "B0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 6h 30m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000003",
|
||||
"quantity_sold": 2,
|
||||
"unit_price": 3.74,
|
||||
"total_revenue": 7.48,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 6h 30m",
|
||||
"notes": "Venta local en Barcelona - Eixample",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "19ff40eb-eb0e-435d-9e79-62a882875d2d",
|
||||
"tenant_id": "B0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 5h 33m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000004",
|
||||
"quantity_sold": 3,
|
||||
"unit_price": 1.45,
|
||||
"total_revenue": 4.36,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 5h 33m",
|
||||
"notes": "Venta local en Barcelona - Eixample",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "486d90b8-370e-4e4f-993c-173be441e459",
|
||||
"tenant_id": "B0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 16h 36m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000001",
|
||||
"quantity_sold": 4,
|
||||
"unit_price": 0.9,
|
||||
"total_revenue": 3.61,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "cash",
|
||||
"created_at": "BASE_TS - 16h 36m",
|
||||
"notes": "Venta local en Barcelona - Eixample",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "2c289f03-4a5c-4636-8292-cce140baed66",
|
||||
"tenant_id": "B0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 15h 39m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000002",
|
||||
"quantity_sold": 5,
|
||||
"unit_price": 1.39,
|
||||
"total_revenue": 6.93,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 15h 39m",
|
||||
"notes": "Venta local en Barcelona - Eixample",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "ed80ba2c-3765-4270-bbc5-5d04769d586f",
|
||||
"tenant_id": "B0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 14h 42m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000003",
|
||||
"quantity_sold": 6,
|
||||
"unit_price": 3.74,
|
||||
"total_revenue": 22.44,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 14h 42m",
|
||||
"notes": "Venta local en Barcelona - Eixample",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "7715cee7-d6d9-4731-ac97-14df72c1d9ad",
|
||||
"tenant_id": "B0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 13h 45m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000004",
|
||||
"quantity_sold": 2,
|
||||
"unit_price": 1.45,
|
||||
"total_revenue": 2.9,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 13h 45m",
|
||||
"notes": "Venta local en Barcelona - Eixample",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "326a2a4a-69b7-4c2d-9770-70ff34ada0b3",
|
||||
"tenant_id": "B0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 12h 48m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000001",
|
||||
"quantity_sold": 3,
|
||||
"unit_price": 0.9,
|
||||
"total_revenue": 2.71,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "cash",
|
||||
"created_at": "BASE_TS - 12h 48m",
|
||||
"notes": "Venta local en Barcelona - Eixample",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "6978a848-65de-4dc5-848b-4ecf2f684ef8",
|
||||
"tenant_id": "B0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 11h 51m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000002",
|
||||
"quantity_sold": 4,
|
||||
"unit_price": 1.39,
|
||||
"total_revenue": 5.54,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 11h 51m",
|
||||
"notes": "Venta local en Barcelona - Eixample",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "a005099c-e795-40cc-bea4-2ed5f6cbbfdd",
|
||||
"tenant_id": "B0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 10h 54m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000003",
|
||||
"quantity_sold": 5,
|
||||
"unit_price": 3.74,
|
||||
"total_revenue": 18.7,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 10h 54m",
|
||||
"notes": "Venta local en Barcelona - Eixample",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "6230d526-b341-4edc-b77c-0203a9d09f57",
|
||||
"tenant_id": "B0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 9h 57m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000004",
|
||||
"quantity_sold": 6,
|
||||
"unit_price": 1.45,
|
||||
"total_revenue": 8.71,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 9h 57m",
|
||||
"notes": "Venta local en Barcelona - Eixample",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "89ce02df-c236-4e1b-801c-2a8da9615541",
|
||||
"tenant_id": "B0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 8h 60m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000001",
|
||||
"quantity_sold": 2,
|
||||
"unit_price": 0.9,
|
||||
"total_revenue": 1.8,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "cash",
|
||||
"created_at": "BASE_TS - 8h 60m",
|
||||
"notes": "Venta local en Barcelona - Eixample",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "5363a886-64bc-4c23-b592-9293a3021bce",
|
||||
"tenant_id": "B0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 7h 63m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000002",
|
||||
"quantity_sold": 3,
|
||||
"unit_price": 1.39,
|
||||
"total_revenue": 4.16,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 7h 63m",
|
||||
"notes": "Venta local en Barcelona - Eixample",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "f078cbdb-d798-4b62-944b-dbe48d69917b",
|
||||
"tenant_id": "B0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 6h 66m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000003",
|
||||
"quantity_sold": 4,
|
||||
"unit_price": 3.74,
|
||||
"total_revenue": 14.96,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 6h 66m",
|
||||
"notes": "Venta local en Barcelona - Eixample",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "9f07234b-4ac5-49f6-8c11-4854a6fef024",
|
||||
"tenant_id": "B0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 5h 69m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000004",
|
||||
"quantity_sold": 5,
|
||||
"unit_price": 1.45,
|
||||
"total_revenue": 7.26,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 5h 69m",
|
||||
"notes": "Venta local en Barcelona - Eixample",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "27615e7d-814f-43a4-8c6d-2e8fb5735d20",
|
||||
"tenant_id": "B0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 16h 72m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000001",
|
||||
"quantity_sold": 6,
|
||||
"unit_price": 0.9,
|
||||
"total_revenue": 5.41,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "cash",
|
||||
"created_at": "BASE_TS - 16h 72m",
|
||||
"notes": "Venta local en Barcelona - Eixample",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "6d391efa-8d6a-4912-b80f-8dd870280c37",
|
||||
"tenant_id": "B0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 15h 75m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000002",
|
||||
"quantity_sold": 2,
|
||||
"unit_price": 1.39,
|
||||
"total_revenue": 2.77,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 15h 75m",
|
||||
"notes": "Venta local en Barcelona - Eixample",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "6ac6070b-5bda-4b6b-8bc6-fd03f9119fe5",
|
||||
"tenant_id": "B0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 14h 78m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000003",
|
||||
"quantity_sold": 3,
|
||||
"unit_price": 3.74,
|
||||
"total_revenue": 11.22,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 14h 78m",
|
||||
"notes": "Venta local en Barcelona - Eixample",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "c37a3242-f986-4fda-9461-1ae38783e0f1",
|
||||
"tenant_id": "B0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 13h 81m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000004",
|
||||
"quantity_sold": 4,
|
||||
"unit_price": 1.45,
|
||||
"total_revenue": 5.81,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 13h 81m",
|
||||
"notes": "Venta local en Barcelona - Eixample",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "9879bc0d-1708-4525-af11-cac205f81ce9",
|
||||
"tenant_id": "B0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 12h 84m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000001",
|
||||
"quantity_sold": 5,
|
||||
"unit_price": 0.9,
|
||||
"total_revenue": 4.51,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "cash",
|
||||
"created_at": "BASE_TS - 12h 84m",
|
||||
"notes": "Venta local en Barcelona - Eixample",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "c2eb8c92-5262-4a7c-b4a7-ef68b5a7ee82",
|
||||
"tenant_id": "B0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 11h 87m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000002",
|
||||
"quantity_sold": 6,
|
||||
"unit_price": 1.39,
|
||||
"total_revenue": 8.32,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 11h 87m",
|
||||
"notes": "Venta local en Barcelona - Eixample",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "9cf70fb9-c6be-43c3-b076-5cd51ff94d75",
|
||||
"tenant_id": "B0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 10h 90m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000003",
|
||||
"quantity_sold": 2,
|
||||
"unit_price": 3.74,
|
||||
"total_revenue": 7.48,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 10h 90m",
|
||||
"notes": "Venta local en Barcelona - Eixample",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "b57716d8-2a99-4f63-bdf3-eb07876d3502",
|
||||
"tenant_id": "B0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 9h 93m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000004",
|
||||
"quantity_sold": 3,
|
||||
"unit_price": 1.45,
|
||||
"total_revenue": 4.36,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 9h 93m",
|
||||
"notes": "Venta local en Barcelona - Eixample",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "4c296e49-6b77-41ae-8a48-7341fd43a4b3",
|
||||
"tenant_id": "B0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 8h 96m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000001",
|
||||
"quantity_sold": 4,
|
||||
"unit_price": 0.9,
|
||||
"total_revenue": 3.61,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "cash",
|
||||
"created_at": "BASE_TS - 8h 96m",
|
||||
"notes": "Venta local en Barcelona - Eixample",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "a4a17323-86b9-44d7-843b-6cd542c0c0ed",
|
||||
"tenant_id": "B0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 7h 99m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000002",
|
||||
"quantity_sold": 5,
|
||||
"unit_price": 1.39,
|
||||
"total_revenue": 6.93,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 7h 99m",
|
||||
"notes": "Venta local en Barcelona - Eixample",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "027b8eb5-da87-4c2b-b951-8934c1f0153f",
|
||||
"tenant_id": "B0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 6h 102m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000003",
|
||||
"quantity_sold": 6,
|
||||
"unit_price": 3.74,
|
||||
"total_revenue": 22.44,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 6h 102m",
|
||||
"notes": "Venta local en Barcelona - Eixample",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"orchestration_run": null,
|
||||
"alerts": []
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"location": {
|
||||
"id": "C0000000-0000-4000-a000-000000000001",
|
||||
"parent_tenant_id": "80000000-0000-4000-a000-000000000001",
|
||||
"name": "Valencia - Ruzafa",
|
||||
"location_code": "VLC",
|
||||
"city": "Valencia",
|
||||
"zone": "Ruzafa",
|
||||
"address": "Calle de Sueca, 25",
|
||||
"postal_code": "46006",
|
||||
"country": "España",
|
||||
"latitude": 39.4623,
|
||||
"longitude": -0.3645,
|
||||
"status": "ACTIVE",
|
||||
"opening_hours": "07:00-21:00",
|
||||
"daily_capacity": 2000,
|
||||
"storage_capacity_kg": 1200,
|
||||
"created_at": "2024-06-01T00:00:00Z",
|
||||
"enterprise_location": true,
|
||||
"location_type": "retail",
|
||||
"staff_count": 10,
|
||||
"description": "Trendy artisan neighborhood with focus on quality"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"users": [
|
||||
{
|
||||
"id": "f60e7eaf-dc10-5751-a76e-413e92bc0067",
|
||||
"tenant_id": "C0000000-0000-4000-a000-000000000001",
|
||||
"name": "Gerente Valencia - Ruzafa",
|
||||
"email": "gerente.c0000000-0000-4000-a000-000000000001@panaderiaartesana.es",
|
||||
"role": "manager",
|
||||
"is_active": true,
|
||||
"created_at": "BASE_TS - 180d",
|
||||
"updated_at": "BASE_TS - 180d"
|
||||
},
|
||||
{
|
||||
"id": "7902d30b-6098-5100-b790-7786198605a8",
|
||||
"tenant_id": "C0000000-0000-4000-a000-000000000001",
|
||||
"name": "Empleado Valencia - Ruzafa",
|
||||
"email": "empleado.c0000000-0000-4000-a000-000000000001@panaderiaartesana.es",
|
||||
"role": "user",
|
||||
"is_active": true,
|
||||
"created_at": "BASE_TS - 150d",
|
||||
"updated_at": "BASE_TS - 150d"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,242 @@
|
||||
{
|
||||
"stock": [
|
||||
{
|
||||
"id": "66ee65db-e2a2-4483-9d53-9faf36f75e29",
|
||||
"tenant_id": "C0000000-0000-4000-a000-000000000001",
|
||||
"ingredient_id": "10000000-0000-0000-0000-000000000001",
|
||||
"production_stage": "raw_ingredient",
|
||||
"quality_status": "APPROVED",
|
||||
"expiration_date": "BASE_TS + 1d 6h",
|
||||
"supplier_id": "40000000-0000-0000-0000-000000000001",
|
||||
"batch_number": "VLC-PRO-20250116-001",
|
||||
"created_at": "BASE_TS - 6h",
|
||||
"current_quantity": 24.0,
|
||||
"reserved_quantity": 0.0,
|
||||
"available_quantity": 24.0,
|
||||
"storage_location": "Valencia - Ruzafa - Display Area",
|
||||
"updated_at": "BASE_TS - 6h",
|
||||
"is_available": true,
|
||||
"is_expired": false
|
||||
},
|
||||
{
|
||||
"id": "f84ee2f1-7dc4-409c-a1bd-4b246771988c",
|
||||
"tenant_id": "C0000000-0000-4000-a000-000000000001",
|
||||
"ingredient_id": "10000000-0000-0000-0000-000000000002",
|
||||
"production_stage": "raw_ingredient",
|
||||
"quality_status": "APPROVED",
|
||||
"expiration_date": "BASE_TS + 1d 6h",
|
||||
"supplier_id": "40000000-0000-0000-0000-000000000001",
|
||||
"batch_number": "VLC-PRO-20250116-002",
|
||||
"created_at": "BASE_TS - 6h",
|
||||
"current_quantity": 27.0,
|
||||
"reserved_quantity": 0.0,
|
||||
"available_quantity": 27.0,
|
||||
"storage_location": "Valencia - Ruzafa - Display Area",
|
||||
"updated_at": "BASE_TS - 6h",
|
||||
"is_available": true,
|
||||
"is_expired": false
|
||||
},
|
||||
{
|
||||
"id": "7f663dc0-07bf-4762-bb47-4c112810fd87",
|
||||
"tenant_id": "C0000000-0000-4000-a000-000000000001",
|
||||
"ingredient_id": "10000000-0000-0000-0000-000000000003",
|
||||
"production_stage": "raw_ingredient",
|
||||
"quality_status": "APPROVED",
|
||||
"expiration_date": "BASE_TS + 1d 6h",
|
||||
"supplier_id": "40000000-0000-0000-0000-000000000001",
|
||||
"batch_number": "VLC-PRO-20250116-003",
|
||||
"created_at": "BASE_TS - 6h",
|
||||
"current_quantity": 30.0,
|
||||
"reserved_quantity": 0.0,
|
||||
"available_quantity": 30.0,
|
||||
"storage_location": "Valencia - Ruzafa - Display Area",
|
||||
"updated_at": "BASE_TS - 6h",
|
||||
"is_available": true,
|
||||
"is_expired": false
|
||||
},
|
||||
{
|
||||
"id": "5ade7edd-b8a7-4a0a-843a-a99f91121806",
|
||||
"tenant_id": "C0000000-0000-4000-a000-000000000001",
|
||||
"ingredient_id": "10000000-0000-0000-0000-000000000004",
|
||||
"production_stage": "raw_ingredient",
|
||||
"quality_status": "APPROVED",
|
||||
"expiration_date": "BASE_TS + 1d 6h",
|
||||
"supplier_id": "40000000-0000-0000-0000-000000000001",
|
||||
"batch_number": "VLC-PRO-20250116-004",
|
||||
"created_at": "BASE_TS - 6h",
|
||||
"current_quantity": 33.0,
|
||||
"reserved_quantity": 0.0,
|
||||
"available_quantity": 33.0,
|
||||
"storage_location": "Valencia - Ruzafa - Display Area",
|
||||
"updated_at": "BASE_TS - 6h",
|
||||
"is_available": true,
|
||||
"is_expired": false
|
||||
}
|
||||
],
|
||||
"ingredients": [
|
||||
{
|
||||
"id": "10000000-0000-0000-0000-000000000001",
|
||||
"tenant_id": "C0000000-0000-4000-a000-000000000001",
|
||||
"name": "Harina de Trigo T55",
|
||||
"sku": "HAR-T55-ENT-001",
|
||||
"barcode": null,
|
||||
"product_type": "INGREDIENT",
|
||||
"ingredient_category": "FLOUR",
|
||||
"product_category": "BREAD",
|
||||
"subcategory": null,
|
||||
"description": "Harina de trigo refinada tipo 55, ideal para panes tradicionales y bollería",
|
||||
"brand": "Molinos San José - Enterprise Grade",
|
||||
"unit_of_measure": "KILOGRAMS",
|
||||
"package_size": null,
|
||||
"average_cost": 0.78,
|
||||
"last_purchase_price": null,
|
||||
"standard_cost": null,
|
||||
"low_stock_threshold": 700.0,
|
||||
"reorder_point": 1050.0,
|
||||
"reorder_quantity": null,
|
||||
"max_stock_level": null,
|
||||
"shelf_life_days": null,
|
||||
"display_life_hours": null,
|
||||
"best_before_hours": null,
|
||||
"storage_instructions": null,
|
||||
"central_baker_product_code": null,
|
||||
"delivery_days": null,
|
||||
"minimum_order_quantity": null,
|
||||
"pack_size": null,
|
||||
"is_active": true,
|
||||
"is_perishable": false,
|
||||
"allergen_info": [
|
||||
"gluten"
|
||||
],
|
||||
"nutritional_info": null,
|
||||
"produced_locally": false,
|
||||
"recipe_id": null,
|
||||
"created_at": "BASE_TS",
|
||||
"updated_at": "BASE_TS",
|
||||
"created_by": "ae38accc-1ad4-410d-adbc-a55630908924"
|
||||
},
|
||||
{
|
||||
"id": "10000000-0000-0000-0000-000000000002",
|
||||
"tenant_id": "C0000000-0000-4000-a000-000000000001",
|
||||
"name": "Harina de Trigo T65",
|
||||
"sku": "HAR-T65-ENT-002",
|
||||
"barcode": null,
|
||||
"product_type": "INGREDIENT",
|
||||
"ingredient_category": "FLOUR",
|
||||
"product_category": "BREAD",
|
||||
"subcategory": null,
|
||||
"description": "Harina de trigo semi-integral tipo 65, perfecta para panes rústicos",
|
||||
"brand": "Molinos San José - Enterprise Grade",
|
||||
"unit_of_measure": "KILOGRAMS",
|
||||
"package_size": null,
|
||||
"average_cost": 0.87,
|
||||
"last_purchase_price": null,
|
||||
"standard_cost": null,
|
||||
"low_stock_threshold": 560.0,
|
||||
"reorder_point": 840.0,
|
||||
"reorder_quantity": null,
|
||||
"max_stock_level": null,
|
||||
"shelf_life_days": null,
|
||||
"display_life_hours": null,
|
||||
"best_before_hours": null,
|
||||
"storage_instructions": null,
|
||||
"central_baker_product_code": null,
|
||||
"delivery_days": null,
|
||||
"minimum_order_quantity": null,
|
||||
"pack_size": null,
|
||||
"is_active": true,
|
||||
"is_perishable": false,
|
||||
"allergen_info": [
|
||||
"gluten"
|
||||
],
|
||||
"nutritional_info": null,
|
||||
"produced_locally": false,
|
||||
"recipe_id": null,
|
||||
"created_at": "BASE_TS",
|
||||
"updated_at": "BASE_TS",
|
||||
"created_by": "ae38accc-1ad4-410d-adbc-a55630908924"
|
||||
},
|
||||
{
|
||||
"id": "10000000-0000-0000-0000-000000000003",
|
||||
"tenant_id": "C0000000-0000-4000-a000-000000000001",
|
||||
"name": "Harina de Fuerza W300",
|
||||
"sku": "HAR-FUE-003",
|
||||
"barcode": null,
|
||||
"product_type": "INGREDIENT",
|
||||
"ingredient_category": "FLOUR",
|
||||
"product_category": "BREAD",
|
||||
"subcategory": null,
|
||||
"description": "Harina de gran fuerza W300, ideal para masas con alta hidratación",
|
||||
"brand": "Harinas Premium - Enterprise Grade",
|
||||
"unit_of_measure": "KILOGRAMS",
|
||||
"package_size": null,
|
||||
"average_cost": 1.06,
|
||||
"last_purchase_price": null,
|
||||
"standard_cost": null,
|
||||
"low_stock_threshold": 350.0,
|
||||
"reorder_point": 560.0,
|
||||
"reorder_quantity": null,
|
||||
"max_stock_level": null,
|
||||
"shelf_life_days": null,
|
||||
"display_life_hours": null,
|
||||
"best_before_hours": null,
|
||||
"storage_instructions": null,
|
||||
"central_baker_product_code": null,
|
||||
"delivery_days": null,
|
||||
"minimum_order_quantity": null,
|
||||
"pack_size": null,
|
||||
"is_active": true,
|
||||
"is_perishable": false,
|
||||
"allergen_info": [
|
||||
"gluten"
|
||||
],
|
||||
"nutritional_info": null,
|
||||
"produced_locally": false,
|
||||
"recipe_id": null,
|
||||
"created_at": "BASE_TS",
|
||||
"updated_at": "BASE_TS",
|
||||
"created_by": "ae38accc-1ad4-410d-adbc-a55630908924"
|
||||
},
|
||||
{
|
||||
"id": "10000000-0000-0000-0000-000000000004",
|
||||
"tenant_id": "C0000000-0000-4000-a000-000000000001",
|
||||
"name": "Harina Integral de Trigo",
|
||||
"sku": "HAR-INT-004",
|
||||
"barcode": null,
|
||||
"product_type": "INGREDIENT",
|
||||
"ingredient_category": "FLOUR",
|
||||
"product_category": "BREAD",
|
||||
"subcategory": null,
|
||||
"description": "Harina integral 100% con salvado, rica en fibra",
|
||||
"brand": "Bio Cereales - Enterprise Grade",
|
||||
"unit_of_measure": "KILOGRAMS",
|
||||
"package_size": null,
|
||||
"average_cost": 1.1,
|
||||
"last_purchase_price": null,
|
||||
"standard_cost": null,
|
||||
"low_stock_threshold": 420.0,
|
||||
"reorder_point": 630.0,
|
||||
"reorder_quantity": null,
|
||||
"max_stock_level": null,
|
||||
"shelf_life_days": null,
|
||||
"display_life_hours": null,
|
||||
"best_before_hours": null,
|
||||
"storage_instructions": null,
|
||||
"central_baker_product_code": null,
|
||||
"delivery_days": null,
|
||||
"minimum_order_quantity": null,
|
||||
"pack_size": null,
|
||||
"is_active": true,
|
||||
"is_perishable": false,
|
||||
"allergen_info": [
|
||||
"gluten"
|
||||
],
|
||||
"nutritional_info": null,
|
||||
"produced_locally": false,
|
||||
"recipe_id": null,
|
||||
"created_at": "BASE_TS",
|
||||
"updated_at": "BASE_TS",
|
||||
"created_by": "ae38accc-1ad4-410d-adbc-a55630908924"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"recipes": [],
|
||||
"recipe_ingredients": [],
|
||||
"recipe_instructions": []
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"suppliers": []
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
{
|
||||
"equipment": [],
|
||||
"quality_check_templates": [],
|
||||
"quality_checks": [],
|
||||
"batches": [
|
||||
{
|
||||
"id": "50000001-0000-4000-a000-000000000001",
|
||||
"tenant_id": "C0000000-0000-4000-a000-000000000001",
|
||||
"recipe_id": "30000000-0000-0000-0000-000000000001",
|
||||
"product_id": "20000000-0000-0000-0000-000000000001",
|
||||
"batch_number": "BATCH-C000-0001",
|
||||
"status": "completed",
|
||||
"quantity_produced": 50,
|
||||
"quantity_good": 50,
|
||||
"quantity_defective": 0,
|
||||
"production_date": "BASE_TS - 1d",
|
||||
"expiration_date": "BASE_TS + 2d",
|
||||
"production_line": "Linea 1",
|
||||
"shift": "morning",
|
||||
"produced_by": "ae38accc-1ad4-410d-adbc-a55630908924",
|
||||
"approved_by": "80765906-0074-4206-8f58-5867df1975fd",
|
||||
"created_at": "BASE_TS - 1d",
|
||||
"updated_at": "BASE_TS - 1d",
|
||||
"is_active": true,
|
||||
"ingredients": [
|
||||
{
|
||||
"ingredient_id": "10000000-0000-0000-0000-000000000001",
|
||||
"quantity_used": 25.0,
|
||||
"unit": "kg"
|
||||
}
|
||||
],
|
||||
"product_name": "Baguette Tradicional",
|
||||
"planned_start_time": "BASE_TS",
|
||||
"planned_end_time": "BASE_TS + 4h",
|
||||
"actual_start_time": "BASE_TS - 1d",
|
||||
"actual_end_time": "BASE_TS - 1d + 4h",
|
||||
"planned_quantity": 50.0,
|
||||
"planned_duration_minutes": 240
|
||||
},
|
||||
{
|
||||
"id": "50000002-0000-4000-a000-000000000001",
|
||||
"tenant_id": "C0000000-0000-4000-a000-000000000001",
|
||||
"recipe_id": "30000000-0000-0000-0000-000000000002",
|
||||
"product_id": "20000000-0000-0000-0000-000000000002",
|
||||
"batch_number": "BATCH-C000-0002",
|
||||
"status": "completed",
|
||||
"quantity_produced": 60,
|
||||
"quantity_good": 60,
|
||||
"quantity_defective": 0,
|
||||
"production_date": "BASE_TS - 2d",
|
||||
"expiration_date": "BASE_TS + 1d",
|
||||
"production_line": "Linea 2",
|
||||
"shift": "morning",
|
||||
"produced_by": "ae38accc-1ad4-410d-adbc-a55630908924",
|
||||
"approved_by": "80765906-0074-4206-8f58-5867df1975fd",
|
||||
"created_at": "BASE_TS - 2d",
|
||||
"updated_at": "BASE_TS - 2d",
|
||||
"is_active": true,
|
||||
"ingredients": [
|
||||
{
|
||||
"ingredient_id": "10000000-0000-0000-0000-000000000001",
|
||||
"quantity_used": 30.0,
|
||||
"unit": "kg"
|
||||
}
|
||||
],
|
||||
"product_name": "Croissant de Mantequilla",
|
||||
"planned_start_time": "BASE_TS",
|
||||
"planned_end_time": "BASE_TS + 4h",
|
||||
"actual_start_time": "BASE_TS - 1d",
|
||||
"actual_end_time": "BASE_TS - 1d + 4h",
|
||||
"planned_quantity": 50.0,
|
||||
"planned_duration_minutes": 240
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"purchase_orders": [],
|
||||
"purchase_order_items": []
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
{
|
||||
"customers": [
|
||||
{
|
||||
"id": "60000000-0000-0000-0000-000000000001",
|
||||
"tenant_id": "C0000000-0000-4000-a000-000000000001",
|
||||
"customer_code": "CUST-001",
|
||||
"name": "Restaurante El Buen Yantar - Valencia",
|
||||
"customer_type": "WHOLESALE",
|
||||
"contact_person": "Luis Gómez",
|
||||
"email": "compras@buenyantar.es",
|
||||
"phone": "+34 912 345 678",
|
||||
"address": "Calle Mayor, 45",
|
||||
"city": "Valencia",
|
||||
"postal_code": "46013",
|
||||
"country": "España",
|
||||
"status": "ACTIVE",
|
||||
"total_orders": 45,
|
||||
"total_spent": 3250.75,
|
||||
"created_at": "BASE_TS",
|
||||
"notes": "Regular wholesale customer - weekly orders"
|
||||
},
|
||||
{
|
||||
"id": "60000000-0000-0000-0000-000000000002",
|
||||
"tenant_id": "C0000000-0000-4000-a000-000000000001",
|
||||
"customer_code": "CUST-002",
|
||||
"name": "Cafetería La Esquina - Valencia",
|
||||
"customer_type": "RETAIL",
|
||||
"contact_person": "Marta Ruiz",
|
||||
"email": "cafeteria@laesquina.com",
|
||||
"phone": "+34 913 456 789",
|
||||
"address": "Plaza del Sol, 12",
|
||||
"city": "Valencia",
|
||||
"postal_code": "46012",
|
||||
"country": "España",
|
||||
"status": "ACTIVE",
|
||||
"total_orders": 12,
|
||||
"total_spent": 850.2,
|
||||
"created_at": "BASE_TS",
|
||||
"notes": "Small retail customer - biweekly orders"
|
||||
}
|
||||
],
|
||||
"customer_orders": [],
|
||||
"order_items": []
|
||||
}
|
||||
@@ -0,0 +1,304 @@
|
||||
{
|
||||
"sales_data": [
|
||||
{
|
||||
"id": "3cdfda6a-37c2-485e-99f3-39ee905bd5ee",
|
||||
"tenant_id": "C0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 16h 0m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000001",
|
||||
"quantity_sold": 2,
|
||||
"unit_price": 0.9,
|
||||
"total_revenue": 1.8,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "cash",
|
||||
"created_at": "BASE_TS - 16h 0m",
|
||||
"notes": "Venta local en Valencia - Ruzafa",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "07ae1a79-867c-49e4-a320-09410a08e359",
|
||||
"tenant_id": "C0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 15h 3m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000002",
|
||||
"quantity_sold": 3,
|
||||
"unit_price": 1.39,
|
||||
"total_revenue": 4.16,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 15h 3m",
|
||||
"notes": "Venta local en Valencia - Ruzafa",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "0cef9b51-ef2e-40ff-a488-568d82f5c6e6",
|
||||
"tenant_id": "C0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 14h 6m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000003",
|
||||
"quantity_sold": 4,
|
||||
"unit_price": 3.74,
|
||||
"total_revenue": 14.96,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 14h 6m",
|
||||
"notes": "Venta local en Valencia - Ruzafa",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "0a9af98d-2fd6-47da-bf85-a7c2ef365afb",
|
||||
"tenant_id": "C0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 13h 9m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000004",
|
||||
"quantity_sold": 5,
|
||||
"unit_price": 1.45,
|
||||
"total_revenue": 7.26,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 13h 9m",
|
||||
"notes": "Venta local en Valencia - Ruzafa",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "73165b4b-fd89-424f-9e1c-3ecc216f8d60",
|
||||
"tenant_id": "C0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 12h 12m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000001",
|
||||
"quantity_sold": 6,
|
||||
"unit_price": 0.9,
|
||||
"total_revenue": 5.41,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "cash",
|
||||
"created_at": "BASE_TS - 12h 12m",
|
||||
"notes": "Venta local en Valencia - Ruzafa",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "0f8537bd-afe4-43c3-bea6-eea73e19c2e9",
|
||||
"tenant_id": "C0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 11h 15m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000002",
|
||||
"quantity_sold": 2,
|
||||
"unit_price": 1.39,
|
||||
"total_revenue": 2.77,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 11h 15m",
|
||||
"notes": "Venta local en Valencia - Ruzafa",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "f6981442-7321-453c-a49c-1f3d729c6ad8",
|
||||
"tenant_id": "C0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 10h 18m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000003",
|
||||
"quantity_sold": 3,
|
||||
"unit_price": 3.74,
|
||||
"total_revenue": 11.22,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 10h 18m",
|
||||
"notes": "Venta local en Valencia - Ruzafa",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "8e733da7-28ca-496d-8bc7-310ed6ccfbd2",
|
||||
"tenant_id": "C0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 9h 21m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000004",
|
||||
"quantity_sold": 4,
|
||||
"unit_price": 1.45,
|
||||
"total_revenue": 5.81,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 9h 21m",
|
||||
"notes": "Venta local en Valencia - Ruzafa",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "f757e392-0f3e-453d-a6c8-2baad7dc91e8",
|
||||
"tenant_id": "C0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 8h 24m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000001",
|
||||
"quantity_sold": 5,
|
||||
"unit_price": 0.9,
|
||||
"total_revenue": 4.51,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "cash",
|
||||
"created_at": "BASE_TS - 8h 24m",
|
||||
"notes": "Venta local en Valencia - Ruzafa",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "90c194a8-926b-4a32-8e38-65824578b0c0",
|
||||
"tenant_id": "C0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 7h 27m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000002",
|
||||
"quantity_sold": 6,
|
||||
"unit_price": 1.39,
|
||||
"total_revenue": 8.32,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 7h 27m",
|
||||
"notes": "Venta local en Valencia - Ruzafa",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "8874a2ce-e6b8-4b65-a5ee-4ab8f5b726c6",
|
||||
"tenant_id": "C0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 6h 30m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000003",
|
||||
"quantity_sold": 2,
|
||||
"unit_price": 3.74,
|
||||
"total_revenue": 7.48,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 6h 30m",
|
||||
"notes": "Venta local en Valencia - Ruzafa",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "3fc14bee-6819-4b94-ab2d-3f4bd6b72c87",
|
||||
"tenant_id": "C0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 5h 33m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000004",
|
||||
"quantity_sold": 3,
|
||||
"unit_price": 1.45,
|
||||
"total_revenue": 4.36,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 5h 33m",
|
||||
"notes": "Venta local en Valencia - Ruzafa",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "89421fb3-e5c6-4e9d-94b2-a660999b63b6",
|
||||
"tenant_id": "C0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 16h 36m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000001",
|
||||
"quantity_sold": 4,
|
||||
"unit_price": 0.9,
|
||||
"total_revenue": 3.61,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "cash",
|
||||
"created_at": "BASE_TS - 16h 36m",
|
||||
"notes": "Venta local en Valencia - Ruzafa",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "d804e2d4-5ac6-43d1-8438-f70b6cf18ff2",
|
||||
"tenant_id": "C0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 15h 39m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000002",
|
||||
"quantity_sold": 5,
|
||||
"unit_price": 1.39,
|
||||
"total_revenue": 6.93,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 15h 39m",
|
||||
"notes": "Venta local en Valencia - Ruzafa",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "662934e8-084b-4a7f-ac5f-31ef65abb042",
|
||||
"tenant_id": "C0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 14h 42m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000003",
|
||||
"quantity_sold": 6,
|
||||
"unit_price": 3.74,
|
||||
"total_revenue": 22.44,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 14h 42m",
|
||||
"notes": "Venta local en Valencia - Ruzafa",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "e7b8712b-0d00-44cc-981d-66af15603bd9",
|
||||
"tenant_id": "C0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 13h 45m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000004",
|
||||
"quantity_sold": 2,
|
||||
"unit_price": 1.45,
|
||||
"total_revenue": 2.9,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 13h 45m",
|
||||
"notes": "Venta local en Valencia - Ruzafa",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "f501da6f-1a09-4c47-a2e7-61061ba96a1c",
|
||||
"tenant_id": "C0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 12h 48m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000001",
|
||||
"quantity_sold": 3,
|
||||
"unit_price": 0.9,
|
||||
"total_revenue": 2.71,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "cash",
|
||||
"created_at": "BASE_TS - 12h 48m",
|
||||
"notes": "Venta local en Valencia - Ruzafa",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "140e74cf-882e-48a0-b083-06a266067147",
|
||||
"tenant_id": "C0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 11h 51m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000002",
|
||||
"quantity_sold": 4,
|
||||
"unit_price": 1.39,
|
||||
"total_revenue": 5.54,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 11h 51m",
|
||||
"notes": "Venta local en Valencia - Ruzafa",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "f4f940e6-83a5-4399-9fb3-8ad72ba11140",
|
||||
"tenant_id": "C0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 10h 54m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000003",
|
||||
"quantity_sold": 5,
|
||||
"unit_price": 3.74,
|
||||
"total_revenue": 18.7,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 10h 54m",
|
||||
"notes": "Venta local en Valencia - Ruzafa",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "e4f17a2d-87b8-4f7f-901d-463341e3919b",
|
||||
"tenant_id": "C0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 9h 57m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000004",
|
||||
"quantity_sold": 6,
|
||||
"unit_price": 1.45,
|
||||
"total_revenue": 8.71,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 9h 57m",
|
||||
"notes": "Venta local en Valencia - Ruzafa",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"orchestration_run": null,
|
||||
"alerts": []
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"location": {
|
||||
"id": "D0000000-0000-4000-a000-000000000001",
|
||||
"parent_tenant_id": "80000000-0000-4000-a000-000000000001",
|
||||
"name": "Seville - Triana",
|
||||
"location_code": "SEV",
|
||||
"city": "Seville",
|
||||
"zone": "Triana",
|
||||
"address": "Calle Betis, 15",
|
||||
"postal_code": "41010",
|
||||
"country": "España",
|
||||
"latitude": 37.3828,
|
||||
"longitude": -6.0026,
|
||||
"status": "ACTIVE",
|
||||
"opening_hours": "07:00-21:00",
|
||||
"daily_capacity": 1800,
|
||||
"storage_capacity_kg": 1000,
|
||||
"created_at": "2024-06-01T00:00:00Z",
|
||||
"enterprise_location": true,
|
||||
"location_type": "retail",
|
||||
"staff_count": 9,
|
||||
"description": "Traditional Andalusian location with local specialties"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"users": [
|
||||
{
|
||||
"id": "0b06b4a6-4d5b-5f62-8a66-76a2a7c4510d",
|
||||
"tenant_id": "D0000000-0000-4000-a000-000000000001",
|
||||
"name": "Gerente Seville - Triana",
|
||||
"email": "gerente.d0000000-0000-4000-a000-000000000001@panaderiaartesana.es",
|
||||
"role": "manager",
|
||||
"is_active": true,
|
||||
"created_at": "BASE_TS - 180d",
|
||||
"updated_at": "BASE_TS - 180d"
|
||||
},
|
||||
{
|
||||
"id": "281b76ff-3b06-557d-b2a5-3757d874a85f",
|
||||
"tenant_id": "D0000000-0000-4000-a000-000000000001",
|
||||
"name": "Empleado Seville - Triana",
|
||||
"email": "empleado.d0000000-0000-4000-a000-000000000001@panaderiaartesana.es",
|
||||
"role": "user",
|
||||
"is_active": true,
|
||||
"created_at": "BASE_TS - 150d",
|
||||
"updated_at": "BASE_TS - 150d"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,242 @@
|
||||
{
|
||||
"stock": [
|
||||
{
|
||||
"id": "11bf4708-93b9-4249-a582-32d366ee1e13",
|
||||
"tenant_id": "D0000000-0000-4000-a000-000000000001",
|
||||
"ingredient_id": "10000000-0000-0000-0000-000000000001",
|
||||
"production_stage": "raw_ingredient",
|
||||
"quality_status": "APPROVED",
|
||||
"expiration_date": "BASE_TS + 1d 6h",
|
||||
"supplier_id": "40000000-0000-0000-0000-000000000001",
|
||||
"batch_number": "SEV-PRO-20250116-001",
|
||||
"created_at": "BASE_TS - 6h",
|
||||
"current_quantity": 28.0,
|
||||
"reserved_quantity": 0.0,
|
||||
"available_quantity": 28.0,
|
||||
"storage_location": "Seville - Triana - Display Area",
|
||||
"updated_at": "BASE_TS - 6h",
|
||||
"is_available": true,
|
||||
"is_expired": false
|
||||
},
|
||||
{
|
||||
"id": "b806a1fd-aa88-40cd-aac5-7cf075029b39",
|
||||
"tenant_id": "D0000000-0000-4000-a000-000000000001",
|
||||
"ingredient_id": "10000000-0000-0000-0000-000000000002",
|
||||
"production_stage": "raw_ingredient",
|
||||
"quality_status": "APPROVED",
|
||||
"expiration_date": "BASE_TS + 1d 6h",
|
||||
"supplier_id": "40000000-0000-0000-0000-000000000001",
|
||||
"batch_number": "SEV-PRO-20250116-002",
|
||||
"created_at": "BASE_TS - 6h",
|
||||
"current_quantity": 31.5,
|
||||
"reserved_quantity": 0.0,
|
||||
"available_quantity": 31.5,
|
||||
"storage_location": "Seville - Triana - Display Area",
|
||||
"updated_at": "BASE_TS - 6h",
|
||||
"is_available": true,
|
||||
"is_expired": false
|
||||
},
|
||||
{
|
||||
"id": "4f9f63ff-979f-4bf3-bff0-2a287504614c",
|
||||
"tenant_id": "D0000000-0000-4000-a000-000000000001",
|
||||
"ingredient_id": "10000000-0000-0000-0000-000000000003",
|
||||
"production_stage": "raw_ingredient",
|
||||
"quality_status": "APPROVED",
|
||||
"expiration_date": "BASE_TS + 1d 6h",
|
||||
"supplier_id": "40000000-0000-0000-0000-000000000001",
|
||||
"batch_number": "SEV-PRO-20250116-003",
|
||||
"created_at": "BASE_TS - 6h",
|
||||
"current_quantity": 35.0,
|
||||
"reserved_quantity": 0.0,
|
||||
"available_quantity": 35.0,
|
||||
"storage_location": "Seville - Triana - Display Area",
|
||||
"updated_at": "BASE_TS - 6h",
|
||||
"is_available": true,
|
||||
"is_expired": false
|
||||
},
|
||||
{
|
||||
"id": "518e55d1-8d99-4634-9bbc-9edf61ec3a93",
|
||||
"tenant_id": "D0000000-0000-4000-a000-000000000001",
|
||||
"ingredient_id": "10000000-0000-0000-0000-000000000004",
|
||||
"production_stage": "raw_ingredient",
|
||||
"quality_status": "APPROVED",
|
||||
"expiration_date": "BASE_TS + 1d 6h",
|
||||
"supplier_id": "40000000-0000-0000-0000-000000000001",
|
||||
"batch_number": "SEV-PRO-20250116-004",
|
||||
"created_at": "BASE_TS - 6h",
|
||||
"current_quantity": 38.5,
|
||||
"reserved_quantity": 0.0,
|
||||
"available_quantity": 38.5,
|
||||
"storage_location": "Seville - Triana - Display Area",
|
||||
"updated_at": "BASE_TS - 6h",
|
||||
"is_available": true,
|
||||
"is_expired": false
|
||||
}
|
||||
],
|
||||
"ingredients": [
|
||||
{
|
||||
"id": "10000000-0000-0000-0000-000000000001",
|
||||
"tenant_id": "D0000000-0000-4000-a000-000000000001",
|
||||
"name": "Harina de Trigo T55",
|
||||
"sku": "HAR-T55-ENT-001",
|
||||
"barcode": null,
|
||||
"product_type": "INGREDIENT",
|
||||
"ingredient_category": "FLOUR",
|
||||
"product_category": "BREAD",
|
||||
"subcategory": null,
|
||||
"description": "Harina de trigo refinada tipo 55, ideal para panes tradicionales y bollería",
|
||||
"brand": "Molinos San José - Enterprise Grade",
|
||||
"unit_of_measure": "KILOGRAMS",
|
||||
"package_size": null,
|
||||
"average_cost": 0.78,
|
||||
"last_purchase_price": null,
|
||||
"standard_cost": null,
|
||||
"low_stock_threshold": 700.0,
|
||||
"reorder_point": 1050.0,
|
||||
"reorder_quantity": null,
|
||||
"max_stock_level": null,
|
||||
"shelf_life_days": null,
|
||||
"display_life_hours": null,
|
||||
"best_before_hours": null,
|
||||
"storage_instructions": null,
|
||||
"central_baker_product_code": null,
|
||||
"delivery_days": null,
|
||||
"minimum_order_quantity": null,
|
||||
"pack_size": null,
|
||||
"is_active": true,
|
||||
"is_perishable": false,
|
||||
"allergen_info": [
|
||||
"gluten"
|
||||
],
|
||||
"nutritional_info": null,
|
||||
"produced_locally": false,
|
||||
"recipe_id": null,
|
||||
"created_at": "BASE_TS",
|
||||
"updated_at": "BASE_TS",
|
||||
"created_by": "ae38accc-1ad4-410d-adbc-a55630908924"
|
||||
},
|
||||
{
|
||||
"id": "10000000-0000-0000-0000-000000000002",
|
||||
"tenant_id": "D0000000-0000-4000-a000-000000000001",
|
||||
"name": "Harina de Trigo T65",
|
||||
"sku": "HAR-T65-ENT-002",
|
||||
"barcode": null,
|
||||
"product_type": "INGREDIENT",
|
||||
"ingredient_category": "FLOUR",
|
||||
"product_category": "BREAD",
|
||||
"subcategory": null,
|
||||
"description": "Harina de trigo semi-integral tipo 65, perfecta para panes rústicos",
|
||||
"brand": "Molinos San José - Enterprise Grade",
|
||||
"unit_of_measure": "KILOGRAMS",
|
||||
"package_size": null,
|
||||
"average_cost": 0.87,
|
||||
"last_purchase_price": null,
|
||||
"standard_cost": null,
|
||||
"low_stock_threshold": 560.0,
|
||||
"reorder_point": 840.0,
|
||||
"reorder_quantity": null,
|
||||
"max_stock_level": null,
|
||||
"shelf_life_days": null,
|
||||
"display_life_hours": null,
|
||||
"best_before_hours": null,
|
||||
"storage_instructions": null,
|
||||
"central_baker_product_code": null,
|
||||
"delivery_days": null,
|
||||
"minimum_order_quantity": null,
|
||||
"pack_size": null,
|
||||
"is_active": true,
|
||||
"is_perishable": false,
|
||||
"allergen_info": [
|
||||
"gluten"
|
||||
],
|
||||
"nutritional_info": null,
|
||||
"produced_locally": false,
|
||||
"recipe_id": null,
|
||||
"created_at": "BASE_TS",
|
||||
"updated_at": "BASE_TS",
|
||||
"created_by": "ae38accc-1ad4-410d-adbc-a55630908924"
|
||||
},
|
||||
{
|
||||
"id": "10000000-0000-0000-0000-000000000003",
|
||||
"tenant_id": "D0000000-0000-4000-a000-000000000001",
|
||||
"name": "Harina de Fuerza W300",
|
||||
"sku": "HAR-FUE-003",
|
||||
"barcode": null,
|
||||
"product_type": "INGREDIENT",
|
||||
"ingredient_category": "FLOUR",
|
||||
"product_category": "BREAD",
|
||||
"subcategory": null,
|
||||
"description": "Harina de gran fuerza W300, ideal para masas con alta hidratación",
|
||||
"brand": "Harinas Premium - Enterprise Grade",
|
||||
"unit_of_measure": "KILOGRAMS",
|
||||
"package_size": null,
|
||||
"average_cost": 1.06,
|
||||
"last_purchase_price": null,
|
||||
"standard_cost": null,
|
||||
"low_stock_threshold": 350.0,
|
||||
"reorder_point": 560.0,
|
||||
"reorder_quantity": null,
|
||||
"max_stock_level": null,
|
||||
"shelf_life_days": null,
|
||||
"display_life_hours": null,
|
||||
"best_before_hours": null,
|
||||
"storage_instructions": null,
|
||||
"central_baker_product_code": null,
|
||||
"delivery_days": null,
|
||||
"minimum_order_quantity": null,
|
||||
"pack_size": null,
|
||||
"is_active": true,
|
||||
"is_perishable": false,
|
||||
"allergen_info": [
|
||||
"gluten"
|
||||
],
|
||||
"nutritional_info": null,
|
||||
"produced_locally": false,
|
||||
"recipe_id": null,
|
||||
"created_at": "BASE_TS",
|
||||
"updated_at": "BASE_TS",
|
||||
"created_by": "ae38accc-1ad4-410d-adbc-a55630908924"
|
||||
},
|
||||
{
|
||||
"id": "10000000-0000-0000-0000-000000000004",
|
||||
"tenant_id": "D0000000-0000-4000-a000-000000000001",
|
||||
"name": "Harina Integral de Trigo",
|
||||
"sku": "HAR-INT-004",
|
||||
"barcode": null,
|
||||
"product_type": "INGREDIENT",
|
||||
"ingredient_category": "FLOUR",
|
||||
"product_category": "BREAD",
|
||||
"subcategory": null,
|
||||
"description": "Harina integral 100% con salvado, rica en fibra",
|
||||
"brand": "Bio Cereales - Enterprise Grade",
|
||||
"unit_of_measure": "KILOGRAMS",
|
||||
"package_size": null,
|
||||
"average_cost": 1.1,
|
||||
"last_purchase_price": null,
|
||||
"standard_cost": null,
|
||||
"low_stock_threshold": 420.0,
|
||||
"reorder_point": 630.0,
|
||||
"reorder_quantity": null,
|
||||
"max_stock_level": null,
|
||||
"shelf_life_days": null,
|
||||
"display_life_hours": null,
|
||||
"best_before_hours": null,
|
||||
"storage_instructions": null,
|
||||
"central_baker_product_code": null,
|
||||
"delivery_days": null,
|
||||
"minimum_order_quantity": null,
|
||||
"pack_size": null,
|
||||
"is_active": true,
|
||||
"is_perishable": false,
|
||||
"allergen_info": [
|
||||
"gluten"
|
||||
],
|
||||
"nutritional_info": null,
|
||||
"produced_locally": false,
|
||||
"recipe_id": null,
|
||||
"created_at": "BASE_TS",
|
||||
"updated_at": "BASE_TS",
|
||||
"created_by": "ae38accc-1ad4-410d-adbc-a55630908924"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"recipes": [],
|
||||
"recipe_ingredients": [],
|
||||
"recipe_instructions": []
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"suppliers": []
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
{
|
||||
"equipment": [],
|
||||
"quality_check_templates": [],
|
||||
"quality_checks": [],
|
||||
"batches": [
|
||||
{
|
||||
"id": "50000001-0000-4000-a000-000000000001",
|
||||
"tenant_id": "D0000000-0000-4000-a000-000000000001",
|
||||
"recipe_id": "30000000-0000-0000-0000-000000000001",
|
||||
"product_id": "20000000-0000-0000-0000-000000000001",
|
||||
"batch_number": "BATCH-D000-0001",
|
||||
"status": "completed",
|
||||
"quantity_produced": 50,
|
||||
"quantity_good": 50,
|
||||
"quantity_defective": 0,
|
||||
"production_date": "BASE_TS - 1d",
|
||||
"expiration_date": "BASE_TS + 2d",
|
||||
"production_line": "Linea 1",
|
||||
"shift": "morning",
|
||||
"produced_by": "ae38accc-1ad4-410d-adbc-a55630908924",
|
||||
"approved_by": "80765906-0074-4206-8f58-5867df1975fd",
|
||||
"created_at": "BASE_TS - 1d",
|
||||
"updated_at": "BASE_TS - 1d",
|
||||
"is_active": true,
|
||||
"ingredients": [
|
||||
{
|
||||
"ingredient_id": "10000000-0000-0000-0000-000000000001",
|
||||
"quantity_used": 25.0,
|
||||
"unit": "kg"
|
||||
}
|
||||
],
|
||||
"product_name": "Baguette Tradicional",
|
||||
"planned_start_time": "BASE_TS",
|
||||
"planned_end_time": "BASE_TS + 4h",
|
||||
"actual_start_time": "BASE_TS - 1d",
|
||||
"actual_end_time": "BASE_TS - 1d + 4h",
|
||||
"planned_quantity": 50.0,
|
||||
"planned_duration_minutes": 240
|
||||
},
|
||||
{
|
||||
"id": "50000002-0000-4000-a000-000000000001",
|
||||
"tenant_id": "D0000000-0000-4000-a000-000000000001",
|
||||
"recipe_id": "30000000-0000-0000-0000-000000000002",
|
||||
"product_id": "20000000-0000-0000-0000-000000000002",
|
||||
"batch_number": "BATCH-D000-0002",
|
||||
"status": "completed",
|
||||
"quantity_produced": 60,
|
||||
"quantity_good": 60,
|
||||
"quantity_defective": 0,
|
||||
"production_date": "BASE_TS - 2d",
|
||||
"expiration_date": "BASE_TS + 1d",
|
||||
"production_line": "Linea 2",
|
||||
"shift": "morning",
|
||||
"produced_by": "ae38accc-1ad4-410d-adbc-a55630908924",
|
||||
"approved_by": "80765906-0074-4206-8f58-5867df1975fd",
|
||||
"created_at": "BASE_TS - 2d",
|
||||
"updated_at": "BASE_TS - 2d",
|
||||
"is_active": true,
|
||||
"ingredients": [
|
||||
{
|
||||
"ingredient_id": "10000000-0000-0000-0000-000000000001",
|
||||
"quantity_used": 30.0,
|
||||
"unit": "kg"
|
||||
}
|
||||
],
|
||||
"product_name": "Croissant de Mantequilla",
|
||||
"planned_start_time": "BASE_TS",
|
||||
"planned_end_time": "BASE_TS + 4h",
|
||||
"actual_start_time": "BASE_TS - 1d",
|
||||
"actual_end_time": "BASE_TS - 1d + 4h",
|
||||
"planned_quantity": 50.0,
|
||||
"planned_duration_minutes": 240
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"purchase_orders": [],
|
||||
"purchase_order_items": []
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
{
|
||||
"customers": [
|
||||
{
|
||||
"id": "60000000-0000-0000-0000-000000000001",
|
||||
"tenant_id": "D0000000-0000-4000-a000-000000000001",
|
||||
"customer_code": "CUST-001",
|
||||
"name": "Restaurante El Buen Yantar - Seville",
|
||||
"customer_type": "WHOLESALE",
|
||||
"contact_person": "Luis Gómez",
|
||||
"email": "compras@buenyantar.es",
|
||||
"phone": "+34 912 345 678",
|
||||
"address": "Calle Mayor, 45",
|
||||
"city": "Seville",
|
||||
"postal_code": "41013",
|
||||
"country": "España",
|
||||
"status": "ACTIVE",
|
||||
"total_orders": 45,
|
||||
"total_spent": 3250.75,
|
||||
"created_at": "BASE_TS",
|
||||
"notes": "Regular wholesale customer - weekly orders"
|
||||
},
|
||||
{
|
||||
"id": "60000000-0000-0000-0000-000000000002",
|
||||
"tenant_id": "D0000000-0000-4000-a000-000000000001",
|
||||
"customer_code": "CUST-002",
|
||||
"name": "Cafetería La Esquina - Seville",
|
||||
"customer_type": "RETAIL",
|
||||
"contact_person": "Marta Ruiz",
|
||||
"email": "cafeteria@laesquina.com",
|
||||
"phone": "+34 913 456 789",
|
||||
"address": "Plaza del Sol, 12",
|
||||
"city": "Seville",
|
||||
"postal_code": "41012",
|
||||
"country": "España",
|
||||
"status": "ACTIVE",
|
||||
"total_orders": 12,
|
||||
"total_spent": 850.2,
|
||||
"created_at": "BASE_TS",
|
||||
"notes": "Small retail customer - biweekly orders"
|
||||
}
|
||||
],
|
||||
"customer_orders": [],
|
||||
"order_items": []
|
||||
}
|
||||
@@ -0,0 +1,274 @@
|
||||
{
|
||||
"sales_data": [
|
||||
{
|
||||
"id": "0a141dbd-fd05-4686-8996-a9e122b83440",
|
||||
"tenant_id": "D0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 16h 0m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000001",
|
||||
"quantity_sold": 2,
|
||||
"unit_price": 0.9,
|
||||
"total_revenue": 1.8,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "cash",
|
||||
"created_at": "BASE_TS - 16h 0m",
|
||||
"notes": "Venta local en Seville - Triana",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "ee377244-f94f-4679-b6dd-eecdd554b6ef",
|
||||
"tenant_id": "D0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 15h 3m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000002",
|
||||
"quantity_sold": 3,
|
||||
"unit_price": 1.39,
|
||||
"total_revenue": 4.16,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 15h 3m",
|
||||
"notes": "Venta local en Seville - Triana",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "6ecade43-3bb3-4ce1-ab16-0705c215d9bd",
|
||||
"tenant_id": "D0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 14h 6m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000003",
|
||||
"quantity_sold": 4,
|
||||
"unit_price": 3.74,
|
||||
"total_revenue": 14.96,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 14h 6m",
|
||||
"notes": "Venta local en Seville - Triana",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "b9a3d1b9-90a7-4efb-bc5d-8a3e7b9c5fdd",
|
||||
"tenant_id": "D0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 13h 9m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000004",
|
||||
"quantity_sold": 5,
|
||||
"unit_price": 1.45,
|
||||
"total_revenue": 7.26,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 13h 9m",
|
||||
"notes": "Venta local en Seville - Triana",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "1287736a-08d8-4d77-8de3-55b82427dc5e",
|
||||
"tenant_id": "D0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 12h 12m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000001",
|
||||
"quantity_sold": 6,
|
||||
"unit_price": 0.9,
|
||||
"total_revenue": 5.41,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "cash",
|
||||
"created_at": "BASE_TS - 12h 12m",
|
||||
"notes": "Venta local en Seville - Triana",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "e6bcfc7d-00b5-4af5-8783-2f9e47fadfb8",
|
||||
"tenant_id": "D0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 11h 15m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000002",
|
||||
"quantity_sold": 2,
|
||||
"unit_price": 1.39,
|
||||
"total_revenue": 2.77,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 11h 15m",
|
||||
"notes": "Venta local en Seville - Triana",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "3ca59ae9-750d-4f4a-a8ad-d9d6b334ec51",
|
||||
"tenant_id": "D0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 10h 18m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000003",
|
||||
"quantity_sold": 3,
|
||||
"unit_price": 3.74,
|
||||
"total_revenue": 11.22,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 10h 18m",
|
||||
"notes": "Venta local en Seville - Triana",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "fdd72396-5243-4bc7-a2f4-f0fb0531098d",
|
||||
"tenant_id": "D0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 9h 21m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000004",
|
||||
"quantity_sold": 4,
|
||||
"unit_price": 1.45,
|
||||
"total_revenue": 5.81,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 9h 21m",
|
||||
"notes": "Venta local en Seville - Triana",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "7aed7d6f-51c7-472a-9a60-730de1b59a4a",
|
||||
"tenant_id": "D0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 8h 24m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000001",
|
||||
"quantity_sold": 5,
|
||||
"unit_price": 0.9,
|
||||
"total_revenue": 4.51,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "cash",
|
||||
"created_at": "BASE_TS - 8h 24m",
|
||||
"notes": "Venta local en Seville - Triana",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "59f0511c-b8f6-4163-b0a0-3689cd12d0c9",
|
||||
"tenant_id": "D0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 7h 27m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000002",
|
||||
"quantity_sold": 6,
|
||||
"unit_price": 1.39,
|
||||
"total_revenue": 8.32,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 7h 27m",
|
||||
"notes": "Venta local en Seville - Triana",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "9667e561-46c9-459b-aaaa-cb54167a59f6",
|
||||
"tenant_id": "D0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 6h 30m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000003",
|
||||
"quantity_sold": 2,
|
||||
"unit_price": 3.74,
|
||||
"total_revenue": 7.48,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 6h 30m",
|
||||
"notes": "Venta local en Seville - Triana",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "22d24b17-d63d-45d4-92ba-36087ff1eb8b",
|
||||
"tenant_id": "D0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 5h 33m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000004",
|
||||
"quantity_sold": 3,
|
||||
"unit_price": 1.45,
|
||||
"total_revenue": 4.36,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 5h 33m",
|
||||
"notes": "Venta local en Seville - Triana",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "644a08ba-c78e-4e18-9f32-6cf89a0c3087",
|
||||
"tenant_id": "D0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 16h 36m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000001",
|
||||
"quantity_sold": 4,
|
||||
"unit_price": 0.9,
|
||||
"total_revenue": 3.61,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "cash",
|
||||
"created_at": "BASE_TS - 16h 36m",
|
||||
"notes": "Venta local en Seville - Triana",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "2c0d30b4-d038-4106-aa94-547e2544e103",
|
||||
"tenant_id": "D0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 15h 39m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000002",
|
||||
"quantity_sold": 5,
|
||||
"unit_price": 1.39,
|
||||
"total_revenue": 6.93,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 15h 39m",
|
||||
"notes": "Venta local en Seville - Triana",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "e6a10396-acdb-4ed7-9b77-f9e8b124e071",
|
||||
"tenant_id": "D0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 14h 42m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000003",
|
||||
"quantity_sold": 6,
|
||||
"unit_price": 3.74,
|
||||
"total_revenue": 22.44,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 14h 42m",
|
||||
"notes": "Venta local en Seville - Triana",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "fcddb2ce-a3b4-43b6-b6bb-775a3a9b82e2",
|
||||
"tenant_id": "D0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 13h 45m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000004",
|
||||
"quantity_sold": 2,
|
||||
"unit_price": 1.45,
|
||||
"total_revenue": 2.9,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 13h 45m",
|
||||
"notes": "Venta local en Seville - Triana",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "a3e4973c-6a34-4bfb-b32b-26860de7b5d8",
|
||||
"tenant_id": "D0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 12h 48m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000001",
|
||||
"quantity_sold": 3,
|
||||
"unit_price": 0.9,
|
||||
"total_revenue": 2.71,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "cash",
|
||||
"created_at": "BASE_TS - 12h 48m",
|
||||
"notes": "Venta local en Seville - Triana",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "7ea27a36-819f-475d-a621-915e282c4502",
|
||||
"tenant_id": "D0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 11h 51m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000002",
|
||||
"quantity_sold": 4,
|
||||
"unit_price": 1.39,
|
||||
"total_revenue": 5.54,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 11h 51m",
|
||||
"notes": "Venta local en Seville - Triana",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"orchestration_run": null,
|
||||
"alerts": []
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"location": {
|
||||
"id": "E0000000-0000-4000-a000-000000000001",
|
||||
"parent_tenant_id": "80000000-0000-4000-a000-000000000001",
|
||||
"name": "Bilbao - Casco Viejo",
|
||||
"location_code": "BIL",
|
||||
"city": "Bilbao",
|
||||
"zone": "Casco Viejo",
|
||||
"address": "Calle Somera, 8",
|
||||
"postal_code": "48005",
|
||||
"country": "España",
|
||||
"latitude": 43.2567,
|
||||
"longitude": -2.9272,
|
||||
"status": "ACTIVE",
|
||||
"opening_hours": "07:00-21:00",
|
||||
"daily_capacity": 1500,
|
||||
"storage_capacity_kg": 900,
|
||||
"created_at": "2024-06-01T00:00:00Z",
|
||||
"enterprise_location": true,
|
||||
"location_type": "retail",
|
||||
"staff_count": 8,
|
||||
"description": "Basque region location with focus on quality and local culture"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"users": [
|
||||
{
|
||||
"id": "944f50dd-b6d8-57a1-af87-20bfc1052c75",
|
||||
"tenant_id": "E0000000-0000-4000-a000-000000000001",
|
||||
"name": "Gerente Bilbao - Casco Viejo",
|
||||
"email": "gerente.e0000000-0000-4000-a000-000000000001@panaderiaartesana.es",
|
||||
"role": "manager",
|
||||
"is_active": true,
|
||||
"created_at": "BASE_TS - 180d",
|
||||
"updated_at": "BASE_TS - 180d"
|
||||
},
|
||||
{
|
||||
"id": "26e92f43-d03c-5fd7-99da-c54b319f8cb3",
|
||||
"tenant_id": "E0000000-0000-4000-a000-000000000001",
|
||||
"name": "Empleado Bilbao - Casco Viejo",
|
||||
"email": "empleado.e0000000-0000-4000-a000-000000000001@panaderiaartesana.es",
|
||||
"role": "user",
|
||||
"is_active": true,
|
||||
"created_at": "BASE_TS - 150d",
|
||||
"updated_at": "BASE_TS - 150d"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,242 @@
|
||||
{
|
||||
"stock": [
|
||||
{
|
||||
"id": "e85b30cf-832f-4491-a646-156dd52e9e39",
|
||||
"tenant_id": "E0000000-0000-4000-a000-000000000001",
|
||||
"ingredient_id": "10000000-0000-0000-0000-000000000001",
|
||||
"production_stage": "raw_ingredient",
|
||||
"quality_status": "APPROVED",
|
||||
"expiration_date": "BASE_TS + 1d 6h",
|
||||
"supplier_id": "40000000-0000-0000-0000-000000000001",
|
||||
"batch_number": "BIL-PRO-20250116-001",
|
||||
"created_at": "BASE_TS - 6h",
|
||||
"current_quantity": 20.0,
|
||||
"reserved_quantity": 0.0,
|
||||
"available_quantity": 20.0,
|
||||
"storage_location": "Bilbao - Casco Viejo - Display Area",
|
||||
"updated_at": "BASE_TS - 6h",
|
||||
"is_available": true,
|
||||
"is_expired": false
|
||||
},
|
||||
{
|
||||
"id": "d117af21-52d9-4015-aa85-4ff260f5c88c",
|
||||
"tenant_id": "E0000000-0000-4000-a000-000000000001",
|
||||
"ingredient_id": "10000000-0000-0000-0000-000000000002",
|
||||
"production_stage": "raw_ingredient",
|
||||
"quality_status": "APPROVED",
|
||||
"expiration_date": "BASE_TS + 1d 6h",
|
||||
"supplier_id": "40000000-0000-0000-0000-000000000001",
|
||||
"batch_number": "BIL-PRO-20250116-002",
|
||||
"created_at": "BASE_TS - 6h",
|
||||
"current_quantity": 22.5,
|
||||
"reserved_quantity": 0.0,
|
||||
"available_quantity": 22.5,
|
||||
"storage_location": "Bilbao - Casco Viejo - Display Area",
|
||||
"updated_at": "BASE_TS - 6h",
|
||||
"is_available": true,
|
||||
"is_expired": false
|
||||
},
|
||||
{
|
||||
"id": "c3c5ffa9-33bc-4a5d-9cfe-981541799ed5",
|
||||
"tenant_id": "E0000000-0000-4000-a000-000000000001",
|
||||
"ingredient_id": "10000000-0000-0000-0000-000000000003",
|
||||
"production_stage": "raw_ingredient",
|
||||
"quality_status": "APPROVED",
|
||||
"expiration_date": "BASE_TS + 1d 6h",
|
||||
"supplier_id": "40000000-0000-0000-0000-000000000001",
|
||||
"batch_number": "BIL-PRO-20250116-003",
|
||||
"created_at": "BASE_TS - 6h",
|
||||
"current_quantity": 25.0,
|
||||
"reserved_quantity": 0.0,
|
||||
"available_quantity": 25.0,
|
||||
"storage_location": "Bilbao - Casco Viejo - Display Area",
|
||||
"updated_at": "BASE_TS - 6h",
|
||||
"is_available": true,
|
||||
"is_expired": false
|
||||
},
|
||||
{
|
||||
"id": "269aaab9-06c3-4bdc-8277-5a3c659f4346",
|
||||
"tenant_id": "E0000000-0000-4000-a000-000000000001",
|
||||
"ingredient_id": "10000000-0000-0000-0000-000000000004",
|
||||
"production_stage": "raw_ingredient",
|
||||
"quality_status": "APPROVED",
|
||||
"expiration_date": "BASE_TS + 1d 6h",
|
||||
"supplier_id": "40000000-0000-0000-0000-000000000001",
|
||||
"batch_number": "BIL-PRO-20250116-004",
|
||||
"created_at": "BASE_TS - 6h",
|
||||
"current_quantity": 27.5,
|
||||
"reserved_quantity": 0.0,
|
||||
"available_quantity": 27.5,
|
||||
"storage_location": "Bilbao - Casco Viejo - Display Area",
|
||||
"updated_at": "BASE_TS - 6h",
|
||||
"is_available": true,
|
||||
"is_expired": false
|
||||
}
|
||||
],
|
||||
"ingredients": [
|
||||
{
|
||||
"id": "10000000-0000-0000-0000-000000000001",
|
||||
"tenant_id": "E0000000-0000-4000-a000-000000000001",
|
||||
"name": "Harina de Trigo T55",
|
||||
"sku": "HAR-T55-ENT-001",
|
||||
"barcode": null,
|
||||
"product_type": "INGREDIENT",
|
||||
"ingredient_category": "FLOUR",
|
||||
"product_category": "BREAD",
|
||||
"subcategory": null,
|
||||
"description": "Harina de trigo refinada tipo 55, ideal para panes tradicionales y bollería",
|
||||
"brand": "Molinos San José - Enterprise Grade",
|
||||
"unit_of_measure": "KILOGRAMS",
|
||||
"package_size": null,
|
||||
"average_cost": 0.78,
|
||||
"last_purchase_price": null,
|
||||
"standard_cost": null,
|
||||
"low_stock_threshold": 700.0,
|
||||
"reorder_point": 1050.0,
|
||||
"reorder_quantity": null,
|
||||
"max_stock_level": null,
|
||||
"shelf_life_days": null,
|
||||
"display_life_hours": null,
|
||||
"best_before_hours": null,
|
||||
"storage_instructions": null,
|
||||
"central_baker_product_code": null,
|
||||
"delivery_days": null,
|
||||
"minimum_order_quantity": null,
|
||||
"pack_size": null,
|
||||
"is_active": true,
|
||||
"is_perishable": false,
|
||||
"allergen_info": [
|
||||
"gluten"
|
||||
],
|
||||
"nutritional_info": null,
|
||||
"produced_locally": false,
|
||||
"recipe_id": null,
|
||||
"created_at": "BASE_TS",
|
||||
"updated_at": "BASE_TS",
|
||||
"created_by": "ae38accc-1ad4-410d-adbc-a55630908924"
|
||||
},
|
||||
{
|
||||
"id": "10000000-0000-0000-0000-000000000002",
|
||||
"tenant_id": "E0000000-0000-4000-a000-000000000001",
|
||||
"name": "Harina de Trigo T65",
|
||||
"sku": "HAR-T65-ENT-002",
|
||||
"barcode": null,
|
||||
"product_type": "INGREDIENT",
|
||||
"ingredient_category": "FLOUR",
|
||||
"product_category": "BREAD",
|
||||
"subcategory": null,
|
||||
"description": "Harina de trigo semi-integral tipo 65, perfecta para panes rústicos",
|
||||
"brand": "Molinos San José - Enterprise Grade",
|
||||
"unit_of_measure": "KILOGRAMS",
|
||||
"package_size": null,
|
||||
"average_cost": 0.87,
|
||||
"last_purchase_price": null,
|
||||
"standard_cost": null,
|
||||
"low_stock_threshold": 560.0,
|
||||
"reorder_point": 840.0,
|
||||
"reorder_quantity": null,
|
||||
"max_stock_level": null,
|
||||
"shelf_life_days": null,
|
||||
"display_life_hours": null,
|
||||
"best_before_hours": null,
|
||||
"storage_instructions": null,
|
||||
"central_baker_product_code": null,
|
||||
"delivery_days": null,
|
||||
"minimum_order_quantity": null,
|
||||
"pack_size": null,
|
||||
"is_active": true,
|
||||
"is_perishable": false,
|
||||
"allergen_info": [
|
||||
"gluten"
|
||||
],
|
||||
"nutritional_info": null,
|
||||
"produced_locally": false,
|
||||
"recipe_id": null,
|
||||
"created_at": "BASE_TS",
|
||||
"updated_at": "BASE_TS",
|
||||
"created_by": "ae38accc-1ad4-410d-adbc-a55630908924"
|
||||
},
|
||||
{
|
||||
"id": "10000000-0000-0000-0000-000000000003",
|
||||
"tenant_id": "E0000000-0000-4000-a000-000000000001",
|
||||
"name": "Harina de Fuerza W300",
|
||||
"sku": "HAR-FUE-003",
|
||||
"barcode": null,
|
||||
"product_type": "INGREDIENT",
|
||||
"ingredient_category": "FLOUR",
|
||||
"product_category": "BREAD",
|
||||
"subcategory": null,
|
||||
"description": "Harina de gran fuerza W300, ideal para masas con alta hidratación",
|
||||
"brand": "Harinas Premium - Enterprise Grade",
|
||||
"unit_of_measure": "KILOGRAMS",
|
||||
"package_size": null,
|
||||
"average_cost": 1.06,
|
||||
"last_purchase_price": null,
|
||||
"standard_cost": null,
|
||||
"low_stock_threshold": 350.0,
|
||||
"reorder_point": 560.0,
|
||||
"reorder_quantity": null,
|
||||
"max_stock_level": null,
|
||||
"shelf_life_days": null,
|
||||
"display_life_hours": null,
|
||||
"best_before_hours": null,
|
||||
"storage_instructions": null,
|
||||
"central_baker_product_code": null,
|
||||
"delivery_days": null,
|
||||
"minimum_order_quantity": null,
|
||||
"pack_size": null,
|
||||
"is_active": true,
|
||||
"is_perishable": false,
|
||||
"allergen_info": [
|
||||
"gluten"
|
||||
],
|
||||
"nutritional_info": null,
|
||||
"produced_locally": false,
|
||||
"recipe_id": null,
|
||||
"created_at": "BASE_TS",
|
||||
"updated_at": "BASE_TS",
|
||||
"created_by": "ae38accc-1ad4-410d-adbc-a55630908924"
|
||||
},
|
||||
{
|
||||
"id": "10000000-0000-0000-0000-000000000004",
|
||||
"tenant_id": "E0000000-0000-4000-a000-000000000001",
|
||||
"name": "Harina Integral de Trigo",
|
||||
"sku": "HAR-INT-004",
|
||||
"barcode": null,
|
||||
"product_type": "INGREDIENT",
|
||||
"ingredient_category": "FLOUR",
|
||||
"product_category": "BREAD",
|
||||
"subcategory": null,
|
||||
"description": "Harina integral 100% con salvado, rica en fibra",
|
||||
"brand": "Bio Cereales - Enterprise Grade",
|
||||
"unit_of_measure": "KILOGRAMS",
|
||||
"package_size": null,
|
||||
"average_cost": 1.1,
|
||||
"last_purchase_price": null,
|
||||
"standard_cost": null,
|
||||
"low_stock_threshold": 420.0,
|
||||
"reorder_point": 630.0,
|
||||
"reorder_quantity": null,
|
||||
"max_stock_level": null,
|
||||
"shelf_life_days": null,
|
||||
"display_life_hours": null,
|
||||
"best_before_hours": null,
|
||||
"storage_instructions": null,
|
||||
"central_baker_product_code": null,
|
||||
"delivery_days": null,
|
||||
"minimum_order_quantity": null,
|
||||
"pack_size": null,
|
||||
"is_active": true,
|
||||
"is_perishable": false,
|
||||
"allergen_info": [
|
||||
"gluten"
|
||||
],
|
||||
"nutritional_info": null,
|
||||
"produced_locally": false,
|
||||
"recipe_id": null,
|
||||
"created_at": "BASE_TS",
|
||||
"updated_at": "BASE_TS",
|
||||
"created_by": "ae38accc-1ad4-410d-adbc-a55630908924"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"recipes": [],
|
||||
"recipe_ingredients": [],
|
||||
"recipe_instructions": []
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"suppliers": []
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
{
|
||||
"equipment": [],
|
||||
"quality_check_templates": [],
|
||||
"quality_checks": [],
|
||||
"batches": [
|
||||
{
|
||||
"id": "50000001-0000-4000-a000-000000000001",
|
||||
"tenant_id": "E0000000-0000-4000-a000-000000000001",
|
||||
"recipe_id": "30000000-0000-0000-0000-000000000001",
|
||||
"product_id": "20000000-0000-0000-0000-000000000001",
|
||||
"batch_number": "BATCH-E000-0001",
|
||||
"status": "completed",
|
||||
"quantity_produced": 50,
|
||||
"quantity_good": 50,
|
||||
"quantity_defective": 0,
|
||||
"production_date": "BASE_TS - 1d",
|
||||
"expiration_date": "BASE_TS + 2d",
|
||||
"production_line": "Linea 1",
|
||||
"shift": "morning",
|
||||
"produced_by": "ae38accc-1ad4-410d-adbc-a55630908924",
|
||||
"approved_by": "80765906-0074-4206-8f58-5867df1975fd",
|
||||
"created_at": "BASE_TS - 1d",
|
||||
"updated_at": "BASE_TS - 1d",
|
||||
"is_active": true,
|
||||
"ingredients": [
|
||||
{
|
||||
"ingredient_id": "10000000-0000-0000-0000-000000000001",
|
||||
"quantity_used": 25.0,
|
||||
"unit": "kg"
|
||||
}
|
||||
],
|
||||
"product_name": "Baguette Tradicional",
|
||||
"planned_start_time": "BASE_TS",
|
||||
"planned_end_time": "BASE_TS + 4h",
|
||||
"actual_start_time": "BASE_TS - 1d",
|
||||
"actual_end_time": "BASE_TS - 1d + 4h",
|
||||
"planned_quantity": 50.0,
|
||||
"planned_duration_minutes": 240
|
||||
},
|
||||
{
|
||||
"id": "50000002-0000-4000-a000-000000000001",
|
||||
"tenant_id": "E0000000-0000-4000-a000-000000000001",
|
||||
"recipe_id": "30000000-0000-0000-0000-000000000002",
|
||||
"product_id": "20000000-0000-0000-0000-000000000002",
|
||||
"batch_number": "BATCH-E000-0002",
|
||||
"status": "completed",
|
||||
"quantity_produced": 60,
|
||||
"quantity_good": 60,
|
||||
"quantity_defective": 0,
|
||||
"production_date": "BASE_TS - 2d",
|
||||
"expiration_date": "BASE_TS + 1d",
|
||||
"production_line": "Linea 2",
|
||||
"shift": "morning",
|
||||
"produced_by": "ae38accc-1ad4-410d-adbc-a55630908924",
|
||||
"approved_by": "80765906-0074-4206-8f58-5867df1975fd",
|
||||
"created_at": "BASE_TS - 2d",
|
||||
"updated_at": "BASE_TS - 2d",
|
||||
"is_active": true,
|
||||
"ingredients": [
|
||||
{
|
||||
"ingredient_id": "10000000-0000-0000-0000-000000000001",
|
||||
"quantity_used": 30.0,
|
||||
"unit": "kg"
|
||||
}
|
||||
],
|
||||
"product_name": "Croissant de Mantequilla",
|
||||
"planned_start_time": "BASE_TS",
|
||||
"planned_end_time": "BASE_TS + 4h",
|
||||
"actual_start_time": "BASE_TS - 1d",
|
||||
"actual_end_time": "BASE_TS - 1d + 4h",
|
||||
"planned_quantity": 50.0,
|
||||
"planned_duration_minutes": 240
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"purchase_orders": [],
|
||||
"purchase_order_items": []
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
{
|
||||
"customers": [
|
||||
{
|
||||
"id": "60000000-0000-0000-0000-000000000001",
|
||||
"tenant_id": "E0000000-0000-4000-a000-000000000001",
|
||||
"customer_code": "CUST-001",
|
||||
"name": "Restaurante El Buen Yantar - Bilbao",
|
||||
"customer_type": "WHOLESALE",
|
||||
"contact_person": "Luis Gómez",
|
||||
"email": "compras@buenyantar.es",
|
||||
"phone": "+34 912 345 678",
|
||||
"address": "Calle Mayor, 45",
|
||||
"city": "Bilbao",
|
||||
"postal_code": "48013",
|
||||
"country": "España",
|
||||
"status": "ACTIVE",
|
||||
"total_orders": 45,
|
||||
"total_spent": 3250.75,
|
||||
"created_at": "BASE_TS",
|
||||
"notes": "Regular wholesale customer - weekly orders"
|
||||
},
|
||||
{
|
||||
"id": "60000000-0000-0000-0000-000000000002",
|
||||
"tenant_id": "E0000000-0000-4000-a000-000000000001",
|
||||
"customer_code": "CUST-002",
|
||||
"name": "Cafetería La Esquina - Bilbao",
|
||||
"customer_type": "RETAIL",
|
||||
"contact_person": "Marta Ruiz",
|
||||
"email": "cafeteria@laesquina.com",
|
||||
"phone": "+34 913 456 789",
|
||||
"address": "Plaza del Sol, 12",
|
||||
"city": "Bilbao",
|
||||
"postal_code": "48012",
|
||||
"country": "España",
|
||||
"status": "ACTIVE",
|
||||
"total_orders": 12,
|
||||
"total_spent": 850.2,
|
||||
"created_at": "BASE_TS",
|
||||
"notes": "Small retail customer - biweekly orders"
|
||||
}
|
||||
],
|
||||
"customer_orders": [],
|
||||
"order_items": []
|
||||
}
|
||||
@@ -0,0 +1,229 @@
|
||||
{
|
||||
"sales_data": [
|
||||
{
|
||||
"id": "6b021d81-0f78-4dda-af68-6ddbc721c06a",
|
||||
"tenant_id": "E0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 16h 0m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000001",
|
||||
"quantity_sold": 2,
|
||||
"unit_price": 0.9,
|
||||
"total_revenue": 1.8,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "cash",
|
||||
"created_at": "BASE_TS - 16h 0m",
|
||||
"notes": "Venta local en Bilbao - Casco Viejo",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "bee94849-b27c-4741-b896-491af67f24db",
|
||||
"tenant_id": "E0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 15h 3m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000002",
|
||||
"quantity_sold": 3,
|
||||
"unit_price": 1.39,
|
||||
"total_revenue": 4.16,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 15h 3m",
|
||||
"notes": "Venta local en Bilbao - Casco Viejo",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "8e97a063-4ca4-4fc5-b2fc-9dd94ce04678",
|
||||
"tenant_id": "E0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 14h 6m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000003",
|
||||
"quantity_sold": 4,
|
||||
"unit_price": 3.74,
|
||||
"total_revenue": 14.96,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 14h 6m",
|
||||
"notes": "Venta local en Bilbao - Casco Viejo",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "fb310fd1-27f9-4821-9d34-d1eeef8356dc",
|
||||
"tenant_id": "E0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 13h 9m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000004",
|
||||
"quantity_sold": 5,
|
||||
"unit_price": 1.45,
|
||||
"total_revenue": 7.26,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 13h 9m",
|
||||
"notes": "Venta local en Bilbao - Casco Viejo",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "682a5f61-fdba-4bd5-8c1f-7e173a690521",
|
||||
"tenant_id": "E0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 12h 12m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000001",
|
||||
"quantity_sold": 6,
|
||||
"unit_price": 0.9,
|
||||
"total_revenue": 5.41,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "cash",
|
||||
"created_at": "BASE_TS - 12h 12m",
|
||||
"notes": "Venta local en Bilbao - Casco Viejo",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "b20f6751-39a1-4329-a5c9-29a71403cc4b",
|
||||
"tenant_id": "E0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 11h 15m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000002",
|
||||
"quantity_sold": 2,
|
||||
"unit_price": 1.39,
|
||||
"total_revenue": 2.77,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 11h 15m",
|
||||
"notes": "Venta local en Bilbao - Casco Viejo",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "1b0f403f-e2cc-4bd7-8349-7d646dfb435b",
|
||||
"tenant_id": "E0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 10h 18m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000003",
|
||||
"quantity_sold": 3,
|
||||
"unit_price": 3.74,
|
||||
"total_revenue": 11.22,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 10h 18m",
|
||||
"notes": "Venta local en Bilbao - Casco Viejo",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "6ac8c158-ead3-4fe3-8dc6-010ddc9803c9",
|
||||
"tenant_id": "E0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 9h 21m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000004",
|
||||
"quantity_sold": 4,
|
||||
"unit_price": 1.45,
|
||||
"total_revenue": 5.81,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 9h 21m",
|
||||
"notes": "Venta local en Bilbao - Casco Viejo",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "e2cf5f55-71eb-489d-ae01-307cd08a0d6c",
|
||||
"tenant_id": "E0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 8h 24m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000001",
|
||||
"quantity_sold": 5,
|
||||
"unit_price": 0.9,
|
||||
"total_revenue": 4.51,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "cash",
|
||||
"created_at": "BASE_TS - 8h 24m",
|
||||
"notes": "Venta local en Bilbao - Casco Viejo",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "58fb2270-4375-4d9c-9b6d-7a8fa38c2d22",
|
||||
"tenant_id": "E0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 7h 27m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000002",
|
||||
"quantity_sold": 6,
|
||||
"unit_price": 1.39,
|
||||
"total_revenue": 8.32,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 7h 27m",
|
||||
"notes": "Venta local en Bilbao - Casco Viejo",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "a354222f-8635-491a-a0da-b81e887bb205",
|
||||
"tenant_id": "E0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 6h 30m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000003",
|
||||
"quantity_sold": 2,
|
||||
"unit_price": 3.74,
|
||||
"total_revenue": 7.48,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 6h 30m",
|
||||
"notes": "Venta local en Bilbao - Casco Viejo",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "ada5c135-4d10-431d-8f92-a7828c8ef6d4",
|
||||
"tenant_id": "E0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 5h 33m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000004",
|
||||
"quantity_sold": 3,
|
||||
"unit_price": 1.45,
|
||||
"total_revenue": 4.36,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 5h 33m",
|
||||
"notes": "Venta local en Bilbao - Casco Viejo",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "9c01f80b-546d-4195-abb7-2a864b6c3720",
|
||||
"tenant_id": "E0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 16h 36m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000001",
|
||||
"quantity_sold": 4,
|
||||
"unit_price": 0.9,
|
||||
"total_revenue": 3.61,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "cash",
|
||||
"created_at": "BASE_TS - 16h 36m",
|
||||
"notes": "Venta local en Bilbao - Casco Viejo",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "5054f48f-53c5-40ff-bee6-1138c6185803",
|
||||
"tenant_id": "E0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 15h 39m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000002",
|
||||
"quantity_sold": 5,
|
||||
"unit_price": 1.39,
|
||||
"total_revenue": 6.93,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 15h 39m",
|
||||
"notes": "Venta local en Bilbao - Casco Viejo",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
},
|
||||
{
|
||||
"id": "60849ef7-7214-46cd-91ef-2c05f902cc6f",
|
||||
"tenant_id": "E0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "BASE_TS - 14h 42m",
|
||||
"product_id": "20000000-0000-0000-0000-000000000003",
|
||||
"quantity_sold": 6,
|
||||
"unit_price": 3.74,
|
||||
"total_revenue": 22.44,
|
||||
"sales_channel": "in_store",
|
||||
"payment_method": "card",
|
||||
"created_at": "BASE_TS - 14h 42m",
|
||||
"notes": "Venta local en Bilbao - Casco Viejo",
|
||||
"enterprise_location_sale": true,
|
||||
"date": "BASE_TS"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"orchestration_run": null,
|
||||
"alerts": []
|
||||
}
|
||||
@@ -1,260 +0,0 @@
|
||||
{
|
||||
"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
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,85 +0,0 @@
|
||||
{
|
||||
"location": {
|
||||
"id": "A0000000-0000-4000-a000-000000000001",
|
||||
"parent_tenant_id": "80000000-0000-4000-a000-000000000001",
|
||||
"name": "Madrid Centro",
|
||||
"location_code": "ENT-MAD-001",
|
||||
"city": "Madrid",
|
||||
"zone": "Centro",
|
||||
"address": "Calle Mayor, 15",
|
||||
"postal_code": "28013",
|
||||
"country": "España",
|
||||
"latitude": 40.4168,
|
||||
"longitude": -3.7038,
|
||||
"status": "ACTIVE",
|
||||
"opening_hours": "07:00-21:00",
|
||||
"daily_capacity": 1500,
|
||||
"storage_capacity_kg": 5000,
|
||||
"created_at": "2025-01-15T06:00:00Z",
|
||||
"enterprise_location": true,
|
||||
"location_type": "retail_and_wholesale",
|
||||
"manager_id": "50000000-0000-0000-0000-000000000011",
|
||||
"staff_count": 12,
|
||||
"equipment": [
|
||||
"30000000-0000-0000-0000-000000000001"
|
||||
],
|
||||
"shared_ingredients": [
|
||||
"10000000-0000-0000-0000-000000000001",
|
||||
"10000000-0000-0000-0000-000000000002",
|
||||
"20000000-0000-0000-0000-000000000001"
|
||||
],
|
||||
"shared_recipes": [
|
||||
"30000000-0000-0000-0000-000000000001"
|
||||
]
|
||||
},
|
||||
"local_inventory": [
|
||||
{
|
||||
"id": "10000000-0000-0000-0000-000000001501",
|
||||
"tenant_id": "A0000000-0000-4000-a000-000000000001",
|
||||
"ingredient_id": "10000000-0000-0000-0000-000000000001",
|
||||
"quantity": 150.0,
|
||||
"location": "Madrid Centro - Storage",
|
||||
"production_stage": "RAW_MATERIAL",
|
||||
"quality_status": "APPROVED",
|
||||
"expiration_date": "BASE_TS + 30d 18h",
|
||||
"supplier_id": "40000000-0000-0000-0000-000000000001",
|
||||
"batch_number": "MAD-HAR-20250115-001",
|
||||
"created_at": "BASE_TS",
|
||||
"enterprise_shared": true,
|
||||
"source_location": "Central Warehouse - Madrid",
|
||||
"staff_assigned": []
|
||||
},
|
||||
{
|
||||
"id": "20000000-0000-0000-0000-000000001501",
|
||||
"tenant_id": "A0000000-0000-4000-a000-000000000001",
|
||||
"ingredient_id": "20000000-0000-0000-0000-000000000001",
|
||||
"quantity": 50.0,
|
||||
"location": "Madrid Centro - Display",
|
||||
"production_stage": "FINISHED_PRODUCT",
|
||||
"quality_status": "APPROVED",
|
||||
"expiration_date": "BASE_TS + 1d",
|
||||
"supplier_id": null,
|
||||
"batch_number": "MAD-BAG-20250115-001",
|
||||
"created_at": "BASE_TS",
|
||||
"enterprise_shared": true,
|
||||
"source_location": "Central Production Facility - Madrid",
|
||||
"staff_assigned": []
|
||||
}
|
||||
],
|
||||
"local_sales": [
|
||||
{
|
||||
"id": "70000000-0000-0000-0000-000000003001",
|
||||
"tenant_id": "A0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "2025-01-15T08:00:00Z",
|
||||
"product_id": "20000000-0000-0000-0000-000000000001",
|
||||
"quantity_sold": 25.0,
|
||||
"unit_price": 2.75,
|
||||
"total_revenue": 68.75,
|
||||
"sales_channel": "RETAIL",
|
||||
"created_at": "BASE_TS",
|
||||
"notes": "Venta local en Madrid Centro",
|
||||
"enterprise_location_sale": true,
|
||||
"parent_order_id": "60000000-0000-0000-0000-000000002001"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,322 +0,0 @@
|
||||
{
|
||||
"location": {
|
||||
"id": "V0000000-0000-4000-a000-000000000001",
|
||||
"parent_tenant_id": "80000000-0000-4000-a000-000000000001",
|
||||
"name": "Valencia Ruzafa",
|
||||
"location_code": "ENT-VLC-001",
|
||||
"city": "Valencia",
|
||||
"zone": "Ruzafa",
|
||||
"address": "Calle Sueca, 42",
|
||||
"postal_code": "46006",
|
||||
"country": "España",
|
||||
"latitude": 39.4623,
|
||||
"longitude": -0.3645,
|
||||
"status": "ACTIVE",
|
||||
"opening_hours": "07:00-21:00",
|
||||
"daily_capacity": 1600,
|
||||
"storage_capacity_kg": 5500,
|
||||
"created_at": "2025-01-15T06:00:00Z",
|
||||
"enterprise_location": true,
|
||||
"location_type": "retail_and_wholesale",
|
||||
"manager_id": "50000000-0000-0000-0000-000000000013",
|
||||
"staff_count": 13,
|
||||
"equipment": [
|
||||
"30000000-0000-0000-0000-000000000003"
|
||||
],
|
||||
"shared_ingredients": [
|
||||
"10000000-0000-0000-0000-000000000001",
|
||||
"10000000-0000-0000-0000-000000000002",
|
||||
"10000000-0000-0000-0000-000000000004",
|
||||
"20000000-0000-0000-0000-000000000001",
|
||||
"20000000-0000-0000-0000-000000000003"
|
||||
],
|
||||
"shared_recipes": [
|
||||
"30000000-0000-0000-0000-000000000001",
|
||||
"30000000-0000-0000-0000-000000000003"
|
||||
]
|
||||
},
|
||||
"local_inventory": [
|
||||
{
|
||||
"id": "10000000-0000-0000-0000-000000003001",
|
||||
"tenant_id": "V0000000-0000-4000-a000-000000000001",
|
||||
"ingredient_id": "10000000-0000-0000-0000-000000000001",
|
||||
"quantity": 165.0,
|
||||
"location": "Valencia Ruzafa - Storage",
|
||||
"production_stage": "RAW_MATERIAL",
|
||||
"quality_status": "APPROVED",
|
||||
"expiration_date": "BASE_TS + 33d 18h",
|
||||
"supplier_id": "40000000-0000-0000-0000-000000000001",
|
||||
"batch_number": "VLC-HAR-20250115-001",
|
||||
"created_at": "BASE_TS",
|
||||
"enterprise_shared": true,
|
||||
"source_location": "Central Warehouse - Valencia",
|
||||
"staff_assigned": []
|
||||
},
|
||||
{
|
||||
"id": "10000000-0000-0000-0000-000000003002",
|
||||
"tenant_id": "V0000000-0000-4000-a000-000000000001",
|
||||
"ingredient_id": "10000000-0000-0000-0000-000000000002",
|
||||
"quantity": 38.0,
|
||||
"location": "Valencia Ruzafa - Cold Storage",
|
||||
"production_stage": "RAW_MATERIAL",
|
||||
"quality_status": "APPROVED",
|
||||
"expiration_date": "BASE_TS + 7d 18h",
|
||||
"supplier_id": "40000000-0000-0000-0000-000000000002",
|
||||
"batch_number": "VLC-MAN-20250115-001",
|
||||
"created_at": "BASE_TS",
|
||||
"enterprise_shared": true,
|
||||
"source_location": "Central Warehouse - Valencia",
|
||||
"staff_assigned": []
|
||||
},
|
||||
{
|
||||
"id": "10000000-0000-0000-0000-000000003003",
|
||||
"tenant_id": "V0000000-0000-4000-a000-000000000001",
|
||||
"ingredient_id": "10000000-0000-0000-0000-000000000004",
|
||||
"quantity": 12.0,
|
||||
"location": "Valencia Ruzafa - Dry Storage",
|
||||
"production_stage": "RAW_MATERIAL",
|
||||
"quality_status": "APPROVED",
|
||||
"expiration_date": "BASE_TS + 364d 18h",
|
||||
"supplier_id": "40000000-0000-0000-0000-000000000003",
|
||||
"batch_number": "VLC-SAL-20250115-001",
|
||||
"created_at": "BASE_TS",
|
||||
"enterprise_shared": true,
|
||||
"source_location": "Central Warehouse - Valencia",
|
||||
"staff_assigned": []
|
||||
},
|
||||
{
|
||||
"id": "20000000-0000-0000-0000-000000003001",
|
||||
"tenant_id": "V0000000-0000-4000-a000-000000000001",
|
||||
"ingredient_id": "20000000-0000-0000-0000-000000000001",
|
||||
"quantity": 58.0,
|
||||
"location": "Valencia Ruzafa - Display",
|
||||
"production_stage": "FINISHED_PRODUCT",
|
||||
"quality_status": "APPROVED",
|
||||
"expiration_date": "BASE_TS + 1d",
|
||||
"supplier_id": null,
|
||||
"batch_number": "VLC-BAG-20250115-001",
|
||||
"created_at": "BASE_TS",
|
||||
"enterprise_shared": true,
|
||||
"source_location": "Central Production Facility - Valencia",
|
||||
"staff_assigned": []
|
||||
},
|
||||
{
|
||||
"id": "20000000-0000-0000-0000-000000003002",
|
||||
"tenant_id": "V0000000-0000-4000-a000-000000000001",
|
||||
"ingredient_id": "20000000-0000-0000-0000-000000000003",
|
||||
"quantity": 22.0,
|
||||
"location": "Valencia Ruzafa - Display",
|
||||
"production_stage": "FINISHED_PRODUCT",
|
||||
"quality_status": "APPROVED",
|
||||
"expiration_date": "BASE_TS + 2d",
|
||||
"supplier_id": null,
|
||||
"batch_number": "VLC-PAN-20250115-001",
|
||||
"created_at": "BASE_TS",
|
||||
"enterprise_shared": true,
|
||||
"source_location": "Central Production Facility - Valencia",
|
||||
"staff_assigned": []
|
||||
}
|
||||
],
|
||||
"local_sales": [
|
||||
{
|
||||
"id": "70000000-0000-0000-0000-000000005001",
|
||||
"tenant_id": "V0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "2025-01-15T08:00:00Z",
|
||||
"product_id": "20000000-0000-0000-0000-000000000001",
|
||||
"quantity_sold": 32.0,
|
||||
"unit_price": 2.7,
|
||||
"total_revenue": 86.4,
|
||||
"sales_channel": "RETAIL",
|
||||
"created_at": "BASE_TS",
|
||||
"notes": "Venta local en Valencia Ruzafa - mañana",
|
||||
"enterprise_location_sale": true,
|
||||
"parent_order_id": "60000000-0000-0000-0000-000000004001"
|
||||
},
|
||||
{
|
||||
"id": "70000000-0000-0000-0000-000000005002",
|
||||
"tenant_id": "V0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "2025-01-15T10:00:00Z",
|
||||
"product_id": "20000000-0000-0000-0000-000000000003",
|
||||
"quantity_sold": 15.0,
|
||||
"unit_price": 2.4,
|
||||
"total_revenue": 36.0,
|
||||
"sales_channel": "RETAIL",
|
||||
"created_at": "BASE_TS",
|
||||
"notes": "Venta de pan de campo en Valencia",
|
||||
"enterprise_location_sale": true,
|
||||
"parent_order_id": "60000000-0000-0000-0000-000000004002"
|
||||
},
|
||||
{
|
||||
"id": "70000000-0000-0000-0000-000000005003",
|
||||
"tenant_id": "V0000000-0000-4000-a000-000000000001",
|
||||
"sale_date": "2025-01-14T18:30:00Z",
|
||||
"product_id": "20000000-0000-0000-0000-000000000001",
|
||||
"quantity_sold": 24.0,
|
||||
"unit_price": 2.7,
|
||||
"total_revenue": 64.8,
|
||||
"sales_channel": "RETAIL",
|
||||
"created_at": "BASE_TS",
|
||||
"notes": "Venta de tarde en Valencia Ruzafa",
|
||||
"enterprise_location_sale": true,
|
||||
"parent_order_id": "60000000-0000-0000-0000-000000004003"
|
||||
}
|
||||
],
|
||||
"local_orders": [
|
||||
{
|
||||
"id": "60000000-0000-0000-0000-000000004001",
|
||||
"tenant_id": "V0000000-0000-4000-a000-000000000001",
|
||||
"order_number": "ORD-VLC-RUZ-20250115-001",
|
||||
"customer_name": "Mercado de Ruzafa - Puesto 12",
|
||||
"customer_email": "puesto12@mercadoruzafa.es",
|
||||
"order_date": "BASE_TS + 30m",
|
||||
"delivery_date": "BASE_TS + 2h",
|
||||
"status": "DELIVERED",
|
||||
"total_amount": 86.4,
|
||||
"created_at": "BASE_TS",
|
||||
"notes": "Pedido matinal para puesto de mercado",
|
||||
"enterprise_location_order": true
|
||||
},
|
||||
{
|
||||
"id": "60000000-0000-0000-0000-000000004002",
|
||||
"tenant_id": "V0000000-0000-4000-a000-000000000001",
|
||||
"order_number": "ORD-VLC-RUZ-20250115-002",
|
||||
"customer_name": "Bar La Pilareta",
|
||||
"customer_email": "pedidos@lapilareta.es",
|
||||
"order_date": "BASE_TS + 1h",
|
||||
"delivery_date": "BASE_TS + 4h",
|
||||
"status": "DELIVERED",
|
||||
"total_amount": 36.0,
|
||||
"created_at": "BASE_TS",
|
||||
"notes": "Pan de campo para bar tradicional",
|
||||
"enterprise_location_order": true
|
||||
},
|
||||
{
|
||||
"id": "60000000-0000-0000-0000-000000004003",
|
||||
"tenant_id": "V0000000-0000-4000-a000-000000000001",
|
||||
"order_number": "ORD-VLC-RUZ-20250114-003",
|
||||
"customer_name": "Restaurante La Riuà",
|
||||
"customer_email": "compras@lariua.com",
|
||||
"order_date": "BASE_TS - 1d 10h",
|
||||
"delivery_date": "BASE_TS - 1d 12h 30m",
|
||||
"status": "DELIVERED",
|
||||
"total_amount": 64.8,
|
||||
"created_at": "BASE_TS",
|
||||
"notes": "Pedido de tarde para restaurante",
|
||||
"enterprise_location_order": true
|
||||
},
|
||||
{
|
||||
"id": "60000000-0000-0000-0000-000000004004",
|
||||
"tenant_id": "V0000000-0000-4000-a000-000000000001",
|
||||
"order_number": "ORD-VLC-RUZ-20250116-004",
|
||||
"customer_name": "Hotel Sorolla Palace",
|
||||
"customer_email": "aprovisionamiento@sorollapalace.com",
|
||||
"order_date": "BASE_TS + 5h",
|
||||
"delivery_date": "BASE_TS + 1d 1h",
|
||||
"status": "CONFIRMED",
|
||||
"total_amount": 125.5,
|
||||
"created_at": "BASE_TS",
|
||||
"notes": "Pedido para desayuno buffet del hotel - entrega mañana",
|
||||
"enterprise_location_order": true
|
||||
}
|
||||
],
|
||||
"local_production_batches": [
|
||||
{
|
||||
"id": "40000000-0000-0000-0000-000000003001",
|
||||
"tenant_id": "V0000000-0000-4000-a000-000000000001",
|
||||
"batch_number": "VLC-BATCH-20250115-001",
|
||||
"recipe_id": "30000000-0000-0000-0000-000000000001",
|
||||
"product_id": "20000000-0000-0000-0000-000000000001",
|
||||
"planned_quantity": 90.0,
|
||||
"actual_quantity": 88.0,
|
||||
"status": "COMPLETED",
|
||||
"planned_start_time": "BASE_TS - 1d 21h 30m",
|
||||
"actual_start_time": "BASE_TS - 1d 21h 35m",
|
||||
"planned_end_time": "BASE_TS - 1d 23h 30m",
|
||||
"actual_end_time": "BASE_TS - 1d 23h 40m",
|
||||
"equipment_id": "30000000-0000-0000-0000-000000000003",
|
||||
"operator_id": "50000000-0000-0000-0000-000000000013",
|
||||
"created_at": "BASE_TS",
|
||||
"notes": "Producción matinal de baguettes en Valencia",
|
||||
"enterprise_location_production": true,
|
||||
"staff_assigned": []
|
||||
},
|
||||
{
|
||||
"id": "40000000-0000-0000-0000-000000003002",
|
||||
"tenant_id": "V0000000-0000-4000-a000-000000000001",
|
||||
"batch_number": "VLC-BATCH-20250115-002",
|
||||
"recipe_id": "30000000-0000-0000-0000-000000000003",
|
||||
"product_id": "20000000-0000-0000-0000-000000000003",
|
||||
"planned_quantity": 40.0,
|
||||
"actual_quantity": 40.0,
|
||||
"status": "COMPLETED",
|
||||
"planned_start_time": "BASE_TS - 1d 22h",
|
||||
"actual_start_time": "BASE_TS - 1d 22h",
|
||||
"planned_end_time": "BASE_TS + 30m",
|
||||
"actual_end_time": "BASE_TS + 25m",
|
||||
"equipment_id": "30000000-0000-0000-0000-000000000003",
|
||||
"operator_id": "50000000-0000-0000-0000-000000000014",
|
||||
"created_at": "BASE_TS",
|
||||
"notes": "Producción de pan de campo completada",
|
||||
"enterprise_location_production": true,
|
||||
"staff_assigned": []
|
||||
},
|
||||
{
|
||||
"id": "40000000-0000-0000-0000-000000003003",
|
||||
"tenant_id": "V0000000-0000-4000-a000-000000000001",
|
||||
"batch_number": "VLC-BATCH-20250116-003",
|
||||
"recipe_id": "30000000-0000-0000-0000-000000000001",
|
||||
"product_id": "20000000-0000-0000-0000-000000000001",
|
||||
"planned_quantity": 120.0,
|
||||
"actual_quantity": null,
|
||||
"status": "SCHEDULED",
|
||||
"planned_start_time": "BASE_TS + 21h 30m",
|
||||
"actual_start_time": null,
|
||||
"planned_end_time": "BASE_TS + 23h 30m",
|
||||
"actual_end_time": null,
|
||||
"equipment_id": "30000000-0000-0000-0000-000000000003",
|
||||
"operator_id": "50000000-0000-0000-0000-000000000013",
|
||||
"created_at": "BASE_TS",
|
||||
"notes": "Lote programado para mañana - pedido de hotel",
|
||||
"enterprise_location_production": true,
|
||||
"staff_assigned": []
|
||||
}
|
||||
],
|
||||
"local_forecasts": [
|
||||
{
|
||||
"id": "80000000-0000-0000-0000-000000003001",
|
||||
"tenant_id": "V0000000-0000-4000-a000-000000000001",
|
||||
"product_id": "20000000-0000-0000-0000-000000000001",
|
||||
"forecast_date": "BASE_TS + 18h",
|
||||
"predicted_quantity": 78.0,
|
||||
"confidence_score": 0.9,
|
||||
"forecast_horizon_days": 1,
|
||||
"created_at": "BASE_TS",
|
||||
"notes": "Previsión de demanda diaria para Valencia Ruzafa",
|
||||
"enterprise_location_forecast": true
|
||||
},
|
||||
{
|
||||
"id": "80000000-0000-0000-0000-000000003002",
|
||||
"tenant_id": "V0000000-0000-4000-a000-000000000001",
|
||||
"product_id": "20000000-0000-0000-0000-000000000003",
|
||||
"forecast_date": "BASE_TS + 18h",
|
||||
"predicted_quantity": 35.0,
|
||||
"confidence_score": 0.87,
|
||||
"forecast_horizon_days": 1,
|
||||
"created_at": "BASE_TS",
|
||||
"notes": "Previsión de pan de campo para mañana",
|
||||
"enterprise_location_forecast": true
|
||||
},
|
||||
{
|
||||
"id": "80000000-0000-0000-0000-000000003003",
|
||||
"tenant_id": "V0000000-0000-4000-a000-000000000001",
|
||||
"product_id": "20000000-0000-0000-0000-000000000001",
|
||||
"forecast_date": "BASE_TS + 1d 18h",
|
||||
"predicted_quantity": 95.0,
|
||||
"confidence_score": 0.93,
|
||||
"forecast_horizon_days": 2,
|
||||
"created_at": "BASE_TS",
|
||||
"notes": "Previsión fin de semana - aumento de demanda esperado",
|
||||
"enterprise_location_forecast": true
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user