Car History Sample Data
Users
{'user_id': 1, 'first_name': 'Sample', 'last_name': 'Driver', 'username': 'sampledriver', 'email': 'sampledriver@example.com', 'phone': '555-000-0000', 'password_hash': '$2b$12$X2PHJi4hd8h1UTZL5O9sXeZrj12DUu2GaMnFGXA0d0ejfqmVUzx6W', 'role': 'user', 'future_roles_json': None, 'created_at': datetime.datetime(2025, 11, 28, 15, 11, 48), 'updated_at': datetime.datetime(2025, 11, 28, 15, 11, 48)}
Vehicles
{'vin': 'WBAEV53412KM12345', 'model_year': 2002, 'make': 'BMW', 'model': '330Ci', 'trim': 'Sport', 'engine': '3.0L I6', 'transmission': '5MT', 'drive_type': 'RWD', 'body': 'Coupe', 'color': 'Silver', 'spec_source': 'stock', 'overrides_json': None, 'stock_source': 'seed', 'first_seen_at': datetime.datetime(2025, 11, 28, 15, 11, 48), 'updated_at': datetime.datetime(2025, 11, 28, 15, 11, 48)}
Service Events
{'service_id': 1, 'vin': 'WBAEV53412KM12345', 'date': datetime.date(2024, 6, 15), 'odometer': 120000, 'unit_system': 'mi', 'service_type': 'oil', 'description': 'Oil and filter change cabin filter replaced.', 'total_cost': Decimal('89.99'), 'currency': 'USD', 'shop_id': None, 'attachments_json': None, 'created_by_user_id': 1, 'visibility': 'public', 'created_at': datetime.datetime(2025, 11, 28, 15, 11, 48), 'updated_at': datetime.datetime(2025, 11, 28, 15, 11, 48)}
Incidents
{'incident_id': 1, 'vin': 'WBAEV53412KM12345', 'date': datetime.date(2023, 3, 10), 'odometer': 110000, 'unit_system': 'mi', 'type': 'collision', 'severity': 'minor', 'description': 'Minor rear bumper collision bumper cover repainted.', 'total_cost': Decimal('650.00'), 'currency': 'USD', 'attachments_json': None, 'created_by_user_id': 1, 'visibility': 'public', 'provider_name': None, 'provider_event_id': None, 'provider_first_seen_at': None, 'raw_payload_json': None, 'created_at': datetime.datetime(2025, 11, 28, 15, 11, 48), 'updated_at': datetime.datetime(2025, 11, 28, 15, 11, 48)}
Vehicle Scores
{'vin': 'WBAEV53412KM12345', 'score': 82, 'components_json': '{"maintenance": 25, "inspections": 10, "incidents": -5, "mileage": -3, "ownership": 5}', 'computed_at': datetime.datetime(2025, 11, 28, 15, 11, 48)}