Fix mock tests

This commit is contained in:
Tour
2025-12-05 04:48:41 +01:00
parent 1292d09427
commit f05a8b73ec
4 changed files with 629 additions and 0 deletions

View File

@@ -0,0 +1,473 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Troostwijk Auctions - Kavel Data Dashboard</title>
<script src="https://cdn.tailwindcss.com"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/plotly.js/3.0.3/plotly.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css" rel="stylesheet">
<style>
.gradient-bg {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
.card-hover {
transition: all 0.3s ease;
}
.card-hover:hover {
transform: translateY(-5px);
box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}
.kavel-card {
background: linear-gradient(145deg, #ffffff 0%, #f8fafc 100%);
border: 1px solid #e2e8f0;
}
.bid-indicator {
background: linear-gradient(45deg, #10b981 0%, #059669 100%);
}
.price-indicator {
background: linear-gradient(45deg, #f59e0b 0%, #d97706 100%);
}
</style>
</head>
<body class="bg-gray-50 min-h-screen">
<!-- Header -->
<header class="gradient-bg text-white py-8">
<div class="container mx-auto px-4">
<div class="flex items-center justify-between">
<div>
<h1 class="text-4xl font-bold mb-2">
<i class="fas fa-gavel mr-3"></i>
Troostwijk Auctions
</h1>
<p class="text-xl opacity-90">Kavel Data Extraction & Analysis Dashboard</p>
</div>
<div class="text-right">
<div class="text-2xl font-bold" id="total-kavels">5</div>
<div class="text-sm opacity-80">Total Kavels</div>
</div>
</div>
</div>
</header>
<!-- Main Content -->
<main class="container mx-auto px-4 py-8">
<!-- Summary Cards -->
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6 mb-8">
<div class="bg-white rounded-lg shadow-md p-6 card-hover">
<div class="flex items-center">
<div class="p-3 rounded-full bg-blue-100 text-blue-600">
<i class="fas fa-tags text-xl"></i>
</div>
<div class="ml-4">
<div class="text-2xl font-bold text-gray-800" id="categories-count">5</div>
<div class="text-gray-600">Categories</div>
</div>
</div>
</div>
<div class="bg-white rounded-lg shadow-md p-6 card-hover">
<div class="flex items-center">
<div class="p-3 rounded-full bg-green-100 text-green-600">
<i class="fas fa-map-marker-alt text-xl"></i>
</div>
<div class="ml-4">
<div class="text-2xl font-bold text-gray-800" id="locations-count">5</div>
<div class="text-gray-600">Locations</div>
</div>
</div>
</div>
<div class="bg-white rounded-lg shadow-md p-6 card-hover">
<div class="flex items-center">
<div class="p-3 rounded-full bg-yellow-100 text-yellow-600">
<i class="fas fa-euro-sign text-xl"></i>
</div>
<div class="ml-4">
<div class="text-2xl font-bold text-gray-800">€67,250</div>
<div class="text-gray-600">Total Value</div>
</div>
</div>
</div>
<div class="bg-white rounded-lg shadow-md p-6 card-hover">
<div class="flex items-center">
<div class="p-3 rounded-full bg-purple-100 text-purple-600">
<i class="fas fa-clock text-xl"></i>
</div>
<div class="ml-4">
<div class="text-2xl font-bold text-gray-800" id="avg-bids">24</div>
<div class="text-gray-600">Avg Bids</div>
</div>
</div>
</div>
</div>
<!-- Charts Section -->
<div class="grid grid-cols-1 lg:grid-cols-2 gap-8 mb-8">
<!-- Categories Chart -->
<div class="bg-white rounded-lg shadow-md p-6">
<h3 class="text-xl font-semibold mb-4 text-gray-800">
<i class="fas fa-chart-pie mr-2 text-blue-600"></i>
Kavel Distribution by Category
</h3>
<div id="categories-chart" style="height: 300px;"></div>
</div>
<!-- Price Ranges Chart -->
<div class="bg-white rounded-lg shadow-md p-6">
<h3 class="text-xl font-semibold mb-4 text-gray-800">
<i class="fas fa-chart-bar mr-2 text-green-600"></i>
Price Distribution
</h3>
<div id="prices-chart" style="height: 300px;"></div>
</div>
</div>
<!-- Bid Activity Chart -->
<div class="bg-white rounded-lg shadow-md p-6 mb-8">
<h3 class="text-xl font-semibold mb-4 text-gray-800">
<i class="fas fa-chart-line mr-2 text-purple-600"></i>
Bidding Activity Analysis
</h3>
<div id="bids-chart" style="height: 400px;"></div>
</div>
<!-- Kavel Details Table -->
<div class="bg-white rounded-lg shadow-md p-6">
<div class="flex justify-between items-center mb-6">
<h3 class="text-xl font-semibold text-gray-800">
<i class="fas fa-list mr-2 text-indigo-600"></i>
Kavel Details
</h3>
<div class="flex space-x-2">
<button id="export-json" class="bg-blue-600 text-white px-4 py-2 rounded-lg hover:bg-blue-700 transition-colors">
<i class="fas fa-download mr-2"></i>Export JSON
</button>
<button id="export-csv" class="bg-green-600 text-white px-4 py-2 rounded-lg hover:bg-green-700 transition-colors">
<i class="fas fa-file-csv mr-2"></i>Export CSV
</button>
</div>
</div>
<div class="overflow-x-auto">
<table class="min-w-full divide-y divide-gray-200">
<thead class="bg-gray-50">
<tr>
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Kavel</th>
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Category</th>
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Current Bid</th>
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Bids</th>
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Location</th>
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">End Date</th>
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Actions</th>
</tr>
</thead>
<tbody id="kavels-table" class="bg-white divide-y divide-gray-200">
<!-- Table content will be populated by JavaScript -->
</tbody>
</table>
</div>
</div>
</main>
<!-- Footer -->
<footer class="bg-gray-800 text-white py-8 mt-12">
<div class="container mx-auto px-4 text-center">
<p class="text-gray-300">
<i class="fas fa-info-circle mr-2"></i>
Data extracted from Troostwijk Auctions - Industrial Equipment & Machinery Auctions
</p>
<p class="text-sm text-gray-400 mt-2">
Generated on: <span id="generation-date"></span>
</p>
</div>
</footer>
<script>
// Sample data (in real implementation, this would be loaded from the extracted files)
const kavelData = [
{
"id": "KAVEL_001",
"title": "Industrial CNC Machine - Haas VF-2",
"description": "Used Haas VF-2 vertical machining center, 30 taper, 10,000 RPM spindle",
"current_bid": "€12,500",
"bid_count": "23",
"end_date": "2025-11-28 14:00:00",
"location": "Amsterdam, Netherlands",
"auction_place": "Metalworking Equipment Auction",
"category": "Machinery",
"condition": "Used",
"year": "2018",
"images": ["https://example.com/image1.jpg", "https://example.com/image2.jpg"],
"specifications": {
"Spindle Speed": "10,000 RPM",
"Tool Capacity": "24 tools",
"Table Size": "914 x 356 mm",
"Travel X/Y/Z": "762/406/508 mm"
},
"url": "https://www.troostwijkauctions.com/lots/12345"
},
{
"id": "KAVEL_002",
"title": "Forklift Truck - Linde E20",
"description": "Electric forklift, 2 ton capacity, including charger",
"current_bid": "€8,750",
"bid_count": "15",
"end_date": "2025-11-28 15:30:00",
"location": "Rotterdam, Netherlands",
"auction_place": "Warehouse Equipment Auction",
"category": "Material Handling",
"condition": "Good",
"year": "2020",
"images": ["https://example.com/forklift1.jpg"],
"specifications": {
"Capacity": "2000 kg",
"Lift Height": "4.5 meters",
"Battery": "80V lithium-ion",
"Hours": "1,250 hours"
},
"url": "https://www.troostwijkauctions.com/lots/12346"
},
{
"id": "KAVEL_003",
"title": "Office Furniture Set - Complete",
"description": "Modern office furniture including desks, chairs, and storage units",
"current_bid": "€2,300",
"bid_count": "8",
"end_date": "2025-11-29 10:00:00",
"location": "Utrecht, Netherlands",
"auction_place": "Office Liquidation Auction",
"category": "Furniture",
"condition": "Excellent",
"year": "2023",
"images": ["https://example.com/office1.jpg", "https://example.com/office2.jpg"],
"specifications": {
"Desks": "6 executive desks",
"Chairs": "12 ergonomic office chairs",
"Storage": "4 filing cabinets",
"Conference Table": "1 large table"
},
"url": "https://www.troostwijkauctions.com/lots/12347"
},
{
"id": "KAVEL_004",
"title": "Industrial Generator - 100kVA",
"description": "Cummins 100kVA diesel generator, low hours, recently serviced",
"current_bid": "€15,200",
"bid_count": "31",
"end_date": "2025-11-29 16:00:00",
"location": "Eindhoven, Netherlands",
"auction_place": "Power Equipment Auction",
"category": "Power Generation",
"condition": "Excellent",
"year": "2019",
"images": ["https://example.com/generator1.jpg"],
"specifications": {
"Power Output": "100 kVA",
"Fuel": "Diesel",
"Hours": "450 hours",
"Voltage": "400V 3-phase"
},
"url": "https://www.troostwijkauctions.com/lots/12348"
},
{
"id": "KAVEL_005",
"title": "Laboratory Equipment Package",
"description": "Complete lab setup including microscopes, centrifuges, and analytical balances",
"current_bid": "€28,500",
"bid_count": "42",
"end_date": "2025-11-30 11:00:00",
"location": "Leiden, Netherlands",
"auction_place": "Medical Equipment Auction",
"category": "Laboratory",
"condition": "Good",
"year": "2021",
"images": ["https://example.com/lab1.jpg", "https://example.com/lab2.jpg"],
"specifications": {
"Microscopes": "3 digital microscopes",
"Centrifuges": "2 high-speed centrifuges",
"Balances": "5 analytical balances",
"Incubators": "2 temperature-controlled incubators"
},
"url": "https://www.troostwijkauctions.com/lots/12349"
}
];
// Initialize dashboard
document.addEventListener('DOMContentLoaded', function() {
populateTable();
createCharts();
setupExportButtons();
document.getElementById('generation-date').textContent = new Date().toLocaleString();
});
function populateTable() {
const tableBody = document.getElementById('kavels-table');
kavelData.forEach(kavel => {
const row = document.createElement('tr');
row.className = 'hover:bg-gray-50';
row.innerHTML = `
<td class="px-6 py-4 whitespace-nowrap">
<div class="flex items-center">
<div class="ml-4">
<div class="text-sm font-medium text-gray-900">${kavel.title}</div>
<div class="text-sm text-gray-500">${kavel.id}</div>
</div>
</div>
</td>
<td class="px-6 py-4 whitespace-nowrap">
<span class="inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-blue-100 text-blue-800">
${kavel.category}
</span>
</td>
<td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">
${kavel.current_bid}
</td>
<td class="px-6 py-4 whitespace-nowrap">
<span class="inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-green-100 text-green-800">
${kavel.bid_count} bids
</span>
</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">
${kavel.location}
</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">
${new Date(kavel.end_date).toLocaleDateString()} ${new Date(kavel.end_date).toLocaleTimeString()}
</td>
<td class="px-6 py-4 whitespace-nowrap text-sm font-medium">
<button onclick="showDetails('${kavel.id}')" class="text-indigo-600 hover:text-indigo-900 mr-3">
<i class="fas fa-eye"></i>
</button>
<a href="${kavel.url}" target="_blank" class="text-green-600 hover:text-green-900">
<i class="fas fa-external-link-alt"></i>
</a>
</td>
`;
tableBody.appendChild(row);
});
}
function createCharts() {
// Categories pie chart
const categoriesData = kavelData.reduce((acc, kavel) => {
acc[kavel.category] = (acc[kavel.category] || 0) + 1;
return acc;
}, {});
const categoriesTrace = {
values: Object.values(categoriesData),
labels: Object.keys(categoriesData),
type: 'pie',
marker: {
colors: ['#3b82f6', '#10b981', '#f59e0b', '#ef4444', '#8b5cf6']
},
textinfo: 'label+percent',
textposition: 'auto'
};
Plotly.newPlot('categories-chart', [categoriesTrace], {
showlegend: false,
margin: { t: 0, b: 0, l: 0, r: 0 }
});
// Price ranges bar chart
const priceRanges = kavelData.reduce((acc, kavel) => {
const price = parseInt(kavel.current_bid.replace(/[€,]/g, ''));
let range;
if (price < 5000) range = 'Under €5,000';
else if (price < 15000) range = '€5,000 - €15,000';
else if (price < 25000) range = '€15,000 - €25,000';
else range = 'Over €25,000';
acc[range] = (acc[range] || 0) + 1;
return acc;
}, {});
const pricesTrace = {
x: Object.keys(priceRanges),
y: Object.values(priceRanges),
type: 'bar',
marker: {
color: '#10b981'
}
};
Plotly.newPlot('prices-chart', [pricesTrace], {
xaxis: { title: 'Price Range' },
yaxis: { title: 'Number of Kavels' },
margin: { t: 20, b: 80, l: 60, r: 20 }
});
// Bidding activity scatter plot
const bidsTrace = {
x: kavelData.map(k => k.title),
y: kavelData.map(k => parseInt(k.bid_count)),
mode: 'markers',
type: 'scatter',
marker: {
size: 12,
color: kavelData.map(k => parseInt(k.current_bid.replace(/[€,]/g, ''))),
colorscale: 'Viridis',
showscale: true,
colorbar: { title: 'Price (€)' }
},
text: kavelData.map(k => `${k.title}<br>Bids: ${k.bid_count}<br>Price: ${k.current_bid}`),
hovertemplate: '%{text}<extra></extra>'
};
Plotly.newPlot('bids-chart', [bidsTrace], {
xaxis: { title: 'Kavel', tickangle: -45 },
yaxis: { title: 'Number of Bids' },
margin: { t: 20, b: 150, l: 60, r: 80 }
});
}
function setupExportButtons() {
document.getElementById('export-json').addEventListener('click', function() {
downloadData(kavelData, 'troostwijk_kavels.json', 'application/json');
});
document.getElementById('export-csv').addEventListener('click', function() {
const csvData = convertToCSV(kavelData);
downloadData(csvData, 'troostwijk_kavels.csv', 'text/csv');
});
}
function downloadData(data, filename, mimeType) {
const blob = new Blob([typeof data === 'string' ? data : JSON.stringify(data, null, 2)],
{ type: mimeType });
const url = URL.createObjectURL(blob);
const a = document.createElement('a');
a.href = url;
a.download = filename;
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
URL.revokeObjectURL(url);
}
function convertToCSV(data) {
const headers = ['ID', 'Title', 'Category', 'Current Bid', 'Bid Count', 'Location', 'End Date'];
const csvContent = [
headers.join(','),
...data.map(row => [
row.id, row.title, row.category, row.current_bid,
row.bid_count, row.location, row.end_date
].join(','))
].join('\n');
return csvContent;
}
function showDetails(kavelId) {
const kavel = kavelData.find(k => k.id === kavelId);
if (kavel) {
alert(`Details for ${kavel.title}:\n\nDescription: ${kavel.description}\nCondition: ${kavel.condition}\nYear: ${kavel.year}\nSpecifications: ${JSON.stringify(kavel.specifications, null, 2)}`);
}
}
</script>
</body>
</html>

View File

@@ -0,0 +1,30 @@
{
"total_kavels": 5,
"categories": {
"Machinery": 1,
"Material Handling": 1,
"Furniture": 1,
"Power Generation": 1,
"Laboratory": 1
},
"locations": {
"Amsterdam, Netherlands": 1,
"Rotterdam, Netherlands": 1,
"Utrecht, Netherlands": 1,
"Eindhoven, Netherlands": 1,
"Leiden, Netherlands": 1
},
"price_ranges": {
"\u20ac5,000 - \u20ac15,000": 2,
"Under \u20ac5,000": 1,
"\u20ac15,000 - \u20ac25,000": 1,
"Over \u20ac25,000": 1
},
"bid_activity": {
"Medium (10-24 bids)": 2,
"Low (1-9 bids)": 1,
"High (25-39 bids)": 1,
"Very High (40+ bids)": 1
},
"time_distribution": {}
}

View File

@@ -0,0 +1,6 @@
id,title,description,current_bid,bid_count,end_date,location,auction_place,category,condition,year,images,specifications,url
KAVEL_001,Industrial CNC Machine - Haas VF-2,"Used Haas VF-2 vertical machining center, 30 taper, 10,000 RPM spindle","€12,500",23,2025-11-28 14:00:00,"Amsterdam, Netherlands",Metalworking Equipment Auction,Machinery,Used,2018,"https://example.com/image1.jpg, https://example.com/image2.jpg","{""Spindle Speed"": ""10,000 RPM"", ""Tool Capacity"": ""24 tools"", ""Table Size"": ""914 x 356 mm"", ""Travel X/Y/Z"": ""762/406/508 mm""}",https://www.troostwijkauctions.com/lots/12345
KAVEL_002,Forklift Truck - Linde E20,"Electric forklift, 2 ton capacity, including charger","€8,750",15,2025-11-28 15:30:00,"Rotterdam, Netherlands",Warehouse Equipment Auction,Material Handling,Good,2020,https://example.com/forklift1.jpg,"{""Capacity"": ""2000 kg"", ""Lift Height"": ""4.5 meters"", ""Battery"": ""80V lithium-ion"", ""Hours"": ""1,250 hours""}",https://www.troostwijkauctions.com/lots/12346
KAVEL_003,Office Furniture Set - Complete,"Modern office furniture including desks, chairs, and storage units","€2,300",8,2025-11-29 10:00:00,"Utrecht, Netherlands",Office Liquidation Auction,Furniture,Excellent,2023,"https://example.com/office1.jpg, https://example.com/office2.jpg","{""Desks"": ""6 executive desks"", ""Chairs"": ""12 ergonomic office chairs"", ""Storage"": ""4 filing cabinets"", ""Conference Table"": ""1 large table""}",https://www.troostwijkauctions.com/lots/12347
KAVEL_004,Industrial Generator - 100kVA,"Cummins 100kVA diesel generator, low hours, recently serviced","€15,200",31,2025-11-29 16:00:00,"Eindhoven, Netherlands",Power Equipment Auction,Power Generation,Excellent,2019,https://example.com/generator1.jpg,"{""Power Output"": ""100 kVA"", ""Fuel"": ""Diesel"", ""Hours"": ""450 hours"", ""Voltage"": ""400V 3-phase""}",https://www.troostwijkauctions.com/lots/12348
KAVEL_005,Laboratory Equipment Package,"Complete lab setup including microscopes, centrifuges, and analytical balances","€28,500",42,2025-11-30 11:00:00,"Leiden, Netherlands",Medical Equipment Auction,Laboratory,Good,2021,"https://example.com/lab1.jpg, https://example.com/lab2.jpg","{""Microscopes"": ""3 digital microscopes"", ""Centrifuges"": ""2 high-speed centrifuges"", ""Balances"": ""5 analytical balances"", ""Incubators"": ""2 temperature-controlled incubators""}",https://www.troostwijkauctions.com/lots/12349
1 id title description current_bid bid_count end_date location auction_place category condition year images specifications url
2 KAVEL_001 Industrial CNC Machine - Haas VF-2 Used Haas VF-2 vertical machining center, 30 taper, 10,000 RPM spindle €12,500 23 2025-11-28 14:00:00 Amsterdam, Netherlands Metalworking Equipment Auction Machinery Used 2018 https://example.com/image1.jpg, https://example.com/image2.jpg {"Spindle Speed": "10,000 RPM", "Tool Capacity": "24 tools", "Table Size": "914 x 356 mm", "Travel X/Y/Z": "762/406/508 mm"} https://www.troostwijkauctions.com/lots/12345
3 KAVEL_002 Forklift Truck - Linde E20 Electric forklift, 2 ton capacity, including charger €8,750 15 2025-11-28 15:30:00 Rotterdam, Netherlands Warehouse Equipment Auction Material Handling Good 2020 https://example.com/forklift1.jpg {"Capacity": "2000 kg", "Lift Height": "4.5 meters", "Battery": "80V lithium-ion", "Hours": "1,250 hours"} https://www.troostwijkauctions.com/lots/12346
4 KAVEL_003 Office Furniture Set - Complete Modern office furniture including desks, chairs, and storage units €2,300 8 2025-11-29 10:00:00 Utrecht, Netherlands Office Liquidation Auction Furniture Excellent 2023 https://example.com/office1.jpg, https://example.com/office2.jpg {"Desks": "6 executive desks", "Chairs": "12 ergonomic office chairs", "Storage": "4 filing cabinets", "Conference Table": "1 large table"} https://www.troostwijkauctions.com/lots/12347
5 KAVEL_004 Industrial Generator - 100kVA Cummins 100kVA diesel generator, low hours, recently serviced €15,200 31 2025-11-29 16:00:00 Eindhoven, Netherlands Power Equipment Auction Power Generation Excellent 2019 https://example.com/generator1.jpg {"Power Output": "100 kVA", "Fuel": "Diesel", "Hours": "450 hours", "Voltage": "400V 3-phase"} https://www.troostwijkauctions.com/lots/12348
6 KAVEL_005 Laboratory Equipment Package Complete lab setup including microscopes, centrifuges, and analytical balances €28,500 42 2025-11-30 11:00:00 Leiden, Netherlands Medical Equipment Auction Laboratory Good 2021 https://example.com/lab1.jpg, https://example.com/lab2.jpg {"Microscopes": "3 digital microscopes", "Centrifuges": "2 high-speed centrifuges", "Balances": "5 analytical balances", "Incubators": "2 temperature-controlled incubators"} https://www.troostwijkauctions.com/lots/12349

View File

@@ -0,0 +1,120 @@
[
{
"id": "KAVEL_001",
"title": "Industrial CNC Machine - Haas VF-2",
"description": "Used Haas VF-2 vertical machining center, 30 taper, 10,000 RPM spindle",
"current_bid": "€12,500",
"bid_count": "23",
"end_date": "2025-11-28 14:00:00",
"location": "Amsterdam, Netherlands",
"auction_place": "Metalworking Equipment Auction",
"category": "Machinery",
"condition": "Used",
"year": "2018",
"images": [
"https://example.com/image1.jpg",
"https://example.com/image2.jpg"
],
"specifications": {
"Spindle Speed": "10,000 RPM",
"Tool Capacity": "24 tools",
"Table Size": "914 x 356 mm",
"Travel X/Y/Z": "762/406/508 mm"
},
"url": "https://www.troostwijkauctions.com/lots/12345"
},
{
"id": "KAVEL_002",
"title": "Forklift Truck - Linde E20",
"description": "Electric forklift, 2 ton capacity, including charger",
"current_bid": "€8,750",
"bid_count": "15",
"end_date": "2025-11-28 15:30:00",
"location": "Rotterdam, Netherlands",
"auction_place": "Warehouse Equipment Auction",
"category": "Material Handling",
"condition": "Good",
"year": "2020",
"images": [
"https://example.com/forklift1.jpg"
],
"specifications": {
"Capacity": "2000 kg",
"Lift Height": "4.5 meters",
"Battery": "80V lithium-ion",
"Hours": "1,250 hours"
},
"url": "https://www.troostwijkauctions.com/lots/12346"
},
{
"id": "KAVEL_003",
"title": "Office Furniture Set - Complete",
"description": "Modern office furniture including desks, chairs, and storage units",
"current_bid": "€2,300",
"bid_count": "8",
"end_date": "2025-11-29 10:00:00",
"location": "Utrecht, Netherlands",
"auction_place": "Office Liquidation Auction",
"category": "Furniture",
"condition": "Excellent",
"year": "2023",
"images": [
"https://example.com/office1.jpg",
"https://example.com/office2.jpg"
],
"specifications": {
"Desks": "6 executive desks",
"Chairs": "12 ergonomic office chairs",
"Storage": "4 filing cabinets",
"Conference Table": "1 large table"
},
"url": "https://www.troostwijkauctions.com/lots/12347"
},
{
"id": "KAVEL_004",
"title": "Industrial Generator - 100kVA",
"description": "Cummins 100kVA diesel generator, low hours, recently serviced",
"current_bid": "€15,200",
"bid_count": "31",
"end_date": "2025-11-29 16:00:00",
"location": "Eindhoven, Netherlands",
"auction_place": "Power Equipment Auction",
"category": "Power Generation",
"condition": "Excellent",
"year": "2019",
"images": [
"https://example.com/generator1.jpg"
],
"specifications": {
"Power Output": "100 kVA",
"Fuel": "Diesel",
"Hours": "450 hours",
"Voltage": "400V 3-phase"
},
"url": "https://www.troostwijkauctions.com/lots/12348"
},
{
"id": "KAVEL_005",
"title": "Laboratory Equipment Package",
"description": "Complete lab setup including microscopes, centrifuges, and analytical balances",
"current_bid": "€28,500",
"bid_count": "42",
"end_date": "2025-11-30 11:00:00",
"location": "Leiden, Netherlands",
"auction_place": "Medical Equipment Auction",
"category": "Laboratory",
"condition": "Good",
"year": "2021",
"images": [
"https://example.com/lab1.jpg",
"https://example.com/lab2.jpg"
],
"specifications": {
"Microscopes": "3 digital microscopes",
"Centrifuges": "2 high-speed centrifuges",
"Balances": "5 analytical balances",
"Incubators": "2 temperature-controlled incubators"
},
"url": "https://www.troostwijkauctions.com/lots/12349"
}
]