Initial MobilityOps build pack (docs, contracts, scaffold)
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
# Synthetic seed data
|
||||
|
||||
The committed CSV snapshot is fully synthetic and generated by `generate_seed.py`.
|
||||
|
||||
Regenerate deterministically:
|
||||
|
||||
```bash
|
||||
python seed/generate_seed.py --anchor 2026-08-01 --seed 20260801
|
||||
```
|
||||
|
||||
The application importer must preserve the named demo references in `docs/13-seed-and-demo-scenarios.md`. Normal write APIs must enforce invariants even though the controlled seed/import path contains deliberate legacy data-quality conflicts.
|
||||
@@ -0,0 +1,247 @@
|
||||
public_ref,customer_ref,vehicle_ref,starts_at,ends_at,status,start_odometer_km,end_odometer_km,requirements_complete
|
||||
BK-H-0001,CUS-0012,MO-008,2026-07-26T08:00:00Z,2026-07-29T08:00:00Z,returned,20932,21133,true
|
||||
BK-H-0002,CUS-0023,MO-015,2026-07-24T07:00:00Z,2026-07-28T07:00:00Z,returned,26659,26861,true
|
||||
BK-H-0003,CUS-0034,MO-022,2026-07-22T06:00:00Z,2026-07-27T06:00:00Z,returned,31407,31610,true
|
||||
BK-H-0004,CUS-0045,MO-029,2026-07-20T05:00:00Z,2026-07-26T05:00:00Z,returned,36708,36912,true
|
||||
BK-H-0005,CUS-0056,MO-036,2026-07-18T04:00:00Z,2026-07-25T04:00:00Z,returned,41655,41860,true
|
||||
BK-H-0006,CUS-0067,MO-043,2026-07-16T03:00:00Z,2026-07-24T03:00:00Z,returned,46513,46719,true
|
||||
BK-H-0007,CUS-0078,MO-050,2026-07-14T02:00:00Z,2026-07-23T02:00:00Z,returned,51685,51892,true
|
||||
BK-H-0008,CUS-0089,MO-007,2026-07-12T09:00:00Z,2026-07-22T09:00:00Z,returned,20681,20889,true
|
||||
BK-H-0009,CUS-0100,MO-014,2026-07-10T08:00:00Z,2026-07-21T08:00:00Z,returned,25419,25628,true
|
||||
BK-H-0010,CUS-0111,MO-021,2026-07-18T07:00:00Z,2026-07-20T07:00:00Z,returned,31088,31298,true
|
||||
BK-H-0011,CUS-0122,MO-028,2026-07-16T06:00:00Z,2026-07-19T06:00:00Z,returned,35948,36159,true
|
||||
BK-H-0012,CUS-0133,MO-035,2026-07-14T05:00:00Z,2026-07-18T05:00:00Z,returned,41022,41234,true
|
||||
BK-H-0013,CUS-0144,MO-042,2026-07-12T04:00:00Z,2026-07-17T04:00:00Z,returned,46535,46748,true
|
||||
BK-H-0014,CUS-0155,MO-049,2026-07-10T03:00:00Z,2026-07-16T03:00:00Z,returned,50921,51135,true
|
||||
BK-H-0015,CUS-0166,MO-006,2026-07-08T02:00:00Z,2026-07-15T02:00:00Z,returned,20148,20363,true
|
||||
BK-H-0016,CUS-0177,MO-013,2026-07-06T09:00:00Z,2026-07-14T09:00:00Z,returned,24734,24950,true
|
||||
BK-H-0017,CUS-0008,MO-020,2026-07-04T08:00:00Z,2026-07-13T08:00:00Z,returned,29599,29816,true
|
||||
BK-H-0018,CUS-0019,MO-027,2026-07-02T07:00:00Z,2026-07-12T07:00:00Z,returned,35484,35702,true
|
||||
BK-H-0019,CUS-0030,MO-034,2026-06-30T06:00:00Z,2026-07-11T06:00:00Z,returned,40038,40257,true
|
||||
BK-H-0020,CUS-0041,MO-041,2026-07-08T05:00:00Z,2026-07-10T05:00:00Z,returned,45423,45643,true
|
||||
BK-H-0021,CUS-0052,MO-048,2026-07-06T04:00:00Z,2026-07-09T04:00:00Z,returned,50672,50893,true
|
||||
BK-H-0022,CUS-0063,MO-005,2026-07-04T03:00:00Z,2026-07-08T03:00:00Z,returned,19191,19413,true
|
||||
BK-H-0023,CUS-0074,MO-012,2026-07-02T02:00:00Z,2026-07-07T02:00:00Z,returned,23836,24059,true
|
||||
BK-H-0024,CUS-0085,MO-019,2026-06-30T09:00:00Z,2026-07-06T09:00:00Z,returned,29222,29446,true
|
||||
BK-H-0025,CUS-0096,MO-026,2026-06-28T08:00:00Z,2026-07-05T08:00:00Z,returned,34248,34473,true
|
||||
BK-H-0026,CUS-0107,MO-033,2026-06-26T07:00:00Z,2026-07-04T07:00:00Z,returned,39535,39761,true
|
||||
BK-H-0027,CUS-0118,MO-040,2026-06-24T06:00:00Z,2026-07-03T06:00:00Z,returned,44882,45109,true
|
||||
BK-H-0028,CUS-0129,MO-047,2026-06-22T05:00:00Z,2026-07-02T05:00:00Z,returned,49424,49652,true
|
||||
BK-H-0029,CUS-0140,MO-004,2026-06-20T04:00:00Z,2026-07-01T04:00:00Z,returned,18126,18355,true
|
||||
BK-H-0030,CUS-0151,MO-011,2026-06-28T03:00:00Z,2026-06-30T03:00:00Z,returned,23130,23360,true
|
||||
BK-H-0031,CUS-0162,MO-018,2026-06-26T02:00:00Z,2026-06-29T02:00:00Z,returned,28551,28782,true
|
||||
BK-H-0032,CUS-0173,MO-025,2026-06-24T09:00:00Z,2026-06-28T09:00:00Z,returned,33397,33629,true
|
||||
BK-H-0033,CUS-0004,MO-032,2026-06-22T08:00:00Z,2026-06-27T08:00:00Z,returned,38758,38991,true
|
||||
BK-H-0034,CUS-0015,MO-039,2026-06-20T07:00:00Z,2026-06-26T07:00:00Z,returned,43623,43857,true
|
||||
BK-H-0035,CUS-0026,MO-046,2026-06-18T06:00:00Z,2026-06-25T06:00:00Z,returned,48922,49157,true
|
||||
BK-H-0036,CUS-0037,MO-003,2026-06-16T05:00:00Z,2026-06-24T05:00:00Z,returned,18022,18258,true
|
||||
BK-H-0037,CUS-0048,MO-010,2026-06-14T04:00:00Z,2026-06-23T04:00:00Z,returned,22296,22533,true
|
||||
BK-H-0038,CUS-0059,MO-017,2026-06-12T03:00:00Z,2026-06-22T03:00:00Z,returned,27558,27796,true
|
||||
BK-H-0039,CUS-0070,MO-024,2026-06-10T02:00:00Z,2026-06-21T02:00:00Z,returned,51781,52020,true
|
||||
BK-H-0040,CUS-0081,MO-031,2026-06-18T09:00:00Z,2026-06-20T09:00:00Z,returned,38109,38349,true
|
||||
BK-H-0041,CUS-0092,MO-038,2026-06-16T08:00:00Z,2026-06-19T08:00:00Z,returned,43589,43830,true
|
||||
BK-H-0042,CUS-0103,MO-045,2026-06-14T07:00:00Z,2026-06-18T07:00:00Z,returned,48218,48460,true
|
||||
BK-H-0043,CUS-0114,MO-002,2026-06-12T06:00:00Z,2026-06-17T06:00:00Z,returned,16920,17163,true
|
||||
BK-H-0044,CUS-0125,MO-009,2026-06-10T05:00:00Z,2026-06-16T05:00:00Z,returned,22159,22403,true
|
||||
BK-H-0045,CUS-0136,MO-016,2026-06-08T04:00:00Z,2026-06-15T04:00:00Z,returned,27452,27697,true
|
||||
BK-H-0046,CUS-0147,MO-023,2026-06-06T03:00:00Z,2026-06-14T03:00:00Z,returned,32578,32824,true
|
||||
BK-H-0047,CUS-0158,MO-030,2026-06-04T02:00:00Z,2026-06-13T02:00:00Z,returned,37166,37413,true
|
||||
BK-H-0048,CUS-0169,MO-037,2026-06-02T09:00:00Z,2026-06-12T09:00:00Z,returned,42606,42854,true
|
||||
BK-H-0049,CUS-0180,MO-044,2026-05-31T08:00:00Z,2026-06-11T08:00:00Z,returned,47562,47811,true
|
||||
BK-H-0050,CUS-0011,MO-001,2026-06-08T07:00:00Z,2026-06-10T07:00:00Z,returned,16034,16284,true
|
||||
BK-H-0051,CUS-0022,MO-008,2026-06-06T06:00:00Z,2026-06-09T06:00:00Z,returned,20882,21133,true
|
||||
BK-H-0052,CUS-0033,MO-015,2026-06-04T05:00:00Z,2026-06-08T05:00:00Z,returned,26609,26861,true
|
||||
BK-H-0053,CUS-0044,MO-022,2026-06-02T04:00:00Z,2026-06-07T04:00:00Z,returned,31357,31610,true
|
||||
BK-H-0054,CUS-0055,MO-029,2026-05-31T03:00:00Z,2026-06-06T03:00:00Z,returned,36658,36912,true
|
||||
BK-H-0055,CUS-0066,MO-036,2026-05-29T02:00:00Z,2026-06-05T02:00:00Z,returned,41605,41860,true
|
||||
BK-H-0056,CUS-0077,MO-043,2026-05-27T09:00:00Z,2026-06-04T09:00:00Z,returned,46463,46719,true
|
||||
BK-H-0057,CUS-0088,MO-050,2026-05-25T08:00:00Z,2026-06-03T08:00:00Z,returned,51635,51892,true
|
||||
BK-H-0058,CUS-0099,MO-007,2026-05-23T07:00:00Z,2026-06-02T07:00:00Z,returned,20631,20889,true
|
||||
BK-H-0059,CUS-0110,MO-014,2026-05-21T06:00:00Z,2026-06-01T06:00:00Z,returned,25369,25628,true
|
||||
BK-H-0060,CUS-0121,MO-021,2026-05-29T05:00:00Z,2026-05-31T05:00:00Z,returned,31038,31298,true
|
||||
BK-H-0061,CUS-0132,MO-028,2026-05-27T04:00:00Z,2026-05-30T04:00:00Z,returned,35898,36159,true
|
||||
BK-H-0062,CUS-0143,MO-035,2026-05-25T03:00:00Z,2026-05-29T03:00:00Z,returned,40972,41234,true
|
||||
BK-H-0063,CUS-0154,MO-042,2026-05-23T02:00:00Z,2026-05-28T02:00:00Z,returned,46485,46748,true
|
||||
BK-H-0064,CUS-0165,MO-049,2026-05-21T09:00:00Z,2026-05-27T09:00:00Z,returned,50871,51135,true
|
||||
BK-H-0065,CUS-0176,MO-006,2026-05-19T08:00:00Z,2026-05-26T08:00:00Z,returned,20098,20363,true
|
||||
BK-H-0066,CUS-0007,MO-013,2026-05-17T07:00:00Z,2026-05-25T07:00:00Z,returned,24684,24950,true
|
||||
BK-H-0067,CUS-0018,MO-020,2026-05-15T06:00:00Z,2026-05-24T06:00:00Z,returned,29549,29816,true
|
||||
BK-H-0068,CUS-0029,MO-027,2026-05-13T05:00:00Z,2026-05-23T05:00:00Z,returned,35434,35702,true
|
||||
BK-H-0069,CUS-0040,MO-034,2026-05-11T04:00:00Z,2026-05-22T04:00:00Z,returned,39988,40257,true
|
||||
BK-H-0070,CUS-0051,MO-041,2026-05-19T03:00:00Z,2026-05-21T03:00:00Z,returned,45373,45643,true
|
||||
BK-H-0071,CUS-0062,MO-048,2026-05-17T02:00:00Z,2026-05-20T02:00:00Z,returned,50622,50893,true
|
||||
BK-H-0072,CUS-0073,MO-005,2026-05-15T09:00:00Z,2026-05-19T09:00:00Z,returned,19141,19413,true
|
||||
BK-H-0073,CUS-0084,MO-012,2026-05-13T08:00:00Z,2026-05-18T08:00:00Z,returned,23786,24059,true
|
||||
BK-H-0074,CUS-0095,MO-019,2026-05-11T07:00:00Z,2026-05-17T07:00:00Z,returned,29172,29446,true
|
||||
BK-H-0075,CUS-0106,MO-026,2026-05-09T06:00:00Z,2026-05-16T06:00:00Z,returned,34198,34473,true
|
||||
BK-H-0076,CUS-0117,MO-033,2026-05-07T05:00:00Z,2026-05-15T05:00:00Z,returned,39485,39761,true
|
||||
BK-H-0077,CUS-0128,MO-040,2026-05-05T04:00:00Z,2026-05-14T04:00:00Z,returned,44832,45109,true
|
||||
BK-H-0078,CUS-0139,MO-047,2026-05-03T03:00:00Z,2026-05-13T03:00:00Z,returned,49374,49652,true
|
||||
BK-H-0079,CUS-0150,MO-004,2026-05-01T02:00:00Z,2026-05-12T02:00:00Z,returned,18076,18355,true
|
||||
BK-H-0080,CUS-0161,MO-011,2026-05-09T09:00:00Z,2026-05-11T09:00:00Z,returned,23080,23360,true
|
||||
BK-H-0081,CUS-0172,MO-018,2026-05-07T08:00:00Z,2026-05-10T08:00:00Z,returned,28501,28782,true
|
||||
BK-H-0082,CUS-0003,MO-025,2026-05-05T07:00:00Z,2026-05-09T07:00:00Z,returned,33347,33629,true
|
||||
BK-H-0083,CUS-0014,MO-032,2026-05-03T06:00:00Z,2026-05-08T06:00:00Z,returned,38708,38991,true
|
||||
BK-H-0084,CUS-0025,MO-039,2026-05-01T05:00:00Z,2026-05-07T05:00:00Z,returned,43573,43857,true
|
||||
BK-H-0085,CUS-0036,MO-046,2026-04-29T04:00:00Z,2026-05-06T04:00:00Z,returned,48872,49157,true
|
||||
BK-H-0086,CUS-0047,MO-003,2026-04-27T03:00:00Z,2026-05-05T03:00:00Z,returned,17972,18258,true
|
||||
BK-H-0087,CUS-0058,MO-010,2026-04-25T02:00:00Z,2026-05-04T02:00:00Z,returned,22246,22533,true
|
||||
BK-H-0088,CUS-0069,MO-017,2026-04-23T09:00:00Z,2026-05-03T09:00:00Z,returned,27508,27796,true
|
||||
BK-H-0089,CUS-0080,MO-024,2026-04-21T08:00:00Z,2026-05-02T08:00:00Z,returned,51731,52020,true
|
||||
BK-H-0090,CUS-0091,MO-031,2026-04-29T07:00:00Z,2026-05-01T07:00:00Z,returned,38059,38349,true
|
||||
BK-H-0091,CUS-0102,MO-038,2026-04-27T06:00:00Z,2026-04-30T06:00:00Z,returned,43539,43830,true
|
||||
BK-H-0092,CUS-0113,MO-045,2026-04-25T05:00:00Z,2026-04-29T05:00:00Z,returned,48168,48460,true
|
||||
BK-H-0093,CUS-0124,MO-002,2026-04-23T04:00:00Z,2026-04-28T04:00:00Z,returned,16870,17163,true
|
||||
BK-H-0094,CUS-0135,MO-009,2026-04-21T03:00:00Z,2026-04-27T03:00:00Z,returned,22109,22403,true
|
||||
BK-H-0095,CUS-0146,MO-016,2026-04-19T02:00:00Z,2026-04-26T02:00:00Z,returned,27402,27697,true
|
||||
BK-H-0096,CUS-0157,MO-023,2026-04-17T09:00:00Z,2026-04-25T09:00:00Z,returned,32528,32824,true
|
||||
BK-H-0097,CUS-0168,MO-030,2026-04-15T08:00:00Z,2026-04-24T08:00:00Z,returned,37116,37413,true
|
||||
BK-H-0098,CUS-0179,MO-037,2026-04-13T07:00:00Z,2026-04-23T07:00:00Z,returned,42556,42854,true
|
||||
BK-H-0099,CUS-0010,MO-044,2026-04-11T06:00:00Z,2026-04-22T06:00:00Z,returned,47512,47811,true
|
||||
BK-H-0100,CUS-0021,MO-001,2026-04-19T05:00:00Z,2026-04-21T05:00:00Z,returned,15984,16284,true
|
||||
BK-H-0101,CUS-0032,MO-008,2026-04-17T04:00:00Z,2026-04-20T04:00:00Z,returned,20832,21133,true
|
||||
BK-H-0102,CUS-0043,MO-015,2026-04-15T03:00:00Z,2026-04-19T03:00:00Z,returned,26559,26861,true
|
||||
BK-H-0103,CUS-0054,MO-022,2026-04-13T02:00:00Z,2026-04-18T02:00:00Z,returned,31307,31610,true
|
||||
BK-H-0104,CUS-0065,MO-029,2026-04-11T09:00:00Z,2026-04-17T09:00:00Z,returned,36608,36912,true
|
||||
BK-H-0105,CUS-0076,MO-036,2026-04-09T08:00:00Z,2026-04-16T08:00:00Z,returned,41555,41860,true
|
||||
BK-H-0106,CUS-0087,MO-043,2026-04-07T07:00:00Z,2026-04-15T07:00:00Z,returned,46413,46719,true
|
||||
BK-H-0107,CUS-0098,MO-050,2026-04-05T06:00:00Z,2026-04-14T06:00:00Z,returned,51585,51892,true
|
||||
BK-H-0108,CUS-0109,MO-007,2026-04-03T05:00:00Z,2026-04-13T05:00:00Z,returned,20581,20889,true
|
||||
BK-H-0109,CUS-0120,MO-014,2026-04-01T04:00:00Z,2026-04-12T04:00:00Z,returned,25319,25628,true
|
||||
BK-H-0110,CUS-0131,MO-021,2026-04-09T03:00:00Z,2026-04-11T03:00:00Z,returned,30988,31298,true
|
||||
BK-H-0111,CUS-0142,MO-028,2026-04-07T02:00:00Z,2026-04-10T02:00:00Z,returned,35848,36159,true
|
||||
BK-H-0112,CUS-0153,MO-035,2026-04-05T09:00:00Z,2026-04-09T09:00:00Z,returned,40922,41234,true
|
||||
BK-H-0113,CUS-0164,MO-042,2026-04-03T08:00:00Z,2026-04-08T08:00:00Z,returned,46435,46748,true
|
||||
BK-H-0114,CUS-0175,MO-049,2026-04-01T07:00:00Z,2026-04-07T07:00:00Z,returned,50821,51135,true
|
||||
BK-H-0115,CUS-0006,MO-006,2026-03-30T06:00:00Z,2026-04-06T06:00:00Z,returned,20048,20363,true
|
||||
BK-H-0116,CUS-0017,MO-013,2026-03-28T05:00:00Z,2026-04-05T05:00:00Z,returned,24634,24950,true
|
||||
BK-H-0117,CUS-0028,MO-020,2026-03-26T04:00:00Z,2026-04-04T04:00:00Z,returned,29499,29816,true
|
||||
BK-H-0118,CUS-0039,MO-027,2026-03-24T03:00:00Z,2026-04-03T03:00:00Z,returned,35384,35702,true
|
||||
BK-H-0119,CUS-0050,MO-034,2026-03-22T02:00:00Z,2026-04-02T02:00:00Z,returned,39938,40257,true
|
||||
BK-H-0120,CUS-0061,MO-041,2026-03-30T09:00:00Z,2026-04-01T09:00:00Z,returned,45323,45643,true
|
||||
BK-H-0121,CUS-0072,MO-048,2026-03-28T08:00:00Z,2026-03-31T08:00:00Z,returned,50572,50893,true
|
||||
BK-H-0122,CUS-0083,MO-005,2026-03-26T07:00:00Z,2026-03-30T07:00:00Z,returned,19091,19413,true
|
||||
BK-H-0123,CUS-0094,MO-012,2026-03-24T06:00:00Z,2026-03-29T06:00:00Z,returned,23736,24059,true
|
||||
BK-H-0124,CUS-0105,MO-019,2026-03-22T05:00:00Z,2026-03-28T05:00:00Z,returned,29122,29446,true
|
||||
BK-H-0125,CUS-0116,MO-026,2026-03-20T04:00:00Z,2026-03-27T04:00:00Z,returned,34148,34473,true
|
||||
BK-H-0126,CUS-0127,MO-033,2026-03-18T03:00:00Z,2026-03-26T03:00:00Z,returned,39435,39761,true
|
||||
BK-H-0127,CUS-0138,MO-040,2026-03-16T02:00:00Z,2026-03-25T02:00:00Z,returned,44782,45109,true
|
||||
BK-H-0128,CUS-0149,MO-047,2026-03-14T09:00:00Z,2026-03-24T09:00:00Z,returned,49324,49652,true
|
||||
BK-H-0129,CUS-0160,MO-004,2026-03-12T08:00:00Z,2026-03-23T08:00:00Z,returned,18026,18355,true
|
||||
BK-H-0130,CUS-0171,MO-011,2026-03-20T07:00:00Z,2026-03-22T07:00:00Z,returned,23030,23360,true
|
||||
BK-H-0131,CUS-0002,MO-018,2026-03-18T06:00:00Z,2026-03-21T06:00:00Z,returned,28451,28782,true
|
||||
BK-H-0132,CUS-0013,MO-025,2026-03-16T05:00:00Z,2026-03-20T05:00:00Z,returned,33297,33629,true
|
||||
BK-H-0133,CUS-0024,MO-032,2026-03-14T04:00:00Z,2026-03-19T04:00:00Z,returned,38658,38991,true
|
||||
BK-H-0134,CUS-0035,MO-039,2026-03-12T03:00:00Z,2026-03-18T03:00:00Z,returned,43523,43857,true
|
||||
BK-H-0135,CUS-0046,MO-046,2026-03-10T02:00:00Z,2026-03-17T02:00:00Z,returned,48822,49157,true
|
||||
BK-H-0136,CUS-0057,MO-003,2026-03-08T09:00:00Z,2026-03-16T09:00:00Z,returned,17922,18258,true
|
||||
BK-H-0137,CUS-0068,MO-010,2026-03-06T08:00:00Z,2026-03-15T08:00:00Z,returned,22196,22533,true
|
||||
BK-H-0138,CUS-0079,MO-017,2026-03-04T07:00:00Z,2026-03-14T07:00:00Z,returned,27458,27796,true
|
||||
BK-H-0139,CUS-0090,MO-024,2026-03-02T06:00:00Z,2026-03-13T06:00:00Z,returned,51681,52020,true
|
||||
BK-H-0140,CUS-0101,MO-031,2026-03-10T05:00:00Z,2026-03-12T05:00:00Z,returned,38009,38349,true
|
||||
BK-H-0141,CUS-0112,MO-038,2026-03-08T04:00:00Z,2026-03-11T04:00:00Z,returned,43489,43830,true
|
||||
BK-H-0142,CUS-0123,MO-045,2026-03-06T03:00:00Z,2026-03-10T03:00:00Z,returned,48118,48460,true
|
||||
BK-H-0143,CUS-0134,MO-002,2026-03-04T02:00:00Z,2026-03-09T02:00:00Z,returned,16820,17163,true
|
||||
BK-H-0144,CUS-0145,MO-009,2026-03-02T09:00:00Z,2026-03-08T09:00:00Z,returned,22059,22403,true
|
||||
BK-H-0145,CUS-0156,MO-016,2026-02-28T08:00:00Z,2026-03-07T08:00:00Z,returned,27352,27697,true
|
||||
BK-H-0146,CUS-0167,MO-023,2026-02-26T07:00:00Z,2026-03-06T07:00:00Z,returned,32478,32824,true
|
||||
BK-H-0147,CUS-0178,MO-030,2026-02-24T06:00:00Z,2026-03-05T06:00:00Z,returned,37066,37413,true
|
||||
BK-H-0148,CUS-0009,MO-037,2026-02-22T05:00:00Z,2026-03-04T05:00:00Z,returned,42506,42854,true
|
||||
BK-H-0149,CUS-0020,MO-044,2026-02-20T04:00:00Z,2026-03-03T04:00:00Z,returned,47462,47811,true
|
||||
BK-H-0150,CUS-0031,MO-001,2026-02-28T03:00:00Z,2026-03-02T03:00:00Z,returned,15934,16284,true
|
||||
BK-H-0151,CUS-0042,MO-008,2026-02-26T02:00:00Z,2026-03-01T02:00:00Z,returned,20782,21133,true
|
||||
BK-H-0152,CUS-0053,MO-015,2026-02-24T09:00:00Z,2026-02-28T09:00:00Z,returned,26509,26861,true
|
||||
BK-H-0153,CUS-0064,MO-022,2026-02-22T08:00:00Z,2026-02-27T08:00:00Z,returned,31257,31610,true
|
||||
BK-H-0154,CUS-0075,MO-029,2026-02-20T07:00:00Z,2026-02-26T07:00:00Z,returned,36558,36912,true
|
||||
BK-H-0155,CUS-0086,MO-036,2026-02-18T06:00:00Z,2026-02-25T06:00:00Z,returned,41505,41860,true
|
||||
BK-H-0156,CUS-0097,MO-043,2026-02-16T05:00:00Z,2026-02-24T05:00:00Z,returned,46363,46719,true
|
||||
BK-H-0157,CUS-0108,MO-050,2026-02-14T04:00:00Z,2026-02-23T04:00:00Z,returned,51535,51892,true
|
||||
BK-H-0158,CUS-0119,MO-007,2026-02-12T03:00:00Z,2026-02-22T03:00:00Z,returned,20531,20889,true
|
||||
BK-H-0159,CUS-0130,MO-014,2026-02-10T02:00:00Z,2026-02-21T02:00:00Z,returned,25269,25628,true
|
||||
BK-H-0160,CUS-0141,MO-021,2026-02-18T09:00:00Z,2026-02-20T09:00:00Z,returned,30938,31298,true
|
||||
BK-H-0161,CUS-0152,MO-028,2026-02-16T08:00:00Z,2026-02-19T08:00:00Z,returned,35798,36159,true
|
||||
BK-H-0162,CUS-0163,MO-035,2026-02-14T07:00:00Z,2026-02-18T07:00:00Z,returned,40872,41234,true
|
||||
BK-H-0163,CUS-0174,MO-042,2026-02-12T06:00:00Z,2026-02-17T06:00:00Z,returned,46385,46748,true
|
||||
BK-H-0164,CUS-0005,MO-049,2026-02-10T05:00:00Z,2026-02-16T05:00:00Z,returned,50771,51135,true
|
||||
BK-H-0165,CUS-0016,MO-006,2026-02-08T04:00:00Z,2026-02-15T04:00:00Z,returned,19998,20363,true
|
||||
BK-H-0166,CUS-0027,MO-013,2026-02-06T03:00:00Z,2026-02-14T03:00:00Z,returned,24584,24950,true
|
||||
BK-H-0167,CUS-0038,MO-020,2026-02-04T02:00:00Z,2026-02-13T02:00:00Z,returned,29449,29816,true
|
||||
BK-H-0168,CUS-0049,MO-027,2026-02-02T09:00:00Z,2026-02-12T09:00:00Z,returned,35334,35702,true
|
||||
BK-H-0169,CUS-0060,MO-034,2026-01-31T08:00:00Z,2026-02-11T08:00:00Z,returned,39888,40257,true
|
||||
BK-H-0170,CUS-0071,MO-041,2026-02-08T07:00:00Z,2026-02-10T07:00:00Z,returned,45273,45643,true
|
||||
BK-H-0171,CUS-0082,MO-048,2026-02-06T06:00:00Z,2026-02-09T06:00:00Z,returned,50522,50893,true
|
||||
BK-H-0172,CUS-0093,MO-005,2026-02-04T05:00:00Z,2026-02-08T05:00:00Z,returned,19041,19413,true
|
||||
BK-H-0173,CUS-0104,MO-012,2026-02-02T04:00:00Z,2026-02-07T04:00:00Z,returned,23686,24059,true
|
||||
BK-H-0174,CUS-0115,MO-019,2026-01-31T03:00:00Z,2026-02-06T03:00:00Z,returned,29072,29446,true
|
||||
BK-H-0175,CUS-0126,MO-026,2026-01-29T02:00:00Z,2026-02-05T02:00:00Z,returned,34098,34473,true
|
||||
BK-H-0176,CUS-0137,MO-033,2026-01-27T09:00:00Z,2026-02-04T09:00:00Z,returned,39385,39761,true
|
||||
BK-H-0177,CUS-0148,MO-040,2026-01-25T08:00:00Z,2026-02-03T08:00:00Z,returned,44732,45109,true
|
||||
BK-H-0178,CUS-0159,MO-047,2026-01-23T07:00:00Z,2026-02-02T07:00:00Z,returned,49274,49652,true
|
||||
BK-H-0179,CUS-0170,MO-004,2026-01-21T06:00:00Z,2026-02-01T06:00:00Z,returned,17976,18355,true
|
||||
BK-H-0180,CUS-0001,MO-011,2026-01-29T05:00:00Z,2026-01-31T05:00:00Z,returned,22980,23360,true
|
||||
BK-H-0181,CUS-0012,MO-018,2026-01-27T04:00:00Z,2026-01-30T04:00:00Z,returned,28401,28782,true
|
||||
BK-H-0182,CUS-0023,MO-025,2026-01-25T03:00:00Z,2026-01-29T03:00:00Z,returned,33247,33629,true
|
||||
BK-H-0183,CUS-0034,MO-032,2026-01-23T02:00:00Z,2026-01-28T02:00:00Z,returned,38608,38991,true
|
||||
BK-H-0184,CUS-0045,MO-039,2026-01-21T09:00:00Z,2026-01-27T09:00:00Z,returned,43473,43857,true
|
||||
BK-H-0185,CUS-0056,MO-046,2026-01-19T08:00:00Z,2026-01-26T08:00:00Z,returned,48772,49157,true
|
||||
BK-H-0186,CUS-0067,MO-003,2026-01-17T07:00:00Z,2026-01-25T07:00:00Z,returned,17872,18258,true
|
||||
BK-H-0187,CUS-0078,MO-010,2026-01-15T06:00:00Z,2026-01-24T06:00:00Z,returned,22146,22533,true
|
||||
BK-H-0188,CUS-0089,MO-017,2026-01-13T05:00:00Z,2026-01-23T05:00:00Z,returned,27408,27796,true
|
||||
BK-H-0189,CUS-0100,MO-024,2026-01-11T04:00:00Z,2026-01-22T04:00:00Z,returned,51631,52020,true
|
||||
BK-H-0190,CUS-0111,MO-031,2026-01-19T03:00:00Z,2026-01-21T03:00:00Z,returned,37959,38349,true
|
||||
BK-H-0191,CUS-0122,MO-038,2026-01-17T02:00:00Z,2026-01-20T02:00:00Z,returned,43439,43830,true
|
||||
BK-H-0192,CUS-0133,MO-045,2026-01-15T09:00:00Z,2026-01-19T09:00:00Z,returned,48068,48460,true
|
||||
BK-H-0193,CUS-0144,MO-002,2026-01-13T08:00:00Z,2026-01-18T08:00:00Z,returned,16770,17163,true
|
||||
BK-H-0194,CUS-0155,MO-009,2026-01-11T07:00:00Z,2026-01-17T07:00:00Z,returned,22009,22403,true
|
||||
BK-H-0195,CUS-0166,MO-016,2026-01-09T06:00:00Z,2026-01-16T06:00:00Z,returned,27302,27697,true
|
||||
BK-H-0196,CUS-0177,MO-023,2026-01-07T05:00:00Z,2026-01-15T05:00:00Z,returned,32428,32824,true
|
||||
BK-H-0197,CUS-0008,MO-030,2026-01-05T04:00:00Z,2026-01-14T04:00:00Z,returned,37016,37413,true
|
||||
BK-H-0198,CUS-0019,MO-037,2026-01-03T03:00:00Z,2026-01-13T03:00:00Z,returned,42456,42854,true
|
||||
BK-H-0199,CUS-0030,MO-044,2026-01-01T02:00:00Z,2026-01-12T02:00:00Z,returned,47412,47811,true
|
||||
BK-H-0200,CUS-0041,MO-001,2026-01-09T09:00:00Z,2026-01-11T09:00:00Z,returned,15884,16284,true
|
||||
BK-H-0201,CUS-0052,MO-008,2026-01-07T08:00:00Z,2026-01-10T08:00:00Z,returned,20732,21133,true
|
||||
BK-H-0202,CUS-0063,MO-015,2026-01-05T07:00:00Z,2026-01-09T07:00:00Z,returned,26459,26861,true
|
||||
BK-H-0203,CUS-0074,MO-022,2026-01-03T06:00:00Z,2026-01-08T06:00:00Z,returned,31207,31610,true
|
||||
BK-H-0204,CUS-0085,MO-029,2026-01-01T05:00:00Z,2026-01-07T05:00:00Z,returned,36508,36912,true
|
||||
BK-H-0205,CUS-0096,MO-036,2025-12-30T04:00:00Z,2026-01-06T04:00:00Z,returned,41455,41860,true
|
||||
BK-H-0206,CUS-0107,MO-043,2025-12-28T03:00:00Z,2026-01-05T03:00:00Z,returned,46313,46719,true
|
||||
BK-H-0207,CUS-0118,MO-050,2025-12-26T02:00:00Z,2026-01-04T02:00:00Z,returned,51485,51892,true
|
||||
BK-H-0208,CUS-0129,MO-007,2025-12-24T09:00:00Z,2026-01-03T09:00:00Z,returned,20481,20889,true
|
||||
BK-H-0209,CUS-0140,MO-014,2025-12-22T08:00:00Z,2026-01-02T08:00:00Z,returned,25219,25628,true
|
||||
BK-H-0210,CUS-0151,MO-021,2025-12-30T07:00:00Z,2026-01-01T07:00:00Z,returned,30888,31298,true
|
||||
BK-H-0211,CUS-0162,MO-028,2025-12-28T06:00:00Z,2025-12-31T06:00:00Z,returned,35748,36159,true
|
||||
BK-H-0212,CUS-0173,MO-035,2025-12-26T05:00:00Z,2025-12-30T05:00:00Z,returned,40822,41234,true
|
||||
BK-H-0213,CUS-0004,MO-042,2025-12-24T04:00:00Z,2025-12-29T04:00:00Z,returned,46335,46748,true
|
||||
BK-H-0214,CUS-0015,MO-049,2025-12-22T03:00:00Z,2025-12-28T03:00:00Z,returned,50721,51135,true
|
||||
BK-H-0215,CUS-0026,MO-006,2025-12-20T02:00:00Z,2025-12-27T02:00:00Z,returned,19948,20363,true
|
||||
BK-H-0216,CUS-0037,MO-013,2025-12-18T09:00:00Z,2025-12-26T09:00:00Z,returned,24534,24950,true
|
||||
BK-H-0217,CUS-0048,MO-020,2025-12-16T08:00:00Z,2025-12-25T08:00:00Z,returned,29399,29816,true
|
||||
BK-H-0218,CUS-0059,MO-027,2025-12-14T07:00:00Z,2025-12-24T07:00:00Z,returned,35284,35702,true
|
||||
BK-H-0219,CUS-0070,MO-034,2025-12-12T06:00:00Z,2025-12-23T06:00:00Z,returned,39838,40257,true
|
||||
BK-H-0220,CUS-0081,MO-041,2025-12-20T05:00:00Z,2025-12-22T05:00:00Z,returned,45223,45643,true
|
||||
BK-DEMO-RETURN,CUS-0042,MO-024,2026-07-28T09:00:00Z,2026-08-01T09:00:00Z,active,53610,,true
|
||||
BK-F-001,CUS-0014,MO-010,2026-08-03T10:00:00Z,2026-08-07T10:00:00Z,reserved,,,true
|
||||
BK-F-002,CUS-0027,MO-019,2026-08-04T11:00:00Z,2026-08-09T11:00:00Z,reserved,,,true
|
||||
BK-F-003,CUS-0040,MO-028,2026-08-05T12:00:00Z,2026-08-11T12:00:00Z,reserved,,,false
|
||||
BK-F-004,CUS-0053,MO-037,2026-08-06T13:00:00Z,2026-08-13T13:00:00Z,reserved,,,true
|
||||
BK-F-005,CUS-0066,MO-046,2026-08-07T09:00:00Z,2026-08-15T09:00:00Z,reserved,,,true
|
||||
BK-F-006,CUS-0079,MO-005,2026-08-08T10:00:00Z,2026-08-17T10:00:00Z,reserved,,,true
|
||||
BK-F-007,CUS-0092,MO-014,2026-08-09T11:00:00Z,2026-08-19T11:00:00Z,reserved,,,true
|
||||
BK-F-008,CUS-0105,MO-023,2026-08-10T12:00:00Z,2026-08-13T12:00:00Z,reserved,,,true
|
||||
BK-F-009,CUS-0118,MO-032,2026-08-11T13:00:00Z,2026-08-15T13:00:00Z,reserved,,,true
|
||||
BK-F-010,CUS-0131,MO-041,2026-08-12T09:00:00Z,2026-08-17T09:00:00Z,reserved,,,true
|
||||
BK-F-011,CUS-0144,MO-050,2026-08-13T10:00:00Z,2026-08-19T10:00:00Z,reserved,,,false
|
||||
BK-F-012,CUS-0157,MO-009,2026-08-14T11:00:00Z,2026-08-21T11:00:00Z,reserved,,,true
|
||||
BK-F-013,CUS-0170,MO-018,2026-08-15T12:00:00Z,2026-08-23T12:00:00Z,reserved,,,true
|
||||
BK-F-014,CUS-0003,MO-027,2026-08-16T13:00:00Z,2026-08-25T13:00:00Z,reserved,,,true
|
||||
BK-F-015,CUS-0016,MO-036,2026-08-17T09:00:00Z,2026-08-27T09:00:00Z,reserved,,,true
|
||||
BK-F-016,CUS-0029,MO-045,2026-08-18T10:00:00Z,2026-08-21T10:00:00Z,reserved,,,true
|
||||
BK-F-017,CUS-0042,MO-004,2026-08-19T11:00:00Z,2026-08-23T11:00:00Z,reserved,,,true
|
||||
BK-F-018,CUS-0055,MO-013,2026-08-20T12:00:00Z,2026-08-25T12:00:00Z,reserved,,,true
|
||||
BK-F-019,CUS-0068,MO-022,2026-08-21T13:00:00Z,2026-08-27T13:00:00Z,reserved,,,true
|
||||
BK-F-020,CUS-0081,MO-031,2026-08-22T09:00:00Z,2026-08-29T09:00:00Z,reserved,,,true
|
||||
BK-F-021,CUS-0094,MO-040,2026-08-23T10:00:00Z,2026-08-31T10:00:00Z,reserved,,,true
|
||||
BK-F-022,CUS-0107,MO-049,2026-08-24T11:00:00Z,2026-09-02T11:00:00Z,reserved,,,true
|
||||
BK-DEMO-NEXT,CUS-0088,MO-031,2026-08-02T10:00:00Z,2026-08-07T09:00:00Z,reserved,,,true
|
||||
BK-DEMO-OVERLAP-A,CUS-0101,MO-016,2026-08-03T09:00:00Z,2026-08-08T09:00:00Z,reserved,,,true
|
||||
BK-DEMO-OVERLAP-B,CUS-0102,MO-016,2026-08-05T09:00:00Z,2026-08-10T09:00:00Z,reserved,,,true
|
||||
|
@@ -0,0 +1,181 @@
|
||||
public_ref,first_name,last_name,email,phone,postal_code,city,merged_into
|
||||
CUS-0001,Noor,Vermeulen,noor.vermeulen.1@example.test,+32 471 100001,2300,Turnhout,
|
||||
CUS-0002,Bram,De Smet,bram.desmet.2@example.test,+32 472 100002,2200,Herentals,
|
||||
CUS-0003,Pieter,Willems,pieter.willems.3@example.test,+32 473 100003,2400,Mol,
|
||||
CUS-0004,Eva,Goossens,eva.goossens.4@example.test,+32 474 100004,2260,Westerlo,
|
||||
CUS-0005,Sofie,Janssens,sofie.janssens.5@example.test,+32 475 100005,3980,Tessenderlo-Ham,
|
||||
CUS-0006,Noor,Jacobs,noor.jacobs.6@example.test,+32 476 100006,2440,Geel,
|
||||
CUS-0007,Bram,Vandamme,bram.vandamme.7@example.test,+32 477 100007,2300,Turnhout,
|
||||
CUS-0008,Pieter,Claes,pieter.claes.8@example.test,+32 478 100008,2200,Herentals,
|
||||
CUS-0009,Eva,Wouters,eva.wouters.9@example.test,+32 479 100009,2400,Mol,
|
||||
CUS-0010,Sofie,Maes,sofie.maes.10@example.test,+32 480 100010,2260,Westerlo,
|
||||
CUS-0011,Noor,Mertens,noor.mertens.11@example.test,+32 481 100011,3980,Tessenderlo-Ham,
|
||||
CUS-0012,Bram,Peeters,bram.peeters.12@example.test,+32 482 100012,2440,Geel,
|
||||
CUS-0013,Pieter,Vermeulen,pieter.vermeulen.13@example.test,+32 483 100013,2300,Turnhout,
|
||||
CUS-0014,Eva,De Smet,eva.desmet.14@example.test,+32 484 100014,2200,Herentals,
|
||||
CUS-0015,Sofie,Willems,sofie.willems.15@example.test,+32 485 100015,2400,Mol,
|
||||
CUS-0016,Noor,Goossens,noor.goossens.16@example.test,+32 486 100016,2260,Westerlo,
|
||||
CUS-0017,Bram,Janssens,bram.janssens.17@example.test,+32 487 100017,3980,Tessenderlo-Ham,
|
||||
CUS-0018,Pieter,Jacobs,pieter.jacobs.18@example.test,+32 488 100018,2440,Geel,
|
||||
CUS-0019,Eva,Vandamme,eva.vandamme.19@example.test,+32 489 100019,2300,Turnhout,
|
||||
CUS-0020,Sofie,Claes,sofie.claes.20@example.test,+32 470 100020,2200,Herentals,
|
||||
CUS-0021,Noor,Wouters,noor.wouters.21@example.test,+32 471 100021,2400,Mol,
|
||||
CUS-0022,Bram,Maes,bram.maes.22@example.test,+32 472 100022,2260,Westerlo,
|
||||
CUS-0023,Pieter,Mertens,pieter.mertens.23@example.test,+32 473 100023,3980,Tessenderlo-Ham,
|
||||
CUS-0024,Eva,Peeters,eva.peeters.24@example.test,+32 474 100024,2440,Geel,
|
||||
CUS-0025,Sofie,Vermeulen,sofie.vermeulen.25@example.test,+32 475 100025,2300,Turnhout,
|
||||
CUS-0026,Noor,De Smet,noor.desmet.26@example.test,+32 476 100026,2200,Herentals,
|
||||
CUS-0027,Bram,Willems,bram.willems.27@example.test,+32 477 100027,2400,Mol,
|
||||
CUS-0028,Pieter,Goossens,pieter.goossens.28@example.test,+32 478 100028,2260,Westerlo,
|
||||
CUS-0029,Eva,Janssens,eva.janssens.29@example.test,+32 479 100029,3980,Tessenderlo-Ham,
|
||||
CUS-0030,Sofie,Jacobs,sofie.jacobs.30@example.test,+32 480 100030,2440,Geel,
|
||||
CUS-0031,Noor,Vandamme,noor.vandamme.31@example.test,+32 481 100031,2300,Turnhout,
|
||||
CUS-0032,Bram,Claes,bram.claes.32@example.test,+32 482 100032,2200,Herentals,
|
||||
CUS-0033,Pieter,Wouters,pieter.wouters.33@example.test,+32 483 100033,2400,Mol,
|
||||
CUS-0034,Eva,Maes,eva.maes.34@example.test,+32 484 100034,2260,Westerlo,
|
||||
CUS-0035,Sofie,Mertens,sofie.mertens.35@example.test,+32 485 100035,3980,Tessenderlo-Ham,
|
||||
CUS-0036,Noor,Peeters,noor.peeters.36@example.test,+32 486 100036,2440,Geel,
|
||||
CUS-0037,Bram,Vermeulen,bram.vermeulen.37@example.test,+32 487 100037,2300,Turnhout,
|
||||
CUS-0038,Pieter,De Smet,pieter.desmet.38@example.test,+32 488 100038,2200,Herentals,
|
||||
CUS-0039,Eva,Willems,eva.willems.39@example.test,+32 489 100039,2400,Mol,
|
||||
CUS-0040,Sofie,Goossens,sofie.goossens.40@example.test,+32 470 100040,2260,Westerlo,
|
||||
CUS-0041,Noor,Janssens,noor.janssens.41@example.test,+32 471 100041,3980,Tessenderlo-Ham,
|
||||
CUS-0042,Bram,Jacobs,bram.jacobs.42@example.test,+32 472 100042,2440,Geel,
|
||||
CUS-0043,Pieter,Vandamme,pieter.vandamme.43@example.test,+32 473 100043,2300,Turnhout,
|
||||
CUS-0044,Eva,Claes,eva.claes.44@example.test,+32 474 100044,2200,Herentals,
|
||||
CUS-0045,Sofie,Wouters,sofie.wouters.45@example.test,+32 475 100045,2400,Mol,
|
||||
CUS-0046,Noor,Maes,noor.maes.46@example.test,+32 476 100046,2260,Westerlo,
|
||||
CUS-0047,Bram,Mertens,bram.mertens.47@example.test,+32 477 100047,3980,Tessenderlo-Ham,
|
||||
CUS-0048,Pieter,Peeters,pieter.peeters.48@example.test,+32 478 100048,2440,Geel,
|
||||
CUS-0049,Eva,Vermeulen,eva.vermeulen.49@example.test,+32 479 100049,2300,Turnhout,
|
||||
CUS-0050,Sofie,De Smet,sofie.desmet.50@example.test,+32 480 100050,2200,Herentals,
|
||||
CUS-0051,Noor,Willems,noor.willems.51@example.test,+32 481 100051,2400,Mol,
|
||||
CUS-0052,Bram,Goossens,bram.goossens.52@example.test,+32 482 100052,2260,Westerlo,
|
||||
CUS-0053,Pieter,Janssens,pieter.janssens.53@example.test,+32 483 100053,3980,Tessenderlo-Ham,
|
||||
CUS-0054,Eva,Jacobs,eva.jacobs.54@example.test,+32 484 100054,2440,Geel,
|
||||
CUS-0055,Sofie,Vandamme,sofie.vandamme.55@example.test,+32 485 100055,2300,Turnhout,
|
||||
CUS-0056,Noor,Claes,noor.claes.56@example.test,+32 486 100056,2200,Herentals,
|
||||
CUS-0057,Bram,Wouters,bram.wouters.57@example.test,+32 487 100057,2400,Mol,
|
||||
CUS-0058,Pieter,Maes,pieter.maes.58@example.test,+32 488 100058,2260,Westerlo,
|
||||
CUS-0059,Eva,Mertens,eva.mertens.59@example.test,+32 489 100059,3980,Tessenderlo-Ham,
|
||||
CUS-0060,Sofie,Peeters,sofie.peeters.60@example.test,+32 470 100060,2440,Geel,
|
||||
CUS-0061,Noor,Vermeulen,noor.vermeulen.61@example.test,+32 471 100061,2300,Turnhout,
|
||||
CUS-0062,Bram,De Smet,bram.desmet.62@example.test,+32 472 100062,2200,Herentals,
|
||||
CUS-0063,Pieter,Willems,pieter.willems.63@example.test,+32 473 100063,2400,Mol,
|
||||
CUS-0064,Eva,Goossens,eva.goossens.64@example.test,+32 474 100064,2260,Westerlo,
|
||||
CUS-0065,Sofie,Janssens,sofie.janssens.65@example.test,+32 475 100065,3980,Tessenderlo-Ham,
|
||||
CUS-0066,Noor,Jacobs,noor.jacobs.66@example.test,+32 476 100066,2440,Geel,
|
||||
CUS-0067,Bram,Vandamme,bram.vandamme.67@example.test,+32 477 100067,2300,Turnhout,
|
||||
CUS-0068,Pieter,Claes,pieter.claes.68@example.test,+32 478 100068,2200,Herentals,
|
||||
CUS-0069,Eva,Wouters,eva.wouters.69@example.test,+32 479 100069,2400,Mol,
|
||||
CUS-0070,Sofie,Maes,sofie.maes.70@example.test,+32 480 100070,2260,Westerlo,
|
||||
CUS-0071,Noor,Mertens,noor.mertens.71@example.test,+32 481 100071,3980,Tessenderlo-Ham,
|
||||
CUS-0072,Bram,Peeters,bram.peeters.72@example.test,+32 482 100072,2440,Geel,
|
||||
CUS-0073,Pieter,Vermeulen,pieter.vermeulen.73@example.test,+32 483 100073,2300,Turnhout,
|
||||
CUS-0074,Eva,De Smet,eva.desmet.74@example.test,+32 484 100074,2200,Herentals,
|
||||
CUS-0075,Sofie,Willems,sofie.willems.75@example.test,+32 485 100075,2400,Mol,
|
||||
CUS-0076,Noor,Goossens,noor.goossens.76@example.test,+32 486 100076,2260,Westerlo,
|
||||
CUS-0077,Bram,Janssens,bram.janssens.77@example.test,+32 487 100077,3980,Tessenderlo-Ham,
|
||||
CUS-0078,Pieter,Jacobs,pieter.jacobs.78@example.test,+32 488 100078,2440,Geel,
|
||||
CUS-0079,Eva,Vandamme,eva.vandamme.79@example.test,+32 489 100079,2300,Turnhout,
|
||||
CUS-0080,Sofie,Claes,sofie.claes.80@example.test,+32 470 100080,2200,Herentals,
|
||||
CUS-0081,Noor,Wouters,noor.wouters.81@example.test,+32 471 100081,2400,Mol,
|
||||
CUS-0082,Bram,Maes,bram.maes.82@example.test,+32 472 100082,2260,Westerlo,
|
||||
CUS-0083,Pieter,Mertens,pieter.mertens.83@example.test,+32 473 100083,3980,Tessenderlo-Ham,
|
||||
CUS-0084,Eva,Peeters,eva.peeters.84@example.test,+32 474 100084,2440,Geel,
|
||||
CUS-0085,Sofie,Vermeulen,sofie.vermeulen.85@example.test,+32 475 100085,2300,Turnhout,
|
||||
CUS-0086,Noor,De Smet,noor.desmet.86@example.test,+32 476 100086,2200,Herentals,
|
||||
CUS-0087,Bram,Willems,bram.willems.87@example.test,+32 477 100087,2400,Mol,
|
||||
CUS-0088,Pieter,Goossens,pieter.goossens.88@example.test,+32 478 100088,2260,Westerlo,
|
||||
CUS-0089,Eva,Janssens,eva.janssens.89@example.test,+32 479 100089,3980,Tessenderlo-Ham,
|
||||
CUS-0090,Sofie,Jacobs,sofie.jacobs.90@example.test,+32 480 100090,2440,Geel,
|
||||
CUS-0091,Noor,Vandamme,noor.vandamme.91@example.test,+32 481 100091,2300,Turnhout,
|
||||
CUS-0092,Bram,Claes,bram.claes.92@example.test,+32 482 100092,2200,Herentals,
|
||||
CUS-0093,Pieter,Wouters,pieter.wouters.93@example.test,+32 483 100093,2400,Mol,
|
||||
CUS-0094,Eva,Maes,eva.maes.94@example.test,+32 484 100094,2260,Westerlo,
|
||||
CUS-0095,Sofie,Mertens,sofie.mertens.95@example.test,+32 485 100095,3980,Tessenderlo-Ham,
|
||||
CUS-0096,Noor,Peeters,noor.peeters.96@example.test,+32 486 100096,2440,Geel,
|
||||
CUS-0097,Bram,Vermeulen,bram.vermeulen.97@example.test,+32 487 100097,2300,Turnhout,
|
||||
CUS-0098,Pieter,De Smet,pieter.desmet.98@example.test,+32 488 100098,2200,Herentals,
|
||||
CUS-0099,Eva,Willems,eva.willems.99@example.test,+32 489 100099,2400,Mol,
|
||||
CUS-0100,Sofie,Goossens,sofie.goossens.100@example.test,+32 470 100100,2260,Westerlo,
|
||||
CUS-0101,Noor,Janssens,noor.janssens.101@example.test,+32 471 100101,3980,Tessenderlo-Ham,
|
||||
CUS-0102,Bram,Jacobs,bram.jacobs.102@example.test,+32 472 100102,2440,Geel,
|
||||
CUS-0103,Pieter,Vandamme,pieter.vandamme.103@example.test,+32 473 100103,2300,Turnhout,
|
||||
CUS-0104,Eva,Claes,eva.claes.104@example.test,+32 474 100104,2200,Herentals,
|
||||
CUS-0105,Sofie,Wouters,sofie.wouters.105@example.test,+32 475 100105,2400,Mol,
|
||||
CUS-0106,Noor,Maes,noor.maes.106@example.test,+32 476 100106,2260,Westerlo,
|
||||
CUS-0107,Bram,Mertens,bram.mertens.107@example.test,+32 477 100107,3980,Tessenderlo-Ham,
|
||||
CUS-0108,Pieter,Peeters,pieter.peeters.108@example.test,+32 478 100108,2440,Geel,
|
||||
CUS-0109,Eva,Vermeulen,eva.vermeulen.109@example.test,+32 479 100109,2300,Turnhout,
|
||||
CUS-0110,Sofie,De Smet,sofie.desmet.110@example.test,+32 480 100110,2200,Herentals,
|
||||
CUS-0111,Noor,Willems,noor.willems.111@example.test,+32 481 100111,2400,Mol,
|
||||
CUS-0112,Bram,Goossens,bram.goossens.112@example.test,+32 482 100112,2260,Westerlo,
|
||||
CUS-0113,Pieter,Janssens,pieter.janssens.113@example.test,+32 483 100113,3980,Tessenderlo-Ham,
|
||||
CUS-0114,Eva,Jacobs,eva.jacobs.114@example.test,+32 484 100114,2440,Geel,
|
||||
CUS-0115,Sofie,Vandamme,sofie.vandamme.115@example.test,+32 485 100115,2300,Turnhout,
|
||||
CUS-0116,Noor,Claes,noor.claes.116@example.test,+32 486 100116,2200,Herentals,
|
||||
CUS-0117,Bram,Wouters,bram.wouters.117@example.test,+32 487 100117,2400,Mol,
|
||||
CUS-0118,Pieter,Maes,pieter.maes.118@example.test,+32 488 100118,2260,Westerlo,
|
||||
CUS-0119,Eva,Mertens,eva.mertens.119@example.test,+32 489 100119,3980,Tessenderlo-Ham,
|
||||
CUS-0120,Sofie,Peeters,sofie.peeters.120@example.test,+32 470 100120,2440,Geel,
|
||||
CUS-0121,Noor,Vermeulen,noor.vermeulen.121@example.test,+32 471 100121,2300,Turnhout,
|
||||
CUS-0122,Bram,De Smet,bram.desmet.122@example.test,+32 472 100122,2200,Herentals,
|
||||
CUS-0123,Pieter,Willems,pieter.willems.123@example.test,+32 473 100123,2400,Mol,
|
||||
CUS-0124,Eva,Goossens,eva.goossens.124@example.test,+32 474 100124,2260,Westerlo,
|
||||
CUS-0125,Sofie,Janssens,sofie.janssens.125@example.test,+32 475 100125,3980,Tessenderlo-Ham,
|
||||
CUS-0126,Noor,Jacobs,noor.jacobs.126@example.test,+32 476 100126,2440,Geel,
|
||||
CUS-0127,Bram,Vandamme,bram.vandamme.127@example.test,+32 477 100127,2300,Turnhout,
|
||||
CUS-0128,Pieter,Claes,pieter.claes.128@example.test,+32 478 100128,2200,Herentals,
|
||||
CUS-0129,Eva,Wouters,eva.wouters.129@example.test,+32 479 100129,2400,Mol,
|
||||
CUS-0130,Sofie,Maes,sofie.maes.130@example.test,+32 480 100130,2260,Westerlo,
|
||||
CUS-0131,Noor,Mertens,noor.mertens.131@example.test,+32 481 100131,3980,Tessenderlo-Ham,
|
||||
CUS-0132,Bram,Peeters,bram.peeters.132@example.test,+32 482 100132,2440,Geel,
|
||||
CUS-0133,Pieter,Vermeulen,pieter.vermeulen.133@example.test,+32 483 100133,2300,Turnhout,
|
||||
CUS-0134,Eva,De Smet,eva.desmet.134@example.test,+32 484 100134,2200,Herentals,
|
||||
CUS-0135,Sofie,Willems,sofie.willems.135@example.test,+32 485 100135,2400,Mol,
|
||||
CUS-0136,Noor,Goossens,noor.goossens.136@example.test,+32 486 100136,2260,Westerlo,
|
||||
CUS-0137,Bram,Janssens,bram.janssens.137@example.test,+32 487 100137,3980,Tessenderlo-Ham,
|
||||
CUS-0138,Pieter,Jacobs,pieter.jacobs.138@example.test,+32 488 100138,2440,Geel,
|
||||
CUS-0139,Eva,Vandamme,eva.vandamme.139@example.test,+32 489 100139,2300,Turnhout,
|
||||
CUS-0140,Sofie,Claes,sofie.claes.140@example.test,+32 470 100140,2200,Herentals,
|
||||
CUS-0141,Noor,Wouters,noor.wouters.141@example.test,+32 471 100141,2400,Mol,
|
||||
CUS-0142,Bram,Maes,bram.maes.142@example.test,+32 472 100142,2260,Westerlo,
|
||||
CUS-0143,Pieter,Mertens,pieter.mertens.143@example.test,+32 473 100143,3980,Tessenderlo-Ham,
|
||||
CUS-0144,Eva,Peeters,eva.peeters.144@example.test,+32 474 100144,2440,Geel,
|
||||
CUS-0145,Sofie,Vermeulen,sofie.vermeulen.145@example.test,+32 475 100145,2300,Turnhout,
|
||||
CUS-0146,Noor,De Smet,noor.desmet.146@example.test,+32 476 100146,2200,Herentals,
|
||||
CUS-0147,Bram,Willems,bram.willems.147@example.test,+32 477 100147,2400,Mol,
|
||||
CUS-0148,Pieter,Goossens,pieter.goossens.148@example.test,+32 478 100148,2260,Westerlo,
|
||||
CUS-0149,Eva,Janssens,eva.janssens.149@example.test,+32 479 100149,3980,Tessenderlo-Ham,
|
||||
CUS-0150,Eva,Wouters,eva.wouters.69@example.test,+32 480 100150,2400,Mol,
|
||||
CUS-0151,Noor,Vandamme,noor.vandamme.151@example.test,+32 481 100151,2300,Turnhout,
|
||||
CUS-0152,Bram,Claes,bram.claes.152@example.test,+32 482 100152,2200,Herentals,
|
||||
CUS-0153,Pieter,Wouters,pieter.wouters.153@example.test,+32 483 100153,2400,Mol,
|
||||
CUS-0154,Eva,Maes,eva.maes.154@example.test,+32 484 100154,2260,Westerlo,
|
||||
CUS-0155,Sofie,Mertens,sofie.mertens.155@example.test,+32 485 100155,3980,Tessenderlo-Ham,
|
||||
CUS-0156,Noor,Peeters,noor.peeters.156@example.test,+32 486 100156,2440,Geel,
|
||||
CUS-0157,Bram,Vermeulen,bram.vermeulen.157@example.test,+32 487 100157,2300,Turnhout,
|
||||
CUS-0158,Pieter,De Smet,pieter.desmet.158@example.test,+32 488 100158,2200,Herentals,
|
||||
CUS-0159,Eva,Willems,eva.willems.159@example.test,+32 489 100159,2400,Mol,
|
||||
CUS-0160,Sofie,Goossens,sofie.goossens.160@example.test,+32 470 100160,2260,Westerlo,
|
||||
CUS-0161,Noor,Janssens,noor.janssens.161@example.test,+32 471 100161,3980,Tessenderlo-Ham,
|
||||
CUS-0162,Bram,Jacobs,bram.jacobs.162@example.test,+32 472 100162,2440,Geel,
|
||||
CUS-0163,Pieter,Vandamme,pieter.vandamme.163@example.test,+32 473 100163,2300,Turnhout,
|
||||
CUS-0164,Eva,Claes,eva.claes.164@example.test,+32 474 100164,2200,Herentals,
|
||||
CUS-0165,Bram,Claes,bram.claes.32@example.test,+32 475 100165,2200,Herentals,
|
||||
CUS-0166,Noor,Maes,noor.maes.166@example.test,+32 476 100166,2260,Westerlo,
|
||||
CUS-0167,Bram,Mertens,bram.mertens.167@example.test,+32 477 100167,3980,Tessenderlo-Ham,
|
||||
CUS-0168,Pieter,Peeters,pieter.peeters.168@example.test,+32 478 100168,2440,Geel,
|
||||
CUS-0169,Eva,Vermeulen,eva.vermeulen.169@example.test,+32 479 100169,2300,Turnhout,
|
||||
CUS-0170,Sofie,De Smet,sofie.desmet.170@example.test,+32 480 100170,2200,Herentals,
|
||||
CUS-0171,Noor,Willems,noor.willems.171@example.test,+32 481 100171,2400,Mol,
|
||||
CUS-0172,Bram,Goossens,bram.goossens.172@example.test,+32 482 100172,2260,Westerlo,
|
||||
CUS-0173,Pieter,Janssens,pieter.janssens.173@example.test,+32 483 100173,3980,Tessenderlo-Ham,
|
||||
CUS-0174,Eva,Jacobs,eva.jacobs.174@example.test,+32 484 100174,2440,Geel,
|
||||
CUS-0175,Sofie,Vandamme,sofie.vandamme.175@example.test,+32 485 100175,2300,Turnhout,
|
||||
CUS-0176,Noor,Claes,noor.claes.176@example.test,+32 486 100176,2200,Herentals,
|
||||
CUS-0177,Bram,Wouters,bram.wouters.177@example.test,+32 487 100177,2400,Mol,
|
||||
CUS-0178,B.,Peeters,bram.peeters.12@example.test,+32 482 100012,2440,Geel,
|
||||
CUS-0179,Eva,Mertens,eva.mertens.179@example.test,+32 489 100179,3980,Tessenderlo-Ham,
|
||||
CUS-0180,Sofie,Peeters,sofie.peeters.180@example.test,+32 470 100180,2440,Geel,
|
||||
|
@@ -0,0 +1,16 @@
|
||||
public_ref,rule_type,entity_ref,related_ref,severity,status,evidence
|
||||
DQ-DEMO-DUPLICATE,possible_duplicate_customer,CUS-0012,CUS-0178,high,open,exact email; exact phone; exact postal code; similar name
|
||||
DQ-DEMO-OVERLAP,booking_overlap,MO-016,BK-DEMO-OVERLAP-A|BK-DEMO-OVERLAP-B,high,open,controlled legacy import overlap
|
||||
DQ-DEMO-STATUS,vehicle_status_conflict,MO-016,,high,open,vehicle marked available while reserved bookings conflict
|
||||
DQ-DEMO-ATTENTION,missing_required_field,MO-031,BK-DEMO-NEXT,high,open,near-future booking; required operational inspection missing
|
||||
DQ-0005,vehicle_status_conflict,MO-036,,high,open,Synthetic deterministic seed issue
|
||||
DQ-0006,missing_required_field,MO-043,,low,open,Synthetic deterministic seed issue
|
||||
DQ-0007,odometer_regression,MO-050,,medium,open,Synthetic deterministic seed issue
|
||||
DQ-0008,vehicle_status_conflict,MO-007,,high,open,Synthetic deterministic seed issue
|
||||
DQ-0009,missing_required_field,MO-014,,low,open,Synthetic deterministic seed issue
|
||||
DQ-0010,odometer_regression,MO-021,,medium,open,Synthetic deterministic seed issue
|
||||
DQ-0011,vehicle_status_conflict,MO-028,,high,open,Synthetic deterministic seed issue
|
||||
DQ-0012,missing_required_field,MO-035,,low,resolved,Synthetic deterministic seed issue
|
||||
DQ-0013,odometer_regression,MO-042,,medium,resolved,Synthetic deterministic seed issue
|
||||
DQ-0014,vehicle_status_conflict,MO-049,,high,resolved,Synthetic deterministic seed issue
|
||||
DQ-0015,missing_required_field,MO-006,,low,resolved,Synthetic deterministic seed issue
|
||||
|
@@ -0,0 +1,250 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import argparse
|
||||
import csv
|
||||
import random
|
||||
from datetime import date, datetime, time, timedelta, timezone
|
||||
from pathlib import Path
|
||||
|
||||
FIRST_NAMES = ["Sofie", "Lotte", "Emma", "Noor", "Julie", "Thomas", "Bram", "Wout", "Niels", "Pieter", "Anke", "Sara", "Eva", "Tom", "Jeroen"]
|
||||
LAST_NAMES = ["Peeters", "Janssens", "Maes", "Willems", "Claes", "Vermeulen", "Jacobs", "Mertens", "Goossens", "Wouters", "De Smet", "Vandamme"]
|
||||
CITIES = [("2440", "Geel"), ("2300", "Turnhout"), ("2200", "Herentals"), ("2400", "Mol"), ("2260", "Westerlo"), ("3980", "Tessenderlo-Ham")]
|
||||
MAKES_MODELS = [("Adria", "Matrix"), ("Dethleffs", "Trend"), ("Carado", "T-Series"), ("Hymer", "Exsis"), ("Bürstner", "Lyseo"), ("Sunlight", "Cliff")]
|
||||
|
||||
|
||||
def write_csv(path: Path, rows: list[dict]) -> None:
|
||||
path.parent.mkdir(parents=True, exist_ok=True)
|
||||
with path.open("w", newline="", encoding="utf-8") as handle:
|
||||
writer = csv.DictWriter(handle, fieldnames=list(rows[0]))
|
||||
writer.writeheader()
|
||||
writer.writerows(rows)
|
||||
|
||||
|
||||
def iso(dt: datetime) -> str:
|
||||
return dt.astimezone(timezone.utc).isoformat().replace("+00:00", "Z")
|
||||
|
||||
|
||||
def build(anchor: date, seed: int, out: Path) -> None:
|
||||
rnd = random.Random(seed)
|
||||
customers = []
|
||||
used_emails = set()
|
||||
for i in range(1, 181):
|
||||
first = FIRST_NAMES[(i * 3) % len(FIRST_NAMES)]
|
||||
last = LAST_NAMES[(i * 5) % len(LAST_NAMES)]
|
||||
postal, city = CITIES[i % len(CITIES)]
|
||||
email = f"{first}.{last}.{i}@example.test".lower().replace(" ", "")
|
||||
used_emails.add(email)
|
||||
customers.append({
|
||||
"public_ref": f"CUS-{i:04d}",
|
||||
"first_name": first,
|
||||
"last_name": last,
|
||||
"email": email,
|
||||
"phone": f"+32 4{70 + (i % 20):02d} {100000 + i:06d}",
|
||||
"postal_code": postal,
|
||||
"city": city,
|
||||
"merged_into": "",
|
||||
})
|
||||
|
||||
# Fixed duplicate: CUS-0178 mirrors CUS-0012 with a shortened first name.
|
||||
src = customers[11]
|
||||
dup = customers[177]
|
||||
dup.update({
|
||||
"first_name": src["first_name"][0] + ".",
|
||||
"last_name": src["last_name"],
|
||||
"email": src["email"],
|
||||
"phone": src["phone"],
|
||||
"postal_code": src["postal_code"],
|
||||
"city": src["city"],
|
||||
})
|
||||
# Two additional duplicate pairs.
|
||||
for a, b in [(31, 164), (68, 149)]:
|
||||
customers[b].update({
|
||||
"first_name": customers[a]["first_name"],
|
||||
"last_name": customers[a]["last_name"],
|
||||
"email": customers[a]["email"],
|
||||
"postal_code": customers[a]["postal_code"],
|
||||
"city": customers[a]["city"],
|
||||
})
|
||||
|
||||
vehicles = []
|
||||
statuses = ["available"] * 22 + ["rented"] * 10 + ["cleaning"] * 6 + ["maintenance"] * 6 + ["blocked"] * 6
|
||||
rnd.shuffle(statuses)
|
||||
for i in range(1, 51):
|
||||
make, model = MAKES_MODELS[(i - 1) % len(MAKES_MODELS)]
|
||||
km = 18000 + i * 730 + rnd.randint(0, 900)
|
||||
vehicles.append({
|
||||
"public_ref": f"MO-{i:03d}",
|
||||
"make": make,
|
||||
"model": model,
|
||||
"model_year": 2019 + (i % 7),
|
||||
"registration_number": f"2-MOB-{i:03d}",
|
||||
"location": "Geel",
|
||||
"operational_status": statuses[i - 1],
|
||||
"odometer_km": km,
|
||||
"next_service_km": ((km // 10000) + 1) * 10000,
|
||||
"active": "true",
|
||||
})
|
||||
|
||||
# Fixed return scenario.
|
||||
vehicles[23]["operational_status"] = "rented" # MO-024
|
||||
vehicles[23]["odometer_km"] = 54820
|
||||
# Fixed attention and conflict scenarios.
|
||||
vehicles[30]["operational_status"] = "blocked" # MO-031
|
||||
vehicles[15]["operational_status"] = "available" # MO-016 legacy conflict
|
||||
|
||||
bookings = []
|
||||
base_dt = datetime.combine(anchor, time(9, 0), tzinfo=timezone.utc)
|
||||
# 220 historical bookings.
|
||||
for i in range(1, 221):
|
||||
end = base_dt - timedelta(days=2 + (i % 320), hours=i % 8)
|
||||
duration = 2 + (i % 10)
|
||||
start = end - timedelta(days=duration)
|
||||
vehicle_idx = (i * 7) % 50
|
||||
start_km = int(vehicles[vehicle_idx]["odometer_km"]) - 3000 - (i % 700)
|
||||
end_km = start_km + 200 + (i % 900)
|
||||
bookings.append({
|
||||
"public_ref": f"BK-H-{i:04d}",
|
||||
"customer_ref": f"CUS-{((i * 11) % 180) + 1:04d}",
|
||||
"vehicle_ref": f"MO-{vehicle_idx + 1:03d}",
|
||||
"starts_at": iso(start),
|
||||
"ends_at": iso(end),
|
||||
"status": "returned",
|
||||
"start_odometer_km": start_km,
|
||||
"end_odometer_km": end_km,
|
||||
"requirements_complete": "true",
|
||||
})
|
||||
|
||||
# Active demo return booking.
|
||||
bookings.append({
|
||||
"public_ref": "BK-DEMO-RETURN",
|
||||
"customer_ref": "CUS-0042",
|
||||
"vehicle_ref": "MO-024",
|
||||
"starts_at": iso(base_dt - timedelta(days=4)),
|
||||
"ends_at": iso(base_dt),
|
||||
"status": "active",
|
||||
"start_odometer_km": 53610,
|
||||
"end_odometer_km": "",
|
||||
"requirements_complete": "true",
|
||||
})
|
||||
|
||||
# 22 additional future bookings.
|
||||
for i in range(1, 23):
|
||||
start = base_dt + timedelta(days=1 + i, hours=(i % 5))
|
||||
end = start + timedelta(days=3 + (i % 8))
|
||||
vehicle = 1 + ((i * 9) % 50)
|
||||
bookings.append({
|
||||
"public_ref": f"BK-F-{i:03d}",
|
||||
"customer_ref": f"CUS-{((i * 13) % 180) + 1:04d}",
|
||||
"vehicle_ref": f"MO-{vehicle:03d}",
|
||||
"starts_at": iso(start),
|
||||
"ends_at": iso(end),
|
||||
"status": "reserved",
|
||||
"start_odometer_km": "",
|
||||
"end_odometer_km": "",
|
||||
"requirements_complete": "false" if i in (3, 11) else "true",
|
||||
})
|
||||
|
||||
# MO-031 near-future booking, missing return inspection attention.
|
||||
bookings.append({
|
||||
"public_ref": "BK-DEMO-NEXT",
|
||||
"customer_ref": "CUS-0088",
|
||||
"vehicle_ref": "MO-031",
|
||||
"starts_at": iso(base_dt + timedelta(days=1, hours=1)),
|
||||
"ends_at": iso(base_dt + timedelta(days=6)),
|
||||
"status": "reserved",
|
||||
"start_odometer_km": "",
|
||||
"end_odometer_km": "",
|
||||
"requirements_complete": "true",
|
||||
})
|
||||
|
||||
# Controlled legacy overlap on MO-016.
|
||||
for suffix, offset in [("A", 2), ("B", 4)]:
|
||||
bookings.append({
|
||||
"public_ref": f"BK-DEMO-OVERLAP-{suffix}",
|
||||
"customer_ref": "CUS-0101" if suffix == "A" else "CUS-0102",
|
||||
"vehicle_ref": "MO-016",
|
||||
"starts_at": iso(base_dt + timedelta(days=offset)),
|
||||
"ends_at": iso(base_dt + timedelta(days=offset + 5)),
|
||||
"status": "reserved",
|
||||
"start_odometer_km": "",
|
||||
"end_odometer_km": "",
|
||||
"requirements_complete": "true",
|
||||
})
|
||||
|
||||
inspections = []
|
||||
for i, booking in enumerate(bookings[:75], 1):
|
||||
inspections.append({
|
||||
"public_ref": f"INSP-{i:04d}",
|
||||
"booking_ref": booking["public_ref"],
|
||||
"vehicle_ref": booking["vehicle_ref"],
|
||||
"type": "return",
|
||||
"fuel_level_percent": 50 + (i % 5) * 10,
|
||||
"cleanliness_ok": "true",
|
||||
"damage_reported": "false",
|
||||
"technical_warning": "false",
|
||||
"odometer_km": booking["end_odometer_km"] or "",
|
||||
"completed_at": booking["ends_at"],
|
||||
})
|
||||
|
||||
maintenance = []
|
||||
for i in range(1, 41):
|
||||
v = vehicles[(i * 3) % 50]
|
||||
maintenance.append({
|
||||
"public_ref": f"MNT-{i:04d}",
|
||||
"vehicle_ref": v["public_ref"],
|
||||
"occurred_at": iso(base_dt - timedelta(days=20 + i * 5)),
|
||||
"odometer_km": int(v["odometer_km"]) - 1000 - i * 20,
|
||||
"category": "periodic_service" if i % 3 else "repair",
|
||||
"summary": "Synthetic scheduled service record" if i % 3 else "Synthetic minor repair record",
|
||||
})
|
||||
|
||||
quality = [
|
||||
{"public_ref":"DQ-DEMO-DUPLICATE","rule_type":"possible_duplicate_customer","entity_ref":"CUS-0012","related_ref":"CUS-0178","severity":"high","status":"open","evidence":"exact email; exact phone; exact postal code; similar name"},
|
||||
{"public_ref":"DQ-DEMO-OVERLAP","rule_type":"booking_overlap","entity_ref":"MO-016","related_ref":"BK-DEMO-OVERLAP-A|BK-DEMO-OVERLAP-B","severity":"high","status":"open","evidence":"controlled legacy import overlap"},
|
||||
{"public_ref":"DQ-DEMO-STATUS","rule_type":"vehicle_status_conflict","entity_ref":"MO-016","related_ref":"","severity":"high","status":"open","evidence":"vehicle marked available while reserved bookings conflict"},
|
||||
{"public_ref":"DQ-DEMO-ATTENTION","rule_type":"missing_required_field","entity_ref":"MO-031","related_ref":"BK-DEMO-NEXT","severity":"high","status":"open","evidence":"near-future booking; required operational inspection missing"},
|
||||
]
|
||||
for i in range(5, 16):
|
||||
quality.append({
|
||||
"public_ref": f"DQ-{i:04d}",
|
||||
"rule_type": ["missing_required_field","odometer_regression","vehicle_status_conflict"][i % 3],
|
||||
"entity_ref": f"MO-{((i * 7) % 50) + 1:03d}",
|
||||
"related_ref": "",
|
||||
"severity": ["low","medium","high"][i % 3],
|
||||
"status": "open" if i < 12 else "resolved",
|
||||
"evidence": "Synthetic deterministic seed issue",
|
||||
})
|
||||
|
||||
workflow_runs = []
|
||||
for i in range(1, 21):
|
||||
status = "succeeded"
|
||||
error = ""
|
||||
if i == 20:
|
||||
status = "failed"
|
||||
error = "Synthetic connection timeout to n8n"
|
||||
workflow_runs.append({
|
||||
"event_id": f"00000000-0000-4000-8000-{i:012d}",
|
||||
"event_type": "vehicle.returned.v1",
|
||||
"aggregate_ref": f"BK-H-{i:04d}",
|
||||
"status": status,
|
||||
"attempts": 3 if status == "failed" else 1,
|
||||
"last_error": error,
|
||||
"occurred_at": iso(base_dt - timedelta(hours=i)),
|
||||
})
|
||||
|
||||
write_csv(out / "customers.csv", customers)
|
||||
write_csv(out / "vehicles.csv", vehicles)
|
||||
write_csv(out / "bookings.csv", bookings)
|
||||
write_csv(out / "inspections.csv", inspections)
|
||||
write_csv(out / "maintenance.csv", maintenance)
|
||||
write_csv(out / "data_quality_issues.csv", quality)
|
||||
write_csv(out / "workflow_runs.csv", workflow_runs)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument("--anchor", type=date.fromisoformat, default=date(2026, 8, 1))
|
||||
parser.add_argument("--seed", type=int, default=20260801)
|
||||
parser.add_argument("--out", type=Path, default=Path(__file__).resolve().parent)
|
||||
args = parser.parse_args()
|
||||
build(args.anchor, args.seed, args.out)
|
||||
@@ -0,0 +1,76 @@
|
||||
public_ref,booking_ref,vehicle_ref,type,fuel_level_percent,cleanliness_ok,damage_reported,technical_warning,odometer_km,completed_at
|
||||
INSP-0001,BK-H-0001,MO-008,return,60,true,false,false,21133,2026-07-29T08:00:00Z
|
||||
INSP-0002,BK-H-0002,MO-015,return,70,true,false,false,26861,2026-07-28T07:00:00Z
|
||||
INSP-0003,BK-H-0003,MO-022,return,80,true,false,false,31610,2026-07-27T06:00:00Z
|
||||
INSP-0004,BK-H-0004,MO-029,return,90,true,false,false,36912,2026-07-26T05:00:00Z
|
||||
INSP-0005,BK-H-0005,MO-036,return,50,true,false,false,41860,2026-07-25T04:00:00Z
|
||||
INSP-0006,BK-H-0006,MO-043,return,60,true,false,false,46719,2026-07-24T03:00:00Z
|
||||
INSP-0007,BK-H-0007,MO-050,return,70,true,false,false,51892,2026-07-23T02:00:00Z
|
||||
INSP-0008,BK-H-0008,MO-007,return,80,true,false,false,20889,2026-07-22T09:00:00Z
|
||||
INSP-0009,BK-H-0009,MO-014,return,90,true,false,false,25628,2026-07-21T08:00:00Z
|
||||
INSP-0010,BK-H-0010,MO-021,return,50,true,false,false,31298,2026-07-20T07:00:00Z
|
||||
INSP-0011,BK-H-0011,MO-028,return,60,true,false,false,36159,2026-07-19T06:00:00Z
|
||||
INSP-0012,BK-H-0012,MO-035,return,70,true,false,false,41234,2026-07-18T05:00:00Z
|
||||
INSP-0013,BK-H-0013,MO-042,return,80,true,false,false,46748,2026-07-17T04:00:00Z
|
||||
INSP-0014,BK-H-0014,MO-049,return,90,true,false,false,51135,2026-07-16T03:00:00Z
|
||||
INSP-0015,BK-H-0015,MO-006,return,50,true,false,false,20363,2026-07-15T02:00:00Z
|
||||
INSP-0016,BK-H-0016,MO-013,return,60,true,false,false,24950,2026-07-14T09:00:00Z
|
||||
INSP-0017,BK-H-0017,MO-020,return,70,true,false,false,29816,2026-07-13T08:00:00Z
|
||||
INSP-0018,BK-H-0018,MO-027,return,80,true,false,false,35702,2026-07-12T07:00:00Z
|
||||
INSP-0019,BK-H-0019,MO-034,return,90,true,false,false,40257,2026-07-11T06:00:00Z
|
||||
INSP-0020,BK-H-0020,MO-041,return,50,true,false,false,45643,2026-07-10T05:00:00Z
|
||||
INSP-0021,BK-H-0021,MO-048,return,60,true,false,false,50893,2026-07-09T04:00:00Z
|
||||
INSP-0022,BK-H-0022,MO-005,return,70,true,false,false,19413,2026-07-08T03:00:00Z
|
||||
INSP-0023,BK-H-0023,MO-012,return,80,true,false,false,24059,2026-07-07T02:00:00Z
|
||||
INSP-0024,BK-H-0024,MO-019,return,90,true,false,false,29446,2026-07-06T09:00:00Z
|
||||
INSP-0025,BK-H-0025,MO-026,return,50,true,false,false,34473,2026-07-05T08:00:00Z
|
||||
INSP-0026,BK-H-0026,MO-033,return,60,true,false,false,39761,2026-07-04T07:00:00Z
|
||||
INSP-0027,BK-H-0027,MO-040,return,70,true,false,false,45109,2026-07-03T06:00:00Z
|
||||
INSP-0028,BK-H-0028,MO-047,return,80,true,false,false,49652,2026-07-02T05:00:00Z
|
||||
INSP-0029,BK-H-0029,MO-004,return,90,true,false,false,18355,2026-07-01T04:00:00Z
|
||||
INSP-0030,BK-H-0030,MO-011,return,50,true,false,false,23360,2026-06-30T03:00:00Z
|
||||
INSP-0031,BK-H-0031,MO-018,return,60,true,false,false,28782,2026-06-29T02:00:00Z
|
||||
INSP-0032,BK-H-0032,MO-025,return,70,true,false,false,33629,2026-06-28T09:00:00Z
|
||||
INSP-0033,BK-H-0033,MO-032,return,80,true,false,false,38991,2026-06-27T08:00:00Z
|
||||
INSP-0034,BK-H-0034,MO-039,return,90,true,false,false,43857,2026-06-26T07:00:00Z
|
||||
INSP-0035,BK-H-0035,MO-046,return,50,true,false,false,49157,2026-06-25T06:00:00Z
|
||||
INSP-0036,BK-H-0036,MO-003,return,60,true,false,false,18258,2026-06-24T05:00:00Z
|
||||
INSP-0037,BK-H-0037,MO-010,return,70,true,false,false,22533,2026-06-23T04:00:00Z
|
||||
INSP-0038,BK-H-0038,MO-017,return,80,true,false,false,27796,2026-06-22T03:00:00Z
|
||||
INSP-0039,BK-H-0039,MO-024,return,90,true,false,false,52020,2026-06-21T02:00:00Z
|
||||
INSP-0040,BK-H-0040,MO-031,return,50,true,false,false,38349,2026-06-20T09:00:00Z
|
||||
INSP-0041,BK-H-0041,MO-038,return,60,true,false,false,43830,2026-06-19T08:00:00Z
|
||||
INSP-0042,BK-H-0042,MO-045,return,70,true,false,false,48460,2026-06-18T07:00:00Z
|
||||
INSP-0043,BK-H-0043,MO-002,return,80,true,false,false,17163,2026-06-17T06:00:00Z
|
||||
INSP-0044,BK-H-0044,MO-009,return,90,true,false,false,22403,2026-06-16T05:00:00Z
|
||||
INSP-0045,BK-H-0045,MO-016,return,50,true,false,false,27697,2026-06-15T04:00:00Z
|
||||
INSP-0046,BK-H-0046,MO-023,return,60,true,false,false,32824,2026-06-14T03:00:00Z
|
||||
INSP-0047,BK-H-0047,MO-030,return,70,true,false,false,37413,2026-06-13T02:00:00Z
|
||||
INSP-0048,BK-H-0048,MO-037,return,80,true,false,false,42854,2026-06-12T09:00:00Z
|
||||
INSP-0049,BK-H-0049,MO-044,return,90,true,false,false,47811,2026-06-11T08:00:00Z
|
||||
INSP-0050,BK-H-0050,MO-001,return,50,true,false,false,16284,2026-06-10T07:00:00Z
|
||||
INSP-0051,BK-H-0051,MO-008,return,60,true,false,false,21133,2026-06-09T06:00:00Z
|
||||
INSP-0052,BK-H-0052,MO-015,return,70,true,false,false,26861,2026-06-08T05:00:00Z
|
||||
INSP-0053,BK-H-0053,MO-022,return,80,true,false,false,31610,2026-06-07T04:00:00Z
|
||||
INSP-0054,BK-H-0054,MO-029,return,90,true,false,false,36912,2026-06-06T03:00:00Z
|
||||
INSP-0055,BK-H-0055,MO-036,return,50,true,false,false,41860,2026-06-05T02:00:00Z
|
||||
INSP-0056,BK-H-0056,MO-043,return,60,true,false,false,46719,2026-06-04T09:00:00Z
|
||||
INSP-0057,BK-H-0057,MO-050,return,70,true,false,false,51892,2026-06-03T08:00:00Z
|
||||
INSP-0058,BK-H-0058,MO-007,return,80,true,false,false,20889,2026-06-02T07:00:00Z
|
||||
INSP-0059,BK-H-0059,MO-014,return,90,true,false,false,25628,2026-06-01T06:00:00Z
|
||||
INSP-0060,BK-H-0060,MO-021,return,50,true,false,false,31298,2026-05-31T05:00:00Z
|
||||
INSP-0061,BK-H-0061,MO-028,return,60,true,false,false,36159,2026-05-30T04:00:00Z
|
||||
INSP-0062,BK-H-0062,MO-035,return,70,true,false,false,41234,2026-05-29T03:00:00Z
|
||||
INSP-0063,BK-H-0063,MO-042,return,80,true,false,false,46748,2026-05-28T02:00:00Z
|
||||
INSP-0064,BK-H-0064,MO-049,return,90,true,false,false,51135,2026-05-27T09:00:00Z
|
||||
INSP-0065,BK-H-0065,MO-006,return,50,true,false,false,20363,2026-05-26T08:00:00Z
|
||||
INSP-0066,BK-H-0066,MO-013,return,60,true,false,false,24950,2026-05-25T07:00:00Z
|
||||
INSP-0067,BK-H-0067,MO-020,return,70,true,false,false,29816,2026-05-24T06:00:00Z
|
||||
INSP-0068,BK-H-0068,MO-027,return,80,true,false,false,35702,2026-05-23T05:00:00Z
|
||||
INSP-0069,BK-H-0069,MO-034,return,90,true,false,false,40257,2026-05-22T04:00:00Z
|
||||
INSP-0070,BK-H-0070,MO-041,return,50,true,false,false,45643,2026-05-21T03:00:00Z
|
||||
INSP-0071,BK-H-0071,MO-048,return,60,true,false,false,50893,2026-05-20T02:00:00Z
|
||||
INSP-0072,BK-H-0072,MO-005,return,70,true,false,false,19413,2026-05-19T09:00:00Z
|
||||
INSP-0073,BK-H-0073,MO-012,return,80,true,false,false,24059,2026-05-18T08:00:00Z
|
||||
INSP-0074,BK-H-0074,MO-019,return,90,true,false,false,29446,2026-05-17T07:00:00Z
|
||||
INSP-0075,BK-H-0075,MO-026,return,50,true,false,false,34473,2026-05-16T06:00:00Z
|
||||
|
@@ -0,0 +1,41 @@
|
||||
public_ref,vehicle_ref,occurred_at,odometer_km,category,summary
|
||||
MNT-0001,MO-004,2026-07-07T09:00:00Z,20135,periodic_service,Synthetic scheduled service record
|
||||
MNT-0002,MO-007,2026-07-02T09:00:00Z,22649,periodic_service,Synthetic scheduled service record
|
||||
MNT-0003,MO-010,2026-06-27T09:00:00Z,24273,repair,Synthetic minor repair record
|
||||
MNT-0004,MO-013,2026-06-22T09:00:00Z,26670,periodic_service,Synthetic scheduled service record
|
||||
MNT-0005,MO-016,2026-06-17T09:00:00Z,29397,periodic_service,Synthetic scheduled service record
|
||||
MNT-0006,MO-019,2026-06-12T09:00:00Z,31126,repair,Synthetic minor repair record
|
||||
MNT-0007,MO-022,2026-06-07T09:00:00Z,33270,periodic_service,Synthetic scheduled service record
|
||||
MNT-0008,MO-025,2026-06-02T09:00:00Z,35269,periodic_service,Synthetic scheduled service record
|
||||
MNT-0009,MO-028,2026-05-28T09:00:00Z,37779,repair,Synthetic minor repair record
|
||||
MNT-0010,MO-031,2026-05-23T09:00:00Z,39949,periodic_service,Synthetic scheduled service record
|
||||
MNT-0011,MO-034,2026-05-18T09:00:00Z,41837,periodic_service,Synthetic scheduled service record
|
||||
MNT-0012,MO-037,2026-05-13T09:00:00Z,44414,repair,Synthetic minor repair record
|
||||
MNT-0013,MO-040,2026-05-08T09:00:00Z,46649,periodic_service,Synthetic scheduled service record
|
||||
MNT-0014,MO-043,2026-05-03T09:00:00Z,48239,periodic_service,Synthetic scheduled service record
|
||||
MNT-0015,MO-046,2026-04-28T09:00:00Z,50657,repair,Synthetic minor repair record
|
||||
MNT-0016,MO-049,2026-04-23T09:00:00Z,52615,periodic_service,Synthetic scheduled service record
|
||||
MNT-0017,MO-002,2026-04-18T09:00:00Z,18623,periodic_service,Synthetic scheduled service record
|
||||
MNT-0018,MO-005,2026-04-13T09:00:00Z,20853,repair,Synthetic minor repair record
|
||||
MNT-0019,MO-008,2026-04-08T09:00:00Z,22553,periodic_service,Synthetic scheduled service record
|
||||
MNT-0020,MO-011,2026-04-03T09:00:00Z,24760,periodic_service,Synthetic scheduled service record
|
||||
MNT-0021,MO-014,2026-03-29T09:00:00Z,27008,repair,Synthetic minor repair record
|
||||
MNT-0022,MO-017,2026-03-24T09:00:00Z,29156,periodic_service,Synthetic scheduled service record
|
||||
MNT-0023,MO-020,2026-03-19T09:00:00Z,31156,periodic_service,Synthetic scheduled service record
|
||||
MNT-0024,MO-023,2026-03-14T09:00:00Z,34144,repair,Synthetic minor repair record
|
||||
MNT-0025,MO-026,2026-03-09T09:00:00Z,35773,periodic_service,Synthetic scheduled service record
|
||||
MNT-0026,MO-029,2026-03-04T09:00:00Z,38192,periodic_service,Synthetic scheduled service record
|
||||
MNT-0027,MO-032,2026-02-27T09:00:00Z,40251,repair,Synthetic minor repair record
|
||||
MNT-0028,MO-035,2026-02-22T09:00:00Z,42474,periodic_service,Synthetic scheduled service record
|
||||
MNT-0029,MO-038,2026-02-17T09:00:00Z,45050,periodic_service,Synthetic scheduled service record
|
||||
MNT-0030,MO-041,2026-02-12T09:00:00Z,46843,repair,Synthetic minor repair record
|
||||
MNT-0031,MO-044,2026-02-07T09:00:00Z,48991,periodic_service,Synthetic scheduled service record
|
||||
MNT-0032,MO-047,2026-02-02T09:00:00Z,50812,periodic_service,Synthetic scheduled service record
|
||||
MNT-0033,MO-050,2026-01-28T09:00:00Z,53032,repair,Synthetic minor repair record
|
||||
MNT-0034,MO-003,2026-01-23T09:00:00Z,19378,periodic_service,Synthetic scheduled service record
|
||||
MNT-0035,MO-006,2026-01-18T09:00:00Z,21463,periodic_service,Synthetic scheduled service record
|
||||
MNT-0036,MO-009,2026-01-13T09:00:00Z,23483,repair,Synthetic minor repair record
|
||||
MNT-0037,MO-012,2026-01-08T09:00:00Z,25119,periodic_service,Synthetic scheduled service record
|
||||
MNT-0038,MO-015,2026-01-03T09:00:00Z,27901,periodic_service,Synthetic scheduled service record
|
||||
MNT-0039,MO-018,2025-12-29T09:00:00Z,29802,repair,Synthetic minor repair record
|
||||
MNT-0040,MO-021,2025-12-24T09:00:00Z,32298,periodic_service,Synthetic scheduled service record
|
||||
|
@@ -0,0 +1,51 @@
|
||||
public_ref,make,model,model_year,registration_number,location,operational_status,odometer_km,next_service_km,active
|
||||
MO-001,Adria,Matrix,2020,2-MOB-001,Geel,maintenance,19084,20000,true
|
||||
MO-002,Dethleffs,Trend,2021,2-MOB-002,Geel,maintenance,19963,20000,true
|
||||
MO-003,Carado,T-Series,2022,2-MOB-003,Geel,rented,21058,30000,true
|
||||
MO-004,Hymer,Exsis,2023,2-MOB-004,Geel,cleaning,21155,30000,true
|
||||
MO-005,Bürstner,Lyseo,2024,2-MOB-005,Geel,available,22213,30000,true
|
||||
MO-006,Sunlight,Cliff,2025,2-MOB-006,Geel,cleaning,23163,30000,true
|
||||
MO-007,Adria,Matrix,2019,2-MOB-007,Geel,rented,23689,30000,true
|
||||
MO-008,Dethleffs,Trend,2020,2-MOB-008,Geel,available,23933,30000,true
|
||||
MO-009,Carado,T-Series,2021,2-MOB-009,Geel,blocked,25203,30000,true
|
||||
MO-010,Hymer,Exsis,2022,2-MOB-010,Geel,available,25333,30000,true
|
||||
MO-011,Bürstner,Lyseo,2023,2-MOB-011,Geel,available,26160,30000,true
|
||||
MO-012,Sunlight,Cliff,2024,2-MOB-012,Geel,available,26859,30000,true
|
||||
MO-013,Adria,Matrix,2025,2-MOB-013,Geel,rented,27750,30000,true
|
||||
MO-014,Dethleffs,Trend,2019,2-MOB-014,Geel,rented,28428,30000,true
|
||||
MO-015,Carado,T-Series,2020,2-MOB-015,Geel,available,29661,30000,true
|
||||
MO-016,Hymer,Exsis,2021,2-MOB-016,Geel,available,30497,40000,true
|
||||
MO-017,Bürstner,Lyseo,2022,2-MOB-017,Geel,available,30596,40000,true
|
||||
MO-018,Sunlight,Cliff,2023,2-MOB-018,Geel,maintenance,31582,40000,true
|
||||
MO-019,Adria,Matrix,2024,2-MOB-019,Geel,rented,32246,40000,true
|
||||
MO-020,Dethleffs,Trend,2025,2-MOB-020,Geel,available,32616,40000,true
|
||||
MO-021,Carado,T-Series,2019,2-MOB-021,Geel,cleaning,34098,40000,true
|
||||
MO-022,Hymer,Exsis,2020,2-MOB-022,Geel,available,34410,40000,true
|
||||
MO-023,Bürstner,Lyseo,2021,2-MOB-023,Geel,rented,35624,40000,true
|
||||
MO-024,Sunlight,Cliff,2022,2-MOB-024,Geel,rented,54820,40000,true
|
||||
MO-025,Adria,Matrix,2023,2-MOB-025,Geel,blocked,36429,40000,true
|
||||
MO-026,Dethleffs,Trend,2024,2-MOB-026,Geel,blocked,37273,40000,true
|
||||
MO-027,Carado,T-Series,2025,2-MOB-027,Geel,available,38502,40000,true
|
||||
MO-028,Hymer,Exsis,2019,2-MOB-028,Geel,cleaning,38959,40000,true
|
||||
MO-029,Bürstner,Lyseo,2020,2-MOB-029,Geel,rented,39712,40000,true
|
||||
MO-030,Sunlight,Cliff,2021,2-MOB-030,Geel,maintenance,40213,50000,true
|
||||
MO-031,Adria,Matrix,2022,2-MOB-031,Geel,blocked,41149,50000,true
|
||||
MO-032,Dethleffs,Trend,2023,2-MOB-032,Geel,rented,41791,50000,true
|
||||
MO-033,Carado,T-Series,2024,2-MOB-033,Geel,available,42561,50000,true
|
||||
MO-034,Hymer,Exsis,2025,2-MOB-034,Geel,available,43057,50000,true
|
||||
MO-035,Bürstner,Lyseo,2019,2-MOB-035,Geel,rented,44034,50000,true
|
||||
MO-036,Sunlight,Cliff,2020,2-MOB-036,Geel,available,44660,50000,true
|
||||
MO-037,Adria,Matrix,2021,2-MOB-037,Geel,available,45654,50000,true
|
||||
MO-038,Dethleffs,Trend,2022,2-MOB-038,Geel,available,46630,50000,true
|
||||
MO-039,Carado,T-Series,2023,2-MOB-039,Geel,rented,46657,50000,true
|
||||
MO-040,Hymer,Exsis,2024,2-MOB-040,Geel,available,47909,50000,true
|
||||
MO-041,Bürstner,Lyseo,2025,2-MOB-041,Geel,blocked,48443,50000,true
|
||||
MO-042,Sunlight,Cliff,2019,2-MOB-042,Geel,available,49548,50000,true
|
||||
MO-043,Adria,Matrix,2020,2-MOB-043,Geel,available,49519,50000,true
|
||||
MO-044,Dethleffs,Trend,2021,2-MOB-044,Geel,available,50611,60000,true
|
||||
MO-045,Carado,T-Series,2022,2-MOB-045,Geel,blocked,51260,60000,true
|
||||
MO-046,Hymer,Exsis,2023,2-MOB-046,Geel,cleaning,51957,60000,true
|
||||
MO-047,Bürstner,Lyseo,2024,2-MOB-047,Geel,available,52452,60000,true
|
||||
MO-048,Sunlight,Cliff,2025,2-MOB-048,Geel,maintenance,53693,60000,true
|
||||
MO-049,Adria,Matrix,2019,2-MOB-049,Geel,blocked,53935,60000,true
|
||||
MO-050,Dethleffs,Trend,2020,2-MOB-050,Geel,cleaning,54692,60000,true
|
||||
|
@@ -0,0 +1,21 @@
|
||||
event_id,event_type,aggregate_ref,status,attempts,last_error,occurred_at
|
||||
00000000-0000-4000-8000-000000000001,vehicle.returned.v1,BK-H-0001,succeeded,1,,2026-08-01T08:00:00Z
|
||||
00000000-0000-4000-8000-000000000002,vehicle.returned.v1,BK-H-0002,succeeded,1,,2026-08-01T07:00:00Z
|
||||
00000000-0000-4000-8000-000000000003,vehicle.returned.v1,BK-H-0003,succeeded,1,,2026-08-01T06:00:00Z
|
||||
00000000-0000-4000-8000-000000000004,vehicle.returned.v1,BK-H-0004,succeeded,1,,2026-08-01T05:00:00Z
|
||||
00000000-0000-4000-8000-000000000005,vehicle.returned.v1,BK-H-0005,succeeded,1,,2026-08-01T04:00:00Z
|
||||
00000000-0000-4000-8000-000000000006,vehicle.returned.v1,BK-H-0006,succeeded,1,,2026-08-01T03:00:00Z
|
||||
00000000-0000-4000-8000-000000000007,vehicle.returned.v1,BK-H-0007,succeeded,1,,2026-08-01T02:00:00Z
|
||||
00000000-0000-4000-8000-000000000008,vehicle.returned.v1,BK-H-0008,succeeded,1,,2026-08-01T01:00:00Z
|
||||
00000000-0000-4000-8000-000000000009,vehicle.returned.v1,BK-H-0009,succeeded,1,,2026-08-01T00:00:00Z
|
||||
00000000-0000-4000-8000-000000000010,vehicle.returned.v1,BK-H-0010,succeeded,1,,2026-07-31T23:00:00Z
|
||||
00000000-0000-4000-8000-000000000011,vehicle.returned.v1,BK-H-0011,succeeded,1,,2026-07-31T22:00:00Z
|
||||
00000000-0000-4000-8000-000000000012,vehicle.returned.v1,BK-H-0012,succeeded,1,,2026-07-31T21:00:00Z
|
||||
00000000-0000-4000-8000-000000000013,vehicle.returned.v1,BK-H-0013,succeeded,1,,2026-07-31T20:00:00Z
|
||||
00000000-0000-4000-8000-000000000014,vehicle.returned.v1,BK-H-0014,succeeded,1,,2026-07-31T19:00:00Z
|
||||
00000000-0000-4000-8000-000000000015,vehicle.returned.v1,BK-H-0015,succeeded,1,,2026-07-31T18:00:00Z
|
||||
00000000-0000-4000-8000-000000000016,vehicle.returned.v1,BK-H-0016,succeeded,1,,2026-07-31T17:00:00Z
|
||||
00000000-0000-4000-8000-000000000017,vehicle.returned.v1,BK-H-0017,succeeded,1,,2026-07-31T16:00:00Z
|
||||
00000000-0000-4000-8000-000000000018,vehicle.returned.v1,BK-H-0018,succeeded,1,,2026-07-31T15:00:00Z
|
||||
00000000-0000-4000-8000-000000000019,vehicle.returned.v1,BK-H-0019,succeeded,1,,2026-07-31T14:00:00Z
|
||||
00000000-0000-4000-8000-000000000020,vehicle.returned.v1,BK-H-0020,failed,3,Synthetic connection timeout to n8n,2026-07-31T13:00:00Z
|
||||
|
Reference in New Issue
Block a user