Skip to content

Commit 04add99

Browse files
committed
Motorhome & caravan attribute support
1 parent 830d562 commit 04add99

7 files changed

+99
-0
lines changed

src/Api/Builders/VehicleInfoBuilder.php

+9
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,11 @@
1515
use Olsgreen\AutoTrader\Api\Enums\TransmissionTypes;
1616
use Olsgreen\AutoTrader\Api\Enums\VehicleTypes;
1717
use Olsgreen\AutoTrader\Api\Enums\WheelbaseTypes;
18+
use Olsgreen\AutoTrader\Api\Enums\BedroomLayouts\CaravanBedroomLayouts;
19+
use Olsgreen\AutoTrader\Api\Enums\BedroomLayouts\MotorhomeBedroomLayouts;
20+
use Olsgreen\AutoTrader\Api\Enums\EndLayouts\CaravanEndLayouts;
21+
use Olsgreen\AutoTrader\Api\Enums\EndLayouts\MotorhomeEndLayouts;
22+
1823

1924
class VehicleInfoBuilder extends AbstractSchemableBuilder
2025
{
@@ -124,6 +129,10 @@ class VehicleInfoBuilder extends AbstractSchemableBuilder
124129
'payloadVolumeCubicMetres' => 'integer',
125130
'rde2Compliant' => 'bool',
126131
'sector' => 'string',
132+
'bedroom_layout' => [CaravanBedroomLayouts::class, MotorhomeBedroomLayouts::class],
133+
'end_layout' => [CaravanEndLayouts::class, MotorhomeEndLayouts::class],
134+
'berths' => 'integer',
135+
'bedrooms' => 'integer',
127136
];
128137

129138
protected $cast = [
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<?php
2+
3+
namespace Olsgreen\AutoTrader\Api\Enums\BedroomLayouts;
4+
5+
use Olsgreen\AutoTrader\Api\Enums\AbstractEnum;
6+
7+
abstract class BaseBedroomLayouts extends AbstractEnum
8+
{
9+
const DINETTE_CONVERSION = 'Dinette conversion';
10+
11+
const DROP_DOWN_BED = 'Drop-down bed';
12+
13+
const FIXED_BUNK_BEDS = 'Fixed bunk beds';
14+
15+
const FIXED_ISLAND_BED = 'Fixed island bed';
16+
17+
const FIXED_SINGLE_BEDS = 'Fixed single beds';
18+
19+
const FRENCH_BED = 'French bed';
20+
21+
const LOUNGE_CONVERSION = 'Lounge Conversion';
22+
23+
const TRANSVERSE_BED = 'Transverse bed';
24+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<?php
2+
3+
namespace Olsgreen\AutoTrader\Api\Enums\BedroomLayouts;
4+
5+
use Olsgreen\AutoTrader\Api\Enums\AbstractEnum;
6+
7+
class CaravanBedroomLayouts extends BaseBedroomLayouts
8+
{
9+
const FIXED_BED = 'Fixed bed';
10+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<?php
2+
3+
namespace Olsgreen\AutoTrader\Api\Enums\BedroomLayouts;
4+
5+
use Olsgreen\AutoTrader\Api\Enums\AbstractEnum;
6+
7+
class MotorhomeBedroomLayouts extends BaseBedroomLayouts
8+
{
9+
const FIXED_DOUBLE_BED = 'Fixed double bed';
10+
11+
const OVERCAB_BED_DOUBLE = 'Overcab bed - double';
12+
13+
const OVERCAB_BED_SINGLE = 'Overcab bed - single';
14+
15+
const POP_UP_ROOF_DOUBLE_BED = 'Pop-up roof double bed';
16+
17+
const ROCK_N_ROLL_BED = 'Rock n Roll bed';
18+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<?php
2+
3+
namespace Olsgreen\AutoTrader\Api\Enums\EndLayouts;
4+
5+
use Olsgreen\AutoTrader\Api\Enums\AbstractEnum;
6+
7+
abstract class BaseEndLayouts extends AbstractEnum
8+
{
9+
const END_BEDROOM = 'End bedroom';
10+
11+
const END_BEDROOM_WASHROOM = 'End bedroom / washroom';
12+
13+
const END_DINETTE = 'End dinette';
14+
15+
const END_KITCHEN = 'End kitchen';
16+
17+
const END_KITCHEN_WASHROOM = 'End kitchen / washroom';
18+
19+
const END_LOUNGE = 'End lounge';
20+
21+
const END_WASHROOM = 'End washroom';
22+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?php
2+
3+
namespace Olsgreen\AutoTrader\Api\Enums\EndLayouts;
4+
5+
class CaravanEndLayouts extends BaseEndLayouts
6+
{
7+
/**/
8+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?php
2+
3+
namespace Olsgreen\AutoTrader\Api\Enums\EndLayouts;
4+
5+
class MotorhomeEndLayouts extends BaseEndLayouts
6+
{
7+
const END_GARAGE = 'End Garage';
8+
}

0 commit comments

Comments
 (0)