Updates IndexedDB database schema to version 2 Adds support for bookings, customers, and resources stores Includes new serialization methods for booking data Extends events store with additional indexes for improved querying
306 lines
7.2 KiB
JSON
306 lines
7.2 KiB
JSON
[
|
|
{
|
|
"id": "BOOK001",
|
|
"customerId": "CUST001",
|
|
"status": "arrived",
|
|
"createdAt": "2025-08-05T08:00:00Z",
|
|
"services": [
|
|
{
|
|
"serviceId": "SRV001",
|
|
"serviceName": "Klipning og styling",
|
|
"baseDuration": 60,
|
|
"basePrice": 500,
|
|
"customPrice": 500,
|
|
"resourceId": "EMP001"
|
|
}
|
|
],
|
|
"totalPrice": 500,
|
|
"notes": "Kunde ønsker lidt kortere"
|
|
},
|
|
{
|
|
"id": "BOOK002",
|
|
"customerId": "CUST002",
|
|
"status": "paid",
|
|
"createdAt": "2025-08-05T09:00:00Z",
|
|
"services": [
|
|
{
|
|
"serviceId": "SRV002",
|
|
"serviceName": "Hårvask",
|
|
"baseDuration": 30,
|
|
"basePrice": 100,
|
|
"customPrice": 100,
|
|
"resourceId": "STUDENT001"
|
|
},
|
|
{
|
|
"serviceId": "SRV003",
|
|
"serviceName": "Bundfarve",
|
|
"baseDuration": 90,
|
|
"basePrice": 800,
|
|
"customPrice": 800,
|
|
"resourceId": "EMP001"
|
|
}
|
|
],
|
|
"totalPrice": 900,
|
|
"notes": "Split booking: Elev laver hårvask, master laver farve"
|
|
},
|
|
{
|
|
"id": "BOOK003",
|
|
"customerId": "CUST003",
|
|
"status": "created",
|
|
"createdAt": "2025-08-05T07:00:00Z",
|
|
"services": [
|
|
{
|
|
"serviceId": "SRV004A",
|
|
"serviceName": "Bryllupsfrisure - Del 1",
|
|
"baseDuration": 60,
|
|
"basePrice": 750,
|
|
"customPrice": 750,
|
|
"resourceId": "EMP001"
|
|
},
|
|
{
|
|
"serviceId": "SRV004B",
|
|
"serviceName": "Bryllupsfrisure - Del 2",
|
|
"baseDuration": 60,
|
|
"basePrice": 750,
|
|
"customPrice": 750,
|
|
"resourceId": "EMP002"
|
|
}
|
|
],
|
|
"totalPrice": 1500,
|
|
"notes": "Equal-split: To master stylister arbejder sammen"
|
|
},
|
|
{
|
|
"id": "BOOK004",
|
|
"customerId": "CUST004",
|
|
"status": "arrived",
|
|
"createdAt": "2025-08-05T10:00:00Z",
|
|
"services": [
|
|
{
|
|
"serviceId": "SRV005",
|
|
"serviceName": "Herreklipning",
|
|
"baseDuration": 30,
|
|
"basePrice": 350,
|
|
"customPrice": 350,
|
|
"resourceId": "EMP003"
|
|
}
|
|
],
|
|
"totalPrice": 350
|
|
},
|
|
{
|
|
"id": "BOOK005",
|
|
"customerId": "CUST005",
|
|
"status": "paid",
|
|
"createdAt": "2025-08-05T11:00:00Z",
|
|
"services": [
|
|
{
|
|
"serviceId": "SRV006",
|
|
"serviceName": "Balayage langt hår",
|
|
"baseDuration": 120,
|
|
"basePrice": 1200,
|
|
"customPrice": 1200,
|
|
"resourceId": "EMP002"
|
|
}
|
|
],
|
|
"totalPrice": 1200,
|
|
"notes": "Kunde ønsker naturlig blond tone"
|
|
},
|
|
{
|
|
"id": "BOOK006",
|
|
"customerId": "CUST006",
|
|
"status": "created",
|
|
"createdAt": "2025-08-06T08:00:00Z",
|
|
"services": [
|
|
{
|
|
"serviceId": "SRV007",
|
|
"serviceName": "Permanent",
|
|
"baseDuration": 90,
|
|
"basePrice": 900,
|
|
"customPrice": 900,
|
|
"resourceId": "EMP004"
|
|
}
|
|
],
|
|
"totalPrice": 900
|
|
},
|
|
{
|
|
"id": "BOOK007",
|
|
"customerId": "CUST007",
|
|
"status": "arrived",
|
|
"createdAt": "2025-08-06T09:00:00Z",
|
|
"services": [
|
|
{
|
|
"serviceId": "SRV008",
|
|
"serviceName": "Highlights",
|
|
"baseDuration": 90,
|
|
"basePrice": 850,
|
|
"customPrice": 850,
|
|
"resourceId": "EMP001"
|
|
},
|
|
{
|
|
"serviceId": "SRV009",
|
|
"serviceName": "Styling",
|
|
"baseDuration": 30,
|
|
"basePrice": 200,
|
|
"customPrice": 200,
|
|
"resourceId": "EMP001"
|
|
}
|
|
],
|
|
"totalPrice": 1050,
|
|
"notes": "Highlights + styling samme stylist"
|
|
},
|
|
{
|
|
"id": "BOOK008",
|
|
"customerId": "CUST008",
|
|
"status": "paid",
|
|
"createdAt": "2025-08-06T10:00:00Z",
|
|
"services": [
|
|
{
|
|
"serviceId": "SRV010",
|
|
"serviceName": "Klipning",
|
|
"baseDuration": 45,
|
|
"basePrice": 450,
|
|
"customPrice": 450,
|
|
"resourceId": "EMP004"
|
|
}
|
|
],
|
|
"totalPrice": 450
|
|
},
|
|
{
|
|
"id": "BOOK009",
|
|
"customerId": "CUST001",
|
|
"status": "created",
|
|
"createdAt": "2025-08-07T08:00:00Z",
|
|
"services": [
|
|
{
|
|
"serviceId": "SRV011",
|
|
"serviceName": "Farve behandling",
|
|
"baseDuration": 120,
|
|
"basePrice": 950,
|
|
"customPrice": 950,
|
|
"resourceId": "EMP002"
|
|
}
|
|
],
|
|
"totalPrice": 950
|
|
},
|
|
{
|
|
"id": "BOOK010",
|
|
"customerId": "CUST002",
|
|
"status": "arrived",
|
|
"createdAt": "2025-08-07T09:00:00Z",
|
|
"services": [
|
|
{
|
|
"serviceId": "SRV012",
|
|
"serviceName": "Skæg trimning",
|
|
"baseDuration": 20,
|
|
"basePrice": 200,
|
|
"customPrice": 200,
|
|
"resourceId": "EMP003"
|
|
}
|
|
],
|
|
"totalPrice": 200
|
|
},
|
|
{
|
|
"id": "BOOK011",
|
|
"customerId": "CUST003",
|
|
"status": "paid",
|
|
"createdAt": "2025-08-07T10:00:00Z",
|
|
"services": [
|
|
{
|
|
"serviceId": "SRV002",
|
|
"serviceName": "Hårvask",
|
|
"baseDuration": 30,
|
|
"basePrice": 100,
|
|
"customPrice": 100,
|
|
"resourceId": "STUDENT002"
|
|
},
|
|
{
|
|
"serviceId": "SRV013",
|
|
"serviceName": "Ombré",
|
|
"baseDuration": 100,
|
|
"basePrice": 1100,
|
|
"customPrice": 1100,
|
|
"resourceId": "EMP002"
|
|
}
|
|
],
|
|
"totalPrice": 1200,
|
|
"notes": "Split booking: Student hårvask, master ombré"
|
|
},
|
|
{
|
|
"id": "BOOK012",
|
|
"customerId": "CUST004",
|
|
"status": "created",
|
|
"createdAt": "2025-08-08T08:00:00Z",
|
|
"services": [
|
|
{
|
|
"serviceId": "SRV014",
|
|
"serviceName": "Føntørring",
|
|
"baseDuration": 30,
|
|
"basePrice": 250,
|
|
"customPrice": 250,
|
|
"resourceId": "STUDENT001"
|
|
}
|
|
],
|
|
"totalPrice": 250
|
|
},
|
|
{
|
|
"id": "BOOK013",
|
|
"customerId": "CUST005",
|
|
"status": "arrived",
|
|
"createdAt": "2025-08-08T09:00:00Z",
|
|
"services": [
|
|
{
|
|
"serviceId": "SRV015",
|
|
"serviceName": "Opsætning",
|
|
"baseDuration": 60,
|
|
"basePrice": 700,
|
|
"customPrice": 700,
|
|
"resourceId": "EMP004"
|
|
}
|
|
],
|
|
"totalPrice": 700,
|
|
"notes": "Fest opsætning"
|
|
},
|
|
{
|
|
"id": "BOOK014",
|
|
"customerId": "CUST006",
|
|
"status": "created",
|
|
"createdAt": "2025-08-09T08:00:00Z",
|
|
"services": [
|
|
{
|
|
"serviceId": "SRV016A",
|
|
"serviceName": "Ekstensions - Del 1",
|
|
"baseDuration": 90,
|
|
"basePrice": 1250,
|
|
"customPrice": 1250,
|
|
"resourceId": "EMP001"
|
|
},
|
|
{
|
|
"serviceId": "SRV016B",
|
|
"serviceName": "Ekstensions - Del 2",
|
|
"baseDuration": 90,
|
|
"basePrice": 1250,
|
|
"customPrice": 1250,
|
|
"resourceId": "EMP004"
|
|
}
|
|
],
|
|
"totalPrice": 2500,
|
|
"notes": "Equal-split: To stylister arbejder sammen om extensions"
|
|
},
|
|
{
|
|
"id": "BOOK015",
|
|
"customerId": "CUST007",
|
|
"status": "noshow",
|
|
"createdAt": "2025-08-09T09:00:00Z",
|
|
"services": [
|
|
{
|
|
"serviceId": "SRV001",
|
|
"serviceName": "Klipning og styling",
|
|
"baseDuration": 60,
|
|
"basePrice": 500,
|
|
"customPrice": 500,
|
|
"resourceId": "EMP002"
|
|
}
|
|
],
|
|
"totalPrice": 500,
|
|
"notes": "Kunde mødte ikke op"
|
|
}
|
|
]
|