The Ajax Kit 17 S comprises of a Hub 2 (2G) panel, 2 x MotionProtec, 1 x DoorProtect S, 1 x KeyPad touchscreen, 1 x StreetSiren DD and 1 x HomeSiren S (Read more)
The Ajax Kit 16 S is a wireless alarm kit that comprises of a
Hub 2 (2G) alarm panel, 2 x MotionProtect S PIR's, 1 x DoorProtect
S window/door sensors, 1 x Keypad Touchscreen, 1 x StreetSiren
DoubleDeck outdoor sounder, and 1 x HomeSiren S indoor sounder.
The kit is available in black or white to blend in with any home
décor.
Ajax Hub 2 (2G) Wireless Alarm Panel
The Ajax Hub 2 is a wireless alarm panel which features three
communication channels: Ethernet and two SIM cards. It is used to
support a large range of detectors and sensors in the Ajax Jeweller
range, including the MotionCam which sends photos of the intruder
upon detection.
The Hub 2 radio network covers several floors and separate
buildings - thanks to the communication range of up to 2,000 meters
and the ability to connect five range extenders. To manage access
and security zoning of the facility, the hub allows connecting 50
users and creating 9 security groups. Hub 2 is a perfect choice for
home and business security.
The Hub 2 is ready to operate out of the box. All communication
modules, power supply, and backup battery are already installed. To
start setting up the system, you need to connect the device to the
power supply and the Internet, insert the SIM cards, and scan the
QR code through the app. With the SmartBracket mounting panel,
there is no need to disassemble the device body during
installation.
Connecting security devices, video cameras, users, testing the
radio signal, creating groups and scenarios, even sending a request
for connection to the CMS - all system settings are always
available in the Ajax apps. Whether you are at the site or not.
MotionProtect Wireless PIR Detector
The Ajax MotionProtect is a wireless indoor motion detector that
works alongside Ajax wireless alarm systems. The detector
communicates with the hub via protected Jeweller radio protocol at
a distance up to 1,700 meters in the line of sight. It features
protection against view blocking (anti-masking system) and
triggering by pets (pet immunity). The motion detection distance is
up to 12 meters.
The MotionProtect operates up to 5 years without battery
replacement and is ready to operate straight out of the box. The
battery is already installed, therefore there is no need to
disassemble the detector. With one click, it can be connected to
the hub in the mobile application. It can be mounted on the
SmartBracket in just a few minutes.
The MotionProtect detects human presence by IR level using a
passive IR sensor. The data received is digitally processed in
order to prevent false alarms. It automatically increases or
decreases the sensor sensitivity in order to accurately detect
motion during hot and cold weather.
DoorProtect S window/door sensors
The Ajax DoorProtect S is a wireless window/door sensor that
notifies of first signs of room intrusion by means of an open door
or window. It features 2 British-made hi-end reed switches on which
the magnetic field acts and can operate in the transmitter mode,
sending a signal from the wired sensor to the hub.
The DoorProtect consists of two modules - detector and magnet.
The set includes two magnets: the big magnet is installed at a
distance of up to 2 cm, and the small magnet up to 1 cm. Ready to
operate straight out the box: the battery is already installed,
therefore there is no need to disassemble the detector. With one
click, it can be connected to the hub in the mobile application. It
can be mounted on the SmartBracket in just a few minutes.
Keypad Plus Wireless Alarm KeyPad
The Ajax KeyPad TouchScreen is a wireless keypad with a touch
screen designed for managing the Ajax Jeweller wireless security
system. Users can authenticate using smartphones, Tag key fobs,
Pass cards, and codes. The device is intended for indoor use.
KeyPad TouchScreen communicates with a hub over two secure radio
protocols. The keypad uses Jeweller to transmit alarms and events,
and Wings to update firmware, transmit the list of groups, rooms,
and other additional information. The communication range without
obstacles is up to 1,700 meters. It features a built-in buzzer, a
touchscreen display, and a reader for contactless authorization.
The keypad can be used to control security modes and automation
devices and to notify about system alarms.
The keypad can automatically adjust the backlight brightness and
wakes up upon approach. Sensitivity is adjustable in the app.
KeyPad TouchScreen interface is inherited from Ajax Security System
app. There are dark and light interface appearances to choose from.
A 5-inch diagonal touchscreen display provides access to the
security mode of an object or any group and control over automation
scenarios. The display also indicates system malfunctions, if
present (when system integrity check is enabled).
The Ajax StreetSiren DoubleDeck is a wireless siren with LED
frame and piezoelectric buzzer, and features a clip lock which
allows for branded faceplates, making them ideal for installers and
commercial properties. The device is designed for both outdoor and
indoor installation. It responds to alarms and tampers triggering
by activating the buzzer and LED frame in less than a second. The
tamper button triggers when the enclosure is opened or broken, and
the accelerometer triggers when somebody’s attempting to move or
dismantle the siren.
The buzzer can be set to generate sound from 85 to 113 dB for an
adjustable period from 3 to 180 seconds, or it can be completely
silent and respond only with LED indication. StreetSiren’s
hermetically sealed body has been rated IP54 level of ingress
protection.
The StreetSiren DoubleDeck siren operates for 5 years on the
pre-installed batteries and features external power terminals.
Whether to use batteries as a primary power supply or a backup one
is your choice. In any case, the system will notify you about the
need for maintenance when the battery level will drain to 20%.
HomeSiren S Indoor Sounder
The Ajax HomeSiren S is a wireless indoor sounder that is part
of the Ajax Superior range, which loudly notifies of an alarm
during detector activation, with the capacity up to 105
dB.
Developed only for indoor use. It can be quickly installed and
set up, is furnished with a LED (plus allows connecting an external
LED), and can operate up to 5 years from a battery.
Ready to operate straight out the box: the battery is already
installed, therefore there is no need to disassemble the siren.
With one click, it can be connected to the hub in the mobile
application. It can be mounted on the SmartBracket in just a few
minutes.
Expanded features, reliability, and compliance for
PROs
We proudly introduce Superior, a remarkable addition to our
project-oriented product group. Superior product line includes
wireless devices designed for projects. Experience an array of
exceptional features, cutting-edge hardware, improved certification
compliance, effortless installation and more.
Features:
Wireless alarm kit comprising of a Hub 2 (2G) alarm panel, 2 x
MotionProtect S PIR's, 1 x DoorProtect S window/door sensors, 1 x
Keypad Touchscreen, 1 x StreetSiren DoubleDeck outdoor sounder, and
1 x HomeSiren S indoor sounder.
Anti-tamper and anti-masking
Grade 2
Hassle free installation
9 security group
50 users
100 devices in the system
2000m communication range
controlled via app
Automatic updates
Available in white or black
Compatible with some 3rd party IP CCTV cameras including
Hikvision, Uniview, Dahua and Safire
YOU MIGHT ALSO NEED
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
SPECIFICATIONS
Capacity
Wireless Ajax devices
up to 200
Specifically, up to 10 sirens or keypads with a built-in siren and
5 range extender.
IP cameras or DVRs
up to 100
Seamless integration with Dahua,
Hikvision, Safire, EZVIZ, IP cameras, and DVRs,
RTSP support.
Users
up to 200
Any number of admin users within the hub limit.
PRO accounts for installers.
PRO accounts for installation and monitoring companies.
Access management for users.
Automation scenarios
up to 64
Alarm responses.
Scheduled actions.
Security mode changing reactions.
Temperature changing reactions.
Humidity changing reactions.
Reactions to changes in CO₂ concentration.
Reactions to pressing Button.
Security groups
up to 25
Rooms
up to 50
Wireless
communication
Jeweller communication technology
Proprietary wireless communication
technology to transmit alarms and events.
Key features:
Two-way communication.
Advanced anti-sabotage.
Block encryption featuring a dynamic key.
Instant notifications.
Remote configuration via the Ajax apps.
All the data stored and transmitted are protected by block
encryption with a dynamic key.
Frequency hopping
To prevent radio interference and radio signal
interception.
Wings communication technology
Proprietary wireless communication technology to transmit photo
verifications.
Key features:
Two-way communication.
Block encryption featuring a dynamic key.
Advanced anti-sabotage.
Package re-uploading in case of transmission errors.
Photo delivery check.
Automatic switching between communication channels
Instant switching between Ethernet, Wi-Fi and SIM.
Instant switching between 4G (LTE), 3G, and 2G networks of one
SIM.
Switching between SIMs takes up to 4 minutes.
* 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:54:44; PREPARED; MEMCACHE; __construct; SELECT * FROM ct_url_alias WHERE store_id = ? OR store_id = 0; 1
[1] => 07:54:44; PREPARED; MEMCACHE; index; SELECT * FROM ct_setting WHERE store_id = 0 OR store_id = ? ORDER BY store_id ASC; 1
[2] => 07:54:44; PREPARED; MEMCACHE; __construct; SELECT * FROM ct_customer_group WHERE customer_group_id = ?; 1
[3] => 07:54:44; 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:54:44; STANDARD; MEMCACHE; ModelLocalisationCurrency; getCurrencies; SELECT * FROM ct_currency WHERE status = 1 ORDER BY title ASC
[5] => 07:54:44; STANDARD; MEMCACHE; Cart\Currency; __construct; SELECT * FROM ct_currency
[6] => 07:54:44; PREPARED; 0.000958; 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:54:44; PREPARED; 0.000395; Tracking; getNewTracker; SELECT tracking_id FROM ct_tracking WHERE tracker = ?; 26c8caf6107b4ba27d9decf6b525c1a2fde6ccf6e440892a53686137cab4b600
[8] => 07:54:44; PREPARED; MEMCACHE; getRedirect; SELECT * FROM ct_url_redirect WHERE source = ? AND path = ?; security|
[9] => 07:54:44; PREPARED; MEMCACHE; getRedirect; SELECT * FROM ct_url_redirect WHERE source = ? AND path = ?; intruder-alarms|
[10] => 07:54:44; PREPARED; MEMCACHE; getRedirect; SELECT * FROM ct_url_redirect WHERE source = ? AND path = ?; wireless-alarm-systems|
[11] => 07:54:44; PREPARED; MEMCACHE; getRedirect; SELECT * FROM ct_url_redirect WHERE source = ? AND path = ?; ajax-jeweller|
[12] => 07:54:44; PREPARED; MEMCACHE; getRedirect; SELECT * FROM ct_url_redirect WHERE source = ? AND path = ?; ajax-alarm-panels-and-kits|
[13] => 07:54:44; PREPARED; MEMCACHE; getRedirect; SELECT * FROM ct_url_redirect WHERE source = ? AND path = ?; ajax-kit-17-s-hub2-2mps-dps-kpt-ssdd-hss-90979-wireless-alarm-kit|
[14] => 07:54:44; PREPARED; 0.001191; 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 = ?; 19108
[15] => 07:54:44; PREPARED; 0.000333; ModelCatalogProduct; getProductKit; SELECT * FROM ct_product_kit WHERE product_id = ?; 19108
[16] => 07:54:44; PREPARED; 0.000844; 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|19108
[17] => 07:54:44; PREPARED; 0.000427; 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 = ?; 19108|1
[18] => 07:54:44; PREPARED; 0.000587; 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|19108
[19] => 07:54:44; PREPARED; 0.000237; ModelCatalogProduct; getProductKit; SELECT * FROM ct_product_kit WHERE product_id = ?; 19010
[20] => 07:54:44; PREPARED; 0.000724; 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|19010
[21] => 07:54:44; PREPARED; 0.000229; ModelCatalogProduct; getProductKit; SELECT * FROM ct_product_kit WHERE product_id = ?; 19011
[22] => 07:54:44; PREPARED; 0.000656; 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|19011
[23] => 07:54:44; PREPARED; 0.000858; 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 = ?; 19011
[24] => 07:54:44; PREPARED; 0.000239; ModelCatalogProduct; getProductKit; SELECT * FROM ct_product_kit WHERE product_id = ?; 19011
[25] => 07:54:44; PREPARED; 0.000659; 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|19011
[26] => 07:54:44; PREPARED; 0.000383; 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 = ?; 19011
[27] => 07:54:44; PREPARED; 0.000276; 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 = ?; 19011
[28] => 07:54:44; PREPARED; 0.000419; 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|19010
[29] => 07:54:44; PREPARED; 0.000427; 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|19011
[30] => 07:54:44; PREPARED; 0.000246; ModelCatalogProduct; getProductOptions; SELECT * FROM ct_product_option WHERE product_id = ? ORDER BY sort_order ASC; 19011
[31] => 07:54:44; PREPARED; 0.000190; ModelCatalogProduct; getProductQtyDiscounts; SELECT p.price_rule_id FROM ct_product p WHERE p.product_id = ?; 19011
[32] => 07:54:44; PREPARED; 0.000344; 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:54:44; PREPARED; 0.000468; 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; 19011|0|1
[34] => 07:54:44; PREPARED; 0.000507; 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|9a85c0c8c7c39c087f12c9d7deb3ba4a
[35] => 07:54:44; PREPARED; 0.001119; 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:54:44; PREPARED; 0.000256; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 2
[37] => 07:54:44; PREPARED; 0.000230; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 2
[38] => 07:54:44; PREPARED; 0.000484; 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:54:44; PREPARED; 0.000249; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 3
[40] => 07:54:44; PREPARED; 0.000240; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 3
[41] => 07:54:44; PREPARED; 0.000309; 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:54:44; PREPARED; 0.000240; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 1
[43] => 07:54:44; PREPARED; 0.000239; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 1
[44] => 07:54:44; PREPARED; 0.000301; 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:54:44; PREPARED; 0.000255; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 16
[46] => 07:54:44; PREPARED; 0.000255; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 16
[47] => 07:54:44; PREPARED; 0.000291; 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:54:44; PREPARED; 0.000236; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 17
[49] => 07:54:44; PREPARED; 0.000224; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 17
[50] => 07:54:44; PREPARED; 0.000288; 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:54:44; PREPARED; 0.000234; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 18
[52] => 07:54:44; PREPARED; 0.000216; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 18
[53] => 07:54:44; PREPARED; 0.000291; 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:54:44; STANDARD; MEMCACHE; ModelLocalisationCountry; getCountries; SELECT * FROM ct_country WHERE status = '1' ORDER BY name ASC
[55] => 07:54:44; STANDARD; MEMCACHE; ModelLocalisationZone; getZonesByCountryId; SELECT * FROM ct_zone WHERE country_id = '222' AND status = '1' ORDER BY name
[56] => 07:54:44; PREPARED; 0.001131; 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:54:44; PREPARED; 0.000332; 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:54:44; PREPARED; 0.000463; 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|9a85c0c8c7c39c087f12c9d7deb3ba4a
[59] => 07:54:44; PREPARED; 0.000304; 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:54:44; PREPARED; 0.000541; 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|9a85c0c8c7c39c087f12c9d7deb3ba4a
[61] => 07:54:44; PREPARED; 0.000399; 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|9a85c0c8c7c39c087f12c9d7deb3ba4a
[62] => 07:54:44; PREPARED; 0.000257; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 2
[63] => 07:54:44; PREPARED; 0.000281; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 2
[64] => 07:54:44; PREPARED; 0.000340; 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:54:44; PREPARED; 0.000251; Cart\Shipping; getArrivalDates; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 2
[66] => 07:54:44; PREPARED; 0.000215; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 2
[67] => 07:54:44; PREPARED; 0.000221; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 2
[68] => 07:54:44; PREPARED; 0.000352; 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:54:44; PREPARED; 0.000414; 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|9a85c0c8c7c39c087f12c9d7deb3ba4a
[70] => 07:54:44; PREPARED; 0.000251; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 3
[71] => 07:54:44; PREPARED; 0.000225; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 3
[72] => 07:54:44; PREPARED; 0.000313; 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:54:44; PREPARED; 0.000311; Cart\Shipping; getArrivalDates; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 3
[74] => 07:54:44; PREPARED; 0.000310; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 3
[75] => 07:54:44; PREPARED; 0.000278; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 3
[76] => 07:54:44; PREPARED; 0.000383; 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:54:44; PREPARED; 0.000451; 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|9a85c0c8c7c39c087f12c9d7deb3ba4a
[78] => 07:54:44; PREPARED; 0.000264; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 1
[79] => 07:54:44; PREPARED; 0.000229; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 1
[80] => 07:54:44; PREPARED; 0.000319; 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:54:44; PREPARED; 0.000404; Cart\Shipping; getArrivalDates; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 1
[82] => 07:54:44; PREPARED; 0.000382; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 1
[83] => 07:54:44; PREPARED; 0.000235; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 1
[84] => 07:54:44; PREPARED; 0.000375; 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:54:44; 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|9a85c0c8c7c39c087f12c9d7deb3ba4a
[86] => 07:54:44; PREPARED; 0.000336; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 16
[87] => 07:54:44; PREPARED; 0.000309; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 16
[88] => 07:54:44; PREPARED; 0.000478; 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:54:44; PREPARED; 0.000334; Cart\Shipping; getArrivalDates; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 16
[90] => 07:54:44; PREPARED; 0.000278; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 16
[91] => 07:54:44; PREPARED; 0.000268; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 16
[92] => 07:54:44; PREPARED; 0.000418; 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:54:44; PREPARED; 0.000696; 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|9a85c0c8c7c39c087f12c9d7deb3ba4a
[94] => 07:54:44; PREPARED; 0.000417; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 17
[95] => 07:54:44; PREPARED; 0.000310; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 17
[96] => 07:54:44; 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 = ?; 17|2025-05-07
[97] => 07:54:44; PREPARED; 0.000322; Cart\Shipping; getArrivalDates; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 17
[98] => 07:54:44; PREPARED; 0.000329; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 17
[99] => 07:54:44; PREPARED; 0.000335; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 17
[100] => 07:54:44; PREPARED; 0.000348; 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:54:44; PREPARED; 0.000598; 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|9a85c0c8c7c39c087f12c9d7deb3ba4a
[102] => 07:54:44; PREPARED; 0.000349; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 18
[103] => 07:54:44; PREPARED; 0.000274; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 18
[104] => 07:54:44; PREPARED; 0.000446; 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:54:44; PREPARED; 0.000436; Cart\Shipping; getArrivalDates; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 18
[106] => 07:54:44; PREPARED; 0.000362; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 18
[107] => 07:54:44; PREPARED; 0.000322; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 18
[108] => 07:54:44; PREPARED; 0.000395; 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:54:44; 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|9a85c0c8c7c39c087f12c9d7deb3ba4a
[110] => 07:54:44; 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:54:44; PREPARED; 0.000538; 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; 19011
[112] => 07:54:44; PREPARED; 0.000441; ModelCatalogProduct; getProductImages; SELECT * FROM ct_product_image WHERE product_id = ? ORDER BY sort_order ASC; 19108
[113] => 07:54:44; PREPARED; 0.000614; ModelCatalogProduct; getProductAlternatives; SELECT pa.alternative_id FROM ct_product_alternative pa LEFT JOIN ct_product p ON p.product_id = pa.alternative_id LEFT JOIN ct_product_available pav ON pav.product_id = p.product_id AND pav.store_id = ? WHERE pa.product_id = ? AND (p.eol != 1 OR pav.available > 0) AND p.status > 1 ORDER BY p.cost ASC; 1|19108
[114] => 07:54:44; PREPARED; 0.000325; ModelCatalogProduct; getProductVideos; SELECT name, youtube_id FROM ct_product_video WHERE product_id = ? ORDER BY sort_order ASC; 19108
[115] => 07:54:44; PREPARED; 0.000637; 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 Kit 17 S (Hub2+2MPS+DPS+KPT+SSDD+HSS) 90980 White Wireless Alarm Kit ajax,ajax jeweller,ajax wireless alarm,alarm sounder,door contact,doorprotect,grade 2,grade ii,homesiren,hub 2 plus,streetsiren,window contact,wireless alarm kit,wireless keypad,superior|231
[116] => 07:54:44; PREPARED; 0.000472; ModelCatalogProduct; getProductFiles; SELECT * FROM ct_product_file WHERE product_id = ? AND online = 1 ORDER BY sort_order ASC; 19108
[117] => 07:54:44; PREPARED; 0.000288; ModelCatalogProduct; getProductLinks; SELECT text, link FROM ct_product_link WHERE product_id = ? ORDER BY sort_order ASC; 19108
[118] => 07:54:44; PREPARED; 0.000485; 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; 19108
[119] => 07:54:44; PREPARED; 0.001813; 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|19108
[120] => 07:54:44; PREPARED; 0.001286; 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; 19108|1|19108|1
[121] => 07:54:44; PREPARED; 0.000460; 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'; 19108
[122] => 07:54:44; PREPARED; 0.000483; 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; 19108
[123] => 07:54:44; PREPARED; 0.000288; ModelAccountFavourites; getFavourites; SELECT * FROM ct_customer_favourites WHERE customer_id = ?; 0
[124] => 07:54:44; PREPARED; 0.005799; ModelCatalogProduct; updateViewed; UPDATE ct_product SET viewed = (viewed + 1) WHERE product_id = ?; 19108
[125] => 07:54:44; PREPARED; 0.000468; Tracking; track; SELECT customer_id FROM ct_customer WHERE tracker = ?; 26c8caf6107b4ba27d9decf6b525c1a2fde6ccf6e440892a53686137cab4b600
[126] => 07:54:44; PREPARED; 0.007105; 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()); 26c8caf6107b4ba27d9decf6b525c1a2fde6ccf6e440892a53686137cab4b600|18.116.61.213|Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; [email protected])|9a85c0c8c7c39c087f12c9d7deb3ba4a|0||/security/intruder-alarms/wireless-alarm-systems/ajax-jeweller/ajax-alarm-panels-and-kits/ajax-kit-17-s-hub2-2mps-dps-kpt-ssdd-hss-90979-wireless-alarm-kit?variant_id=19011|view_product|19011
[127] => 07:54:44; PREPARED; 0.000539; 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; 19108
[128] => 07:54:44; PREPARED; MEMCACHE; getHtmlBlock; SELECT * FROM ct_html_block WHERE code = ? AND store_id = ?; why_buy|1
[129] => 07:54:44; PREPARED; MEMCACHE; getHtmlBlock; SELECT * FROM ct_html_block WHERE code = ? AND store_id = ?; product_qa_text|1
[130] => 07:54:44; PREPARED; MEMCACHE; getHtmlBlock; SELECT * FROM ct_html_block WHERE code = ? AND store_id = ?; product_review_text|1
[131] => 07:54:44; PREPARED; MEMCACHE; getHtmlBlock; SELECT * FROM ct_html_block WHERE code = ? AND store_id = ?; product_links_disclaimer|1
)
[DUPLIACTES] => Array
(
)
[TOTAL_EXECUTION_TIME] => 0.05970215797
)