HEX
Server: Microsoft-IIS/10.0
System: Windows NT ITPWINWEBSVR22 10.0 build 20348 (Windows Server 2022) AMD64
User: www.conferencesearch.co.uk (0)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: D:/MariaDB Data/castironradcen/settings.MYD
0�PicturesLargeThumbnailWidth700�D_X	%�SoftwareEnabledTrue�?��m.�ApplicationNextOrderNo548929�I%�w'�ApplicationVATRate0.2�?��f&�SoftwareNameShopping�@j��9�ApplicationProductHighlightsEnabledTrue�B�2�ApplicationCustomersEnabledFalse�B�2�ApplicationContractsEnabledFalse�B�.�	PicturesMaxPictureHeight1500�D_W�-�PicturesMaxPictureWidth1500�D_W�/�FroogleHostuploads.google.com�B$��/�FroogleUserNamecastironradcen�DR
72�FrooglePasswordnoBBt9RMLjuC4DYxp�DR
6$�FroogleEnabledTrue�DR	�)�FroogleDateTimeLastSent��v�DN�d1�PicturesLargeThumbnailHeight700�D_X'0�PicturesSmallThumbnailWidth160�D_Xz1�PicturesSmallThumbnailHeight160�D_X�3�PicturesLargeThumbnailCentredTrue�Dr2F1�ProductsMaxPicturesPerProduct20�E/ԡ*�ProductsFilesEnabledTrue�D��R,�ProductsMaxFileSize1048576�D�q�&�DeliveryByPriceFalse�H��y&�DeliveryByWeightTrue�E/��3�DeliverySpecialRegionByWeightTrue�E/�9�DeliverySpecialRegionLimitCountriesTrue�E/�$�DeliveryTypeCustom�H��+�Application
SchemaVersion7�H�h0� ApplicationAccountsEnabledTrue�H=�U>�!ApplicationAllowDifferentDeliveryAddressTrue�H=�U<�"ApplicationAllowProductOrderIfNoStockFalse�H=�U6�#ApplicationCustomPricingEnabledFalse�H=�U9�$ApplicationDefaultCountryUnited Kingdom�H=�U)�%ApplicationDefaultTitle�H=�V0�&ApplicationDevelopmentPassword�H=��:�'ApplicationDimensionFieldLabel
Dimensions�H=�V:�(ApplicationFourPricingFieldsEnabledFalse�H=�V��)ApplicationHearAboutUsList�Google search
Yahoo search
Yell.com
Yellow Pages advert
Froogle search
Other Internet search
eBay website
Other Internet site
I am an existing customer
Friend's recommendation�H=�V:�*ApplicationOutOfStockMessageOut of Stock�H=�V9�+ApplicationPricesEnteredIncludeVATFalse�H=�V7�,ApplicationRelatedProductsEnabledTrue�H=�o;�-ApplicationShowRelatedProductsInGroupTrue�H=�W.�.Application
ShowStockInfoTrue�H=�W3�/ApplicationShowWeightInEmailFalse�H=�WB�0Application UseDiscountFieldForSpecialOffersFalse�H=�!8�1ApplicationUseEmailAddressForLoginTrue�H=�W0�2ApplicationVATBandsEnabledTrue�H=�W.�3Application
VATRegisteredTrue�H=�W9�4ApplicationVATZeroForIntraCommunityTrue�H��1@�5ApplicationVATIntraCommunityCountries	USE TABLE�I	�g0�6ApplicationWeightRequiredFalse�H=�X*�7ApplicationWeightUnitskg�H=�X!�8BestSellersMax5�H=��(�9BestSellersPastDays365�H=�X/�:BestSellers	SortOrder	TotalSold�H=�.�;
Categories
GroupsEnabledFalse�H=�X4�<
CategoriesExtraSearchComboCategory�H=�XJ�=
CategoriesExtraSearchComboBlankEntry--Select Occassion--�H=�X9�>
CategoriesShowProductsOnFullListCatTrue�H=�Y6�?
CategoriesCategoryForSubcategoryMenu�H=�YA�@
Categories!AddSpecialOffersToSubcategoryMenuTrue�H=�Y4�A
CategoriesCategoryListEnabledFalse�H=�Y7�B
CategoriesSubcategoryListEnabledFalse�H=�Y?�C
CategoriesUseAlternateColorForCategoriesFalse�H=�Y3�DCurrencyMulticurrencyEnabledFalse�H=�Y6�ECurrencyAllowedCurrenciesGBP,USD,EUR�H=�Y(�FCurrencyDefaultCodeGBP�H=�Y&�GCurrencyDefaultRate1�H=�Z(�HCurrency
DefaultSymbol��H=�Z-�ICurrencyDefaultShowVATFalse�H��d6�JCurrencyDefaultCountryUnited Kingdom�I	��#�KDeliveryUKLimit30�H=�Z"�LDeliveryUKBelow0�H=�Z"�MDeliveryUKAbove0�H=�Z �NDeliveryUKText�H=�[#�ODeliveryEULimit30�H=�["�PDeliveryEUBelow6�H=�["�QDeliveryEUAbove6�H=�[ �RDeliveryEUText�H=�[#�SDeliveryRWLimit30�H=�["�TDeliveryRWBelow7�H=�["�UDeliveryRWAbove7�H=�[ �VDeliveryRWText�H=�\3�WDeliverySpecialRegionByPriceFalse�H=�\-�XDeliveryAllowCollectionTrue�H�ȋ,�YEmailOrderConfirmationBcc1�H=�\J�ZEmailOrderConfirmationBcc2contactforms@itpartnership.com�H=�\,�[EmailOrderConfirmationFrom�H=�] �\Email	ContactTo�H=�]@�]EmailContactBcc1contactforms@itpartnership.com�H=�]"�^EmailContactBcc2�H=�]"�_EmailContactFrom�H=�],�`EmailHTMLEmailsEnabledTrue�H=�],�aFroogleTypeGoogle Products�H=�]a�bFroogleProductType=Home & Garden > Household Appliances > HVAC > Radiant Heaters�H=�]!�cPaymentTypeEPDQ�H���$�dPaymentType2PAYPAL�H=�^U�ePaymentDirectPaySecureSite)https://secure.itpartnership.com/blahblah�H=�^V�fPaymentDirectPayAllowedCardTypes$Visa,Mastercard,JCB,Switch,Solo,AMEX�H=��0�gPaymentWorldPayInstallID144252�H=�^*�hPaymentWorldPayTestMode0�H=�^I�iPaymentPayPalBusiness"sales@castironradiatorcentre.co.uk�H=�^,�jPaymentPayPalTestModeFalse�H=�^3�kPaymentPayPalShippingAddressFlag0�H=�^.�lPaymentePDQClientID	epdq70593�H=�V7�mPaymentePDQPassphraseperiodradiator#1�H=�[+�nPaymentePDQChargeTypeAuth�H=�_@�oPaymentGoogleCheckoutMerchantID107384432162511�I�G3�pPicturesSmallThumbnailCentredTrue�H=�_$�qProducts	AcrossMax4�H=�($�rProductsDownMax250�H=�_*�sProductsMaxSpecialOffer5�H=�_)�tProducts
ShowIncVATFalse�H��9(�uProducts
ShowExcVATTrue�H=�`1�vProductsSummaryListEnabledFalse�H=�`4�wStoreNameCast Iron Radiator Centre�H��&7�xStoreCompanyCast Iron Radiator Centre�H=�t;�yStoreAddress1(a Division of Mossmead Ltd)�H=�{4�zStoreAddress2241 Torrington Avenue�H=��7�{StoreAddress3(Corner of Padstow Road)�H=��#�|StoreTownCoventry�I	�*�}StoreCounty
West Midlands�I	�&�~StorePostcodeCV4 9AP�H=�,�StoreCountryUnited Kingdom�H=�a-��Store	Telephone
0800 294 8603�H=�%��StoreFax�H=�)>��StoreEmail"sales@castironradiatorcentre.co.uk�IY�B��StoreURL(https://www.castironradiatorcentre.co.uk�H=�q*��StoreVATRegNoGB418771237�H=�L@��StoreRegards"The Cast Iron Radiator Centre Team�H=�a"��SiteEnabledFalse�H��'��SiteMaxPictureHeight0�H��&��SiteMaxPictureWidth0�H��/��ProductsCustomFlagEnabledTrue�H�4�3��ProductsCustomFlagCaptionRadiator�H�4�.��DeliveryByWeightFlaggedFalse�I	�K0��DeliveryByWeightNonFlaggedTrue�I	�JA��GoogleGoogleAnalyticsWebPropertyID
UA-54760903-1�I%�m4��GoogleEcommerceTrackingEnabledTrue�I%�k<��GoogleAdwordsConversionTrackingID	960477445�I%�jI��GoogleAdwordsConversionLabelPurchaseTvvFCO7fy1cQhfL-yQM�I%�f8��Google AdwordsConversionLabelNewAccount�I!��3��ApplicationCheckoutMessageEndDate���J4�5��ApplicationCheckoutMessageStartDate���J4�,��ApplicationCheckoutMessage�J4�8��ApplicationUseVATFlagFromCountriesTrue�J<g1��SiteFeaturedProductsEnabledTrue�J?��,��SitePageContentEnabledTrue�J?��)��SitePicturesEnabledTrue�J?��'��SiteFilesEnabledFalse�J?��&��SiteOtherEnabledTrue�J?��.��SiteDoorwayPagesEnabledFalse�J?�-��FeaturesVouchersEnabledTrue�J?�3��FeaturesProductReviewsEnabledTrue�J?�=��FeaturesBackInStockNotificationsEnabledTrue�J?�.��EmailSecurityCodeEnabledTrue�J?� 0��PaymentGoogleCheckoutSiteSeal3�J?��'��PaymentPayPalSiteSeal�J?��*��PaymentAllowChequesFalse�J?�F1��ApplicationAccountTypesOptional�J?�b3��EmailConfirmationIsVATReceiptTrue�L21L,��Application
ButtonTypeType1�LIڞ0��ApplicationTranslationLanguage�LIڠ4��ApplicationTranslationEnabledFalse�LIڣ2��ApplicationValidateVATNumberTrue�L��2��ProductsProductsPerPageFixedTrue�M���,��ProductsMaxRecentlyViewed7�M���-��ProductsProductPageTabsTrue�NC�/��ProductsAttributesEnabledTrue�N05,��ProductsOptionsEnabledTrue�N07.��FroogleFileName
products_circ�N+�21��ScratchProductDescription-SURINDER�High quality cast iron radiator made to an original Victorian design. It is made using traditional casting techniques and is guaranteed to enhance any period or contemporary property. 

<b>Key Selling Points</b>
{bullet} 
Victorian styled design looks good in any older style property.
Clean, simple lines also enhance contemporary interiors.
Four columns to provide ample heat output.
Fully assembled & pressure tested to 6 bar/92psi.
Ready to fit.
Integral feet.
Fitted with �" 15mm BSP connections.
Free bleed valve.
Supplied in matt black primer, ready for painting.
Available ready painted - see below.
{endbullet}

#SECTION Specification
{table type=custom}
{endtable}

#SECTION Paint Options
{radiator paint options �50}

{radfaq}
�N<����Scratch!ProductDescription-SS-DELL-LAPTOP�<b>Chrome 'Taphead' MANUAL radiator valves</b>.

These are our best value manual valves at only �19.99 + vat per set.

Customers who want a crisp, clean look will love these valves.

They come with a simple Tap Head design which has a white cap insert.

With this design, a contempory look will be easy to create ,with the reassurance of modern design standards.

These are Manually controlled valves, which have been Chrome coated to offer a more contemporay look.

These 15mm - 1/2"  valves are fully compatible to fit with modern 1/2" BSP pipe work & radiator valve inlets and outlets.

All our valves are sold along side & are compatible with our cast iron radiators. 

�T�".��ScratchProductDescription-DD7Z6P3J�<b>A PAIR of Victorian style Door knobs � Solid brass �Beehive� design.</b>  

High quality, hand turned, solid brass door knobs/handles made to an original Victorian Beehive design. 


These Victorian Beehive door knobs/handles have been faithfully reproduced from an original door knob we were fortunate to salvage & is therefore a design exclusive to us, despite there being many copies on the market.

This style was very popular from the VICTORIAN period (c1837 - 1901) right up to today and because the door knobs come with the Rose plates which are separate they can be used on either mortise or rim locks.
 
<b>Key Selling Points:</b>

�	High quality design taken from an original door knob salvaged by us.
�	Solid brass handles hand turned and aged.
�	Each set comes complete in its own box with door knobs, steel spindle, all fixing screws, hex head steel grub screw & individual allen key for fitting grub screws.
�	Brass is not lacquered so mellow further & develop a wonderful patina.
�	All fixing screws also hand aged to match.
�	A threaded steel spindle which is grooved & threaded either end for fine adjustments.  This is known as "The Pitts Mortice System".
�	Spindle also comes with a removable collar if existing lock housing is slightly smaller.
�	 All grub screws now made from steel for durability.



{Table title="Specification for Victorian style soild brass �Beehive� door knob*." class=2 cols=6 align=c,c,c,c,c,c, }
#Units,Door knob projection ,Door knob diameter, Rose plate diameter, Spindle length, Spindle diameter
Metric,70mm, 49mm, 51mm,103mm, 8mm  
Imperial, 2.75", 2" ,1.93",4", 0.31"
{endtable}		

*As these door knobs are handmade and finished the above specification should act as a guide only. 









�NC�99��FeaturesChaseCancelledOrdersEnabledTrue�QE�/��PaymentBankTransferDetailsUSD�Q	@�0��PaymentOrderDiscountFieldLabel�Q	A1/��PaymentBankTransferDetailsEUR�Q
y����Scratch"ProductDescription-SURINDER-WIN7PCIThis wonderful towel rail has a 6 section cast iron radiator insert built in which comes in Blackk Primer as standard, but can be painted in any of the colours we offer. see price options.

The Chrome frame is designed to allow towels to be heated conventionally, but with the added output of the cast iron insert.

Made from quality brass tubing which is chrome plated with 4 column design cast iron radiator insert.

These offer an ideal option for bathrooms and cloakrooms.

Dimensions:

A - 960mm
B - 675mm
C - 100mm
D - 230mm
E - 90mm

Output - 2407 BTU /  705 Watts

<b>Listed price is for black primer. Colour shown is added option White/Cream at +�30.00 + vat.</b>

<b>PLEASE NOTE:</b> This Towel Rail is designed to be connected to a Central Heating System and is not compatible with electric heating elements.
�No[�2��DeliveryUseDeliveryPostcodesTrue�U'�+��DeliveryMaxDeliveryDays10�U'�@��Google#GoogleAnalyticsUseDoubleClickDotNetFalse�U�:��EmailUseMessageToCustomerForDespatchTrue�V3��9��FeaturesNotifyCustomerRecordUpdateFalse�V3��;��ProductsProductSearchWithoutDescFirstTrue�V:B-3��ProductsProductSearchFullTextTrue�V:B1D��Application"VATIntraCommunityEmailAlertEnabledFalse�V`(�6��CheckoutConfirmTermAndConditionsTrue�V��~s��Google&GoogleAnalyticsCrossDomainTrackingList5'coventry-demolition.co.uk', 'vintagedoorknobs.co.uk'�V؃�1��
AddressLookup
LocalModeOnlyFalse�X#Mc|��	LocalModeExchangeReasonsR,Warranty (FOC),Warranty (FOC) Ireland,Warranty (Charged),Damaged in transit,Other�X��#?��Froogle"ProductDescriptionsFromSiteEnabledTrue�R�69��Google!AdwordsConversionLabelRemarketing�S�ct���ScratchProductDescription-PARATUSUK�<b>Cast Radiator already top coated in our popular Gun Metal finish & ready for dispatch within 2 - 4 working days.</b>

High quality cast iron radiator made in the elegant Art Nouveau design of the early 20th Century. This 8 section cast radiator is 750mm (29.5") high by 610mm (24") long. It is made using traditional casting techniques and is guaranteed to enhance any period or contemporary property with its stylised curves and organic lines. 

(Radiator on the right in the 1st picture.)

<b>Key Selling Points</b>
{bullet} 
Art Nouveau styled design looks good in any older style property.
Simple design curves/shapes offer timeless elegance to enhance contemporary interiors.
The narrow design makes this design ideal for where space is at a premium.
Two large columns provide excellent heat output.
Fully assembled & pressure tested to 6 bar/92psi.
Ready to fit.
Integral feet.
Fitted with �" 15mm BSP connections.
Free bleed valve.
Supplied in matt black primer, ready for painting.
Available ready painted - see below.
{endbullet}

{Table title="Specification for Art Nouveau Cast Iron Radiator" class=2 cols=8 align=c,c,c,c,c,c,c,c }
#Units,No. of Sections ,No. of Columns, Height*,Length**, Depth, Output,
Metric,8, 2, 750mm,610mm, 136mm,  1.08KW, 
Imperial, 8, 2 ,29.5",24", 5.6",  3712 BTU, 
{endtable}
<b>Radiator weight - approx 56kg - 8.82st.</b>

*Height is for foot section. 
**All lengths approximate and include to bush ends - please allow 4% tolerance.

<b>Paint Finish Options</b>

<b>These radiators are already finished in Gun Metal top coat.</b>

We can also supply this cast radiator ready painted/top coated in the additional authentic colours for you for just <b>�30.00 + vat</b> on top of the basice primer price. 

Top coating in one of the additional colour options normally adds an additional 7 - 10 days to dispatch lead time, though again,  we will obviously ship your order sooner if we are able to.

Additional colours are available:
{bullet}
Satin Black  
Old English White/Cream 
Antique Bronze
{endbullet}
Free colour samples available upon request - please call or email with your details.

{radfaq}
�N���E��Application&BackInStockNotificationsStaggeredDelay23�Oc��0��ApplicationShowStockAmountTrue�Oc��/��PaymentAllowBankTransfersTrue�O��*���PaymentBankTransferDetails�<table><tr><td>Account name: </td><td><b>Mossmead Limited</b></td></tr><tr><td>Bank: </td><td><b>Barclays Bank Plc, 25 High Street, Coventry, CV1 5RE, UK</b></td></tr><tr><td>Sort Code: </td><td><b>20-23-55</b></td></tr><tr><td>Account number: </td><td><b>43231631</b></td></tr><tr><td>IBAN: </td><td><b>GB07BARC20235543231631</b></td></tr><tr><td>BIC/SWIFT: </td><td><b>BARCGB22</b></td></tr></table>�O��N=��PaymentAlwaysShowEditOrderTotalsButtonFalse�O��P)��PaymentChequesPayableTo�O��I��PaymentePDQMerchantDisplayNameCast Iron Radiator Centre�O�����PaymentType3�O���*��PaymentHideCurrencyFalse�O���2��FeaturesDeliveryAgentEnabledTrue�P�O�7��FeaturesStockAvailabilityEnabledFalse�P�O�3��FeaturesReviewRequestsEnabledTrue�P�X�.��FeaturesReviewRequestsDays10�P�X�3��FeaturesStockSnapshotsEnabledTrue�P�X�X��Delivery
AgentNameList1"Royal Mail",City-Link,"Woodalls Transport",Other�P�iY+��DeliverySendKeyDefinition�P�i[0��FeaturesCustomPagesEnabledTrue�P�4���ScratchProductDescription-NEIL�Reclaimed pine sleepers.

Approx dimensions:

Length - 8 1/2 ft
Width - 10"
Depth - 5"

These are for Collection only from our Reclaim Yard, but we can arrange delivery if required, so please call us FREE on 0800 294 8603.

Please be aware that these sleepers have been treated with creosote & as such are restricted to where & how they can be used. Please see picture 2 for additional information & refer to the following website: http://bit.ly/zckH1u�P���;��StorePlaceOfRegistrationEngland and Wales�S�?�*��StoreRegisteredCompanyNo�S�?�4��ApplicationResponsiveWebDesignTrue�S��'8��ApplicationShowNotesInOrderReportFalse�TW�2��ApplicationNewOrderAlertMinutes0�TW����ScratchProductDescription-SS-WIN8-PCy<b>Luxury Wall Stay - Black Nickel Finish.</b>

Ideal to match your Black Nickel radiator valves & shrouds.

These cast iron radiator retaining wall stays are used to secure our cast iron radiators to the wall to prevent them being knocked or pulled over and they also prevent your pipework from being moved when fitted into your valves to stop leaks.

We recommend a minimum of 1 retaining stay for cast iron radiators up to 10 sections & more for larger radiators.

Total length: 265mm
Total reach (front to back of radiator): 205mm

These cast iron retaining stays are excellent value and give additional peace of mind.�TsF	��ScratchProductDescription-OPTIPLEX1�<p>
Our very own Warwick TRV (thermostatic) radiator valve set in the MATT Gun Metal finish (1/2" - 15mm BSP Fitting).
</p>
<p>
These are heavier and slightly larger than the Bentley Traditonal TRV valves we offer and come with a wonderful black solid wood wheel head.
</p>
<p>
The popular & New finish means they are suited to period properties, but also can also add a traditional feel to contemporary homes.
<p>

{Warwick Valve}

{Other More Details}�TŖ0��FeaturesReportsMenuEnabledTrue�X
2��FeaturesOrderProgressEnabledTrue�X
&��	LocalModeEnabledTrue�X
!*��
AddressLookupEnabledTrue�X#M:-��
AddressLookupType
PCAPredict�X#MT4��
AddressLookupAccountCode
COVEN11139�X#MW3��PaymentePDQPARAMVARcastironradcen�T-a`5��ApplicationAddToBasketAlertTypeNone�T>�k%��FroogleImagesFolder�TS�X1��PaymentPayPalExpressEnabledTrue�TƒAN��PaymentPayPalAPIUserName$sales_api1.coventry-demolition.co.uk�Tƒ_:��PaymentPayPalAPIPassword23K7SGBXTE63EN8V�Tƒ�c��PaymentPayPalAPISignature8AFcWxV21C7fd0v3bYYYRCpSSRl31AqKeQAkdWhDDCIQ08KxNWiB3aT14�Tƒ�/��FeaturesSaveBasketEnabledTrue�T�/*��	LocalModePaymentMethods �X��15��FeaturesPurchaseOrderingEnabledTrue�X�-�+��FeaturesGeoIPEnabledFalse�X�-�/��FeaturesStockAuditEnabledTrue�X�-����ScratchProductDescription-RADSHEDx<p>Quality cast iron radiator taken from an original design. Manufactured using traditional techniques and guaranteed for 10 years.</p>

<p> Height is 760mm from floor to top of radiator.</p>

<p><b>All radiators supplied fully assembled to maximum widths shown.</b></p>

<p><b>Distance from floor to centre of valve inlet/bush is 110mm.</b>
</p>
<b>Key Points</b>
{bullet} 
Victorian style design looks great in older properties.
Clean, simple lines also enhance contemporary interiors.
Traditional four column design provides excellent heat output.
{Radiator Common Key Points}
{endbullet}

{Radiator More Details}�X��e��DeliveryCourierExportAgentNames4Postal - Courier service, Mobile PPL radiator pallet�X��B��DeliveryCourierExportCourierNamesDPD, Mobile PPL�X��1��PicturesProgressiveEncodingTrue�Yȳ.��PicturesCompressionQuality85�Yȹ6��PaymentPurchaseInvoicePaymentMethods�Y���0��FacebookPixelID481271388921676�Y�q/��PaymentBankTransferDetailsGBP�Y��� ��SMSEnabledTrue�Z��1���Scratch!ProductDescription-SURINDER-WIN10�<p>Quality cast iron radiators made in the Art Nouveau style popular in the early 20th Century. Manufactured using traditional techniques and guaranteed for 10 years.</p>

<p> Height is 750mm from floor to top of radiator.</p>

<p><b>Distance from floor to centre of valve inlet/bush is 110mm.</b></p>

<p><b>All radiators supplied fully assembled to maximum widths shown.</b></p>



<b>Key Points</b>
{bullet} 
Stylish design with subtle scrollings.
Simple lines offering timeless elegance.
Would enhance both period and contemporary interiors.
Two large columns providing great heat output.
{Radiator Common Key Points}
{endbullet}

{Radiator More Details}�[Q�(+��PicturesUseGetPicASPFalse�[l�0��ProductsSubproductsEnabledTrue�[��;��PaymentPayPalExpressShowOnBasketPageFalse�]�y�'�PaymentPaymentMethods�^\�{2�ApplicationOrderingSuspendedTrue�^z|1)�SQLStore
RadiatorQuota�SELECT a4.Day, a4.Date, a4.Radiators, a4.Orders, a4.Latest, a4.cumulative_sum AS WeeklyCumulative

FROM
(
SELECT a1.Day, a1.Date, a1.Radiators, a1.Orders, a1.Latest,
IF(Day = "Monday", @running_total := 0, @running_total = @running_total) AS IsMonday,
@running_total := @running_total + COALESCE(a1.Radiators, 0) AS cumulative_sum

FROM

(
SELECT DAYNAME(c.CalendarDate) AS Day, c.CalendarDate AS Date, a.Radiators, a.Orders, DATE_FORMAT(a.Latest, "%H:%i") AS Latest
FROM common.Calendar c
LEFT JOIN 
(
SELECT DATE(o.DateTimeOrdered) AS Date, SUM(od.Qty) AS Radiators, COUNT(DISTINCT o.OrderNo) AS Orders, MAX(o.DateTimeOrdered) AS Latest
FROM orderdetails od
INNER JOIN orders o ON o.OrderNo = od.OrderNo
INNER JOIN products p ON p.ProductID = od.ProductID
LEFT JOIN product_attributes pa ON pa.ProductID = od.ProductID AND pa.AttributeID = 1
WHERE
DATE(o.DateTimeOrdered) BETWEEN @startdate AND CURDATE() AND
(o.Status = 'COMPLETED' OR o.Status = 'PAYMENT RECEIVED' OR o.Status = 'AWAITING PAYMENT') AND
AttributeValue = 'Radiator' AND SubproductOrderDetailID IS NULL
GROUP BY Date
) a ON a.Date = c.CalendarDate
WHERE c.CalendarDate BETWEEN @startdate AND CURDATE()
ORDER BY Date
) a1
JOIN (SELECT @running_total:=0) a3
) a4

ORDER BY Date DESC�^�W�(�EmailPurchaseOrderFrom�^��N��SQLStoreRadiatorQuota2bSELECT a4.DayName AS Day, a4.Date, a4.Radiators, a4.Orders, a4.Latest, 
a4.weekly_cumulative_sum AS WeeklyCumulative,
ROUND(a4.weekly_cumulative_sum * 7 / (WEEKDAY(a4.Date) + 1), 0) AS WeeklyPredictive,
a4.monthly_cumulative_sum AS MonthlyCumulative,
ROUND(a4.monthly_cumulative_sum * DAY(LAST_DAY(a4.Date)) / DAY(a4.Date), 0) AS MonthlyPredictive

FROM
(
SELECT a1.DayName, a1.Date, a1.Radiators, a1.Orders, a1.Latest,
IF(DayName = "Monday", @weekly_running_total := 0, @weekly_running_total = @weekly_running_total) AS IsMonday,
@weekly_running_total := @weekly_running_total + COALESCE(a1.Radiators, 0) AS weekly_cumulative_sum,
IF(Day = 1, @monthly_running_total := 0, @monthly_running_total = @monthly_running_total) AS IsMonthStart,
@monthly_running_total := @monthly_running_total + COALESCE(a1.Radiators, 0) AS monthly_cumulative_sum

FROM

(
SELECT DAYNAME(c.CalendarDate) AS DayName, DAY(c.CalendarDate) AS Day, c.CalendarDate AS Date, COALESCE(a.Radiators, 0) AS Radiators, a.Orders, DATE_FORMAT(a.Latest, "%H:%i") AS Latest
FROM common.Calendar c
LEFT JOIN 
(
SELECT DATE(o.DateTimeOrdered) AS Date, SUM(od.Qty) AS Radiators, COUNT(DISTINCT o.OrderNo) AS Orders, MAX(o.DateTimeOrdered) AS Latest
FROM orderdetails od
INNER JOIN orders o ON o.OrderNo = od.OrderNo
INNER JOIN products p ON p.ProductID = od.ProductID
LEFT JOIN product_attributes pa ON pa.ProductID = od.ProductID AND pa.AttributeID = 1
WHERE
DATE(o.DateTimeOrdered) BETWEEN @startdate AND CURDATE() AND
(o.Status = 'COMPLETED' OR o.Status = 'PAYMENT RECEIVED' OR o.Status = 'AWAITING PAYMENT') AND
AttributeValue = 'Radiator' AND SubproductOrderDetailID IS NULL

AND Exchange = Exchange

GROUP BY Date
) a ON a.Date = c.CalendarDate
WHERE c.CalendarDate BETWEEN @startdate AND CURDATE()
ORDER BY Date
) a1
JOIN (SELECT @weekly_running_total:=0) a3
) a4

ORDER BY Date DESC�^�9`��SQLStoreRadiatorQuota3�SELECT SUBSTR(a4.DayName, 1, 3) AS Day, a4.Date, DATE_FORMAT(a4.Date, "%d/%m/%y") AS DateFormatted, a4.Radiators AS Rads, a4.Orders, a4.Latest, 
a4.weekly_cumulative_sum AS WeeklyCumulative,
ROUND(a4.weekly_cumulative_sum * 7 / (WEEKDAY(a4.Date) + 1), 0) AS WeeklyPredictive,
a4.monthly_cumulative_sum AS MonthlyCumulative,
ROUND(a4.monthly_cumulative_sum * DAY(LAST_DAY(a4.Date)) / DAY(a4.Date), 0) AS MonthlyPredictive

FROM
(
SELECT a1.DayName, a1.Date, a1.Radiators, a1.Orders, a1.Latest,
IF(DayName = "Monday", @weekly_running_total := 0, @weekly_running_total = @weekly_running_total) AS IsMonday,
@weekly_running_total := @weekly_running_total + COALESCE(a1.Radiators, 0) AS weekly_cumulative_sum,
IF(Day = 1, @monthly_running_total := 0, @monthly_running_total = @monthly_running_total) AS IsMonthStart,
@monthly_running_total := @monthly_running_total + COALESCE(a1.Radiators, 0) AS monthly_cumulative_sum

FROM

(
SELECT DAYNAME(c.CalendarDate) AS DayName, DAY(c.CalendarDate) AS Day, c.CalendarDate AS Date, COALESCE(a.Radiators, 0) AS Radiators, a.Orders, DATE_FORMAT(a.Latest, "%H:%i") AS Latest
FROM common.Calendar c
LEFT JOIN 
(
SELECT DATE(o.DateTimeOrdered) AS Date, SUM(od.Qty) AS Radiators, COUNT(DISTINCT o.OrderNo) AS Orders, MAX(o.DateTimeOrdered) AS Latest
FROM orderdetails od
INNER JOIN orders o ON o.OrderNo = od.OrderNo
INNER JOIN products p ON p.ProductID = od.ProductID
LEFT JOIN product_attributes pa ON pa.ProductID = od.ProductID AND pa.AttributeID = 1
WHERE
DATE(o.DateTimeOrdered) BETWEEN @startdate AND CURDATE() AND
(o.Status = 'COMPLETED' OR o.Status = 'PAYMENT RECEIVED' OR o.Status = 'AWAITING PAYMENT') AND
AttributeValue = 'Radiator' AND SubproductOrderDetailID IS NULL

AND Exchange = Exchange

GROUP BY Date
) a ON a.Date = c.CalendarDate
WHERE c.CalendarDate BETWEEN @startdate AND CURDATE()
ORDER BY Date
) a1
JOIN (SELECT @weekly_running_total:=0) a3
) a4

ORDER BY Date DESC�^�\�1�DeliveryChooseDeliveryDateFalse�^�1�(�SalesTotalsEnabledTrue�^��2�SalesTotalsAccountingStartMonth7�^����	ScratchProductDescription-PAUL-PC�<p>
The Traditional Bentley TRV (thermostatic) radiator valve set in the Antique Brass finish (1/2" - 15mm BSP Fitting).
</p>
<p><b>End of line clearance - ONCE THEY ARE GONE, THEY ARE GONE!</b>.
<p>
<p><b>As these are end of line products, these valves only come with a 1 year guarantee</b>
<p>
These high-quality TRV valves are complemented with a superb mahogany wood effect wheel handle and combine both traditional looks with modern technology. 
</p>
<p>
The Antique Brass finish means they are suited to period properties, but also can also add a traditional feel to contemporary homes.
</p>

{Bentley Valve Features}

{Other More Details}
�_�8�*
OtherToolsBackonaAnalyticsEnabledFalse�e��|R�+
OtherToolsBackonaAnalyticsDomain app.castironradiatorcentre.co.uk�e�����
ScratchProductDescription-LIAM-PC�<p>Quality cast iron radiator taken from an original design. Manufactured using traditional techniques and guaranteed for 10 years.</p>

<p> Height is 460mm from floor to top of radiator.</p>

<p><b>All radiators supplied fully assembled to maximum widths shown.</b></p>

<p><b>Distance from floor to centre of valve inlet/bush is approx 110/120mm.</b>
</p>

<b>Key Points</b>
{bullet} 
Victorian style design looks great in older properties.
Clean, simple lines also enhance contemporary interiors.
Traditional four column design provides excellent heat output.
{Radiator Common Key Points}
{endbullet}

{Rad casting finish}

{Radiator More Details}�_��`���ScratchProductDescription-STEVE-PC)<p>
Cast Iron Radiator Assembly Tool and Instructions.
</p>
<p>
This tool is designed for adding/building larger cast iron radiators than those advertised or for removing sections from for our radiators. Please confirm at checkout which style of radiator you need the tool for as the 'Balmoral' radiator will require a smaller head & will be slight shorter in length.
</p>
<p><b>Please confirm which type of joining nipple the tool is for so that we send the correct tool - Type 1. or Type 2.</b></p>
<p>
Working length - 300 - 600mm
</p>
<p>
Instructions will be supplied with the assembly tool.
</p>
<p>
If you are looking to add sec4�%
OtherToolsOptinMonsterUserID273285�dˣ�7�&
OtherToolsOptinMonsterAccountID291005�dˣ���$PaymentPayPalPayLaterMessagesClientIDPAchJ3i5Q4d9Xj-Y5jNMDCahv7XU9sJu762S2yYrfxnL0Nh5HZzz9mOqMLyGKDPr_Fk84Flxa5l7kdYk7�b����SQLStoreRadiatorQuota4�SELECT SUBSTR(a4.DayName, 1, 3) AS Day, a4.Date, DATE_FORMAT(a4.Date, "%d/%m/%y") AS DateFormatted, a4.Radiators AS Rads, a4.Orders, a4.Latest, 
a4.weekly_cumulative_sum AS WeeklyCumulative,
ROUND(a4.weekly_cumulative_sum * 7 / (WEEKDAY(a4.Date) + 1), 0) AS WeeklyPredictive,
a4.monthly_cumulative_sum AS MonthlyCumulative,
ROUND(a4.monthly_cumulative_sum * DAY(LAST_DAY(a4.Date)) / DAY(a4.Date), 0) AS MonthlyPredictive

FROM
(
SELECT a1.DayName, a1.Date, a1.Radiators, a1.Orders, a1.Latest,
IF(DayName = "Monday", @weekly_running_total := 0, @weekly_running_total = @weekly_running_total) AS IsMonday,
@weekly_running_total := @weekly_running_total + COALESCE(a1.Radiators, 0) AS weekly_cumulative_sum,
IF(Day = 1, @monthly_running_total := 0, @monthly_running_total = @monthly_running_total) AS IsMonthStart,
@monthly_running_total := @monthly_running_total + COALESCE(a1.Radiators, 0) AS monthly_cumulative_sum

FROM

(
SELECT DAYNAME(c.CalendarDate) AS DayName, DAY(c.CalendarDate) AS Day, c.CalendarDate AS Date, COALESCE(a.Radiators, 0) AS Radiators, a.Orders, DATE_FORMAT(a.Latest, "%H:%i") AS Latest
FROM common.Calendar c
LEFT JOIN 
(
SELECT DATE(o.DateTimeOrdered) AS Date, SUM(od.Qty) AS Radiators, COUNT(DISTINCT o.OrderNo) AS Orders, MAX(o.DateTimeOrdered) AS Latest
FROM orderdetails od
INNER JOIN orders o ON o.OrderNo = od.OrderNo
INNER JOIN products p ON p.ProductID = od.ProductID
LEFT JOIN product_attributes pa ON pa.ProductID = od.ProductID AND pa.AttributeID = 1
WHERE
DATE(o.DateTimeOrdered) BETWEEN @startdate AND @enddate AND
(o.Status = 'COMPLETED' OR o.Status = 'PAYMENT RECEIVED' OR o.Status = 'AWAITING PAYMENT') AND
AttributeValue = 'Radiator' AND SubproductOrderDetailID IS NULL
AND p.CustomFlag

AND Exchange = Exchange

GROUP BY Date
) a ON a.Date = c.CalendarDate
WHERE c.CalendarDate BETWEEN @startdate AND @enddate
ORDER BY Date
) a1
JOIN (SELECT @weekly_running_total:=0) a3
) a4

ORDER BY Date DESC�^�\�E�
Application'BackInStockNotificationsStockMultiplier1�_�'kC�Application!BackInStockNotificationsScheduledFalse�_�'~s�ReviewsTrustpilotAFSEmailAddressAwww.castironradiatorcentre.co.uk+77751d3d8e@invite.trustpilot.com�_��x#�ReviewsTypeNormal�_��z+�StoreEORINoGB418771237000�_��.�!DeliveryAgentNameTrackedList�a�mc-�StoreXIEORINoXI418771237000�`4d.�SalesTotals
ExportEnabledTrue�`8
�.�SalesTotalsLastExportEndDate��~`8
�1�SalesTotalsLastExportBatchSize0�`8
�2�SalesTotalsLastExportMonthRange1�`8
�.�ProductsNetWeightEnabledTrue�`FH�.�Store
ComInvContact
Paul Brown�`J�dt�Store
ComInvAddressMTorrington Avenue
Tile Hill
Coventry
West Midlands CV4 9HL
United Kingdom�`J��5�StoreComInvPhone+44 (0)24 7630 3999�`J�2�FeaturesDespatchDatesEnabledTrue�`�'�6�ReviewsTrustpilotReviewsVisibleFalse�`�LmK�ReviewsTrustpilotSiteName www.castironradiatorcentre.co.uk�`�Lr1�FeaturesHearAboutUsEnabledFalse�`�˧5�FeaturesAlternativePhoneEnabledTrue�`�˯6� GoogleEnhancedConversionsEnabledTrue�aD�0�"ApplicationAppStatsEnabledTrue�b�$�:�#PaymentPayPalPayLaterMessagesEnabledTrue�b�x9�'FeaturesCancelledOrderEmailsEnabledTrue�eۼ>�(GoogleGoogleTagManagerContainerIDGTM-PWCBM2X�e1O*�)SiteBlogPostsEnabledTrue�eX�	*�,PaymentePDQTestModeFalse�eϐV	�� insert
)�-ApplicationRWDFramework�f��e8����������energy bills and repairs.
Ideal for new and existing systems

As stated in our fitting guidelines, appropriate inhibitor should be used in conjunction with manufacturer's instructions and appropriate quantities must be used for the water content of the system.

As a function of their design, cast iron radiators will have substantially higher water content per radiator when compared to a modern steel panel radiator - <B>In view of this, it may be necessary to add up to 3-4 times the standard amount of inhibitor to your heating system depe,�1ProductsBundlesEnabledTrue�g*�(��H�2SQLStoreCancelledOrder24HoursU# 14/02/2025
# Query for cancelled order 24 hours

SET @template_name = 'Cancelled Order 24 Hours';

# between 24 and 47 hours due to being run once a day
SET @cancelled_order_start_date_time = DATE_SUB(CONVERT(DATE_FORMAT(NOW(),'%Y-%m-%d-%H:00:00'), DATETIME), INTERVAL 2 DAY);
SET @cancelled_order_end_date_time = DATE_SUB(DATE_ADD(@cancelled_order_start_date_time, INTERVAL 1 DAY), INTERVAL 1 MINUTE);

# date range to check for in orders, must be from the @cancelle.�.Application
UTMLogEnabledTrue�f�5�3�/ApplicationReferrerLogEnabledTrue�f��b��0Scratch ProductDescription-SSWIN10MAINVM�<p>Quality cast iron radiator taken from an original design. Manufactured using traditional techniques and guaranteed for 10 years.</p>

<p> Height is 760mm from floor to top of radiator.</p>

<p><b>All radiators supplied fully assembled to maximum widths shown.</b></p>

<p><b>Distance from floor to centre of valve inlet/bush is approx 110/115mm.</b>
</p>

<b>Key Points</b>
{bullet} 
Victorian style design looks great in older properties.
Clean, simple lines also enhance contemporary interiors.
Traditional four column design provides excellent heat output.
{Radiator Common Key Points}
{endbullet}

{Rad casting finish}

{Radiator More Details}�f��PM��lAddress = o.EmailAddress

WHERE COALESCE(OrderCount, 0) = 0
) a
# end of!��d_order_start_date to now
SET @order_start_date_time = @cancelled_order_start_date_time;
SET @order_end_date_time = NOW();

# (SS,30/1/25) commented out for testing
INSERT INTO mailshots 

SELECT
NULL,
@template_name AS TemplateName,
EmailAddress,
FirstName,
Surname,
LatestOrderNo,
NOW() AS DateTimeAdded,
NULL AS DateTimeSent,
FALSE AS Sent,
NULL AS VoucherCode,
NULL AS VoucherExpiryDate,
0, NULL, NULL

FROM 
(

# query to select the data from orders cancelled, orders placed
SELECT co.EmailAddress, co.FirstName, co.Surname, CancelledOrderCount, OrderCount, EarliestCancelledOrderDateTime, LatestCancelledOrderDateTime, EarliestOrderDateTime, LatestOrderDateTime, LatestOrderNo, TotalOrderValueIncVAT
FROM
(
	SELECT EmailAddress, FirstName, Surname, COUNT(*) AS CancelledOrderCount, MIN(DateTimeOrdered) AS EarliestCancelledOrderDateTime, MAX(DateTimeOrdered) AS LatestCancelledOrderDateTime, MAX(OrderNo) AS LatestOrderNo
	FROM orders p
	WHERE Status = "CANCELLED" AND DateTimeOrdered BETWEEN @order_start_date_time AND @order_end_date_time
	GROUP BY EmailAddress
	HAVING LatestCancelledOrderDateTime BETWEEN @cancelled_order_start_date_time AND @cancelled_order_end_date_time
) co
LEFT JOIN
(
	SELECT EmailAddress, COUNT(*) AS OrderCount, MIN(DateTimeOrdered) AS EarliestOrderDateTime, MAX(DateTimeOrdered) AS LatestOrderDateTime, SUM(GrandTotal) AS TotalOrderValueIncVAT
	FROM orders
	WHERE PaymentReceived AND DateTimeOrdered BETWEEN @order_start_date_time AND @order_end_date_time
	GROUP BY EmailAddress
) o
ON co.Emai6�3SQLStore
AbandonedCart# 14/02/2025
# Query for abandoned carts mailshot 

SET @template_name = 'Abandoned Cart';
SET @voucher_code = 'AC10OFF';

SET @mailshot_gap_days = 14;
SET @min_days_since_cart = 6;

SET @earliest_date = '2024-11-07'; # date of last bulk mailshot + 6
#SET @earliest_date = '2025-02-15'; # date of last bulk mailshot + 6

# get latest mailshot date into @latest_mailshot_date (used in @latest_quote_start_date below)
SELECT DATE(MAX(DateTimeAdded)) INTO @latest_mailshot_date
FROM mailshots
WHERE TemplateName = @template_name;

# SET @latest_mailshot_date = '2025-02-13';

# set oldest date to 1/11/2024, last bulk mailshot + 1
SET @latest_mailshot_date = GREATEST(@earliest_date, DATE_ADD(@latest_mailshot_date, INTERVAL 1 DAY));

# set the latest order (abandoned) date range to check for
SET @latest_cart_start_date = DATE_SUB(LEAST(@latest_mailshot_date, CURDATE()), INTERVAL @min_days_since_cart DAY);
SET @latest_cart_end_date = DATE_SUB(CURDATE(), INTERVAL @min_days_since_cart DAY);

# date range to check for in orders, must be from the @latest_cart_start_date to today
SET @order_start_date = @latest_cart_start_date;
SET @order_end_date = CURDATE();


# (SS,30/1/25) commented out for testing
INSERT INTO mailshots 

SELECT
NULL,
"Abandoned Cart" AS TemplateName,
EmailAddress,
FirstName,
Surname,
LatestOrderNo,
NOW() AS DateTimeAdded,
NULL AS DateTimeSent,
FALSE AS Sent,
"AC10OFF" AS VoucherCode,
DATE_ADD(CURDATE(), INTERVAL 5 DAY) AS VoucherExpiryDate,
0, NULL, NULL

FROM

(


# query to select the data from orders cancelled, orders placed, also check for voucher usage
SELECT co.EmailAddress, co.FirstName, co.Surname, CancelledOrderCount, OrderCount, EarliestCancelledOrderDate, LatestCancelledOrderDate, EarliestOrderDate, LatestOrderDate, LatestOrderNo, TotalOrderValueIncVAT,
VoucherUseCount, MailshotCount, DaysSinceLastMailshot
FROM
(
	SELECT EmailAddress, FirstName, Surname, COUNT(*) AS CancelledOrderCount, DATE(MIN(DateTimeOrdered)) AS EarliestCancelledOrderDate, DATE(MAX(DateTimeOrdered)) AS LatestCancelledOrderDate, MAX(OrderNo) AS LatestOrderNo
	FROM orders p
	WHERE Status = "CANCELLED" AND DATE(DateTimeOrdered) BETWEEN @order_start_date AND @order_end_date
	GROUP BY EmailAddress
	HAVING LatestCancelledOrderDate BETWEEN @latest_cart_start_date AND @latest_cart_end_date
) co
LEFT JOIN
(
	SELECT EmailAddress, COUNT(*) AS OrderCount, DATE(MIN(DateTimeOrdered)) AS EarliestOrderDate, DATE(MAX(DateTimeOrdered)) AS LatestOrderDate, SUM(GrandTotal) AS TotalOrderValueIncVAT
	FROM orders
	WHERE PaymentReceived AND DATE(DateTimeOrdered) BETWEEN @order_start_date AND @order_end_date
	GROUP BY EmailAddress
) o
ON co.EmailAddress = o.EmailAddress
# check voucher code used before
LEFT JOIN
(
	SELECT EmailAddress, COUNT(*) AS VoucherUseCount
	FROM orders
	INNER JOIN vouchers v ON v.VoucherID = orders.VoucherID
	WHERE STATUS <> "CANCELLED" AND VoucherCode = @voucher_code
	GROUP BY EmailAddress
) vcu
ON vcu.EmailAddress = co.EmailAddress

# check mailshot already sent less than 6 (x) days ago (except those without a voucher code)
LEFT JOIN
(
	SELECT EmailAddress, COUNT(*) AS MailshotCount, DATEDIFF(CURDATE(), DATE(MAX(DateTimeAdded))) AS DaysSinceLastMailshot
	FROM mailshots
	WHERE VoucherCode IS NOT NULL	
	GROUP BY EmailAddress
) ms
ON ms.EmailAddress = co.EmailAddress

WHERE COALESCE(OrderCount, 0) = 0 AND COALESCE(VoucherUseCount, 0) = 0 AND (COALESCE(MailshotCount, 0) = 0 OR COALESCE(DaysSinceLastMailshot, 0) >= @mailshot_gap_days)
) a
# end of insert
�g�/j�4SQLStoreAbandonedQuote�# 14/02/2025
# Query for abandoned quotes mailshot 

SET @template_name = 'Abandoned Quote';
SET @voucher_code = 'AQ10OFF';

SET @mailshot_gap_days = 14;
SET @min_days_since_quote = 14;

SET @earliest_date = '2024-11-15'; # date of last bulk mailshot + 14
#SET @earliest_date = '2025-02-15'; # date of last bulk mailshot + 6

# get latest mailshot date into @latest_mailshot_date (used in @latest_quote_start_date below)
SELECT DATE(MAX(DateTimeAdded)) INTO @latest_mailshot_date
FROM mailshots
WHERE TemplateName = @template_name;

# SET @latest_mailshot_date = '2025-02-13';

# set oldest date to 1/11/2024, last bulk mailshot + 1
SET @latest_mailshot_date = GREATEST(@earliest_date, DATE_ADD(@latest_mailshot_date, INTERVAL 1 DAY));

# set the latest quote date range to check for
SET @latest_quote_start_date = DATE_SUB(LEAST(@latest_mailshot_date, CURDATE()), INTERVAL @min_days_since_quote DAY);
SET @latest_quote_end_date = DATE_SUB(CURDATE(), INTERVAL @min_days_since_quote DAY);

# date range to check for in saved baskets, must be from the @latest_quote_start_date to today
SET @saved_basket_start_date = @latest_quote_start_date;
SET @saved_basket_end_date = CURDATE();

# date range to check for in orders, must be from the @latest_quote_start_date to today
SET @order_start_date = @latest_quote_start_date;
SET @order_end_date = CURDATE();

# (SS,30/1/25) commented out for testing
INSERT INTO mailshots 

SELECT
NULL,
"Abandoned Quote" AS TemplateName,
EmailAddress,
SUBSTRING_INDEX(FullName, ' ', 1) AS FirstName,
SUBSTRING(FullName FROM INSTR(FullName, ' ') + 1) AS Surname,
LatestSavedBasketID,
NOW() AS DateTimeAdded,
NULL AS DateTimeSent,
FALSE AS Sent,
"AQ10OFF" AS VoucherCode,
DATE_ADD(CURDATE(), INTERVAL 5 DAY) AS VoucherExpiryDate,
0, NULL, NULL

FROM

(

# query to select the data from saved baskets, and orders placed, also check for voucher usage
SELECT sb.EmailAddress, sb.FullName, QuoteCount, OrderCount, EarliestQuoteDate, LatestQuoteDate, EarliestOrderDate, LatestOrderDate, LatestSavedBasketID, TotalOrderValueIncVAT,
VoucherUseCount, MailshotCount, DaysSinceLastMailshot
FROM
(
	SELECT EmailAddress, Name AS FullName, COUNT(*) AS QuoteCount, DATE(MIN(DateTimeSaved)) AS EarliestQuoteDate, DATE(MAX(DateTimeSaved)) AS LatestQuoteDate, MAX(SavedBasketID) AS LatestSavedBasketID
	FROM saved_baskets
	WHERE DATE(DateTimeSaved) BETWEEN @saved_basket_start_date AND @saved_basket_end_date
	GROUP BY EmailAddress
	HAVING LatestQuoteDate BETWEEN @latest_quote_start_date AND @latest_quote_end_date
) sb
LEFT JOIN
(
	SELECT EmailAddress, COUNT(*) AS OrderCount, DATE(MIN(DateTimeOrdered)) AS EarliestOrderDate, DATE(MAX(DateTimeOrdered)) AS LatestOrderDate, SUM(GrandTotal) AS TotalOrderValueIncVAT
	FROM orders
	WHERE STATUS <> "CANCELLED" AND DATE(DateTimeOrdered) BETWEEN @order_start_date AND @order_end_date
	GROUP BY EmailAddress
) o
ON sb.EmailAddress = o.EmailAddress

# check voucher code used before
LEFT JOIN
(
	SELECT EmailAddress, COUNT(*) AS VoucherUseCount
	FROM orders
	INNER JOIN vouchers v ON v.VoucherID = orders.VoucherID
	WHERE STATUS <> "CANCELLED" AND VoucherCode = @voucher_code
	GROUP BY EmailAddress
) vcu
ON vcu.EmailAddress = sb.EmailAddress

# check mailshot already sent less than 14 (x) days ago (except those without a voucher code)
LEFT JOIN
(
	SELECT EmailAddress, COUNT(*) AS MailshotCount, DATEDIFF(CURDATE(), DATE(MAX(DateTimeAdded))) AS DaysSinceLastMailshot
	FROM mailshots	
	WHERE VoucherCode IS NOT NULL	
	GROUP BY EmailAddress
) ms
ON ms.EmailAddress = sb.EmailAddress

WHERE COALESCE(OrderCount, 0) = 0 AND COALESCE(VoucherUseCount, 0) = 0 AND (COALESCE(MailshotCount, 0) = 0 OR COALESCE(DaysSinceLastMailshot, 0) >= @mailshot_gap_days)
) a
# end of insert
�g�/�		�g�.�	�Brass finish has a traditional look and would complement a period look.
</p>
<p>
These valves are reversible, are supplied as a pair and are complete with Lockshield.
</p>
{Welford Manual Valve}
�j"�+2�5PaymentPayPalUKOnlyCheckoutFalse�h?M	�tions to one of our radiators, you will need to purchased two additional joining nipples and two gaskets per section being added. 
</p>

{Other More Details}�_=>�]����6ScratchProductDescription-MOSSDT03&<p>
Welford Lever Aged Brass manual radiator valve set  (1/2" - 15 mm BSP fitting).
</p>
<p>
The lever handle is made from solid wood & varnished and both have wonderful scrolling detailing.
</p>
<p>
The valve has the words 'CALDO' to indicate hot, and 'FREDDO' to indicate cold, embossed on the top surface of the valve
</p>
<p>
The Aged