Script for the Sample Rbate Advisor

Download

# Sample script for Rbate advisors that rank products.
# See http://rbate.com/helpers/faqs#advisors
#
# Copyright 2009 Rbate.


# DISHWASHER SELECTOR FOR AUSTRALIA


# Features
#

footnote :wels, '<a href="http://www.waterrating.gov.au/consumers/index.html">Information about WELS (Water Efficiency Labelling and Standards)</a>.'
footnote :estar, '<a href="http://www.energyrating.gov.au/dwmenu.html">Information about energy ratings for dishwashers</a>.'

feature :rrp, 'RRP ($)', :description => 'Recommended Retail Price (Australian Dollars)', :preferred => true
feature :dimensions, 'Size mm (WxDxH)', :description => 'Size in milimetres, width by depth by height'
feature :height_adjust, 'mm Height Adjust', :description => 'Height adjustment range in milimeters'
feature :finish, 'Finish', :default => 'White', :description => 'Finish of external cabinet'
feature :cleaning, 'Cleaning Rating'
feature :water, 'Water (L/wash)', :description => 'Water usage in litres per wash (Eco/Normal program)'
feature :water_stars, {'Water Rating (1-6)' => wels}, :description => 'WELS water efficiency rating (6 is most efficient)'
feature :energy, 'Energy (kWh/y)', :description =>  'Yearly energy usage in kWh (cold water supply)'
feature :energy_stars, {'Energy Rating (1-6)' => estar}, :description => 'Energy efficiency stars (6 is most efficient)'
feature :noise, 'Noise (dB)', :description =>  'Operating noise in decibels (type "A" frequency weight)'
feature :freestanding, 'Freestanding', :description =>  'Unit has a top for freestanding installation'
feature :programs, 'Programs', :description =>  'Available wash programs'
feature :places, 'Places', :default => 12, :description => 'Capacity in number of place settings'
feature :fan_dry, 'Fan Dry', :default => false, :description =>  'Fan-assisted drying'
feature :fold_down_racks, 'Fold-Down Plate Racks', :default => false, :description => 'Allows more space for un-racked placement'
feature :warranty_years, 'Warranty Years', :default => 2
feature :anti_flood, 'Anti-Flood valve', :default => false
feature :auto, 'Auto Program', :default => false, :description => 'Selects program based on the dirtiness of the water'
feature :half_load, 'Half Load', :default => false, :description => 'Single drawer or top or bottom arm only'
feature :integrated, 'Fully Integrated', :default => false, :description => 'Hidden Controls & door can be matched to kitchen'
feature :drawer_type, 'Drawer Type', :default => false, :description => 'Unit is pull-out rather fixed with a fold-down door'
feature :timer, 'Delayed Start', :default => false, :description => 'Timed start can delay noise and electricity use'
feature :other, 'Other Features'

# Products
#

ss = 'Stainless Steel'

# ASKO

product :asko_d3122wh, 'Akso D3122WH',
        :info_url => 'www.asko.com.au/our_products/dishwashers030506/dishwasher_d3122',
        :image_url => 'www.asko.com.au/_images/products/images/supersize/D3122WH.jpg',
        :rrp => 1399, :fan_dry => true, :noise => 50,
        :dimensions => '596x570x820', :height_adjust => '0-50',
        :places => 14, :energy => 268, :energy_stars => 3.5, :water => 13.9, :water_stars => 4,
        :freestanding => false, :anti_flood => true,
        :programs => ['Heavy', 'Normal', 'Quick', 'Rinse', 'Temps: Cold/30/50/55/60/70'] 

product :asko_d3122ss, 'Akso D3122SS', :asko_d3122wh
asko_d3122ss.features = {:finish => ss, :rrp => 1599}
asko_d3122ss.image_url = 'www.asko.com.au/_images/products/images/supersize/D3122SS.jpg'

product :asko_d3132wh, 'Akso D3132WH', :asko_d3122wh
asko_d3132wh.programs.last.replace 'Temps: Cold/30/40/50/55/60/65/70'
asko_d3132wh.features = {:rrp => 1649, :timer => true}
asko_d3132wh.info_url = 'www.asko.com.au/our_products/dishwashers030506/dishwasher_d3132'
asko_d3132wh.image_url = 'www.asko.com.au/_images/products/images/supersize/DW02049_1.jpg'

product :asko_d3132ss, 'Akso D3132SS', :asko_d3132wh
asko_d3132ss.image_url = 'www.asko.com.au/_images/products/images/supersize/DW06007_3.jpg'
asko_d3132ss.features = {:rrp => 1799, :finish => ss }

product :asko_d3231, 'Akso D3231', :asko_d3132wh
asko_d3231.features = {:finish => "aluminium, #{ss}, white, bisque, silver, titanium, black", :rrp => 1849}
asko_d3231.image_url = 'www.asko.com.au/_images/products/images/supersize/D3231FI.jpg'


# Bosch

product :bosch_sgs46m62au, 'Bosch SGS46M62AU',
        :info_url => 'www.boschappliances.com.au/content.asp?document_id=437&category_id=48',
        :image_url => 'www.boschappliances.com.au/files/images/1629_SGS53E72AU_large.jpg',
        :dimensions => '600x600x850', :freestanding => true,
        :rrp => 1399, :energy => 303, :energy_stars => 3, :water => 13.6, :water_stars => 4,
        :noise => 46, :anti_flood => true, :places => 14, :fold_down_racks => true,
        :programs => ['Intensive 70&deg;', 'Auto 55-65&deg;', 'Normal 45&deg;', 'Rinse']
        
product :bosch_sgs46m78au, 'Bosch SGS46M78AU', :bosch_sgs46m62au
bosch_sgs46m78au.features = {:finish => ss, :rrp => 1349, :timer => true}
bosch_sgs46m78au.info_url = 'www.boschappliances.com.au/content.asp?document_id=440'
bosch_sgs46m78au.image_url = 'www.boschappliances.com.au/files/images/1626_SGS46M78AU_large.jpg'

product :bosch_sgs53e72au, 'Bosch SGS53E72AU', :bosch_sgs46m62au
bosch_sgs53e72au.features = {:programs => ['Pots&Pans 70&deg;', 'Intensive 65&deg;', 'Normal 45&deg;', 'Quick 45&deg;', 'Rinse'],
                             :noise => 49, :rrp => 1099}
bosch_sgs53e72au.info_url = 'www.boschappliances.com.au/content.asp?document_id=437'
bosch_sgs53e72au.image_url = 'www.boschappliances.com.au/files/images/1629_SGS53E72AU_large.jpg'

product :bosch_sgs53e75au, 'Bosch SGS53E75AU', :bosch_sgs53e72au
bosch_sgs53e72au.features = {:finish => ss, :freestanding => false, :dimensions => '600x570x810', :height_adjust => '0-60', :rrp => 1249}
bosch_sgs53e72au.info_url = 'www.boschappliances.com.au/content.asp?document_id=442&category_id=49'
bosch_sgs53e72au.image_url = 'www.boschappliances.com.au/files/images/1635_SGU53E75AU_large.jpg'

product :bosch_sgs53e05au, 'Bosch SGS53E05AU', :bosch_sgs46m78au
bosch_sgs53e05au.features = {:places => 9, :freestanding => false, :dimensions => '450x570x810', :height_adjust => '0-60', :rrp => 1199}
bosch_sgs53e05au.info_url = 'www.boschappliances.com.au/content.asp?document_id=427&category_id=49'
bosch_sgs53e05au.image_url = 'www.boschappliances.com.au/files/images/1489_SRU53E05AU_large.jpg'

product :bosch_sgs55e42au, 'Bosch SGS55E42AU', :bosch_sgs53e72au
bosch_sgs53e72au.features = {:half_load => true, :rrp => 1249}
bosch_sgs53e72au.info_url = 'www.boschappliances.com.au/content.asp?document_id=438'
bosch_sgs53e72au.image_url = 'www.boschappliances.com.au/files/images/1632_SGS55E42AU_large.jpg'

product :bosch_sgs55e55au, 'Bosch SGS55E55AU', :bosch_sgs55e42au
bosch_sgs55e55au.features = {:finish => ss, :freestanding => false, :dimensions => '600x570x810', :height_adjust => '0-60', :rrp => 1349}
bosch_sgs55e55au.info_url = 'www.boschappliances.com.au/content.asp?document_id=443&category_id=49'
bosch_sgs55e55au.image_url = 'www.boschappliances.com.au/files/images/1638_SGU55E55AU_large.jpg'

product :bosch_sgs69t15au, 'Bosch SGS69T15AU', :bosch_sgs55e55au
bosch_sgs69t15au.features = {:programs => ['Auto 65-75&deg;', 'Auto 55-65&deg;', 'Auto 35-45&deg;', 'Normal 45&deg;', 'Quick 45&deg;', 'Rinse'],
                             :energy => 225, :energy_stars => 4, :water => 13.7, :noise => 44, :other => 'Auto pressure control',
                             :rrp => 2399, :timer => true}
bosch_sgs69t15au.info_url = 'www.boschappliances.com.au/content.asp?document_id=444'
bosch_sgs69t15au.image_url = 'www.boschappliances.com.au/files/images/1641_SGU69T15AU_large.jpg'

product :bosch_shv55m43au, 'Bosch SHV55M43AU', :bosch_sgs46m62au
bosch_shv55m43au.features = {:finish => 'Custom', :integrated => true, :freestanding => false, :dimensions => '600x540x860',
                             :height_adjust => '0-60', :rrp => 2399,  :timer => true}
bosch_shv55m43au.info_url = 'www.boschappliances.com.au/content.asp?document_id=446&category_id=51'
bosch_shv55m43au.image_url = 'www.boschappliances.com.au/files/images/1647_SHV55M43AU_large.jpg'

product :bosch_shv69t15au, 'Bosch SGV69T15AU', :bosch_sgs69t15au
bosch_shv69t15au.features = {:finish => 'Custom', :integrated => true, :rrp => 2399}
bosch_shv69t15au.info_url = 'www.boschappliances.com.au/content.asp?document_id=447&category_id=51'
bosch_shv69t15au.image_url = 'www.boschappliances.com.au/files/images/1644_SGV69T15AU_large.jpg'


# DeLonghi

product :delonghi_dw67w, 'DeLonghi DW67W',
        :info_url => 'www.delonghi.com.au/products/product_details.asp?Model=DW67W',
        :image_url => 'www.delonghi.com.au/images/DW67W_big.jpg',
        :half_load => true, :freestanding => true, :timer => true,
        :dimensions => '600x580x850', :rrp => 869, :programs => %w(Intensive Heavy Normal Rinse Rapid Soak),
        :fold_down_racks => true, :energy_stars => 3, :water_stars => 3
        
product :delonghi_dw67s, 'DeLonghi DW67S', :delonghi_dw67w
delonghi_dw67s.features = {:finish => ss, :rrp => 969}
delonghi_dw67s.info_url = 'www.delonghi.com.au/products/product_details.asp?Model=DW67S'
delonghi_dw67s.image_url = 'www.delonghi.com.au/images/DW67S_big.jpg'

product :delonghi_dw87s, 'DeLonghi DW87S', :delonghi_dw67w
delonghi_dw87s.features = {:finish => ss, :rrp => 1199, :places => 14, :auto => true}
delonghi_dw87s.programs << 'Auto'
delonghi_dw87s.info_url = 'www.delonghi.com.au/products/product_details.asp?Model=DW87S'
delonghi_dw87s.image_url = 'www.delonghi.com.au/images/DW87S_big.jpg'

product :delonghi_dw97au, 'DeLonghi DW97AU', :delonghi_dw67w
delonghi_dw97au.features = {:finish => "White/#{ss}", :rrp => 1199, :places => 14, :anti_flood => true,
                            :energy_stars => 2.5, :water_stars => 3.5, :fan_dry => true, :other => 'Fully-concealed controls'}
delonghi_dw97au.programs << '3in1'
delonghi_dw97au.info_url = 'www.delonghi.com.au/products/product_details.asp?Model=DW97AU'
delonghi_dw97au.image_url = 'www.delonghi.com.au/images/DW97AU_big.jpg'

product :delonghi_st9au, 'DeLonghi ST9AU',
        :info_url => 'www.delonghi.com.au/products/product_details.asp?Model=ST9AU',
        :image_url => 'www.delonghi.com.au/images/ST9AU_big.jpg', :half_load => true, :freestanding => false, :timer => true,
        :anti_flood => true, :dimensions => '595x605x845', :rrp => 1549, :finish => "White/#{ss}",
        :programs => ['Intensive 70&deg;', 'Strong 70&deg;', 'Biological 60&deg;', 'Normal 60&deg;',
                      'Delicate 60&deg;', 'Economy 40&deg;', 'Rapid 40&deg;', 'Rinse'],
        :other => 'Fully-concealed controls', :energy => 429, :energy_stars => 1.5, :water => 14.8, :water_stars => 3.5


# Dishlex

product :dishlex_dx103wk, 'Dishlex DX103WK',
        :info_url => 'www.dishlex.com.au', :image_url => '/images/sample_advisor/DX103WK.jpg',
        :dimensions => '600x610x850', :height_adjust => '0-10', :freestanding => true,
        :rrp => 739, :energy => 332, :energy_stars => 2.5, :water => 17.8, :water_stars => 2,
        :noise => 53, :anti_flood => false,
        :programs => ['Intensive 70&deg;', 'Normal 65&deg;', 'Eco 50&deg;', 'Quick 30', 'Rinse'],
        :purchase_links => [['Appliances Online', 'http://www.appliancesonline.com.au/p-631-dishlex-dishwasher-dx103wk.aspx'],
                            ['Bing Lee', 'http://www.binglee.com.au/Product.aspx?id=2249']]
                            
product :dishlex_dx103sk, 'Dishlex DX103SK', :dishlex_dx103wk
dishlex_dx103sk.features = {:finish => ss, :rrp => 849}
dishlex_dx103sk.image_url = '/images/sample_advisor/DX103SK.jpg'

product :dishlex_dx303wl, 'Dishlex DX303WL',
        :info_url => 'www.dishlex.com.au', :image_url => '/images/sample_advisor/DX303WK.jpg',
        :dimensions => '596x582x820', :height_adjust => '0-60', :freestanding => false,
        :rrp => 1009, :energy => 233, :energy_stars => 3.5, :water => 16.8, :water_stars => 2,
        :noise => 48, :fan_dry => true,  :fold_down_racks => true,
        :programs => ['Pots', 'Regular Plus', 'Regular Eco', 'Quick 30', 'Rinse'],
        :other => ['Load sensing', 'Delay start'],
        :purchase_links => [['Appliances Online', 'http://www.appliancesonline.com.au/p-646-dishlex-dishwasher-dx303wl.aspx'],
                            ['eBuyappliances', 'http://ebuyappliances.com.au/template7.asp?product=3075&CategoryID=649&parentid=622']]

product :dishlex_dx303sl, 'Dishlex DX303SL', :dishlex_dx303wl
dishlex_dx303sl.features = {:finish => ss, :rrp => 1109}
dishlex_dx103sk.image_url = '/images/sample_advisor/DX303SL.jpg'


# Electrolux

product :electrolux_ex401isb, 'Electrolux EX401ISB',
        :info_url => 'electrolux.com.au/node38.aspx?productid=6721&QPProducts=6721,2684,2682,2683',
        :image_url => 'electrolux.com.au/Files/australia_english/0-999/EX401ISB_300.jpg',
        :dimensions => '596x575x820', :freestanding => false,
        :rrp => 1379, :energy => 352, :energy_stars => 3.5, :water => 15.9, :water_stars => 2.5,
        :noise => 48, :fan_dry => true, :finish => ss, :auto =>  true,
        :programs => [{'Anti-Bac' => 'High-temperature period helps kill bacteria'}, 'Auto', 'Eco', 'Quick 30', 'Rinse']
        
product :electrolux_esl6143, 'Electrolux ESL6143', :electrolux_ex401isb
electrolux_esl6143.features = {:rrp => 1315, :integrated => true, :dimensions => '596x575x818', :height_adjust => '0-60',
                               :anti_flood => true, :water => 16.3, :finish => 'Custom', :timer => true}
electrolux_esl6143.info_url = 'electrolux.com.au/node38.aspx?productid=2684&QPProducts=6721,2684,2682,2683'
electrolux_esl6143.image_url = 'electrolux.com.au/Files/australia_english/0-999/ESL6143.jpg'

product :electrolux_esl4143, 'Electrolux ESL4143', :electrolux_esl6143
electrolux_esl6143.features = {:places => 9, :dimensions => '446x555x818', :anti_flood => false, :water => 12.8, :water_stars => 1.5, :noise => 49}
electrolux_esl6143.info_url = 'electrolux.com.au/node38.aspx?productid=2682&QPProducts=6721,2684,2682,2683'
electrolux_esl6143.image_url = 'electrolux.com.au/Files/australia_english/0-999/ESL4143.jpg'

product :electrolux_esf6125x, 'Electrolux ESF6125X',
        :info_url => 'electrolux.com.au/node38.aspx?productid=2683&QPProducts=6721,2684,2682,2683',
        :image_url => 'electrolux.com.au/Files/australia_english/0-999/ESF6125X.jpg',
        :dimensions => '596x575x818', :height_adjust => '0-60', :freestanding => true, :timer => true,
        :rrp => 949, :energy_stars => 3.5, :water => 16, :water_stars => 2.5, :anti_flood => true, :programs => 5,
        :noise => 49, :fan_dry => true, :finish => ss, :auto =>  true


# Fisher & Paykel

product :fp_ds605fd, 'Fisher & Paykel DS605FD',
        :info_url => 'www.fisherpaykel.com.au/dishwashing/?productUid=3566392A-D2F7-F363-9AEA52E8C4315F3D',
        :image_url => 'www.fisherpaykel.com.au/admin/images/prod_mugshots/DishDrawer/DS605FD_mug_md.jpg',
        :finish => ss, :energy => 135, :energy_stars => 3, :water => 7.4, :water_stars => 3.5, :places => 6, :timer => true,
        :freestanding => false, :drawer_type => true, :anti_flood => true, :dimensions => '595x570x409', :rrp => 1499,
        :programs => ['Heavy', 'Heavy Eco', 'Normal', 'Normal Eco', 'Delicate', 'Delicate Eco', 'Fast', 'Fast Eco', 'Rinse']       
        
product :fp_dd605fd, 'Fisher & Paykel DD605FD', :fp_ds605fd
fp_dd605fd.features = {:rrp => 2249, :places => 12, :water => 14.7, :energy => 270, :water_stars => 3,
                       :half_load => true, :other => 'Separate program for each drawer' }
fp_dd605fd.info_url = 'www.fisherpaykel.com.au/dishwashing/?productUid=35648672-C55C-CE9C-EDFA2E24CDFFE87E'
fp_dd605fd.image_url = 'www.fisherpaykel.com.au/admin/images/prod_mugshots/DishDrawer/DD605FD_mug_md.jpg'

product :fp_ds605mfd, 'Fisher & Paykel DS605MFD', :fp_ds605fd
fp_ds605mfd.finish = 'Iridium Stainless Steel'
fp_ds605mfd.info_url = 'www.fisherpaykel.com.au/dishwashing/?productUid=35684FA6-A63E-8F3B-2987C9764BF9B74D'
fp_ds605mfd.image_url = 'www.fisherpaykel.com.au/admin/images/prod_mugshots/DishDrawer/DS605MFD_mug_md.jpg'

product :fp_dd605mfd, 'Fisher & Paykel DD605MFD', :fp_dd605fd
fp_dd605mfd.finish = 'Iridium Stainless Steel'
fp_dd605mfd.info_url = 'www.fisherpaykel.com.au/dishwashing/index.cfm?productUid=356763D1-D147-972D-05BB307610A7A58F'
fp_dd605mfd.image_url = 'www.fisherpaykel.com.au/admin/images/prod_mugshots/DishDrawer/DD605MFD_mug_md.jpg'

product :fp_ds605i, 'Fisher & Paykel DS605I', :fp_ds605fd
fp_ds605i.features = {:finish => "Custom/#{ss}", :rrp => 999}
fp_ds605i.info_url = 'www.fisherpaykel.com.au/dishwashing/?productUid=35721987-C06E-0D48-A875DA7F555F479A'
fp_ds605i.image_url = 'www.fisherpaykel.com.au/admin/images/prod_mugshots/DishDrawer/DS603I_300px_md.jpg'

product :fp_dd605i, 'Fisher & Paykel DD605I', :fp_dd605fd
fp_dd605i.features = {:finish => 'Custom/White', :rrp => 1699}
fp_dd605i.info_url = 'www.fisherpaykel.com.au/dishwashing/?productUid=3570B429-B499-BEAB-B9341693B3EC7F6F'
fp_dd605i.image_url = 'www.fisherpaykel.com.au/admin/images/prod_mugshots/DishDrawer/DD603I_300px_md.jpg'

product :fp_ds605zw, 'Fisher & Paykel DS605ZW', :fp_ds605fd
fp_ds605zw.features = {:finish => 'White', :rrp => 899}
fp_ds605zw.info_url = 'www.fisherpaykel.com.au/dishwashing/?productUid=356F64CF-B885-F28A-72F6BE02CF9B4A39'
fp_ds605zw.image_url = 'www.fisherpaykel.com.au/admin/images/prod_mugshots/DishDrawer/DS605_White_Mug_md.jpg'

product :fp_dd605zw, 'Fisher & Paykel DD605ZW', :fp_dd605fd
fp_dd605zw.features = {:finish => 'White', :rrp => 1784}
fp_dd605zw.info_url = 'www.fisherpaykel.com.au/dishwashing/?productUid=356E7E6B-F50B-3DAF-3634EEF8E5691662'
fp_dd605zw.image_url = 'www.fisherpaykel.com.au/admin/images/prod_mugshots/DishDrawer/DD605_White_Mug_md.jpg'

product :fp_dw60csw1, 'Fisher & Paykel DW60CSW1',
        :info_url => 'www.fisherpaykel.com.au/dishwashing/?productUid=A2E8A920-E2DD-F1D2-1FB9B5099F127C9A',
        :image_url => 'www.fisherpaykel.com.au/admin/images/prod_mugshots/Dishwasher/DW60CSW1_300px1_md.jpg',
        :energy => 267, :energy_stars => 3, :water => 13.6, :water_stars => 3, :fold_down_racks => true,
        :freestanding => true, :dimensions => '600x600x850', :rrp => 799, :anti_flood => true,
        :programs => ['Heavy', 'Normal', 'Normal Eco', 'Fast', 'Rinse']
        
product :fp_dw60csx1, 'Fisher & Paykel DW60CSX1', :fp_dw60csw1
fp_dw60csx1.features = {:finish => ss, :rrp => 849}
fp_dw60csx1.info_url = 'www.fisherpaykel.com.au/dishwashing/?productUid=A66E58F7-FD29-5FBF-A989F800B699F6E0'
fp_dw60csx1.image_url = 'www.fisherpaykel.com.au/admin/images/prod_mugshots/Dishwasher/DW60CSX1_Mugw_md.jpg'

product :fp_dw60cdw2, 'Fisher & Paykel DW60CDW2',
        :info_url => 'www.fisherpaykel.com.au/dishwashing/?productUid=2262F15F-F1CF-4767-B60D45AC2ECE4EC2',
        :image_url => 'www.fisherpaykel.com.au/admin/images/prod_mugshots/Dishwasher/DW60CDW1_300px1_md.jpg',
        :energy => 233, :energy_stars => 3.5, :water => 11.3, :water_stars => 4, :fold_down_racks => true,
        :freestanding => true, :dimensions => '600x600x850', :rrp => 999, :anti_flood => true, :timer => true,
        :programs => ['Heavy', 'Normal', 'Normal Eco', 'Delicate', 'Fast', 'Rinse']
        
product :fp_dw60cdx2, 'Fisher & Paykel DW60CDX2', :fp_dw60cdw2
fp_dw60cdx2.features = {:finish => ss, :rrp => 1049}
fp_dw60cdx2.info_url = 'www.fisherpaykel.com.au/dishwashing/?productUid=22668C60-C5DD-2FAF-A9DBBB304B313AFE'
fp_dw60cdx2.image_url = 'www.fisherpaykel.com.au/admin/images/prod_mugshots/Dishwasher/DW60CDX1_300px1_md.jpg'

product :fp_dw60dox1, 'Fisher & Paykel DW60DOX1',
        :info_url => 'www.fisherpaykel.com.au/dishwashing/?productUid=1F96D222-A98E-D010-2316D4A5F83EE2B6',
        :image_url => 'www.fisherpaykel.com.au/admin/images/prod_mugshots/Dishwasher/DW60DOX1_3-4_mug_300px_md.jpg',
        :energy => 332, :energy_stars => 3, :water => 11.1, :water_stars => 5, :places => 14,
        :noise => 42, :fold_down_racks => true, :rrp => 1449, :anti_flood => true, :auto => true,
        :other => {'Variable pressure' => 'More pressure for lower pots, less for upper delicates'},
        :freestanding => true, :dimensions => '598x570x820', :height_adjust => '0-80',
        :programs => ['Intensive', 'Daily', 'Economy', 'Normal', 'Quick']
        

# Haier
  
product :haier_hdw100wht, 'Haier HDW100WHT',
        :info_url => 'www.haier.com.au/product-detail.aspx?id=HDW100WHT',
        :image_url => 'www.haier.com.au/images/products/HDW100WHT - Front Right Angled Closed - Large.jpg',
        :dimensions => '600x600x850', :height_adjust => '0-10', :freestanding => true,
        :rrp => 549, :energy_stars => 2, :water => 11.5, :water_stars => 4, :anti_flood => true,
        :programs => ['Heavy', 'Normal', 'Glassware', 'Fast 32m', 'Rinse']
  
product :haier_hdw100sst, 'Haier HDW100SST', :haier_hdw100wht
haier_hdw100sst.features = {:finish => ss, :rrp => 699}
haier_hdw100sst.info_url = 'www.haier.com.au/product-detail.aspx?id=HDW100SST'
haier_hdw100sst.image_url = 'www.haier.com.au/images/products/HDW100SST - Front Closed - Large.jpg'

product :haier_hdw300ss, 'Haier HDW300SS', :haier_hdw100sst
haier_hdw300ss.features = {:rrp => 899, :half_load => true, :fold_down_racks => true, :other => 'Fully-concealed controls', :timer => true}
haier_hdw300ss.info_url = 'www.haier.com.au/product-detail.aspx?id=HDW300SS'
haier_hdw300ss.image_url = 'www.haier.com.au/images/products/HDW300SS---Front-Half-Open_Large.jpg'

product :haier_hdw700bi, 'Haier HDW700BI', :haier_hdw300ss
haier_hdw700bi.features = {:finish => 'None/Custom', :freestanding => false, :integrated => true, :other => nil}
haier_hdw700bi.info_url = 'www.haier.com.au/product-detail.aspx?id=HDW700BI'
haier_hdw700bi.image_url = 'www.haier.com.au/images/products/Haier-HDW700BI-505_Large.jpg'

product :haier_hdw9wht, 'Haier HDW9wHT',
        :info_url => 'www.haier.com.au/product-detail.aspx?id=HDW9WHT',
        :image_url => 'www.haier.com.au/images/products/HDW9WHT - Front Closed - Large.jpg',
        :places => 9, :dimensions => '450x600x850', :freestanding => true, :fold_down_racks => true,
        :rrp => 799, :energy_stars => 2.5, :water => 12.6, :water_stars => 2.5,
        :programs => ['Intense', 'Normal', 'Glassware', 'Quick-30', 'Rinse', 'Soak']
        
product :haier_hdw9sst, 'Haier HDW9wHT', :haier_hdw9wht
haier_hdw9sst.features = {:finish => ss, :rrp => 899}
haier_hdw9sst.info_url = 'www.haier.com.au/product-detail.aspx?id=HDW9SST'
haier_hdw9sst.image_url = 'www.haier.com.au/images/products/HDW9SST - Front Closed - Large.jpg'


# Kleenmaid

product :kleenmaid_dw43w, 'Kleenmaid DW43W',
        :info_url => 'www.kleenmaid.com.au/_product_33287/Super_Silent_Dishwasher_-_DW43W',
        :image_url => 'www.kleenmaid.com.au/images/products/dishwasher/dw43w-large.jpg',
        :dimensions => {'600x600x850' => 'Built-in version 598x550x810mm'}, :freestanding => true, :places => 14,
        :energy_stars => 3.5, :water_stars => 4, :noise => 46, :warranty_years => 5, :rrp => 2599, :timer => true,
        :programs => %w(Auto Intensive Normal Rinse)

product :kleenmaid_dw46i, 'Kleenmaid DW46i',
        :info_url => 'www.kleenmaid.com.au/_product_35542/Semi-Integrated_Dishwasher_-_DW46i',
        :image_url => 'www.kleenmaid.com.au/images/products/dishwasher/dw46i-large.jpg',
        :dimensions => '598x550x860mm', :freestanding => false, :rrp => 2859, :timer => true,
        :energy_stars => 3.5, :water => 11, :water_stars => 4, :noise => 46, :warranty_years => 10,
        :finish => "Custom/#{ss}", :anti_flood => true, :half_load => true, :programs => %w(Auto Intensive Normal Rinse)

product :kleenmaid_dw47i, 'Kleenmaid DW47i', :kleenmaid_dw46i
kleenmaid_dw47i.features = {:finish => 'Custom', :integrated => true, :rrp => 2999}
kleenmaid_dw47i.info_url = 'www.kleenmaid.com.au/_product_33289/Fully_Integrated_Dishwasher_-_DW47i'
kleenmaid_dw47i.image_url = 'www.kleenmaid.com.au/images/products/dishwasher/dw47i-large.jpg'

product :kleenmaid_dw39x, 'Kleenmaid DW39x',
        :info_url => 'www.kleenmaid.com.au/_product_33288/Built_In_Dishwasher_-_DW39X',
        :image_url => 'www.kleenmaid.com.au/images/products/dishwasher/dw39x-large.jpg',
        :dimensions => '598x550x810mm', :freestanding => false, :places => 14, :rrp => 2199,
        :energy_stars => 2.5, :water_stars => 3, :noise => 49, :warranty_years => 10,
        :programs => %w(Intensive Normal Quick Rinse), :finish => ss
        
product :kleenmaid_dw44x, 'Kleenmaid DW44x', :kleenmaid_dw46i
kleenmaid_dw44x.features = {:noise => 49, :places => 14, :anti_flood => false, :energy_stars => 3, :dimensions => '598x550x810mm', :rrp => 2749}
kleenmaid_dw44x.programs = %w(Intensive Pots&Pans Normal Quick Rinse)
kleenmaid_dw44x.info_url = 'www.kleenmaid.com.au/_product_33288/Built_In_Dishwasher_-_DW44X'
kleenmaid_dw44x.image_url = 'www.kleenmaid.com.au/images/products/dishwasher/dw44x-large.jpg'


# LG

footnote :vario, 'Top and bottom arms alternated for less energy & greater water pressure'
footnote :planetary_arm_fn, 'Small rotating arm mounted on lower arm'
planetary_arm = {'Planetary Arm' => planetary_arm_fn}

product :lg_ld1204w1, 'LG LD-1204W1',
        :info_url => 'au.lge.com/products/model/detail/homeappliance_dishwasher__ld1204w1.jhtml',
        :image_url => '/images/sample_advisor/LD1204W1.jpg',
        :rrp => 999, :fan_dry => true, :noise => 49, :freestanding => true, :timer => true,
        :dimensions => '600x600x820', :height_adjust => '0-50',
        :energy => 259, :energy_stars => 3, :water => 15.2, :water_stars => 3, :half_load => true,
        :other => {'Vario' => vario},
        :programs => ['Intensive+', 'Intensive', 'Eco 65', 'Eco 50', 'Gentle', 'Quick', 'Pre-wash']
        
product :lg_ld1204m1, 'LG LD-1204M1', :lg_ld1204w1
lg_ld1204w1.features = {:finish => 'Stainless Titanium', :rrp => 1124, :water_stars => 2.5}
lg_ld1204w1.info_url = 'au.lge.com/products/model/detail/homeappliance_dishwasher__ld1204m1.jhtml'
lg_ld1204w1.image_url = '/images/sample_advisor/LD1204M1.jpg'

product :lg_ld1403w1, 'LG LD-1403W1', :lg_ld1204w1
lg_ld1403w1.features = {:rrp => 1124, :places => 14, :noise => 47, :energy => 281, :water => 14.8, :water_stars => 3.5}
lg_ld1403w1.programs.shift # Delete Intensive+
lg_ld1403w1.other = [lg_ld1403w1.other, planetary_arm]
lg_ld1403w1.info_url = 'au.lge.com/products/model/detail/homeappliance_dishwasher__ld1403w1.jhtml'
lg_ld1403w1.image_url = '/images/sample_advisor/LD1403W1.jpg'

product :lg_ld1415t1, 'LG LD-1415T1', :lg_ld1403w1
lg_ld1415t1.features = {:rrp => 1249, :finish => ss, :noise => 49}
lg_ld1415t1.info_url = 'au.lge.com/products/model/detail/homeappliance_dishwasher__ld1415t1.jhtml'
lg_ld1415t1.image_url = '/images/sample_advisor/LD1415T1.jpg'


# Miele

footnote :miele_hardness_fn, 'Mixes salt to soften the water in hard-water areas'

product :miele_g1023, 'Miele G 1023',
        :info_url => 'www.miele.com.au/au/domestic/products/dishwashers_models_19492.htm',
        :image_url => 'www.miele.com.au/media/sap/PSHOT/30/ZMP/000000000007184820.jpg',
        :freestanding => true, :rrp => 1099, :energy_stars => 3, :water_stars => 3, :fan_dry => true, :noise => 46,
        :other => [{'Water hardness control' => miele_hardness_fn}, 'Bottle holder'],
        :fold_down_racks => true, :dimensions => '598x600x845', :height_adjust => '0-35',
        :programs => ['Sensor', 'Pots&Pans', 'Energy Save', 'Quick', 'Light', 'Pre-Wash'], :auto => true
        
product :miele_g1243sc, 'Miele G 1243 SC', :miele_g1023
miele_g1243sc.features = {:rrp => 1799, :water_stars => 4, :timer => true}
miele_g1243sc.programs[2] = 'Normal'
miele_g1243sc.programs << 'Turbo option'
miele_g1243sc.other += ['Arm alternation', 'Load Sensing', 'Dryness Sensing','Detergent selection']
miele_g1243sc.info_url = 'www.miele.com.au/au/domestic/products/dishwashers_models_19494.htm'
miele_g1243sc.image_url = 'www.miele.com.au/media/sap/PSHOT/30/ZMP/000000000007184910.jpg'

product :miele_g1023u, 'Miele G 1023 U', :miele_g1023
miele_g1023u.features = {:rrp => 1499, :finish => ss, :freestanding => false, :dimensions => '598x600x805', :height_adjust => '0-65'}
miele_g1023u.info_url = 'www.miele.com.au/au/domestic/products/dishwashers_models_19498.htm'
miele_g1023u.image_url = 'www.miele.com.au/media/sap/PSHOT/30/ZMP/000000000007184830.jpg'

product :miele_g1243scu, 'Miele G 1243 SCU', :miele_g1243sc
miele_g1243scu.features = {:rrp => 1899, :finish => ss, :freestanding => false, :dimensions => '598x600x805', :height_adjust => '0-65'}
miele_g1243scu.info_url = 'www.miele.com.au/au/domestic/products/dishwashers_models_19500.htm'
miele_g1243scu.image_url = 'www.miele.com.au/media/sap/PSHOT/30/ZMP/000000000007190650.jpg'

product :miele_g2243scu, 'Miele G 2243 SCU', :miele_g1243scu
miele_g2243scu.features = {:rrp => 1999, :places => 14, :dimensions => '598x600x845', :height_adjust => '0-65', :energy_stars => 2.5}
miele_g2243scu.info_url = 'www.miele.com.au/au/domestic/products/dishwashers_models_19501.htm'
miele_g2243scu.image_url = 'www.miele.com.au/media/sap/PSHOT/30/ZMP/000000000007184920.jpg'

footnote :miele_semi_fn, 'Stainless steel front control panel'
miele_semi = {:finish => {"Custom/#{ss}" => :miele_semi_fn}}

product :miele_g1022i, 'Miele G 1022 I', :miele_g1023
miele_g1022i.features = miele_semi.merge(:rrp => 1499)
miele_g1022i.info_url = 'www.miele.com.au/au/domestic/products/dishwashers_models_17096.htm'
miele_g1022i.image_url = 'www.miele.com.au/media/sap/PSHOT/30/ZMP/000000000007123220.jpg'

product :miele_g1243sci, 'Miele G 1243 SCi', :miele_g1243sc
miele_g1243sci.features = miele_semi.merge(:rrp => 1899)
miele_g1243sci.info_url = 'www.miele.com.au/au/domestic/products/dishwashers_models_17097.htm'
miele_g1243sci.image_url = 'www.miele.com.au/media/sap/PSHOT/30/ZMP/000000000007101300.jpg'

product :miele_g2243sci, 'Miele G 2243 SCi', :miele_g2243scu
miele_g2243sci.features = miele_semi.merge(:rrp => 1999)
miele_g2243sci.info_url = 'www.miele.com.au/au/domestic/products/dishwashers_models_17098.htm'
miele_g2243sci.image_url = 'www.miele.com.au/media/sap/PSHOT/30/ZMP/000000000006956790.jpg'

product :miele_g2732sci, 'Miele G 2732 SCi', :miele_g2243sci
miele_g2732sci.features = {:rrp => 2999, :energy_stars => 2.5, :noise => 41}
miele_g2732sci.programs = ['Sensor', 'Intensive', 'Pots&Pans', 'Hygiene', 'Sensor gentle', 'Normal', 'Energy Save', 'Quick', 'Light',
                           'Soak', 'Pre-Wash', 'Longer-drying option', 'Glasses quick', 'Dried Pasta/Paella/Fondue']
miele_g2732sci.info_url = 'www.miele.com.au/au/domestic/products/dishwashers_models_17099.htm'
miele_g2732sci.image_url = 'www.miele.com.au/media/sap/PSHOT/30/ZMP/000000000006956800.jpg'

product :miele_g1102scu, 'Miele G 1102 SCU', :miele_g1243scu
miele_g1102scu.features = {:places => 9, :dimensions => '448x570x805', :energy_stars => 2.5, :noise => 48, :rrp => 1799, :timer => false}
miele_g1102scu.programs.pop # Delete turbo
miele_g1102scu.other = nil
miele_g1102scu.info_url = 'www.miele.com.au/au/domestic/products/dishwashers_models_19503.htm'
miele_g1102scu.image_url = 'www.miele.com.au/media/sap/PSHOT/30/ZMP/000000000007185000.jpg'

product :miele_g1162scvi, 'Miele G 1162 SCVi', :miele_g1102scu
miele_g1162scvi.features = {:integrated => true, :finish => 'Custom'}
miele_g1162scvi.info_url = 'www.miele.com.au/au/domestic/products/dishwashers_models_17103.htm'
miele_g1162scvi.image_url = 'www.miele.com.au/media/sap/PSHOT/30/ZMP/000000000006956880.jpg'

product :miele_g1173scvi, 'Miele G 1173 SCVi', :miele_g1162scvi
miele_g1173scvi.features = {:places => 12, :dimensions => '598x600x805', :energy_stars => 3, :noise => 46, :rrp => 1699}
miele_g1173scvi.info_url = 'www.miele.com.au/au/domestic/products/dishwashers_models_19497.htm'
miele_g1173scvi.image_url = 'www.miele.com.au/media/sap/PSHOT/30/ZMP/000000000007185010.jpg'

product :miele_g1283scvi, 'Miele G 1283 SCVi', :miele_g1243sc
miele_g1283scvi.features = {:integrated => true, :finish => 'Custom', :dimensions => '598x570x805', :height_adjust => '0-65', :rrp => 1999}
miele_g1283scvi.info_url = 'www.miele.com.au/au/domestic/products/dishwashers_models_17100.htm'
miele_g1283scvi.image_url = 'www.miele.com.au/media/sap/PSHOT/30/ZMP/000000000007101330.jpg'

product :miele_g2283scvi, 'Miele G 2283 SCVi', :miele_g2243scu
miele_g2283scvi.features = {:integrated => true, :finish => 'Custom', :rrp => 2099}
miele_g2283scvi.programs = ['Sensor', 'Pots&Pans', 'Sensor gentle', 'Energy Save', 'Quick', 'Light']
miele_g2283scvi.info_url = 'www.miele.com.au/au/domestic/products/dishwashers_models_17101.htm'
miele_g2283scvi.image_url = 'www.miele.com.au/media/sap/PSHOT/30/ZMP/000000000006956820.jpg'

product :miele_g2872scvi, 'Miele G 2872 SCVi', :miele_g2732sci
miele_g2283scvi.features = {:integrated => true, :finish => 'Custom', :rrp => 3099}
miele_g2283scvi.info_url = 'www.miele.com.au/au/domestic/products/dishwashers_models_17102.htm'
miele_g2283scvi.image_url = 'www.miele.com.au/media/sap/PSHOT/30/ZMP/000000000006956830.jpg'


# Omega

product :omega_dw2006w1, 'Omega DW2006W-1',
        :info_url => 'www.omegaappliances.com.au/Product-203-60cm_Freestanding-2fBuilt-in_Dishwasher_DW2006W-1.aspx',
        :image_url => 'www.omegaappliances.com.au/Images/Upload/Product_203_426_240x350.jpg',
        :dimensions => '598x598x850', :height_adjust => '0-10', :freestanding => true, 
        :rrp => 1099, :energy_stars => 3, :water_stars => 2, :noise => 41, :anti_flood => true,
        :programs => %w(Super Normal Eco Delicate Soak), :fold_down_racks => false
        
product :omega_dw2006x1, 'Omega DW2006W-1', :omega_dw2006w1
omega_dw2006x1.features = {:finish => ss, :rrp => 1199}
omega_dw2006x1.info_url = 'www.omegaappliances.com.au/Product-126-60cm_Freestanding-2fBuilt-in_Dishwasher_DW2006X-1.aspx'
omega_dw2006x1.image_url = 'www.omegaappliances.com.au/Images/Upload/Product_126_311_240x350.JPG'

product :omega_dw601wa, 'Omega DW601WA', :omega_dw2006w1
omega_dw601wa.features = {:rrp => 770, :water_stars => 2.5, :energy_stars => 2.5, :dimensions => '600x580x855',
                          :anti_flood => false, :half_load => true, :noise => 43, :timer => true}
omega_dw601wa.programs = %w(Intense Heavy Normal Rapid Rinse Soak)
omega_dw601wa.info_url = 'www.omegaappliances.com.au/Product-231-60cm_Freestanding-2fBuilt-in_Dishwasher_DW601WA.aspx'
omega_dw601wa.image_url = 'www.omegaappliances.com.au/Images/Upload/Product_231_499_240x350.JPG'

product :omega_dw601xa, 'Omega DW601WA', :omega_dw601wa
omega_dw601xa.features = {:finish => ss, :rrp => 870}
omega_dw601xa.info_url = 'www.omegaappliances.com.au/Product-129-60cm_Freestanding-2fBuilt-in_Dishwasher_DW601XA.aspx'
omega_dw601xa.image_url = 'www.omegaappliances.com.au/Images/Upload/Product_129_309_240x350.JPG'


# Smeg

product :smeg_blv1, 'Smeg BLV1',
        :info_url => 'www.smegappliances.com.au/Product-258-_60cm_Freestanding-2fBuilt-in_Dishwasher__BLV1.aspx',
        :image_url => 'www.smegappliances.com.au/Images/Upload/Product_258_535_270x345.jpg',
        :places => 14, :finish => 'Custom: Assorted colours', :dimensions => '598x640x885', :freestanding => true, 
        :rrp => 1099, :energy_stars => 2.5, :water_stars => 3.5, :water => 15, :noise => 35, :anti_flood => true,
        :programs => %w(Super Intensive Bio Auto:60-70 Auto:40-50 Eco Delicate Quick Soak Rinse), :half_load => true, :timer => true,
        :other =>  planetary_arm

product :smeg_sa945x_3, 'Smeg SA945X-3',
        :info_url => 'www.smegappliances.com.au/Product-103-_45cm_Freestanding_Dishwasher__SA945X-3.aspx',
        :image_url => 'www.smegappliances.com.au/Images/Upload/Product_103_182_270x345.JPG',
        :places => 9, :finish => ss, :dimensions => '448x600x850', :height_adjust => '0-20', :freestanding => true, 
        :rrp => 1099, :energy_stars => 1, :water_stars => 1, :water => 15, :noise => 44, :anti_flood => true,
        :programs => %w(Intense Normal Soak Rinse), :half_load => true, :other =>  planetary_arm
        
product :smeg_sa8605w, 'Smeg SA8605W',
        :info_url => 'www.smegappliances.com.au/Product-107-_60cm_Freestanding-2fBuilt-in_Dishwasher__SA8605W.aspx',
        :image_url => 'www.smegappliances.com.au/Images/Upload/Product_107_635_270x345.JPG',
        :places => 14, :dimensions => '598x573x855', :height_adjust => '0-20', :freestanding => true, 
        :rrp => 1099, :energy_stars => 3.5, :water_stars => 3, :water => 16, :noise => 35, :anti_flood => true,
        :programs => ['Extra Hygiene', 'Normal', 'Normal Eco', 'Daily', 'Soak'], :half_load => true, :other =>  planetary_arm
        
product :smeg_sa8605x, 'Smeg SA8605X', :smeg_sa8605w
smeg_sa8605x.features = {:finish => ss, :rrp => 0}
smeg_sa8605x.info_url = 'www.smegappliances.com.au/Product-85-_60cm_Freestanding-2fBuilt-in_Dishwasher__SA8210X.aspx'
smeg_sa8605x.image_url = 'www.smegappliances.com.au/Images/Upload/Product_85_636_270x345.jpg'

product :smeg_sa8605xtd, 'Smeg SA8605XTD', :smeg_sa8605x
smeg_sa8605xtd.features = {:rrp => 0, :timer => true, :programs => %w(Super Strong Bio Glass Normal Daily Eco Quick Soak)}
smeg_sa8605xtd.info_url = 'www.smegappliances.com.au/Product-105-_60cm_Freestanding-2fBuilt-in_Dishwasher__SA8605XTD.aspx'
smeg_sa8605xtd.image_url = 'www.smegappliances.com.au/Images/Upload/Product_105_477_270x345.JPG'

product :smeg_sa8210w, 'Smeg SA8210W', 
        :info_url => 'www.smegappliances.com.au/Product-273-_60cm_Freestanding-2fBuilt-in_Dishwasher__SA8605X.aspx',
        :image_url => 'www.smegappliances.com.au/Images/Upload/Product_273_634_270x345.JPG',
        :dimensions => '600x600x850', :height_adgust => '0-20', :freestanding => true, :other =>  planetary_arm,
        :rrp => 1099, :energy_stars => 3, :water_stars => 2, :noise => 41, :anti_flood => true,
        :programs => ['Super', 'Normal', 'Eco', 'Normal Eco', 'Soak'], :half_load => true, :timer => true

product :smeg_sa8210x, 'Smeg SA8210X', :smeg_sa8210w
smeg_sa8210x.features = {:finish => ss, :rrp => 0}
smeg_sa8210x.info_url = 'www.smegappliances.com.au/Product-85-_60cm_Freestanding-2fBuilt-in_Dishwasher__SA8210X.aspx'
smeg_sa8210x.image_url = 'www.smegappliances.com.au/Images/Upload/Product_85_636_270x345.jpg'

product :smeg_pl8605xtd, 'Smeg PL8605XTD', :smeg_sa8605xtd
smeg_pl8605xtd.features = {:finish => 'Custom/Stainless Steel', :height_adgust => '0-50', :rrp => 0}
smeg_pl8605xtd.info_url = 'www.smegappliances.com.au/Product-110-_60cm_Semi-integrated_Dishwasher__PL8605XTD.aspx'
smeg_pl8605xtd.image_url = 'www.smegappliances.com.au/Images/Upload/Product_110_147_270x345.jpg'

product :smeg_pl8605x, 'Smeg PL8605X', :smeg_sa8605x
smeg_pl8605x.features = {:finish => 'Custom/Stainless Steel', :height_adgust => '0-50', :rrp => 0}
smeg_pl8605x.info_url = 'www.smegappliances.com.au/Product-108-_60cm_Semi-integrated_Dishwasher__PL8605X.aspx'
smeg_pl8605x.image_url = 'www.smegappliances.com.au/Images/Upload/Product_108_143_270x345.jpg'

product :smeg_pl8210x, 'Smeg PL8210X', :smeg_sa8210x
smeg_pl8210x.features = {:finish => 'Custom/Stainless Steel', :rrp => 0}
smeg_pl8210x.info_url = 'www.smegappliances.com.au/Product-109-_60cm_Semi-integrated_Dishwasher__PL8210X.aspx'
smeg_pl8210x.image_url = 'www.smegappliances.com.au/Images/Upload/Product_109_142_270x345.jpg'

product :smeg_sth903, 'Smeg STH903',
        :info_url => 'www.smegappliances.com.au/Product-101-_90cm_Fully_Integrated__STH903.aspx',
        :image_url => 'www.smegappliances.com.au/Images/Upload/Product_101_658_270x345.jpg',
        :dimensions => {'856x553x578' => 'accommodates 70cm and 90cm oven racks and trays'},
        :drawer_type => true, :integrated => true, :finish => 'Custom', :fold_down_racks => true, :auto => true,
        :rrp => 1099, :energy_stars => 3.5, :energy => 231, :water_stars => 3.5, :water => 14, :noise => 38, :anti_flood => true,
        :programs => ['Super', 'Auto 60&deg', 'Auto 50&deg', 'Bio', 'Strong &amp; Fast', 'Normal', 'Normal Eco', 'Light', 'Rinse &amp; Hold'],
        :half_load => true, :timer => true,
        :other =>  [planetary_arm, 'Fluorescent lighting', {'Anti-drip tray' => 'deflects water drips away from door opening'}]
        
product :smeg_sth905, 'Smeg STH903', :smeg_sth903
smeg_sth905.rrp = 0
smeg_sth905.other = smeg_sth903.other.dup << 'Stainless steel wash baskets'
smeg_sth905.info_url = 'www.smegappliances.com.au/Product-102-_90cm_Fully_Integrated__STH905.aspx'
smeg_sth905.image_url = 'www.smegappliances.com.au/Images/Upload/Product_102_647_270x345.jpg'

product :smeg_sta945_3, 'Smeg STA945-3', :smeg_sa945x_3
smeg_sta945_3.features = {:integrated => true, :height_adjust => '0-25', :finish => 'Custom', :dimensions => '448x550x818', :noise => 41, :rrp => 0}
smeg_sta945_3.programs =  %w(Intense Normal Bio Delicate Soak)
smeg_sta945_3.info_url = 'www.smegappliances.com.au/Product-100-_45cm_Fully_Integrated__STA945-3.aspx'
smeg_sta945_3.image_url = 'www.smegappliances.com.au/Images/Upload/Product_100_187_270x345.jpg'

product :smeg_st8605, 'Smeg ST8605', :smeg_sa8605w
smeg_st8605.features = {:integrated => true, :finish => 'Custom', :dimensions => '598x550x855', :height_adjust => '0-50', :rrp => 0}
smeg_st8605.programs =  %w(Intense Normal Normal-Eco Light Soak)
smeg_st8605.info_url = 'www.smegappliances.com.au/Product-104-_60cm_Fully_Integrated__ST8605.aspx'
smeg_st8605.image_url = 'www.smegappliances.com.au/Images/Upload/Product_104_186_270x345.JPG'

product :smeg_st663_1, 'Smeg ST663-1',
        :info_url => 'www.smegappliances.com.au/Product-99-_60cm_Fully_Integrated__ST663-1.aspx',
        :image_url => 'www.smegappliances.com.au/Images/Upload/Product_99_185_270x345.JPG',
        :dimensions => '818x600x550', :height_adjust => '0-25', :integrated => true, :finish => 'Custom',
        :rrp => 1099, :energy_stars => 3.5, :water_stars => 3, :water => 14, :noise => 37, :anti_flood => true,
        :programs => %w(Intensive Nornal Bio Delicate Rinse), :places => 14, :half_load => true, :fold_down_racks => true,
        :other =>  planetary_arm


# Westinghouse

footnote :westinghouse_load_sensor_fn, 'Adjusts water usage to load size'
load_sensor = {'Load sensor' => :westinghouse_load_sensor_fn }

product :westinghouse_sb916wl, 'Westinghouse SB916WL',
        :info_url => 'www.westinghouse.com.au/product/display/model/SB916WL',
        :image_url => 'www.westinghouse.com.au/dbimages/SB916WL_lr.jpg',
        :dimensions => '595x582x820', :freestanding => true, :rrp => 1009, :energy => 383, :energy_stars => 2.5,
        :water => 11.9, :water_stars => 4, :noise => 48, :anti_flood => true,
        :programs => %w(Heavy Normal Normal-Eco Fast Rinse), :fold_down_racks => true, :other => load_sensor, :timer => true

product :westinghouse_sb916sl, 'Westinghouse SB916SL', :westinghouse_sb916wl
westinghouse_sb916sl.features = {:finish => ss, :rrp => 1109}
westinghouse_sb916sl.info_url = 'www.westinghouse.com.au/product/display/model/SB916SL'
westinghouse_sb916sl.image_url = 'www.westinghouse.com.au/dbimages/SB916SL_lr.jpg'

product :westinghouse_sb926sl, 'Westinghouse SB926SL', :westinghouse_sb916sl
westinghouse_sb916sl.features = {:finish => ss, :rrp => 1219, :other => load_sensor, :auto => true}
westinghouse_sb916sl.info_url = 'www.westinghouse.com.au/product/display/model/SB926SL'
westinghouse_sb916sl.image_url = 'www.westinghouse.com.au/dbimages/SB926SL_lr.jpg'


# Whirlpool

product :whirlpool, 'Whirlpool ADP6000',
        :info_url => 'www.whirlpool.com.au/app.cnt/whr/au_AU/pageid/pgproddtl001/catid/4/subcatid/14/prodid/27771',
        :image_url => 'www.whirlpool.com.au/thumb/product_pictures/AU_ADP6000_WH.jpg?sizeh=335&sizew=382',
        :dimensions => '600x580x820', :height_adjust => '0-10', :freestanding => true, :rrp => 1049, :energy => 400, :energy_stars => 2,
        :water => 16.4, :water_stars => 2, :noise => 52, :anti_flood => true,
        :programs => %w(Strong Normal Economy Glass Rinse Soak), :fold_down_racks => true, :timer => true
        

product :whirlpool, 'Whirlpool ADP7000',
        :info_url => 'www.whirlpool.com.au/app.cnt/whr/au_AU/pageid/pgproddtl001/catid/4/subcatid/14/prodid/27855',
        :image_url => 'www.whirlpool.com.au/thumb/product_pictures/AU_ADP7000_H.jpg?sizeh=335&sizew=382',
        :dimensions => '595x540x820', :height_adjust => '0-10', :integrated => true, :rrp => 1049, :energy => 370, :energy_stars => 2,
        :water => 15.3, :water_stars => 2.5, :noise => 53, :anti_flood => true,
        :programs => %w(Intensive Normal-Eco Glass Rinse Soak), :fold_down_racks => true, :timer => true

# Ranking code
#

finish.must_match_a_word_in finish_pref

fc = integration == 'Fully-custom'
integrated.must_be(fc, :remove_feature => true) unless fc && (integration.answers > 1 || finish_pref.answers > 1)
finish.must_not_match_a_word_in(integration == ss ? 'white' : ss) if integration.answers == 1 && !fc || integration.answers == 2 && fc

freestanding.must_be(true, :remove_feature => true) if want_standalone == 'exposed'
drawer_type.must_be(type == 'drawer', :remove_feature => true) unless type == 'no preference'
places.must_be size
dimensions.preferred = places.preferred = true if size == 'compact'

cleaning.prefer_with_weight(pre_rinse == 'no' ? 1 : pre_rinse == 'quick' ? 0.8 : 0.3)
water_stars.prefer_with_weight(water_importance == 'very' ? 20 : 8) unless water_importance == 'not'
energy_stars.prefer_with_weight(energy_importance == 'very' ? 20 : 8) unless energy_importance == 'not'
noise.prefer_with_weight(noise_importance == 'very' ? -1.2 : -0.4, :base => 40) unless noise_importance == 'not'
rrp.prefer_with_weight(price_importance == 'very' ? -0.02 : -0.01) unless price_importance == 'not'

timer.prefer_value(true, :weight => timer_importance == 'very' ? 14 : 6) unless timer_importance == 'not'
fan_dry.prefer_value(true, :weight => fan_importance == 'very' ? 14 : 6) unless fan_importance == 'not'
half_load.prefer_value(true, :weight => 10) if loading == 'half'
auto.prefer_value(true, :weight => 10) if auto_important == 'yes'