CarReg AI To Help You Find Your Perfect Number Plate
CR
CarReg AI – GPT
DVLA RNPS 27154
Search plates
Value my plate
Sell a plate
Buy a plate
Legal / BS AU 145e
Trust & reviews
Offices
Speak to a person
Hello! I’m the CarReg assistant — how can I help today?
Send
Guidance only (not legal advice). Use official CarReg payment links.
Search ·
const msgs = document.getElementById(“msgs”);
const input = document.getElementById(“in”);
const sendBtn = document.getElementById(“send”);
const mock = true; // set to false once you point to a backend
const apiUrl = “/api/carreg-chat”;
function add(role, text){
const div = document.createElement(“div”);
div.className = “bubble ” + (role===“user”?“you”:“bot”);
div.textContent = text;
msgs.appendChild(div);
msgs.scrollTop = msgs.scrollHeight;
}
function detect(t){
t = (t||”“).toLowerCase();
if (/\\b(value|valuation|worth|price my).*plate\\b/.test(t)) return “valuation”;
if (/\\b(sell|list).*plate\\b/.test(t)) return “sell”;
if (/\\b(buy|get|find|search).*plate\\b/.test(t)) return “search”;
if (/\\b(legal|bs\\s*au\\s*145e|spacing|font|3d|4d|tinted)\\b/.test(t)) return “legal”;
if (/\\b(trust|reviews|scam|legit)\\b/.test(t)) return “trust”;
if (/\\b(office|offices|branch|where)\\b/.test(t)) return “offices”;
if (/\\b(human|agent|call|phone|speak)\\b/.test(t)) return “human”;
if (/\\b(order|status|track)\\b/.test(t)) return “order”;
return null;
}
function mockReply(intent){
switch(intent){
case “trust”: return “CarReg have traded since 1988, are DVLA Registered (RNPS 27154) & recognised resellers. 100% money‑back guarantee. See our Trust page?”;
case “legal”: return “UK plates must meet BS AU 145e (font/size/spacing/reflectivity). We supply compliant options; tinted/altered spacing are show‑use only.”;
case “offices”: return “UK‑wide: Wolverhampton HQ; London, Windsor, Bath, Bournemouth, Swansea, Manchester, East Midlands, Edinburgh, Belfast. Need details?”;
case “valuation”: return “Free human valuation — share the reg (e.g., JW 444), on vehicle/certificate, and an email/phone for the result.”;
case “sell”: return “We can list & sell for you and handle safe funds transfer. Start with a valuation, then we create the listing.”;
case “search”: return “Tell me letters, numbers, budget or theme (Current, Prefix, Suffix, Dateless) — or use our search tool.”;
case “buy”: return “Pick a reg, we secure it, and help assign to your vehicle or a certificate. Any initials or numbers in mind?”;
case “order”: return “Share your order/certificate number + surname and I’ll check status (specifics sent securely by email).”;
case “human”: return “I can arrange a callback or open our contact page. What’s the best number and time today?”;
default: return “I can help you buy, sell, or value a plate, and answer legality/trust questions.”;
}
}
async function send(text){
add(“user”, text);
const intent = detect(text);
if (mock){
setTimeout(()=>add(“bot”, mockReply(intent)), 500);
return;
}
try{
const res = await fetch(apiUrl, {
method: “POST”,
headers: { “Content-Type”: “application/json” },
body: JSON.stringify({
systemPrompt:
“You are CarReg Chat Assistant. Priorities: help buy/sell/value; capture leads politely; de‑risk (no legal/tax advice; no card/bank details). Facts: DVLA RNPS 27154; est. 1988; BS AU 145e; money‑back guarantee; UK offices; CarReg ≠ DVLA.”,
messages: [], // you can pass a history if you like
intent
})
});
const data = await res.json();
add(“bot”, (data && data.reply && data.reply.content) ? data.reply.content : “Thanks! One of our experts will follow up shortly.”);
} catch(e){
add(“bot”, mockReply(intent));
}
}
document.querySelectorAll(”.chip”).forEach(c => c.addEventListener(“click”, ()=>send(”[” + c.dataset.q + “]”)));
sendBtn.addEventListener(“click”, () => { const v=input.value.trim(); if(!v) return; input.value=”“; send(v); });
input.addEventListener(“keydown”, e => { if(e.key===“Enter” && !e.shiftKey){ e.preventDefault(); const v=input.value.trim(); if(!v) return; input.value=”“; send(v); } });
‘>
Enable JavaScript to use CarReg AI