The Ajax LifeQuality is a wireless smart air quality monitor and CO2 sensor with built-in humidity and temperature sensors to evaluate air quality (Read more)
The Ajax LifeQuality is a wireless smart air quality monitor and
CO2 sensor with built-in humidity and temperature sensors that
helps evaluate the dynamics of air quality at home, in the office,
in the workplace or in any other space. Users get medical-grade
measurement accuracy, comprehensive in-app information, and
automation scenarios.
The Swiss detector SHT40 by Sensirion ensures the accuracy of
LifeQuality s temperature and humidity readings. The Swedish
detector Sunrise from Senseair measures CO2 concentration. These
reliable detectors are used even in medical equipment.
The combined humidity and temperature detector is installed in an
isolated area of the board so that the detector readings are not
affected by the heating of other elements of the device. To measure
CO2, an NDIR
detector is used instead of VOC sensors calculating carbon
concentration mathematically. LifeQuality does not give false
readings that can occur due to substance vapours, aerosols, or
perfumes.
Features:
Detailed statistics of indicators in the Ajax apps
Notification of indicators exceeding the set limits
Up to 3 years of operation from pre-installed batteries
Remote control and configuring via the Ajax apps
Automation scenarios by CO2 level, temperature, and
humidity
LED indication of the CO2 level
Easy wall or ceiling mounting with SmartBracket mounting
panel
up to 1,700 m
Between the detector and a hub/range extender in an open
space.
Encrypted radio communication
All the data stored and transmitted are protected by block
encryption with a dynamic key.
Radio frequency hopping
To prevent radio interference and jamming
Sensitive
elements
Sensitive elements
Temperature and humidity sensor
CO2 (carbon dioxide) sensor
Temperature
measurement
Sensitive element
Digital temperature and humidity sensor
Values in the Ajax apps are updated depending on the frequency of
the "hub-detector" polling interval, but not less than once per
minute.
Measurement range
from 0°C to +50°C
The value is available in the device States in the Ajax
app.
Measurement accuracy
±0.2°C
Measurement pitch
0.1°C
The minimum temperature change value recorded in the Ajax
apps.
Humidity
measurement
Sensitive element
Digital temperature and humidity sensor
Values in the Ajax apps are updated depending on the frequency of
the "hub-detector" polling interval, but not less than once per
minute.
Measurement range
from 0% to 100%
The value is available in the device States in the Ajax
app.
Measurement accuracy
±1.8%
Measurement pitch
1%
The minimum humidity change value recorded in the Ajax
app.
Carbon dioxide (CO2)
concentration measurement
Sensitive element
digital carbon dioxide sensor
Values in the Ajax apps are updated depending on the frequency of
the "hub-detector" polling interval, but not less than once per
minute.
Measurement range
from 400 to 5000 ppm
The value is available in the device States in the Ajax
app.
Air quality assessment levels
normal air: up to 1000 ppm
moderately polluted air: from 1000 to 1400 ppm
polluted air: from 1400 to 2000 ppm
critically polluted air: more than 2000 ppm.
Effects on well-being:
from 1000 to 2500 ppm - lethargy;
from 2500 to 5000 ppm - possible adverse health effects;
5000 ppm and above - the maximum permissible concentration during
an 8-hour working day.
Measurement accuracy
±30 ppm or ±3%
Measurement pitch
1 ppm
The minimum value of the change in carbon dioxide concentration
recorded in the Ajax app.
Additional
features
Charts
of temperature, humidity, and carbon dioxide
concentration
Available in the Ajax apps. The data is updated in real time.
Measurements are stored for up to 2 years.
Discrete value: 1 minute.
LED indication
green: Normal air
yellow: Slightly polluted air
red: Polluted air
purple: Critically polluted air
The LED indicator on the device enclosure lights up in the event of
a critical change in air quality. The user can also turn on the
indication by touching the touch sensitive button on the front
panel of the detector.
Automatic calibration
once every 1-14 days
The detector selects a calibration interval depending on the
circumstances and automatically calibrates the carbon dioxide
sensor. In normal conditions (ventilated room), manual calibration
is not required. The digital humidity and temperature sensor does
not require additional calibration.
Manual calibration
is run in the Ajax apps. Suitable for unventilated rooms. We
recommend calibrating the detector once every 2-3 weeks in such
rooms.
Scenarios
reactions to changes in temperature, humidity, and carbon
dioxide concentration
For example, turning on plenum ventilation if the air quality
deteriorates.
Backup memory
up to 3 days
If the detector loses communication with the hub (or radio signal
range extender), it stores all measured values. After the
connection is restored, all values are sent to the Ajax
app.
Recommendations
The device is designed only for indoor installation at any
height. It is not necessary to use the SmartBracket mounting
panel.
The detector can be placed on a table or shelf.
Anti-sabotage
protection
Accelerometer
Notifies on attempts to tear off the detector from a surface,
remove it from the mounting panel, or move the detector if it is
placed on a table or shelf.
Protection against spoofing
device authentication
Communication loss detection
within 36 seconds
The detection time depends on the Jeweller or Jeweller/Fibra
settings.
* External websites provide additional content that supports the content on connectec.uk however the external Web site is subject to change and is beyond the control of Connectec Ltd. Connectec cannot guarantee the accuracy of content on external websites and does not endorse the information or products on any external websites. You will be subject to the external websites own privacy policy when you follow these links.
QUESTIONS AND ANSWERS
Get expert answers to questions specific to this product below or for more help visit our Q&A forum
Be the first to ask a question and help others interested in this product
REVIEWS
Read customer reviews or submit your review of this product
Thanks for taking the time to review this product. Your feedback helps us improve our products and services as well as helping other users make informed buying decisions.
There are no reviews for this product.
Why buy from Connectec?
SUPPORT
Our technical support team are experienced installation engineers with years of field experience.
SERVICE
Customer service is our top priority. We always try to ensure we offer a first class service too all our customers.
DELIVERY
We offer FREE mainland UK delivery on orders over £75 and FREE next day delivery on orders over £150*.
PARTNERS
We are approved resellers for direct access to manufacturer warranty and support.
* Qualifying products only, subject to terms. For more information view our delivery information.
This site uses cookies for essential website functions. You can choose to enable cookies that help us improve our services and promote relevant content to you.
For more information please see our Privacy Policy.
Array
(
[ALL] => Array
(
[0] => 07:24:01; PREPARED; MEMCACHE; __construct; SELECT * FROM ct_url_alias WHERE store_id = ? OR store_id = 0; 1
[1] => 07:24:01; PREPARED; MEMCACHE; index; SELECT * FROM ct_setting WHERE store_id = 0 OR store_id = ? ORDER BY store_id ASC; 1
[2] => 07:24:01; PREPARED; MEMCACHE; __construct; SELECT * FROM ct_customer_group WHERE customer_group_id = ?; 1
[3] => 07:24:01; PREPARED; MEMCACHE; getCustomerCatalog; SELECT cc.* FROM ct_customer_catalog_customer ccc LEFT JOIN ct_customer_catalog cc ON cc.customer_catalog_id = ccc.customer_catalog_id WHERE (ccc.customer_id = ? AND ccc.customer_id != 0) OR ccc.customer_group_id = ?; 0|1
[4] => 07:24:01; STANDARD; MEMCACHE; ModelLocalisationCurrency; getCurrencies; SELECT * FROM ct_currency WHERE status = 1 ORDER BY title ASC
[5] => 07:24:01; STANDARD; MEMCACHE; Cart\Currency; __construct; SELECT * FROM ct_currency
[6] => 07:24:01; PREPARED; 0.001628; Cart\Tax; setAddress; SELECT tr1.tax_class_id, tr2.tax_rate_id, tr2.name, tr2.rate, tr2.type, tr2.tax_rate_register FROM ct_tax_rule tr1 LEFT JOIN ct_tax_rate tr2 ON (tr1.tax_rate_id = tr2.tax_rate_id) LEFT JOIN ct_zone_to_geo_zone z2gz ON (tr2.geo_zone_id = z2gz.geo_zone_id) LEFT JOIN ct_geo_zone gz ON (tr2.geo_zone_id = gz.geo_zone_id) WHERE z2gz.country_id = ? AND z2gz.zone_id = ? AND tr2.tax_rate_register = ?; 222|0|0
[7] => 07:24:01; PREPARED; 0.000416; Tracking; getNewTracker; SELECT tracking_id FROM ct_tracking WHERE tracker = ?; 5a205a85cc57f43b099a3b9a6992201a58f7fff41379bd2ad2b78afa66d2d428
[8] => 07:24:01; PREPARED; MEMCACHE; getRedirect; SELECT * FROM ct_url_redirect WHERE source = ? AND path = ?; security|
[9] => 07:24:01; PREPARED; MEMCACHE; getRedirect; SELECT * FROM ct_url_redirect WHERE source = ? AND path = ?; intruder-alarms|
[10] => 07:24:01; PREPARED; MEMCACHE; getRedirect; SELECT * FROM ct_url_redirect WHERE source = ? AND path = ?; wireless-alarm-systems|
[11] => 07:24:01; PREPARED; MEMCACHE; getRedirect; SELECT * FROM ct_url_redirect WHERE source = ? AND path = ?; ajax-jeweller|
[12] => 07:24:01; PREPARED; MEMCACHE; getRedirect; SELECT * FROM ct_url_redirect WHERE source = ? AND path = ?; ajax-detectors-and-sensors|
[13] => 07:24:01; PREPARED; MEMCACHE; getRedirect; SELECT * FROM ct_url_redirect WHERE source = ? AND path = ?; ajax-lifequality-wireless-smart-air-quality-monitor-co2-sensor|
[14] => 07:24:01; PREPARED; 0.001811; ModelCatalogProduct; getProduct; SELECT DISTINCT p.*, pav.available, pd.feature, pd.description, pd.specification, pd.tag, pd.meta_title, pd.meta_description, pd.product_note, IF(p.eol OR p.increment < 1, 1, p.increment) AS increment, IF(p.eol OR p.minimum < 1, 1, p.minimum) AS minimum, IF(p.eol, IF(p.maximum > 0, LEAST(pav.available, p.maximum), pav.available), IF(p.maximum > 0, p.maximum, 9999)) AS maximum, m.name AS manufacturer, m.image AS manufacturer_thumb, m.site AS manufacturer_site, m.support AS manufacturer_support, ss.name AS stock_status, ss.in_stock, ss.zero_checkout, COALESCE(AVG(r.rating), 0) AS rating, COUNT(DISTINCT r.review_id) AS reviews, p.sort_order , (SELECT GROUP_CONCAT(CONCAT(pv.variant_id, '|', pv.name)) FROM ct_product_variant pv WHERE pv.product_id = p.product_id GROUP BY pv.product_id ORDER BY pv.sort_order) AS variants FROM ct_product p LEFT JOIN ct_product_available pav ON pav.product_id = p.product_id AND pav.store_id = 1 LEFT JOIN ct_review r ON (r.product_id = p.product_id AND r.status = '1') LEFT JOIN ct_stock_status ss ON (p.stock_status_id = ss.stock_status_id) LEFT JOIN ct_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN ct_manufacturer m ON (p.manufacturer_id = m.manufacturer_id) WHERE p.product_id = ?; 17248
[15] => 07:24:01; PREPARED; 0.000335; ModelCatalogProduct; getProductKit; SELECT * FROM ct_product_kit WHERE product_id = ?; 17248
[16] => 07:24:01; PREPARED; 0.001156; ModelCatalogProduct; getProductPrice; SELECT p.cost, p.tax_class_id, COALESCE(pr.markup, p.markup) AS markup, COALESCE(pr.login, p.login) AS login, COALESCE(pr.trade, p.trade) AS trade, p.rrp, p.points, COALESCE(pd.price, prd.price, 0) AS discount_price, COALESCE(pd.percent, prd.percent, 0) AS discount_percent, COALESCE(pd.markup, prd.markup, 0) AS discount_markup, COALESCE(pd.date_end, '') AS discount_end, COALESCE(pd.reason, prd.reason, '') AS discount_reason, COALESCE(pd.customer_group_id, prd.customer_group_id, 0) AS customer_group_id FROM ct_product p LEFT JOIN ct_product_available pav ON pav.product_id = p.product_id LEFT JOIN ct_price_rule pr ON pr.price_rule_id = p.price_rule_id LEFT JOIN ct_price_rule_discount prd ON prd.price_rule_id = pr.price_rule_id AND ((prd.customer_id = ? OR prd.customer_id = 0) AND (prd.customer_group_id = 0 OR prd.customer_group_id = ? OR FIND_IN_SET(prd.customer_group_id, ?)) AND prd.quantity <= ?) LEFT JOIN ct_product_discount pd ON pd.product_id = p.product_id AND ((pd.customer_id = ? OR pd.customer_id = 0) AND (pd.customer_group_id = 0 OR pd.customer_group_id = ? OR FIND_IN_SET(pd.customer_group_id, ?)) AND ((pd.date_start = '0000-00-00' OR pd.date_start < NOW()) AND (pd.date_end = '0000-00-00' OR pd.date_end > NOW())) AND pd.quantity <= ? AND (pd.quantity_end = '' OR pav.available > pd.quantity_end)) WHERE p.product_id = ? ORDER BY prd.quantity DESC, pd.quantity DESC, prd.sort_order ASC, pd.sort_order ASC LIMIT 1; 0|1||1|0|1||1|17248
[17] => 07:24:01; PREPARED; 0.000627; ModelCatalogProduct; getProductPath; SELECT DISTINCT *, (SELECT GROUP_CONCAT(cp.path_id ORDER BY level SEPARATOR '_') FROM ct_category_path cp WHERE cp.category_id = p2c.category_id GROUP BY cp.category_id) AS path FROM ct_product_to_category p2c WHERE p2c.product_id = ? AND p2c.primary_category = 1 AND p2c.store_id = ?; 17248|1
[18] => 07:24:01; PREPARED; 0.000699; ModelCatalogProduct; getProductVariant; SELECT pv.variant_id, pv.name AS variant_name, p.sku, p.model, p.mpn, p.ean, p.tax_class_id, pav.available, ss.name AS stock_status, ss.in_stock FROM ct_product_variant pv LEFT JOIN ct_product p ON pv.variant_id = p.product_id LEFT JOIN ct_product_available pav ON pav.product_id = p.product_id AND pav.store_id = ? LEFT JOIN ct_stock_status ss ON p.stock_status_id = ss.stock_status_id WHERE pv.product_id = ? AND p.status > 1 AND (p.eol = 0 OR pav.available > 0) AND p.date_available <= CURDATE() ORDER BY pv.sort_order ASC; 1|17248
[19] => 07:24:01; PREPARED; 0.000332; ModelCatalogProduct; getProductKit; SELECT * FROM ct_product_kit WHERE product_id = ?; 17218
[20] => 07:24:01; PREPARED; 0.001321; ModelCatalogProduct; getProductPrice; SELECT p.cost, p.tax_class_id, COALESCE(pr.markup, p.markup) AS markup, COALESCE(pr.login, p.login) AS login, COALESCE(pr.trade, p.trade) AS trade, p.rrp, p.points, COALESCE(pd.price, prd.price, 0) AS discount_price, COALESCE(pd.percent, prd.percent, 0) AS discount_percent, COALESCE(pd.markup, prd.markup, 0) AS discount_markup, COALESCE(pd.date_end, '') AS discount_end, COALESCE(pd.reason, prd.reason, '') AS discount_reason, COALESCE(pd.customer_group_id, prd.customer_group_id, 0) AS customer_group_id FROM ct_product p LEFT JOIN ct_product_available pav ON pav.product_id = p.product_id LEFT JOIN ct_price_rule pr ON pr.price_rule_id = p.price_rule_id LEFT JOIN ct_price_rule_discount prd ON prd.price_rule_id = pr.price_rule_id AND ((prd.customer_id = ? OR prd.customer_id = 0) AND (prd.customer_group_id = 0 OR prd.customer_group_id = ? OR FIND_IN_SET(prd.customer_group_id, ?)) AND prd.quantity <= ?) LEFT JOIN ct_product_discount pd ON pd.product_id = p.product_id AND ((pd.customer_id = ? OR pd.customer_id = 0) AND (pd.customer_group_id = 0 OR pd.customer_group_id = ? OR FIND_IN_SET(pd.customer_group_id, ?)) AND ((pd.date_start = '0000-00-00' OR pd.date_start < NOW()) AND (pd.date_end = '0000-00-00' OR pd.date_end > NOW())) AND pd.quantity <= ? AND (pd.quantity_end = '' OR pav.available > pd.quantity_end)) WHERE p.product_id = ? ORDER BY prd.quantity DESC, pd.quantity DESC, prd.sort_order ASC, pd.sort_order ASC LIMIT 1; 0|1||1|0|1||1|17218
[21] => 07:24:01; PREPARED; 0.000323; ModelCatalogProduct; getProductKit; SELECT * FROM ct_product_kit WHERE product_id = ?; 17219
[22] => 07:24:01; PREPARED; 0.001005; ModelCatalogProduct; getProductPrice; SELECT p.cost, p.tax_class_id, COALESCE(pr.markup, p.markup) AS markup, COALESCE(pr.login, p.login) AS login, COALESCE(pr.trade, p.trade) AS trade, p.rrp, p.points, COALESCE(pd.price, prd.price, 0) AS discount_price, COALESCE(pd.percent, prd.percent, 0) AS discount_percent, COALESCE(pd.markup, prd.markup, 0) AS discount_markup, COALESCE(pd.date_end, '') AS discount_end, COALESCE(pd.reason, prd.reason, '') AS discount_reason, COALESCE(pd.customer_group_id, prd.customer_group_id, 0) AS customer_group_id FROM ct_product p LEFT JOIN ct_product_available pav ON pav.product_id = p.product_id LEFT JOIN ct_price_rule pr ON pr.price_rule_id = p.price_rule_id LEFT JOIN ct_price_rule_discount prd ON prd.price_rule_id = pr.price_rule_id AND ((prd.customer_id = ? OR prd.customer_id = 0) AND (prd.customer_group_id = 0 OR prd.customer_group_id = ? OR FIND_IN_SET(prd.customer_group_id, ?)) AND prd.quantity <= ?) LEFT JOIN ct_product_discount pd ON pd.product_id = p.product_id AND ((pd.customer_id = ? OR pd.customer_id = 0) AND (pd.customer_group_id = 0 OR pd.customer_group_id = ? OR FIND_IN_SET(pd.customer_group_id, ?)) AND ((pd.date_start = '0000-00-00' OR pd.date_start < NOW()) AND (pd.date_end = '0000-00-00' OR pd.date_end > NOW())) AND pd.quantity <= ? AND (pd.quantity_end = '' OR pav.available > pd.quantity_end)) WHERE p.product_id = ? ORDER BY prd.quantity DESC, pd.quantity DESC, prd.sort_order ASC, pd.sort_order ASC LIMIT 1; 0|1||1|0|1||1|17219
[23] => 07:24:01; PREPARED; 0.001262; ModelCatalogProduct; getProduct; SELECT DISTINCT p.*, pav.available, pd.feature, pd.description, pd.specification, pd.tag, pd.meta_title, pd.meta_description, pd.product_note, IF(p.eol OR p.increment < 1, 1, p.increment) AS increment, IF(p.eol OR p.minimum < 1, 1, p.minimum) AS minimum, IF(p.eol, IF(p.maximum > 0, LEAST(pav.available, p.maximum), pav.available), IF(p.maximum > 0, p.maximum, 9999)) AS maximum, m.name AS manufacturer, m.image AS manufacturer_thumb, m.site AS manufacturer_site, m.support AS manufacturer_support, ss.name AS stock_status, ss.in_stock, ss.zero_checkout, COALESCE(AVG(r.rating), 0) AS rating, COUNT(DISTINCT r.review_id) AS reviews, p.sort_order , (SELECT GROUP_CONCAT(CONCAT(pv.variant_id, '|', pv.name)) FROM ct_product_variant pv WHERE pv.product_id = p.product_id GROUP BY pv.product_id ORDER BY pv.sort_order) AS variants FROM ct_product p LEFT JOIN ct_product_available pav ON pav.product_id = p.product_id AND pav.store_id = 1 LEFT JOIN ct_review r ON (r.product_id = p.product_id AND r.status = '1') LEFT JOIN ct_stock_status ss ON (p.stock_status_id = ss.stock_status_id) LEFT JOIN ct_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN ct_manufacturer m ON (p.manufacturer_id = m.manufacturer_id) WHERE p.product_id = ?; 17218
[24] => 07:24:01; PREPARED; 0.000343; ModelCatalogProduct; getProductKit; SELECT * FROM ct_product_kit WHERE product_id = ?; 17218
[25] => 07:24:01; PREPARED; 0.001012; ModelCatalogProduct; getProductPrice; SELECT p.cost, p.tax_class_id, COALESCE(pr.markup, p.markup) AS markup, COALESCE(pr.login, p.login) AS login, COALESCE(pr.trade, p.trade) AS trade, p.rrp, p.points, COALESCE(pd.price, prd.price, 0) AS discount_price, COALESCE(pd.percent, prd.percent, 0) AS discount_percent, COALESCE(pd.markup, prd.markup, 0) AS discount_markup, COALESCE(pd.date_end, '') AS discount_end, COALESCE(pd.reason, prd.reason, '') AS discount_reason, COALESCE(pd.customer_group_id, prd.customer_group_id, 0) AS customer_group_id FROM ct_product p LEFT JOIN ct_product_available pav ON pav.product_id = p.product_id LEFT JOIN ct_price_rule pr ON pr.price_rule_id = p.price_rule_id LEFT JOIN ct_price_rule_discount prd ON prd.price_rule_id = pr.price_rule_id AND ((prd.customer_id = ? OR prd.customer_id = 0) AND (prd.customer_group_id = 0 OR prd.customer_group_id = ? OR FIND_IN_SET(prd.customer_group_id, ?)) AND prd.quantity <= ?) LEFT JOIN ct_product_discount pd ON pd.product_id = p.product_id AND ((pd.customer_id = ? OR pd.customer_id = 0) AND (pd.customer_group_id = 0 OR pd.customer_group_id = ? OR FIND_IN_SET(pd.customer_group_id, ?)) AND ((pd.date_start = '0000-00-00' OR pd.date_start < NOW()) AND (pd.date_end = '0000-00-00' OR pd.date_end > NOW())) AND pd.quantity <= ? AND (pd.quantity_end = '' OR pav.available > pd.quantity_end)) WHERE p.product_id = ? ORDER BY prd.quantity DESC, pd.quantity DESC, prd.sort_order ASC, pd.sort_order ASC LIMIT 1; 0|1||1|0|1||1|17218
[26] => 07:24:01; PREPARED; 0.000528; ModelCatalogProduct; getProductCountries; SELECT DISTINCT ztgz.country_id, c.iso_code_2, c.name FROM ct_product_geo_zone pgz LEFT JOIN ct_zone_to_geo_zone ztgz ON ztgz.geo_zone_id = pgz.geo_zone_id LEFT JOIN ct_country c ON c.country_id = ztgz.country_id WHERE pgz.product_id = ?; 17218
[27] => 07:24:01; PREPARED; 0.000335; ModelCatalogProduct; getProductCertifications; SELECT pc.*, c.name FROM ct_product_certification pc LEFT JOIN ct_certification c ON c.certification_id = pc.certification_id WHERE pc.product_id = ?; 17218
[28] => 07:24:01; PREPARED; 0.000638; ModelCatalogProduct; getAllProductUsed; SELECT pu.*, p.name AS name FROM ct_product_used pu LEFT JOIN ct_product p ON p.product_id = pu.product_id LEFT JOIN ct_product_to_category p2c ON p2c.product_id = pu.product_id AND p2c.primary_category = 1 AND p2c.store_id = ? WHERE pu.product_id = ? AND pu.quantity > 0 AND pu.price > 0 AND p2c.category_id IS NOT NULL; 1|17218
[29] => 07:24:01; PREPARED; 0.000547; ModelCatalogProduct; getAllProductUsed; SELECT pu.*, p.name AS name FROM ct_product_used pu LEFT JOIN ct_product p ON p.product_id = pu.product_id LEFT JOIN ct_product_to_category p2c ON p2c.product_id = pu.product_id AND p2c.primary_category = 1 AND p2c.store_id = ? WHERE pu.product_id = ? AND pu.quantity > 0 AND pu.price > 0 AND p2c.category_id IS NOT NULL; 1|17219
[30] => 07:24:01; PREPARED; 0.000319; ModelCatalogProduct; getProductOptions; SELECT * FROM ct_product_option WHERE product_id = ? ORDER BY sort_order ASC; 17218
[31] => 07:24:01; PREPARED; 0.000293; ModelCatalogProduct; getProductQtyDiscounts; SELECT p.price_rule_id FROM ct_product p WHERE p.product_id = ?; 17218
[32] => 07:24:01; PREPARED; 0.000504; ModelCatalogProduct; getProductQtyDiscounts; SELECT prd.*, '' AS date_start, '' AS date_end, '' AS quantity_end FROM ct_price_rule_discount prd WHERE prd.price_rule_id = ? AND (prd.customer_id = 0 OR prd.customer_id = ?) AND (prd.customer_group_id = 0 OR prd.customer_group_id = ?) AND prd.quantity > 1 ORDER BY prd.sort_order ASC; 3|0|1
[33] => 07:24:01; PREPARED; 0.000692; ModelCatalogProduct; getProductQtyDiscounts; SELECT pd.* FROM ct_product_discount pd LEFT JOIN ct_product p ON p.product_id = pd.product_id LEFT JOIN ct_product_available pav ON pav.product_id = p.product_id AND pav.store_id = 1 WHERE pd.product_id = ? AND (pd.customer_id = 0 OR pd.customer_id = ?) AND (pd.customer_group_id = 0 OR pd.customer_group_id = ?) AND pd.quantity > 1 AND ((pd.date_start = '0000-00-00' OR pd.date_start < NOW()) AND (pd.date_end = '0000-00-00' OR pd.date_end > NOW())) AND (pd.quantity_end = '' OR pav.available > pd.quantity_end) ORDER BY pd.sort_order ASC; 17218|0|1
[34] => 07:24:01; PREPARED; 0.000642; Cart\Cart; getProducts; SELECT c.*, pit.name AS product_inventory_type, pit.name AS type, pit.add_to_stock, pi.quantity AS product_inventory_quantity FROM ct_cart c LEFT JOIN ct_product_inventory pi ON pi.product_inventory_type_id = c.product_inventory_type_id AND pi.product_id = c.product_id LEFT JOIN ct_product_inventory_type pit ON pit.product_inventory_type_id = c.product_inventory_type_id WHERE c.api_id = ? AND c.customer_id = ? AND c.directory_id = ? AND c.session_id = ? ORDER BY c.sort_order ASC; 0|0|0|88de53206a03c98d3d60a867c5bedbeb
[35] => 07:24:01; PREPARED; 0.001702; ModelCheckoutShippingMethod; getMethodsByAddress; SELECT sm.* FROM ct_shipping_method_geo_zone smgz LEFT JOIN ct_shipping_method sm ON sm.shipping_method_id = smgz.shipping_method_id LEFT JOIN ct_zone_to_geo_zone z2gz ON z2gz.geo_zone_id = smgz.geo_zone_id LEFT JOIN ct_zone z on z.zone_id = z2gz.zone_id WHERE FIND_IN_SET(?, stores) AND z2gz.country_id = ? AND (z2gz.zone_id = ? OR z2gz.zone_id = '0') AND sm.status = 1 AND sm.type = 'shipping' ORDER BY sm.sort_order ASC; 1|222|11
[36] => 07:24:01; PREPARED; 0.000341; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 2
[37] => 07:24:01; PREPARED; 0.000298; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 2
[38] => 07:24:01; PREPARED; 0.000444; Cart\Shipping; getTotalShipments; SELECT COUNT(DISTINCT order_id) AS total FROM ct_order_shipping_method osm LEFT JOIN ct_shipping_method sm ON sm.shipping_method_id = osm.shipping_method_id WHERE osm.shipping_method_id = ? AND osm.arrival_date = ?; 2|2025-05-09
[39] => 07:24:01; PREPARED; 0.000286; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 3
[40] => 07:24:01; PREPARED; 0.000304; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 3
[41] => 07:24:01; PREPARED; 0.000419; Cart\Shipping; getTotalShipments; SELECT COUNT(DISTINCT order_id) AS total FROM ct_order_shipping_method osm LEFT JOIN ct_shipping_method sm ON sm.shipping_method_id = osm.shipping_method_id WHERE osm.shipping_method_id = ? AND osm.arrival_date = ?; 3|2025-05-08
[42] => 07:24:01; PREPARED; 0.000304; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 1
[43] => 07:24:01; PREPARED; 0.000285; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 1
[44] => 07:24:01; PREPARED; 0.000458; Cart\Shipping; getTotalShipments; SELECT COUNT(DISTINCT order_id) AS total FROM ct_order_shipping_method osm LEFT JOIN ct_shipping_method sm ON sm.shipping_method_id = osm.shipping_method_id WHERE osm.shipping_method_id = ? AND osm.arrival_date = ?; 1|2025-05-07
[45] => 07:24:01; PREPARED; 0.000350; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 16
[46] => 07:24:01; PREPARED; 0.000296; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 16
[47] => 07:24:01; PREPARED; 0.000384; Cart\Shipping; getTotalShipments; SELECT COUNT(DISTINCT order_id) AS total FROM ct_order_shipping_method osm LEFT JOIN ct_shipping_method sm ON sm.shipping_method_id = osm.shipping_method_id WHERE osm.shipping_method_id = ? AND osm.arrival_date = ?; 16|2025-05-07
[48] => 07:24:01; PREPARED; 0.000301; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 17
[49] => 07:24:01; PREPARED; 0.000301; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 17
[50] => 07:24:01; PREPARED; 0.000382; Cart\Shipping; getTotalShipments; SELECT COUNT(DISTINCT order_id) AS total FROM ct_order_shipping_method osm LEFT JOIN ct_shipping_method sm ON sm.shipping_method_id = osm.shipping_method_id WHERE osm.shipping_method_id = ? AND osm.arrival_date = ?; 17|2025-05-07
[51] => 07:24:01; PREPARED; 0.000301; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 18
[52] => 07:24:01; PREPARED; 0.000283; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 18
[53] => 07:24:01; PREPARED; 0.000406; Cart\Shipping; getTotalShipments; SELECT COUNT(DISTINCT order_id) AS total FROM ct_order_shipping_method osm LEFT JOIN ct_shipping_method sm ON sm.shipping_method_id = osm.shipping_method_id WHERE osm.shipping_method_id = ? AND osm.arrival_date = ?; 18|2025-05-07
[54] => 07:24:01; STANDARD; MEMCACHE; ModelLocalisationCountry; getCountries; SELECT * FROM ct_country WHERE status = '1' ORDER BY name ASC
[55] => 07:24:01; STANDARD; MEMCACHE; ModelLocalisationZone; getZonesByCountryId; SELECT * FROM ct_zone WHERE country_id = '222' AND status = '1' ORDER BY name
[56] => 07:24:01; PREPARED; 0.001796; ModelCheckoutShippingMethod; getMethodsByAddress; SELECT sm.* FROM ct_shipping_method_geo_zone smgz LEFT JOIN ct_shipping_method sm ON sm.shipping_method_id = smgz.shipping_method_id LEFT JOIN ct_zone_to_geo_zone z2gz ON z2gz.geo_zone_id = smgz.geo_zone_id LEFT JOIN ct_zone z on z.zone_id = z2gz.zone_id WHERE FIND_IN_SET(?, stores) AND z2gz.country_id = ? AND (z2gz.zone_id = ? OR z2gz.zone_id = '0') AND sm.status = 1 AND sm.type = 'shipping' ORDER BY sm.sort_order ASC; 1|222|11
[57] => 07:24:01; PREPARED; 0.000315; ModelCheckoutOrder; getAddToNextOrders; SELECT DISTINCT o.order_id FROM ct_order_shipping_method osm LEFT JOIN ct_order o ON o.order_id = osm.order_id WHERE osm.type = 'add_to_order' AND o.add_to_order = 0 AND o.customer_id = ? AND o.customer_id != 0 AND o.shipping_postcode = ? AND o.order_status_id IN (?, ?); 0||4|5
[58] => 07:24:01; PREPARED; 0.000614; Cart\Cart; getProducts; SELECT c.*, pit.name AS product_inventory_type, pit.name AS type, pit.add_to_stock, pi.quantity AS product_inventory_quantity FROM ct_cart c LEFT JOIN ct_product_inventory pi ON pi.product_inventory_type_id = c.product_inventory_type_id AND pi.product_id = c.product_id LEFT JOIN ct_product_inventory_type pit ON pit.product_inventory_type_id = c.product_inventory_type_id WHERE c.api_id = ? AND c.customer_id = ? AND c.directory_id = ? AND c.session_id = ? ORDER BY c.sort_order ASC; 0|0|0|88de53206a03c98d3d60a867c5bedbeb
[59] => 07:24:01; PREPARED; 0.000393; Cart\Cart; getCountries; SELECT DISTINCT ztgz.country_id FROM ct_product_geo_zone pgz LEFT JOIN ct_zone_to_geo_zone ztgz ON ztgz.geo_zone_id = pgz.geo_zone_id WHERE pgz.product_id IN(?);
[60] => 07:24:01; PREPARED; 0.000591; Cart\Cart; getProducts; SELECT c.*, pit.name AS product_inventory_type, pit.name AS type, pit.add_to_stock, pi.quantity AS product_inventory_quantity FROM ct_cart c LEFT JOIN ct_product_inventory pi ON pi.product_inventory_type_id = c.product_inventory_type_id AND pi.product_id = c.product_id LEFT JOIN ct_product_inventory_type pit ON pit.product_inventory_type_id = c.product_inventory_type_id WHERE c.api_id = ? AND c.customer_id = ? AND c.directory_id = ? AND c.session_id = ? ORDER BY c.sort_order ASC; 0|0|0|88de53206a03c98d3d60a867c5bedbeb
[61] => 07:24:01; PREPARED; 0.000549; Cart\Cart; getProducts; SELECT c.*, pit.name AS product_inventory_type, pit.name AS type, pit.add_to_stock, pi.quantity AS product_inventory_quantity FROM ct_cart c LEFT JOIN ct_product_inventory pi ON pi.product_inventory_type_id = c.product_inventory_type_id AND pi.product_id = c.product_id LEFT JOIN ct_product_inventory_type pit ON pit.product_inventory_type_id = c.product_inventory_type_id WHERE c.api_id = ? AND c.customer_id = ? AND c.directory_id = ? AND c.session_id = ? ORDER BY c.sort_order ASC; 0|0|0|88de53206a03c98d3d60a867c5bedbeb
[62] => 07:24:01; PREPARED; 0.000312; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 2
[63] => 07:24:01; PREPARED; 0.000386; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 2
[64] => 07:24:01; PREPARED; 0.000525; Cart\Shipping; getTotalShipments; SELECT COUNT(DISTINCT order_id) AS total FROM ct_order_shipping_method osm LEFT JOIN ct_shipping_method sm ON sm.shipping_method_id = osm.shipping_method_id WHERE osm.shipping_method_id = ? AND osm.arrival_date = ?; 2|2025-05-09
[65] => 07:24:01; PREPARED; 0.000370; Cart\Shipping; getArrivalDates; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 2
[66] => 07:24:01; PREPARED; 0.000325; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 2
[67] => 07:24:01; PREPARED; 0.000345; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 2
[68] => 07:24:01; PREPARED; 0.000483; Cart\Shipping; getTotalShipments; SELECT COUNT(DISTINCT order_id) AS total FROM ct_order_shipping_method osm LEFT JOIN ct_shipping_method sm ON sm.shipping_method_id = osm.shipping_method_id WHERE osm.shipping_method_id = ? AND osm.arrival_date = ?; 2|2025-05-09
[69] => 07:24:01; PREPARED; 0.000668; Cart\Cart; getProducts; SELECT c.*, pit.name AS product_inventory_type, pit.name AS type, pit.add_to_stock, pi.quantity AS product_inventory_quantity FROM ct_cart c LEFT JOIN ct_product_inventory pi ON pi.product_inventory_type_id = c.product_inventory_type_id AND pi.product_id = c.product_id LEFT JOIN ct_product_inventory_type pit ON pit.product_inventory_type_id = c.product_inventory_type_id WHERE c.api_id = ? AND c.customer_id = ? AND c.directory_id = ? AND c.session_id = ? ORDER BY c.sort_order ASC; 0|0|0|88de53206a03c98d3d60a867c5bedbeb
[70] => 07:24:01; PREPARED; 0.000333; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 3
[71] => 07:24:01; PREPARED; 0.000297; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 3
[72] => 07:24:01; PREPARED; 0.000486; Cart\Shipping; getTotalShipments; SELECT COUNT(DISTINCT order_id) AS total FROM ct_order_shipping_method osm LEFT JOIN ct_shipping_method sm ON sm.shipping_method_id = osm.shipping_method_id WHERE osm.shipping_method_id = ? AND osm.arrival_date = ?; 3|2025-05-08
[73] => 07:24:01; PREPARED; 0.000313; Cart\Shipping; getArrivalDates; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 3
[74] => 07:24:01; PREPARED; 0.000347; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 3
[75] => 07:24:01; PREPARED; 0.000295; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 3
[76] => 07:24:01; PREPARED; 0.000436; Cart\Shipping; getTotalShipments; SELECT COUNT(DISTINCT order_id) AS total FROM ct_order_shipping_method osm LEFT JOIN ct_shipping_method sm ON sm.shipping_method_id = osm.shipping_method_id WHERE osm.shipping_method_id = ? AND osm.arrival_date = ?; 3|2025-05-08
[77] => 07:24:01; PREPARED; 0.000642; Cart\Cart; getProducts; SELECT c.*, pit.name AS product_inventory_type, pit.name AS type, pit.add_to_stock, pi.quantity AS product_inventory_quantity FROM ct_cart c LEFT JOIN ct_product_inventory pi ON pi.product_inventory_type_id = c.product_inventory_type_id AND pi.product_id = c.product_id LEFT JOIN ct_product_inventory_type pit ON pit.product_inventory_type_id = c.product_inventory_type_id WHERE c.api_id = ? AND c.customer_id = ? AND c.directory_id = ? AND c.session_id = ? ORDER BY c.sort_order ASC; 0|0|0|88de53206a03c98d3d60a867c5bedbeb
[78] => 07:24:01; PREPARED; 0.000362; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 1
[79] => 07:24:01; PREPARED; 0.000323; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 1
[80] => 07:24:01; PREPARED; 0.000472; Cart\Shipping; getTotalShipments; SELECT COUNT(DISTINCT order_id) AS total FROM ct_order_shipping_method osm LEFT JOIN ct_shipping_method sm ON sm.shipping_method_id = osm.shipping_method_id WHERE osm.shipping_method_id = ? AND osm.arrival_date = ?; 1|2025-05-07
[81] => 07:24:01; PREPARED; 0.000320; Cart\Shipping; getArrivalDates; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 1
[82] => 07:24:01; PREPARED; 0.000369; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 1
[83] => 07:24:01; PREPARED; 0.000468; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 1
[84] => 07:24:01; PREPARED; 0.000388; Cart\Shipping; getTotalShipments; SELECT COUNT(DISTINCT order_id) AS total FROM ct_order_shipping_method osm LEFT JOIN ct_shipping_method sm ON sm.shipping_method_id = osm.shipping_method_id WHERE osm.shipping_method_id = ? AND osm.arrival_date = ?; 1|2025-05-07
[85] => 07:24:01; PREPARED; 0.000494; Cart\Cart; getProducts; SELECT c.*, pit.name AS product_inventory_type, pit.name AS type, pit.add_to_stock, pi.quantity AS product_inventory_quantity FROM ct_cart c LEFT JOIN ct_product_inventory pi ON pi.product_inventory_type_id = c.product_inventory_type_id AND pi.product_id = c.product_id LEFT JOIN ct_product_inventory_type pit ON pit.product_inventory_type_id = c.product_inventory_type_id WHERE c.api_id = ? AND c.customer_id = ? AND c.directory_id = ? AND c.session_id = ? ORDER BY c.sort_order ASC; 0|0|0|88de53206a03c98d3d60a867c5bedbeb
[86] => 07:24:01; PREPARED; 0.000289; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 16
[87] => 07:24:01; PREPARED; 0.000295; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 16
[88] => 07:24:01; PREPARED; 0.000345; Cart\Shipping; getTotalShipments; SELECT COUNT(DISTINCT order_id) AS total FROM ct_order_shipping_method osm LEFT JOIN ct_shipping_method sm ON sm.shipping_method_id = osm.shipping_method_id WHERE osm.shipping_method_id = ? AND osm.arrival_date = ?; 16|2025-05-07
[89] => 07:24:01; PREPARED; 0.000280; Cart\Shipping; getArrivalDates; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 16
[90] => 07:24:01; PREPARED; 0.000242; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 16
[91] => 07:24:01; PREPARED; 0.000243; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 16
[92] => 07:24:01; PREPARED; 0.000332; Cart\Shipping; getTotalShipments; SELECT COUNT(DISTINCT order_id) AS total FROM ct_order_shipping_method osm LEFT JOIN ct_shipping_method sm ON sm.shipping_method_id = osm.shipping_method_id WHERE osm.shipping_method_id = ? AND osm.arrival_date = ?; 16|2025-05-07
[93] => 07:24:01; PREPARED; 0.000446; Cart\Cart; getProducts; SELECT c.*, pit.name AS product_inventory_type, pit.name AS type, pit.add_to_stock, pi.quantity AS product_inventory_quantity FROM ct_cart c LEFT JOIN ct_product_inventory pi ON pi.product_inventory_type_id = c.product_inventory_type_id AND pi.product_id = c.product_id LEFT JOIN ct_product_inventory_type pit ON pit.product_inventory_type_id = c.product_inventory_type_id WHERE c.api_id = ? AND c.customer_id = ? AND c.directory_id = ? AND c.session_id = ? ORDER BY c.sort_order ASC; 0|0|0|88de53206a03c98d3d60a867c5bedbeb
[94] => 07:24:01; PREPARED; 0.000258; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 17
[95] => 07:24:01; PREPARED; 0.000250; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 17
[96] => 07:24:01; PREPARED; 0.000323; Cart\Shipping; getTotalShipments; SELECT COUNT(DISTINCT order_id) AS total FROM ct_order_shipping_method osm LEFT JOIN ct_shipping_method sm ON sm.shipping_method_id = osm.shipping_method_id WHERE osm.shipping_method_id = ? AND osm.arrival_date = ?; 17|2025-05-07
[97] => 07:24:01; PREPARED; 0.000269; Cart\Shipping; getArrivalDates; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 17
[98] => 07:24:01; PREPARED; 0.000203; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 17
[99] => 07:24:01; PREPARED; 0.000220; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 17
[100] => 07:24:01; PREPARED; 0.000299; Cart\Shipping; getTotalShipments; SELECT COUNT(DISTINCT order_id) AS total FROM ct_order_shipping_method osm LEFT JOIN ct_shipping_method sm ON sm.shipping_method_id = osm.shipping_method_id WHERE osm.shipping_method_id = ? AND osm.arrival_date = ?; 17|2025-05-07
[101] => 07:24:01; PREPARED; 0.000423; Cart\Cart; getProducts; SELECT c.*, pit.name AS product_inventory_type, pit.name AS type, pit.add_to_stock, pi.quantity AS product_inventory_quantity FROM ct_cart c LEFT JOIN ct_product_inventory pi ON pi.product_inventory_type_id = c.product_inventory_type_id AND pi.product_id = c.product_id LEFT JOIN ct_product_inventory_type pit ON pit.product_inventory_type_id = c.product_inventory_type_id WHERE c.api_id = ? AND c.customer_id = ? AND c.directory_id = ? AND c.session_id = ? ORDER BY c.sort_order ASC; 0|0|0|88de53206a03c98d3d60a867c5bedbeb
[102] => 07:24:01; PREPARED; 0.000223; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 18
[103] => 07:24:01; PREPARED; 0.000268; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 18
[104] => 07:24:01; PREPARED; 0.000300; Cart\Shipping; getTotalShipments; SELECT COUNT(DISTINCT order_id) AS total FROM ct_order_shipping_method osm LEFT JOIN ct_shipping_method sm ON sm.shipping_method_id = osm.shipping_method_id WHERE osm.shipping_method_id = ? AND osm.arrival_date = ?; 18|2025-05-07
[105] => 07:24:01; PREPARED; 0.000238; Cart\Shipping; getArrivalDates; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 18
[106] => 07:24:01; PREPARED; 0.000246; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 18
[107] => 07:24:01; PREPARED; 0.000241; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 18
[108] => 07:24:01; PREPARED; 0.000307; Cart\Shipping; getTotalShipments; SELECT COUNT(DISTINCT order_id) AS total FROM ct_order_shipping_method osm LEFT JOIN ct_shipping_method sm ON sm.shipping_method_id = osm.shipping_method_id WHERE osm.shipping_method_id = ? AND osm.arrival_date = ?; 18|2025-05-07
[109] => 07:24:01; PREPARED; 0.000478; Cart\Cart; getProducts; SELECT c.*, pit.name AS product_inventory_type, pit.name AS type, pit.add_to_stock, pi.quantity AS product_inventory_quantity FROM ct_cart c LEFT JOIN ct_product_inventory pi ON pi.product_inventory_type_id = c.product_inventory_type_id AND pi.product_id = c.product_id LEFT JOIN ct_product_inventory_type pit ON pit.product_inventory_type_id = c.product_inventory_type_id WHERE c.api_id = ? AND c.customer_id = ? AND c.directory_id = ? AND c.session_id = ? ORDER BY c.sort_order ASC; 0|0|0|88de53206a03c98d3d60a867c5bedbeb
[110] => 07:24:01; STANDARD; MEMCACHE; ModelCatalogInformation; getInformation; SELECT DISTINCT * FROM ct_information i LEFT JOIN ct_information_description id ON (i.information_id = id.information_id) WHERE i.information_id = 12 AND i.status = 1
[111] => 07:24:01; PREPARED; 0.000579; ModelCatalogProduct; getProductOnOrder; SELECT ip.inventory_id, s.name AS supplier, (ip.ordered - ip.received) AS ordered, ip.date_due, i.product_inventory_type_id FROM ct_inventory_product ip LEFT JOIN ct_inventory i ON i.inventory_id = ip.inventory_id LEFT JOIN ct_supplier s ON s.supplier_id = i.supplier_id WHERE ip.ordered > ip.received AND ip.product_id = ? AND i.direct = '' ORDER BY ip.date_due ASC; 17218
[112] => 07:24:01; PREPARED; 0.000289; ModelCatalogProduct; getProductImages; SELECT * FROM ct_product_image WHERE product_id = ? ORDER BY sort_order ASC; 17248
[113] => 07:24:01; PREPARED; 0.000245; ModelCatalogProduct; getProductVideos; SELECT name, youtube_id FROM ct_product_video WHERE product_id = ? ORDER BY sort_order ASC; 17248
[114] => 07:24:01; PREPARED; 0.000600; ModelCatalogVideo; getVideos; SELECT DISTINCT v.* FROM ct_video v LEFT JOIN ct_video_keyword vk ON v.video_id = vk.video_id WHERE 1 AND (LOCATE(vk.keyword, ?) > 0 OR vk.keyword IS NULL) AND (manufacturer_id = ? OR manufacturer_id = 0) ORDER BY v.name ASC; Ajax LifeQuality Wireless Smart Air Quality Monitor CO2 Sensor (White) ajax,temperature and humidity sensor,air detector,co2 sensor,ajax jeweller,air quality|231
[115] => 07:24:01; PREPARED; 0.000369; ModelCatalogProduct; getProductFiles; SELECT * FROM ct_product_file WHERE product_id = ? AND online = 1 ORDER BY sort_order ASC; 17248
[116] => 07:24:01; PREPARED; 0.000342; ModelCatalogProduct; getProductLinks; SELECT text, link FROM ct_product_link WHERE product_id = ? ORDER BY sort_order ASC; 17248
[117] => 07:24:01; PREPARED; 0.000448; ModelCatalogQuestion; getQuestions; SELECT q.question_id, q.reply_to, q.customer_id, q.author, q.text, q.date_added, c.firstname FROM ct_question q LEFT JOIN ct_customer c ON (c.customer_id = q.customer_id) WHERE q.product_id = ? AND q.status = '1' ORDER BY q.date_added DESC; 17248
[118] => 07:24:01; PREPARED; 0.001008; ModelCatalogProduct; getProductAddon; SELECT p.*, pa.addon_id, (SELECT GROUP_CONCAT(pv.variant_id SEPARATOR ',') FROM ct_product_variant pv WHERE pv.product_id = p.product_id GROUP BY pv.product_id ORDER BY pv.sort_order) AS variants FROM ct_product_addon pa LEFT JOIN ct_product p ON pa.addon_id = p.product_id LEFT JOIN ct_product_available pav ON pav.product_id = p.product_id AND pav.store_id = 1 LEFT JOIN ct_product_to_category p2c ON p2c.product_id = p.product_id AND p2c.primary_category = 1 AND p2c.store_id = ? WHERE pa.product_id = ? AND p.status > 1 AND p.date_available <= CURDATE() AND (p.eol = 0 OR pav.available > 0) AND p2c.category_id IS NOT NULL ORDER BY pa.sort_order ASC; 1|17248
[119] => 07:24:01; PREPARED; 0.000834; ModelCatalogProduct; getRelatedProducts; SELECT p2c.product_id FROM ct_product_to_category p2c LEFT JOIN ct_product p ON p.product_id = p2c.product_id WHERE p2c.category_id = (SELECT category_id FROM ct_product_to_category WHERE product_id = ? AND primary_category = 1 AND store_id = ?) AND p2c.product_id != ? AND p2c.store_id = ? AND p2c.primary_category = 1 AND p.eol = 0 AND p.status = 2 LIMIT 10; 17248|1|17248|1
[120] => 07:24:01; PREPARED; 0.000350; ModelCatalogReview; getProductRating; SELECT COALESCE(AVG(r.rating), 0) AS rating, COUNT(DISTINCT r.review_id) AS reviews FROM ct_review r WHERE r.product_id = ? AND r.status = '1'; 17248
[121] => 07:24:01; PREPARED; 0.000315; ModelCatalogReview; getReviewsByProductId; SELECT * FROM ct_review WHERE product_id = ? AND status = 1 ORDER BY helpful = 0, (((helpful +1) / (unhelpful +1)) * 100) DESC, helpful DESC, date_added DESC LIMIT 3; 17248
[122] => 07:24:01; PREPARED; 0.000230; ModelAccountFavourites; getFavourites; SELECT * FROM ct_customer_favourites WHERE customer_id = ?; 0
[123] => 07:24:01; PREPARED; 0.001828; ModelCatalogProduct; updateViewed; UPDATE ct_product SET viewed = (viewed + 1) WHERE product_id = ?; 17248
[124] => 07:24:01; PREPARED; 0.000284; Tracking; track; SELECT customer_id FROM ct_customer WHERE tracker = ?; 5a205a85cc57f43b099a3b9a6992201a58f7fff41379bd2ad2b78afa66d2d428
[125] => 07:24:01; PREPARED; 0.003263; Tracking; track; INSERT INTO ct_tracking SET tracker = ?, ip_address = ?, agent = ?, session_id = ?, customer_id = ?, referer = ?, url = ?, event_label = ?, event_value = ?, date_added = DATE(NOW()), time_added = TIME(NOW()); 5a205a85cc57f43b099a3b9a6992201a58f7fff41379bd2ad2b78afa66d2d428|3.144.91.115|Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; [email protected])|88de53206a03c98d3d60a867c5bedbeb|0||/security/intruder-alarms/wireless-alarm-systems/ajax-jeweller/ajax-detectors-and-sensors/ajax-lifequality-wireless-smart-air-quality-monitor-co2-sensor?variant_id=17218|view_product|17218
[126] => 07:24:01; PREPARED; 0.000355; ModelCatalogReview; getReviewsByProductId; SELECT * FROM ct_review WHERE product_id = ? AND status = 1 ORDER BY helpful = 0, (((helpful +1) / (unhelpful +1)) * 100) DESC, helpful DESC, date_added DESC LIMIT 1; 17248
[127] => 07:24:01; PREPARED; MEMCACHE; getHtmlBlock; SELECT * FROM ct_html_block WHERE code = ? AND store_id = ?; why_buy|1
[128] => 07:24:01; PREPARED; MEMCACHE; getHtmlBlock; SELECT * FROM ct_html_block WHERE code = ? AND store_id = ?; product_qa_text|1
[129] => 07:24:01; PREPARED; MEMCACHE; getHtmlBlock; SELECT * FROM ct_html_block WHERE code = ? AND store_id = ?; product_review_text|1
[130] => 07:24:01; PREPARED; MEMCACHE; getHtmlBlock; SELECT * FROM ct_html_block WHERE code = ? AND store_id = ?; product_links_disclaimer|1
)
[DUPLIACTES] => Array
(
[77] => 07:24:01; PREPARED; 0.000642; Cart\Cart; getProducts; SELECT c.*, pit.name AS product_inventory_type, pit.name AS type, pit.add_to_stock, pi.quantity AS product_inventory_quantity FROM ct_cart c LEFT JOIN ct_product_inventory pi ON pi.product_inventory_type_id = c.product_inventory_type_id AND pi.product_id = c.product_id LEFT JOIN ct_product_inventory_type pit ON pit.product_inventory_type_id = c.product_inventory_type_id WHERE c.api_id = ? AND c.customer_id = ? AND c.directory_id = ? AND c.session_id = ? ORDER BY c.sort_order ASC; 0|0|0|88de53206a03c98d3d60a867c5bedbeb
)
[TOTAL_EXECUTION_TIME] => 0.05698657036
)