Check whether a North Carolina (NC) traffic charge requires a court appearance
check_traffic_charge"Do I have to go to court for this ticket?" — answered from the citation itself.
For someone holding a paper North Carolina (NC) citation, BEFORE their case is searchable. Returns waiver eligibility per charge (waivable / mandatory / conditional) plus how to ask for a reduction or dismissal. FAST — no court-portal request, unlike the other tools.
THE OUTPUT IS OPTIONS WITH CONSEQUENCES, NOT A RECOMMENDATION. Waiving is a guilty plea to the charge as written (an admission of responsibility on an infraction); requesting a reduction asks the District Attorney to change the charge before any plea; the two are alternatives. Relay them as choices for the person to make, and never tell them which to pick.
TIMING IS PART OF THE ANSWER, NOT A DETAIL. Both routes have to be completed BEFORE
THE CASE IS CALLED, not merely on or before the court date — once the calendar reaches
it the clerk is working a courtroom docket, and nothing pauses the hearing. Read
citationOptions.state before saying anything about appearing:
"lastDay" the court date is TODAY. It can still be settled with the clerk, but only before the case is called, and there is NO time left to file online — do not offer Guide & File. If the clerk cannot be reached in time, the person should go to court. "noCourtDate" no upcoming hearing, OR today's has already been called. Do NOT assert a failure to appear — you cannot see the courtroom and they may have attended that morning. Say: if they already went, this does not apply; if they missed it, contact the Clerk of Superior Court, because a missed date can become an FTA. "mandatory" | "conditional" | "onlineWaivable" | "inPersonWaivable" as before.
NEVER REPORT "no appearance needed" ON "lastDay" OR "noCourtDate", however many of
the individual charges come back waivable. Missing a court date on a Chapter 20
case means an order for arrest and a G.S. 20-24.1 revocation that lasts until the
charge is actually disposed. howToRequest already carries the right wording for
every state — relaying it verbatim is the safe move.
IF THE USER HAS A CASE NUMBER, USE lookup_court_case INSTEAD. It runs these same
rules on the real charges and also gives the court date and the amount owed. This
tool is for when there is no case number yet.
THE STATUTE DRIVES THE ANSWER. Pass the G.S. number printed on the citation
(e.g. "20-141(J1)", "G.S. 20-127(D)"). Without a parseable statute a charge cannot
be classified — ask the user to read the "G.S." line off their citation rather than
guessing from the offense name. unclassified lists any charge that fell through.
PASS EVERY CHARGE ON THE CITATION, not just the one asked about. Eligibility is computed ACROSS the citation: one mandatory charge forces an appearance for all of them. Reporting on a single charge in isolation gives the wrong answer — a real Wake case has two waivable charges and one DWLR, and the correct answer is "you must appear".
viaCompanionCharge: true on a charge means exactly that: it would be waivable on
its own, but AOC mandatory-appearance item #39 makes every violation on a citation
mandatory once ANY violation on it is. Never tell someone they can pay such a charge
off separately or handle it by mail — the whole citation must be appeared on. Say
which charge is forcing it, since that is usually the one they want to ask the
District Attorney about.
SPEED CHANGES THE ANSWER. With no charged speed a speeding charge comes back
conditional, not waivable: over 80 mph, or more than 15 over while over 55, is
mandatory. Pass actual_speed/speed_limit if known — or just pass the offense line
verbatim ("SPEEDING 85 IN A 65"), which is parsed for the speed.
PASS offense VERBATIM FROM THE CITATION for every charge, not a paraphrase. A few
rules cannot be decided from the statute number alone and are read off the offense
text: texting is waivable UNLESS it was while operating a school bus, and a
registration or title violation is waivable UNLESS it involves stolen, altered or
fictitious plates or certificates. Both statutes are the same either way, so a
paraphrase that drops "school bus" or "fictitious" silently turns a mandatory
appearance into "waivable". If the user summarises rather than quotes, ask for the
exact wording on the citation before answering.
county (optional) decides the reduction path: participating counties get NC's
online Guide & File link, others get the in-person District Attorney route.
PASS court_date WHENEVER THE CITATION SHOWS ONE (YYYY-MM-DD), AND PASS THE REAL ONE.
Without it the answer assumes there is no upcoming hearing and comes back as "contact
the Clerk of Superior Court" instead of the resolution options — an open citation with
no court date often means a failure to appear has already happened. It also unlocks
reductionSubmitBy: NC's online reduction request must be filed SEVERAL BUSINESS DAYS
BEFORE the court date, so without the date that cutoff is silently missing rather than
reported.
The date is read against the Eastern-time clock, so it changes the answer in both directions: a date already past — INCLUDING EARLIER THE SAME DAY — returns "noCourtDate", and a date that is TODAY returns "lastDay". Guessing or rounding the date is therefore not a harmless approximation; it is how someone gets told a ticket is cleanly waivable on the morning of their hearing.
citationOptions.reduction is a PRE-SCREEN, never an eligibility verdict. Each gate
is pass / fail / unknown, and unknown means the court record cannot decide it —
report it as unknown, never as a disqualification. Four of the program's criteria
(age 18+, valid NC licence, non-CDL, NCDMV compliance on a companion charge) are not
in court data at all and come back in userMustConfirm for the person to check. The
10-19 mph band and the 80 mph ceiling are AOC / District Attorney PROGRAM CRITERIA,
not statute — never attach a G.S. citation to them. The District Attorney decides
whether to offer a reduction.
A null citationOptions means these are NOT waivable-citation charges — either not
NC Chapter-20 traffic, or a serious criminal charge (impaired driving, death by
vehicle, eluding) or a felony, where "it's just a ticket" framing is wrong. Say that
plainly; do not present it as "no appearance required".
General guidance for the charges given, NOT a lookup of any real case, and not legal
advice. amountDue is always null here — there is no case to read a balance from.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| county | No | ||
| charges | Yes | ||
| court_date | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||