Merging

Step 1 - Choose the candidates to merge ('slaves' & 'master')

Choose all the levels you want to be merged, including the one you want to retain.

Step 2 - Select the level you intend to retain ('master')

All levels will be recursively merged into the 'master' (the one to be retained).

How it works

Merge of Make

Honda / Civic / 2000
Honda-oops / Civic / 2001
Honda-oops / Accord / 2003
If you merge the makes, and select 'Honda' as the one to keep, you get:
Honda / Civic / 2000
Honda / Civic / 2001
Honda / Accord / 2003

As you can see it merges years if there are two models with alike names (civic). It will not merge names if they are not direct descendants at all levels ('Accord' is different than 'Civic' so the merging doesn't go past the make for those vehicles). This way after the merge, years from Accord won't end up under Civic, for example.

Merge of Model

Ford / F-150 / 2000
Ford / F150 / 2000

Let's say you had the above setup. The customer would currently have to check 'under' both versions of the model (with and w/o dash), seeing approximately half of the products each time. This is obviously no good!

Merging the models, and selecting 'F-150' as the model to keep, we'd end up with:

Ford / F-150 / 2000

All products that had previously fit either of the models, will now show up under searches, and there will only be one ubiquitous spelling of 'F-150' in the database (with the dash of course).

Merge Model With Differing Years

When merging, its worth noting certain measures are taken to ensure the fitment information is updated as per the merge.

Ford / F-150 / 2000
Ford / F150 / 2001

Let's say you had the above setup in the vehicles list. the '2000' fits product A, and the '2001' fits product B.

After the merge, you will have in your vehicles list:
Ford / F-150 / 2000
Ford / F-150 / 2001
Product A's fitments:
Ford / F-150 / 2000
Product B's fitments:
Ford / F-150 / 2001

So basically, even though all years get merged together into one single model, care is taken that if a product does not fit one of those years, they will not be added as a result of the merge

Interoperation with other Modules

Fitment Notes
=====
MERGE Should "multiply" out all notes + vehicle combinations when requesting merge. All products that fit *any* vehicle, will now have notes from *all* vehicles.

SPLIT Should copy notes to each resultant vehicle/mapping.

Wheels/Wheel adapters
=====
MERGE Should prevent (throw exception) when requesting to merge vehicles that do not all share a common bolt pattern.

SPLIT Should copy wheel (bolt pattern) to each resultant vehicle.

Tires
======
MERGE Should prevent (throw exception) when requesting to merge vehicles that do not all share a common tire size.

SPLIT Should copy tire size to each resultant vehicle.

Paint Codes
======
MERGE Should prevent (throw exception) when requesting to merge vehicles that have paint codes.

SPLIT Should prevent operation if vehicles have paint codes