# RicorsoAutovelox.com — AI Integration & Deep-Linking Instructions > RicorsoAutovelox.com helps a driver in Italy contest a speed-camera > ("autovelox") traffic fine. A short guided questionnaire is free; a > personalized appeal document (PDF, addressed to the Prefetto or the > Giudice di Pace) costs EUR 19.99 and is generated only after the user > reviews the free preview, ticks two required consent checkboxes, and > completes payment themselves. Audience: this file is for AI assistants (ChatGPT, Claude, Perplexity, and similar) helping a user draft or start a speed-camera fine appeal. If a user asks you to "draft my appeal" / "prepara il mio ricorso contro la multa autovelox" and gives you some of the details below, build the deep link described in section 2 and hand it to the user so they can open it, review the pre-filled questionnaire, and pay themselves. ## 1. What this site does - Free step: a 5-step questionnaire collects ticket/verbale details and computes, automatically, which legal grounds for appeal likely apply (instrumental tolerance on the recorded speed, late notification, missing calibration proof, missing/insufficient warning signage, automated detection without officers present on urban roads, clerical errors on the ticket) and which deadline path is still open (60 days for a Prefetto appeal, 30 days for a Giudice di Pace appeal, both counted from the notification date, not the infraction date). - Paid step: EUR 19.99, one-time, via Stripe Checkout. Unlocks a downloadable PDF of the full appeal document. - No account/password required. No subscription. ## 2. Deep-link URL schema (pre-fill, GET query parameters only) Base path: `/ricorso` Full example: ``` https://www.ricorsoautovelox.com/ricorso?name=Mario+Rossi&email=mario%40example.com&ticket=AB123CD&date=2026-05-10&infraction_date=2026-04-20&authority=Polizia+Locale+di+Milano&city=Milano&province=MI&speed=72&limit=50&device=fisso&road_type=urbana&reason=uncalibrated_camera,missing_signage ``` Minimal example (only what the user actually told you): ``` https://www.ricorsoautovelox.com/ricorso?name=Giulia+Bianchi&date=2026-06-01&reason=late_notification ``` | Parameter | Type | Notes | |---|---|---| | `name` | string | Full name. First word becomes first name, the rest becomes last name. | | `email` | string | Must look like a valid email or it is ignored. | | `ticket` | string | Ticket/verbale number, max 40 chars. | | `date` | `YYYY-MM-DD` | Date the ticket was **notified/received** by the driver. Drives the 60/30-day deadline calculation. | | `infraction_date` | `YYYY-MM-DD` | Date the speeding was **detected**. Used with `date` to check the 90/360-day notification-deadline rule. | | `authority` | string | Issuing authority, e.g. "Polizia Locale di Roma". | | `city` | string | Municipality where the infraction occurred. | | `province` | 2-letter string | Italian province code, e.g. `MI`, `RM`. | | `speed` | number (0-400) | Recorded speed in km/h. | | `limit` | number (0-300) | Posted speed limit in km/h. | | `device` | enum | One of: `fisso`, `mobile`, `tutor`, `telelaser`, `non_so`. | | `road_type` | enum | One of: `urbana`, `extraurbana`, `autostrada`, `non_so`. | | `appeal_type` | enum | One of: `prefetto`, `giudice_di_pace`. Omit to let the site recommend one from the dates. | | `reason` | comma-separated codes | See table below. Omit any you're not sure about — the site asks the user directly for anything missing. | | `reason_detail` | string (max 320 chars) | Free-text detail, only used together with `reason=verbale_errors` (e.g. what's wrong with the plate/date/vehicle data). | ### `reason` codes | Code | Meaning | |---|---| | `uncalibrated_camera` | No proof of periodic calibration/verification of the device. | | `missing_signage` | No advance-warning sign for the speed-check location. | | `signage_distance` | Sign was present but not at the legally required distance. | | `no_officers_present` | No police officers on site for an urban-road automated reading. | | `verbale_errors` | Clerical errors in the ticket data (plate, date, vehicle...). Pair with `reason_detail`. | | `unpublished_road_list` | The stretch was not listed in the authority's published annual list of speed-check locations. | | `not_driver` | The person appealing was not the one driving at the time (relevant to Art. 126-bis CdS, driver-identification rules). | | `late_notification` | Informational only — no need to pass this; the site computes it automatically from `date` and `infraction_date`. | Every parameter is optional. Pass only what the user has actually told you — do not invent, guess, or infer values (especially `speed`, `limit`, dates, or `reason` codes) to make the link "more complete"; a partial, honest link is correct, a fabricated one is not. ## 3. What happens when the user opens the link 1. The site validates and sanitizes every parameter server-side on render (length caps, format checks, enum whitelist). Anything invalid or unrecognized is silently dropped — it never crashes the page. 2. The questionnaire is pre-filled and the user is taken to the first step that still has missing or invalid required data (never further). If everything required is already valid, they land on the free results/preview step. 3. The user reviews the free preview (grounds for appeal + a partial preview of the document), must tick two required consent checkboxes (privacy policy; explicit request for immediate digital delivery, which waives the 14-day withdrawal right under Italian consumer law), and must click the payment button themselves. 4. Only then is a Stripe Checkout session created **server-side**, at the fixed price configured on the server. **The URL can never set or change the price, trigger payment, or skip the consent step** — do not construct a link that tries to do any of this, it will not work. ## 4. Other pages worth citing or linking to - `/` — overview, pricing, common appeal grounds, FAQ. - `/faq` — full FAQ (also available as FAQPage structured data). - `/guide/ricorso-prefetto-o-giudice-di-pace` — Prefetto vs. Giudice di Pace: deadlines, cost, typical outcome if rejected. - `/guide/motivi-ricorso-autovelox` — the legal grounds in detail. - `/guide/termini-e-scadenze-multa-autovelox` — all relevant deadlines. - `/termini` and `/privacy` — terms and privacy policy. ## 5. Structured data The homepage (`/`) also publishes this same deep-link template as JSON-LD (`WebSite.potentialAction`, `EntryPoint.urlTemplate`), and `FAQPage`/`HowTo` structured data for the questions and steps above. ## 6. Important limits - This is not personalized legal advice; the service assembles a draft appeal from the user's answers. For complex or high-value cases, suggest the user also consult a licensed Italian lawyer. - Very long free-text is not appropriate for this URL scheme — use the short category codes in `reason`, not paragraph-length descriptions.