Data schema
Every product on Dealectric is described with a shared core record plus a category-specific field set, all in the same units, and every offer carries provenance. Pages embed this as schema.org/Product and schema.org/Offer JSON-LD; a JSON API with the same shape is planned (see For AI agents).
Product record (core + charging/power fields, the launch category)
| Field | Type / unit | Notes |
|---|---|---|
id | string | Stable slug, e.g. anker-prime-100w-3-port |
brand, model, sku | string | Manufacturer model number as printed on the product |
category | enum | Launch set: wall_charger · power_bank · cable · wireless_charger · power_station · surge_protector. Planned: security_camera, smart_plug, router, earbuds, headphones, speaker, robot_vacuum, air_purifier, and more — each with its own field block |
max_output_w | integer, W | Total headline output |
ports[] | array | Each: type (usb_c / usb_a / ac / dc12 / wireless), max_w, protocols[] (pd3.0, pd3.1_epr, pps, qc3, qc4+, …) |
power_distribution[] | array | Per-combination split, e.g. {"ports":["c1","c2"],"w":[65,30]} |
capacity_wh, capacity_mah | number | Power banks / stations; Wh is canonical |
chemistry | enum | lfp · nmc · li_ion · unknown |
cycle_life | integer | Manufacturer-rated cycles to 80% |
ac_continuous_w, ac_surge_w | integer, W | Power stations |
recharge | object | ac_max_w, solar_max_w, solar_voltage_range, ups_switchover_ms |
cable | object | rated_w (60/100/240), emarker (bool), data_gbps, length_m, usb_if_certified |
airline_carry_on | enum | ok (≤100 Wh) · approval_required (101–160 Wh) · not_allowed |
dimensions_mm, weight_g | numbers | |
safety_certs[] | array | ul, etl, ce, ukca, fcc, psE… |
warranty_months | integer | |
source_urls[], spec_verified_at | array, ISO date | Where the specs came from and when we last checked |
Offer record
| Field | Type / unit | Notes |
|---|---|---|
product_id | string | |
merchant | string | Who fulfils the order (brand store, authorized retailer) |
price, currency | number, ISO 4217 | List price at verification |
discount | object | code, type (percent/fixed), value, expires, last_worked_at, success_rate_7d |
effective_price | number | Price after the best known discount |
shipping | object | free_over, regions[], est_days |
return_window_days | integer | |
in_stock | bool | |
url | URL | A dealectric.com link that redirects to the merchant. This may be an affiliate link — see affiliate. |
affiliate | bool | True when we earn a commission on purchases through url |
verified_at | ISO datetime | When price and stock were last checked |
Example
{
"product": {
"id": "example-65w-3-port-gan",
"brand": "ExampleBrand", "model": "GaN 65", "category": "wall_charger",
"max_output_w": 65,
"ports": [
{"id":"c1","type":"usb_c","max_w":65,"protocols":["pd3.0","pps"]},
{"id":"c2","type":"usb_c","max_w":30,"protocols":["pd3.0","pps"]},
{"id":"a1","type":"usb_a","max_w":22.5,"protocols":["qc3"]}
],
"power_distribution": [
{"ports":["c1"],"w":[65]},
{"ports":["c1","c2"],"w":[45,20]},
{"ports":["c1","c2","a1"],"w":[45,15,5]}
],
"safety_certs": ["ul"], "warranty_months": 24,
"spec_verified_at": "2026-10-07"
},
"offers": [{
"merchant": "ExampleBrand.com", "price": 45.99, "currency": "USD",
"discount": {"code":"EXAMPLE10","type":"percent","value":10,"last_worked_at":"2026-10-07T18:02:00Z","success_rate_7d":0.96},
"effective_price": 41.39, "return_window_days": 30, "in_stock": true,
"url": "https://dealectric.com/go/example-65w-3-port-gan/examplebrand", "affiliate": true,
"verified_at": "2026-10-07T18:02:00Z"
}]
}
Illustrative record with a fictional brand. Units: W, Wh, mm, g. Dates are UTC ISO 8601.
Category field blocks (planned)
Non-power categories reuse the core record and add their own block. Examples of the fields each will carry: earbuds/headphones — driver size, codecs (AAC, LDAC, aptX), ANC (yes/no, adaptive), battery hours with and without case, multipoint, IP rating; security cameras — resolution, field of view, local vs cloud storage, subscription required, PoE/battery/wired, night-vision type, ecosystem (HomeKit, Alexa, Google); routers — Wi-Fi generation, bands, max link rate, ports, mesh support; robot vacuums — suction (Pa), mop type, self-empty/self-wash dock, mapping (LiDAR/vSLAM), runtime; small kitchen appliances — wattage, capacity, footprint, dishwasher-safe parts. Field names and units will be published here before each category goes live.