The Ajax KeyPad TouchScreen is a wireless keypad with a 5'' colour touch screen designed for managing the Ajax Jeweller wireless security alarm system (Read more)
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.
Interface
Number
Description
1
Ambient light sensor for automatically
adjusting the backlight brightness
2
IPS touchscreen display with a 5-inch
diagonal
3
Ajax logo with an LED
indicator
4
Cards/key fobs/Bluetooth
reader
5
SmartBracket mounting panel. To remove
the panel, slide it down
6
Perforated part of the mounting panel
for triggering a tamper
7
Perforated part of the mounting panel
for routing cables through the wall
8
Built-in buzzer
Number
Description
9
Tamper button
10
QR code with the device ID for adding
the keypad to the Ajax system
11
Power button
12
Terminals for connecting a third-party
power supply unit. The terminals can be removed from the holders
when necessary
13
Cable channel for routing the cable
from the third-party power supply unit
14
Perforated part of the mounting panel
for routing cables from the bottom
15
The hole for attaching the SmartBracket
mounting panel with a holding screw
KeyPad TouchScreen 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).
Depending on the settings, the KeyPad TouchScreen built-in
buzzer notifies about:
alarms;
security mode changes;
entry/exit delays;
triggering of the opening detectors.
The keypad operates using pre-installed batteries. It can also
be powered by a third-party power supply unit with a voltage range
of 10.5–14 V⎓ and an operating current of at least 0.5 A. When
external power is connected, the pre-installed batteries serve as a
backup power source.
Features:
5'' colour touchscreen with a resolution of 480 x 854 px
For use with Ajax Jeweller wireless alarm systems
Smart home device management
Available in black or white
Easy group management
Security mode of each group is available on the screen
Management of night mode and security mode of the entire
system
Up to 6 devices or groups of devices on one screen
Sound notifications about alarms and events
Instant malfunction notifications
Three authentication methods; Smartphone, Pass card and Tag key
fob, and manual code entry
Up to 99 keypad access codes
Screen protection against scrapes, scratches, etc.
Up to 1.5 years of operation from pre-installed AA
batteries
Ensure uninterrupted device operation by connecting to a 12V⎓
power supply unit for extended autonomy
Jeweller and Wings proprietary radio protocols for reliable
communication
Proprietary wireless communication
technology to transmit commands, alarms, and events.
Key features:
Two-way communication.
Advanced sabotage protection.
Block encryption featuring a dynamic key.
Instant notifications.
Remote configuration in the Ajax apps.
Frequency bands
868.0–868.6 MHz
Maximum effective radiated power
(ERP)
Up to 20 mW
Automatic power control to reduce power consumption and noise
interference.
Radio signal modulation
GFSK
Radio signal range
up to 1,700 m
Between keypad and hub (or range extender) in an open
space.
Encrypted communication
All the data stored and transmitted are protected by block
encryption with a dynamic key
Frequency hopping
Radio communication uses frequency hopping to prevent
interception and jamming
Wings communication technology
Proprietary wireless communication technology for transmitting
the list of the groups, rooms and detectors to form the list of
malfunctions.
Key features:
Two-way communication.
Block encryption featuring a dynamic key.
Advanced sabotage protection.
Reloading the data packages in case of transmission
errors.
Frequency bands
868.0–868.6 MHz
Radio signal range
up to 1,700 m
Between keypad and hub (or range extender) in an open
space
Encrypted communication
All stored and transmitted data are protected by block
encryption with a dynamic key
Frequency hopping
Radio communication uses frequency hopping to prevent
interception and jamming
Display
Diagonal
5″
Matrix type
IPS
Resolution
480 x 854 px
Sensor
capacitive
Brightness settings
automatic
manual
If Auto Adjust is enabled, the display brightness depends on the
light conditions. This saves battery power.
Backlight lifetime
30,000 hours
Guaranteed backlight lifetime when the Always Active Display toggle
is enabled. It can be adjusted in Ajax apps and activates only when
external power is connected
Key features
Panic buttons
panic
fire
auxiliary help
Sending an alarm or calling for help from the separate keypad
tab
Control
codes
Tag key fobs
Pass cards
smartphone (Bluetooth)
Contactless access
codes
Tag key fobs
Pass cards
smartphone (Bluetooth)
Contactless access
DESFire® EV1, EV2
ISO14443-А (13.56 MHz)
Access codes
Up to 200 personal codes
One code per each user. The number of personal access codes depends
on the hub model.
1 keypad code
Per each KeyPad TouchScreen
Duress codes
up to 200 personal codes
One code per each user. The number of personal duress codes depends
on the hub model.
1 keypad code
Per each KeyPad TouchScreen
Codes for unregistered people
up to 99 personal codes
For people who are not registered in the Ajax system. The number of
such codes depends on the hub model
Arming without entering a code
The enabled feature allows the user to arm the system without
entering a code or presenting the access device
Group management
Changing the security mode of the groups to which the user has
access from the keypad’s display
Scenarios management
A separate keypad tab contains up to 6 buttons, and each one
can control one automation device or a group of devices
Indication of malfunctions and security mode
display
logo
sound indication
If enabled, the logo lights up red continuously or when the system
or group is armed. KeyPad TouchScreen indication is shown on the
display only when it is active. Built-in buzzer notifies about
alarms, door openings and entry/exit delays
Fire alarm muting
Turns off the fire detectors alarm, including the
interconnected alarm
User pre-authorization
When the feature is enabled, viewing the current system status
and control screen is unavailable. For access, the user must
pre-authorize: enter a code or present a personal access device to
the keypad
Contactless authorization with a smartphone
A smartphone with the installed Ajax app and Bluetooth Low
Energy (BLE) support can be used instead of Tag or Pass to
authorize a user. BLE is a radio protocol with low power
consumption. The keypad supports Android and iOS smartphones with
BLE 4.2 and higher
Auto screen wakeup
The keypad wakes up automatically when approaching it. The
approaching distance can be adjusted in the app
Recommendations
The device is designed for indoor use only
Sabotage
protection
Unauthorized access auto-lock
The keypad locks if an incorrect code is entered or unverified
access devices are used more than 3 times in a row within 1 minute.
The lock time is adjusted by PRO or user with admin rights in the
Ajax app
Tamper alarm
Notifications on attempts to detach the keypad from the surface
or remove it from the mounting panel
Holding screw
To secure the keypad on SmartBracket
Protection against spoofing
Device authentication
Communication loss detection
after 36 s
Detection time depends on the Jeweller or Jeweller/Fibra
settings
Power supply
Batteries
6 x AA
Pre-installed
Calculated battery life
Up to 1.5 years
With default settings and up to 4 interactions with a keypad per
day
Keypad’s operating voltage range
10.5–14 V⎓, up to 0.4 A
The batteries serve as a backup when the external power supply is
connected
* 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:37:09; PREPARED; MEMCACHE; __construct; SELECT * FROM ct_url_alias WHERE store_id = ? OR store_id = 0; 1
[1] => 07:37:09; PREPARED; MEMCACHE; index; SELECT * FROM ct_setting WHERE store_id = 0 OR store_id = ? ORDER BY store_id ASC; 1
[2] => 07:37:09; PREPARED; MEMCACHE; __construct; SELECT * FROM ct_customer_group WHERE customer_group_id = ?; 1
[3] => 07:37:09; 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:37:09; STANDARD; MEMCACHE; ModelLocalisationCurrency; getCurrencies; SELECT * FROM ct_currency WHERE status = 1 ORDER BY title ASC
[5] => 07:37:09; STANDARD; MEMCACHE; Cart\Currency; __construct; SELECT * FROM ct_currency
[6] => 07:37:09; PREPARED; 0.001217; 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:37:09; PREPARED; 0.000314; Tracking; getNewTracker; SELECT tracking_id FROM ct_tracking WHERE tracker = ?; b9e81f3f8769bad459b68a7fe45fbce3be8493e7468c8f58fc29a101d5cfc042
[8] => 07:37:09; PREPARED; MEMCACHE; getRedirect; SELECT * FROM ct_url_redirect WHERE source = ? AND path = ?; security|
[9] => 07:37:09; PREPARED; MEMCACHE; getRedirect; SELECT * FROM ct_url_redirect WHERE source = ? AND path = ?; intruder-alarms|
[10] => 07:37:09; PREPARED; MEMCACHE; getRedirect; SELECT * FROM ct_url_redirect WHERE source = ? AND path = ?; wireless-alarm-systems|
[11] => 07:37:09; PREPARED; MEMCACHE; getRedirect; SELECT * FROM ct_url_redirect WHERE source = ? AND path = ?; ajax-jeweller|
[12] => 07:37:09; PREPARED; MEMCACHE; getRedirect; SELECT * FROM ct_url_redirect WHERE source = ? AND path = ?; ajax-arming-devices|
[13] => 07:37:09; PREPARED; MEMCACHE; getRedirect; SELECT * FROM ct_url_redirect WHERE source = ? AND path = ?; ajax-ips-touchscreen-wireless-keypad-black-or-white|
[14] => 07:37:09; PREPARED; 0.001270; 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 = ?; 18023
[15] => 07:37:09; PREPARED; 0.000276; ModelCatalogProduct; getProductKit; SELECT * FROM ct_product_kit WHERE product_id = ?; 18023
[16] => 07:37:09; PREPARED; 0.000847; 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|18023
[17] => 07:37:09; PREPARED; 0.000486; 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 = ?; 18023|1
[18] => 07:37:09; PREPARED; 0.000548; 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|18023
[19] => 07:37:09; PREPARED; 0.000248; ModelCatalogProduct; getProductKit; SELECT * FROM ct_product_kit WHERE product_id = ?; 18022
[20] => 07:37:09; PREPARED; 0.000727; 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|18022
[21] => 07:37:09; PREPARED; 0.000244; ModelCatalogProduct; getProductKit; SELECT * FROM ct_product_kit WHERE product_id = ?; 18021
[22] => 07:37:09; PREPARED; 0.000654; 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|18021
[23] => 07:37:09; PREPARED; 0.000883; 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 = ?; 18021
[24] => 07:37:09; PREPARED; 0.000263; ModelCatalogProduct; getProductKit; SELECT * FROM ct_product_kit WHERE product_id = ?; 18021
[25] => 07:37:09; PREPARED; 0.000700; 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|18021
[26] => 07:37:09; PREPARED; 0.000392; 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 = ?; 18021
[27] => 07:37:09; PREPARED; 0.000293; 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 = ?; 18021
[28] => 07:37:09; PREPARED; 0.000503; 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|18022
[29] => 07:37:09; PREPARED; 0.000422; 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|18021
[30] => 07:37:09; PREPARED; 0.000300; ModelCatalogProduct; getProductOptions; SELECT * FROM ct_product_option WHERE product_id = ? ORDER BY sort_order ASC; 18021
[31] => 07:37:09; PREPARED; 0.000251; ModelCatalogProduct; getProductQtyDiscounts; SELECT p.price_rule_id FROM ct_product p WHERE p.product_id = ?; 18021
[32] => 07:37:09; PREPARED; 0.000386; 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:37:09; PREPARED; 0.000497; 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; 18021|0|1
[34] => 07:37:09; PREPARED; 0.000523; 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|46725ffcdd1accc1587004cc472c5124
[35] => 07:37:09; PREPARED; 0.001155; 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:37:09; PREPARED; 0.000293; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 2
[37] => 07:37:09; PREPARED; 0.000331; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 2
[38] => 07:37:09; PREPARED; 0.000428; 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:37:09; PREPARED; 0.000286; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 3
[40] => 07:37:09; PREPARED; 0.000233; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 3
[41] => 07:37:09; PREPARED; 0.000370; 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:37:09; PREPARED; 0.000319; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 1
[43] => 07:37:09; PREPARED; 0.000282; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 1
[44] => 07:37:09; PREPARED; 0.000385; 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:37:09; PREPARED; 0.000287; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 16
[46] => 07:37:09; PREPARED; 0.000293; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 16
[47] => 07:37:09; PREPARED; 0.000368; 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:37:09; PREPARED; 0.000296; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 17
[49] => 07:37:09; PREPARED; 0.000252; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 17
[50] => 07:37:09; PREPARED; 0.000333; 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:37:09; PREPARED; 0.000272; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 18
[52] => 07:37:09; PREPARED; 0.000274; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 18
[53] => 07:37:09; PREPARED; 0.000342; 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:37:09; STANDARD; MEMCACHE; ModelLocalisationCountry; getCountries; SELECT * FROM ct_country WHERE status = '1' ORDER BY name ASC
[55] => 07:37:09; STANDARD; MEMCACHE; ModelLocalisationZone; getZonesByCountryId; SELECT * FROM ct_zone WHERE country_id = '222' AND status = '1' ORDER BY name
[56] => 07:37:09; PREPARED; 0.001254; 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:37:09; PREPARED; 0.000286; 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:37:09; PREPARED; 0.000444; 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|46725ffcdd1accc1587004cc472c5124
[59] => 07:37:09; PREPARED; 0.000308; 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:37:09; PREPARED; 0.000383; 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|46725ffcdd1accc1587004cc472c5124
[61] => 07:37:09; PREPARED; 0.000430; 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|46725ffcdd1accc1587004cc472c5124
[62] => 07:37:09; PREPARED; 0.000241; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 2
[63] => 07:37:09; PREPARED; 0.000234; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 2
[64] => 07:37:09; 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 = ?; 2|2025-05-09
[65] => 07:37:09; PREPARED; 0.000243; Cart\Shipping; getArrivalDates; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 2
[66] => 07:37:09; PREPARED; 0.000212; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 2
[67] => 07:37:09; PREPARED; 0.000228; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 2
[68] => 07:37:09; 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 = ?; 2|2025-05-09
[69] => 07:37:09; PREPARED; 0.000401; 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|46725ffcdd1accc1587004cc472c5124
[70] => 07:37:09; PREPARED; 0.000248; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 3
[71] => 07:37:09; PREPARED; 0.000230; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 3
[72] => 07:37:09; PREPARED; 0.000308; 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:37:09; PREPARED; 0.000251; Cart\Shipping; getArrivalDates; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 3
[74] => 07:37:09; PREPARED; 0.000213; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 3
[75] => 07:37:09; PREPARED; 0.000219; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 3
[76] => 07:37:09; PREPARED; 0.000330; 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:37:09; PREPARED; 0.000401; 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|46725ffcdd1accc1587004cc472c5124
[78] => 07:37:09; PREPARED; 0.000231; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 1
[79] => 07:37:09; PREPARED; 0.000236; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 1
[80] => 07:37:09; 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 = ?; 1|2025-05-07
[81] => 07:37:09; PREPARED; 0.000233; Cart\Shipping; getArrivalDates; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 1
[82] => 07:37:09; PREPARED; 0.000231; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 1
[83] => 07:37:09; PREPARED; 0.000218; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 1
[84] => 07:37:09; PREPARED; 0.000321; 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:37:09; PREPARED; 0.000416; 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|46725ffcdd1accc1587004cc472c5124
[86] => 07:37:09; PREPARED; 0.000228; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 16
[87] => 07:37:09; PREPARED; 0.000221; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 16
[88] => 07:37:09; PREPARED; 0.000304; 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:37:09; PREPARED; 0.000229; Cart\Shipping; getArrivalDates; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 16
[90] => 07:37:09; PREPARED; 0.000213; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 16
[91] => 07:37:09; PREPARED; 0.000234; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 16
[92] => 07:37:09; PREPARED; 0.000287; 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:37:09; PREPARED; 0.000481; 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|46725ffcdd1accc1587004cc472c5124
[94] => 07:37:09; PREPARED; 0.000243; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 17
[95] => 07:37:09; PREPARED; 0.000239; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 17
[96] => 07:37:09; 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 = ?; 17|2025-05-07
[97] => 07:37:09; PREPARED; 0.000244; Cart\Shipping; getArrivalDates; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 17
[98] => 07:37:09; PREPARED; 0.000226; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 17
[99] => 07:37:09; PREPARED; 0.000240; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 17
[100] => 07:37:09; PREPARED; 0.000311; 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:37:09; PREPARED; 0.000429; 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|46725ffcdd1accc1587004cc472c5124
[102] => 07:37:09; PREPARED; 0.000266; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 18
[103] => 07:37:09; PREPARED; 0.000373; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 18
[104] => 07:37:09; PREPARED; 0.000425; 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:37:09; PREPARED; 0.000264; Cart\Shipping; getArrivalDates; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 18
[106] => 07:37:09; PREPARED; 0.000224; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 18
[107] => 07:37:09; PREPARED; 0.000273; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 18
[108] => 07:37:09; PREPARED; 0.000320; 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:37:09; PREPARED; 0.000879; 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|46725ffcdd1accc1587004cc472c5124
[110] => 07:37:09; 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:37:09; PREPARED; 0.000521; 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; 18021
[112] => 07:37:09; PREPARED; 0.000325; ModelCatalogProduct; getProductImages; SELECT * FROM ct_product_image WHERE product_id = ? ORDER BY sort_order ASC; 18023
[113] => 07:37:09; PREPARED; 0.000231; ModelCatalogProduct; getProductVideos; SELECT name, youtube_id FROM ct_product_video WHERE product_id = ? ORDER BY sort_order ASC; 18023
[114] => 07:37:09; PREPARED; 0.000425; 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 IPS TouchScreen Wireless Keypad Black ajax alarm,ajax jeweller,ajax keypad,alarm keypad,desfire,prox reader,touch keypad,wireless alarm,ajax screen|231
[115] => 07:37:09; PREPARED; 0.000284; ModelCatalogProduct; getProductFiles; SELECT * FROM ct_product_file WHERE product_id = ? AND online = 1 ORDER BY sort_order ASC; 18023
[116] => 07:37:09; PREPARED; 0.000221; ModelCatalogProduct; getProductLinks; SELECT text, link FROM ct_product_link WHERE product_id = ? ORDER BY sort_order ASC; 18023
[117] => 07:37:09; PREPARED; 0.000327; 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; 18023
[118] => 07:37:09; PREPARED; 0.001240; 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|18023
[119] => 07:37:09; PREPARED; 0.000858; 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; 18023|1|18023|1
[120] => 07:37:09; PREPARED; 0.000340; 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'; 18023
[121] => 07:37:09; PREPARED; 0.000406; 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; 18023
[122] => 07:37:09; PREPARED; 0.000231; ModelAccountFavourites; getFavourites; SELECT * FROM ct_customer_favourites WHERE customer_id = ?; 0
[123] => 07:37:09; PREPARED; 0.001323; ModelCatalogProduct; updateViewed; UPDATE ct_product SET viewed = (viewed + 1) WHERE product_id = ?; 18023
[124] => 07:37:09; PREPARED; 0.000305; Tracking; track; SELECT customer_id FROM ct_customer WHERE tracker = ?; b9e81f3f8769bad459b68a7fe45fbce3be8493e7468c8f58fc29a101d5cfc042
[125] => 07:37:09; PREPARED; 0.006191; 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()); b9e81f3f8769bad459b68a7fe45fbce3be8493e7468c8f58fc29a101d5cfc042|18.188.127.79|Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; [email protected])|46725ffcdd1accc1587004cc472c5124|0||/security/intruder-alarms/wireless-alarm-systems/ajax-jeweller/ajax-arming-devices/ajax-ips-touchscreen-wireless-keypad-black-or-white?variant_id=18021|view_product|18021
[126] => 07:37:09; PREPARED; 0.000370; 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; 18023
[127] => 07:37:09; PREPARED; MEMCACHE; getHtmlBlock; SELECT * FROM ct_html_block WHERE code = ? AND store_id = ?; why_buy|1
[128] => 07:37:09; PREPARED; MEMCACHE; getHtmlBlock; SELECT * FROM ct_html_block WHERE code = ? AND store_id = ?; product_qa_text|1
[129] => 07:37:09; PREPARED; MEMCACHE; getHtmlBlock; SELECT * FROM ct_html_block WHERE code = ? AND store_id = ?; product_review_text|1
[130] => 07:37:09; PREPARED; MEMCACHE; getHtmlBlock; SELECT * FROM ct_html_block WHERE code = ? AND store_id = ?; product_links_disclaimer|1
)
[DUPLIACTES] => Array
(
[77] => 07:37:09; PREPARED; 0.000401; 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|46725ffcdd1accc1587004cc472c5124
[82] => 07:37:09; PREPARED; 0.000231; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 1
)
[TOTAL_EXECUTION_TIME] => 0.0498290062
)