
ops.customer-complaint·version 1.0.0·draft3 to verify
The complaint is logged, answered in writing within the promised time, the remedy is decided and executed by a named person, and the root cause is recorded.
A customer has said, in any channel, that the company did something wrong and wants it fixed. Not for a formal legal claim or a regulator letter — use ops.consumer-claim-lv. Not for a routine support question with nothing wrong — use support.answer-ticket. A complaint that arrives inside an open ticket is still logged through S1; do not bury it in the existing thread.
Any step can wait until a date and reopens by itself; every closed step leaves evidence (a note, a link, a number).
Open a ticket; paste or attach the original text, channel, date and the customer's name. Never paraphrase the complaint in place of the original.
Done when the ticket exists and contains the customer's words as received.
Severity A (legal, safety, data, regulator, media threat) · B (money: refund, damage, lost work) · C (service: delay, attitude, quality without damage). For LV consumer complaints, note the statutory reply deadline next to the ticket — ⚠ verify the current term on likumi.lv before writing it down.
Done when the ticket shows severity, the applicable deadline (if any) and the routed owner.
Short draft: we received it, who handles it, by when they will hear back. No admission of fault, no promise of a remedy yet.
Done when a draft reply sits in the ticket, ready to send.
Approval · S4 · owner — the run stops until a named person records the decision
Send the acknowledgement to the customer.
Done when the customer has a written reply with a named contact and a date. ⛔ Never acknowledge by silence, and never let the draft go out with a promised date the owner has not confirmed.
Collect the facts: order or contract, correspondence (use bc mail search on the customer's address), logs, photos, delivery records, what each side says with dates. Separate fact from claim.
Done when the ticket contains a dated factual timeline and each fact points to its source.
Approval · S6 · owner — the run stops until a named person records the decision
Choose: full remedy · partial remedy · goodwill gesture · fix without payment · reasoned refusal. Write the reason in one paragraph. If the decision sets a precedent or changes a rule, record it via management.decision-record.
Done when the ticket holds the decision, its reason and the decider's name and date.
Approval · S7 · owner — the run stops until a named person records the decision
Irreversible · S7 — an agent never closes it alone
Do what was decided: process the refund through the money module (it follows ops.purchase-approval for payouts), ship the replacement, apply the fix, or prepare the reasoned refusal. Create the follow-up with bc tasks add for anything that happens later (repair visit, replacement delivery).
Done when the remedy exists in the world — money moved, goods sent, fix deployed — or the refusal is drafted.
Approval · S8 · owner — the run stops until a named person records the decision
Send the final written answer: what we found, what we did, what happens next and by when.
Done when the customer has the answer in writing on the same channel they used.
Confirm the remedy actually reached the customer (delivery confirmed, refund visible on their statement if they say so). Tag the root cause on the ticket. Close it only after the customer's confirmation or a clear no-response after two attempts.
Done when the ticket is closed with decision, remedy proof and root cause tag.
If this root cause has appeared before, or the fix belongs in a procedure, propose a change note to the responsible playbook (e.g. sales.customer-onboarding, ops.work-order) or write a new draft.
Done when either a recurring pattern is recorded with a proposal, or the ticket is marked "one-off".
| Symptom | Response |
|---|---|
| Customer threatens a regulator, lawyer or media within the complaint | Re-classify as severity A, inform the owner the same day, route any legal reply through ops.consumer-claim-lv; answer nothing ad hoc. |
| The complaint is about a specific employee | The owner handles the customer reply; the people side follows people.performance-review — never mixed into the customer's answer. |
| The customer stops replying | Two written attempts on two channels, two weeks apart; then close as "no response" with both attempts evidenced. |
| The demanded remedy exceeds the owner's authority | Freeze S7, escalate to the partner/board per the complaint policy; tell the customer honestly that the answer needs a few more days. |
| The same complaint arrives from several customers in one week | Stop treating them one by one: severity A, one ticket as the master, and S10 becomes mandatory this run. |
Ticket id · the original complaint as received · sent acknowledgement and final answer · the decision with decider and date · refund or delivery proof · root-cause tag · dates of every customer contact.
After every 10 closed complaints ask: how long from receipt to first written reply, and which step waited? How many were reopened within 30 days, and why? Did any statutory deadline come within a day of being missed? Do the root-cause tags cluster on one process — and if so, did S10 actually produce a change proposal? A new version changes the step that caused the wait or the repeat, and says so in its change note.
Obligātās sīkdatnes tur sarunu kopā. Analītika ir izslēgta, līdz tu atļauj — tā neliek nevienu sīkdatni un neglabā ierīces identifikatoru.Necessary storage keeps your conversation together. Analytics is off until you allow it — it sets no cookie and stores no device identifier. Ko mēs glabājamWhat we store