Product Documentation · v1.0

AR Field Engineer

A field-service toolkit for maintenance engineers. Scan an equipment QR code, view its Three.js schematic overlaid in AR on supported devices, and get AI fault diagnosis from the symptom, error codes and a manual excerpt — complete with severity, likely causes, recommended checks and step-by-step repair guidance. Search spare parts, get AI part suggestions for a fault, auto-generate a PDF job sheet, and video-call a remote expert for live assistance. Every engineer in a company works from the same catalogue of equipment, manuals, jobs and parts.

Archana Info Solutions Pvt Ltd Prefix AFE_ ₹3,000 / engineer / month Scan-to-diagnose workflow
01 · Overview

Scan the machine, diagnose the fault, fix it faster

AR Field Engineer is a maintenance-and-repair toolkit for field-service teams. An engineer signs in, scans the QR code fixed to a piece of equipment, and the app pulls up that machine and renders its schematic in 3D — overlaid in AR on supported devices, or in a universal orbit-controlled view everywhere else. The engineer enters the symptom and any error codes; the AI reads those alongside a manual excerpt and returns a structured fault diagnosis: a plain-language summary, a severity level, likely causes, recommended checks and a step-by-step repair plan. From there the engineer can search the spare-part catalogue (with AI part suggestions for the fault), turn the diagnosis into a job with tickable repair steps, generate and download a PDF job sheet, and — when a second opinion is needed — open a one-to-one video call with a remote expert. The tenant is the company: every engineer shares that company's equipment, manuals, jobs and parts, and each record is scoped to the company.

Scan an equipment QR → AR/3D schematic overlay AI fault diagnosis from symptom, error codes and manual excerpt Guided repair, parts, PDF job sheet and live expert video
8
App pages
4
AI helper methods
3D
Schematic overlay
₹3,000
per engineer / month

Scan the equipment

Each machine carries a QR code; scanning it resolves the equipment and opens its schematic and history in seconds.

AR schematic overlay

The machine's 3D schematic renders in AR on supported devices, with an orbit-controlled 3D fallback everywhere.

AI fault diagnosis

Symptom + error codes + a manual excerpt become a severity, likely causes, recommended checks and repair steps.

Guided repair

The diagnosis becomes a job with tickable steps, and per-step "more guidance" for a stubborn task.

Parts & PDF job sheet

Search the parts catalogue, get AI part suggestions for the fault, and download a clean PDF job sheet.

Live expert connect

Open a one-to-one WebRTC video call with a remote expert when a fault needs a second pair of eyes.

The tenant in this product is the company. Authentication is handled by the shared AIS kit — engineers are the kit users — and every equipment, manual, job, step, part, report, expert session and subscription row is scoped to CompanyID (the kit OrgId), all under the prefix AFE_.
02 · Who it's for

Built for teams that fix machines in the field

Field-service companies

HVAC, refrigeration, industrial and facility-maintenance firms whose engineers travel to sites to diagnose and repair equipment.

In-house maintenance teams

Plants and facilities that keep their own machines running and want faster, more consistent fault diagnosis.

OEM after-sales support

Manufacturers supporting installed equipment who want scannable machine records and remote expert assistance.

Junior & travelling engineers

Engineers who benefit from a guided, step-by-step diagnosis and the option to call a senior expert on video.

It suits any team that wants to standardise how faults are diagnosed and repairs are recorded. AR Field Engineer is a decision-support and documentation aid: the AI reasons over the symptom, error codes and manual text the engineer provides — it does not replace a qualified engineer's judgement, and every recommended repair should be carried out following the equipment's own safety procedures.

03 · Business model

Per-engineer monthly subscription

AR Field Engineer is billed as a flat monthly subscription per engineer — one price per engineer covers AR maintenance, AI fault diagnosis, guided repair, parts search, PDF job sheets and expert video connect. Payment is via Razorpay from the Subscription area, and a successful charge keeps the company plan active for one month from the payment date.

₹3,000
per engineer / month
Monthly
billing cycle
TRIAL
default tier on sign-up
One flat fee per engineer — scan equipment, diagnose faults, follow guided repairs, search parts, generate PDF job sheets and connect experts. No per-scan or per-diagnosis charges.
04 · Every page

The page map

PageWhoPurpose
AFE_EngineerDashboard.aspxAll signed-inThe post-login home: the company name and plan tier, stat cards (equipment, open jobs, completed jobs, engineers, parts, jobs this week), big CTAs to scan equipment, diagnose a fault or start a job report, and a recent-jobs list.
AFE_EquipmentList.aspxAll signed-inManage the equipment catalogue (name, model, serial, location, status, schematic model path). Each item shows its printable QR code and its manuals (title + content excerpt used as AI context), with a "Scan / Open AR" link straight to the AR maintenance view.
AFE_ARMaintenance.aspxAll signed-in heroThe scan-to-schematic hero: a camera QR scanner (BarcodeDetector, with a jsQR fallback) resolves an equipment token, then renders its Three.js schematic with orbit controls and an optional WebXR AR overlay. From here the engineer can diagnose the fault or call an expert.
AFE_FaultDiagnosis.aspxAll signed-in heroPick an equipment, enter the symptom and error codes, and get an AI diagnosis — severity, likely causes, recommended checks and repair steps — grounded in a manual excerpt. Turn the diagnosis into a job and ask for per-step guidance.
AFE_PartSearch.aspxAll signed-inSearch and manage the spare-part catalogue (part number, name, description, stock, unit price, supplier), plus an "AI: suggest parts for a fault" panel that proposes likely parts with reasons and a quick add-to-inventory action.
AFE_JobReport.aspxAll signed-inOpen a job, review its equipment, symptom, diagnosis and steps, record parts used, time spent and notes, then generate a job sheet with AI, save the repair report, and download a PDF via the job-sheet handler.
AFE_ExpertConnect.aspxAll signed-inA one-to-one WebRTC video call for remote expert assistance, using AJAX-polled signalling stored in the database and a public STUN server; the engineer starts a session and shares a join link with the expert.
AFE_Subscription.aspxSettings capabilityCurrent plan, expiry and days remaining, and a Razorpay checkout to subscribe or renew the company plan.
AFE_Master.masterLayoutThe shared master page — sidebar navigation, topbar and mobile hamburger menu — every AFE_ page renders inside it.
05 · End-to-end flow

From a QR scan to a signed-off job sheet

1

Scan the QR

On AFE_ARMaintenance.aspx the engineer scans the equipment QR; ResolveQr looks it up and tenant-checks the company.

2

See the schematic

The machine's Three.js schematic renders with orbit controls, and an AR overlay on supported devices.

3

Diagnose the fault

DiagnoseFault reads the symptom, error codes and a manual excerpt and returns severity, causes, checks and steps.

4

Create the job

The diagnosis becomes a job with tickable repair steps; RepairGuidance expands any stubborn step.

5

Find the parts

Search the catalogue or ask SuggestParts for likely parts for the fault, then add them to the job.

6

Generate the job sheet

GenerateJobSheet builds the sheet; a PDF is produced by AFE_JobSheetPdf.ashx.

7

Call an expert

When needed, AFE_ExpertConnect.aspx opens a WebRTC video call with a remote expert.

Every AI call is defensive: if a diagnosis, guidance, job sheet or part suggestion fails or returns malformed output, the page shows a clear message rather than a raw error, and nothing is saved half-complete. Raw JSON arrays returned by the AI (likely causes, checks, steps, suggested parts) are parsed defensively.
06 · The AI helpers

Four focused AI passes, all routed through AFE_ClaudeHelper

All AI calls are routed through AFE_ClaudeHelper and never throw — on any error or malformed reply, the calling page shows a clear message instead of a raw exception. The provider is configurable (Groq by default, or the Claude API), and every prompt returns strict JSON so the pages can render structured, defensively-parsed results.

DiagnoseFault — a structured fault diagnosis

You are an experienced field-service maintenance engineer. Diagnose the
fault on this equipment using the symptom, error codes and the manual
excerpt provided. Equipment: "{{equipment_name}}" ({{model}}).
Symptom: {{symptom}}
Error codes: {{error_codes}}
Manual excerpt: {{manual_excerpt}}
Return STRICT JSON only:
{ "diagnosis": "plain-language summary of the likely fault",
  "severity": "low | medium | high | critical",
  "likelyCauses": ["most likely cause","another"],
  "recommendedChecks": ["a check to confirm the cause","another"],
  "repairSteps": [ { "title":"short step title",
    "instruction":"what to do" } ] }
Base it only on the information given; if unsure, say so and recommend a
check. Follow the equipment's own safety procedures. No emojis, no hype.

RepairGuidance — expand a single repair step

Give clear, safe, step-by-step guidance for this repair task on
"{{equipment_name}}". Overall fault: {{fault_summary}}.
Current step: "{{current_step_title}}".
Return STRICT JSON: { "steps": ["a short, concrete instruction",
  "another"], "safety": ["a relevant safety precaution"],
  "tools": ["a tool or part likely needed"] }
Keep it practical and specific to the task. Remind the engineer to follow
the equipment's lockout/safety procedure. No emojis, no hype.

SuggestParts — likely spare parts for a fault

Suggest the spare parts most likely needed to repair this fault on
"{{equipment_name}}". Fault: {{fault_summary}}.
Return STRICT JSON: { "parts": [ { "partName":"",
  "likelyPartNumber":"a plausible/generic reference or empty",
  "reason":"why this part is likely involved" } ] }
Only suggest parts genuinely relevant to the described fault. Do not
invent exact manufacturer part numbers you cannot know. No emojis.

GenerateJobSheet — a clean job-sheet summary

Write a concise field-service job sheet summary for this completed or
in-progress repair. Equipment: "{{equipment_name}}".
Symptom: {{symptom}}. Diagnosis: {{diagnosis}}.
Repair steps (JSON): {{steps_json}}.
Parts used (JSON): {{parts_used_json}}.
Return STRICT JSON: { "summary":"a short professional summary of the
  work", "workPerformed":["what was done"], "recommendations":["any
  follow-up or preventive advice"] }
Keep it factual, drawn only from the details provided. No emojis, no hype.
Diagnoses are saved to the job via AFE_usp_SetJobDiagnosis, repair steps via AFE_usp_SaveJobStep, and the generated job sheet via AFE_usp_SaveRepairReport — so a job can be reopened, re-diagnosed and re-exported as a PDF later.
07 · The AR overlay — please read this section

A universal 3D schematic, with a WebXR AR overlay where the device supports it

The equipment schematic always works as an orbit-controlled 3D model in the browser. The optional "Overlay on equipment" AR mode uses the WebXR Device API's immersive-ar session with hit-test placement, which is only available on AR-capable Android/Chrome browsers. When WebXR immersive-ar is not available — notably on iOS Safari and most desktop browsers — the page shows an honest note and keeps the fully-working 3D orbit view as the universal fallback. Crucially, the AR overlay is a visualisation aid to help the engineer relate the schematic to the real machine — it is not a certified, precisely-registered digital-twin overlay, and it must not be relied on for exact measurement or safety-critical alignment.

  • The schematic is rendered with Three.js (ESM importmap, three@0.160.0 from a CDN) using GLTFLoader / STLLoader to load the equipment's SchematicModelPath; if no model is set, a labelled representative machine mesh is shown with a note to upload a schematic.
  • Everyone gets OrbitControls — drag to rotate, scroll to zoom — so the 3D view opens on essentially any modern browser straight from a QR scan.
  • The "Overlay on equipment" button appears only after navigator.xr && await navigator.xr.isSessionSupported('immersive-ar') returns true; it uses the AR button and a hit-test to place the schematic in real space as a guide.

Marketing and in-app copy describe this accurately — "scan the QR to see the schematic in 3D, and overlay it on the machine in AR on supported devices" — never implying the AR overlay is a certified precise registration or that it works on every device.

Three.js schematic

The machine's GLB/STL schematic renders with a gentle idle rotation, orbit controls and a labelled fallback mesh.

QR-driven

Scanning the equipment QR resolves the machine server-side and tenant-checks the company before loading anything.

WebXR where supported

On AR-capable Android/Chrome, hit-test placement overlays the schematic on the real equipment as a visual guide.

Aid, not certification

The overlay assists orientation; it is not precise registration and is not for measurement or safety-critical alignment.

08 · Expert video connect — please read this section

A one-to-one WebRTC call over AJAX-polled signalling and a public STUN server

The expert video call is a genuine peer-to-peer WebRTC call, but it uses a public STUN server for connectivity, not a TURN relay. On strict or symmetric NATs — some corporate, mobile or carrier-grade networks — a direct peer connection may not be established, and the call may not connect. This is a documented limitation; adding a TURN server is a planned future enhancement to cover those networks.

  • Signalling is handled without SignalR: the offer, answer and ICE candidates are exchanged through the database and short AJAX polls (AFE_usp_SetExpertOffer / AFE_usp_SetExpertAnswer / AFE_usp_AddSignal / AFE_usp_GetSignals), because this host does not run a persistent socket server.
  • The engineer starts a session (AFE_usp_CreateExpertSession), which returns a token and a shareable join URL; both parties open the page, grant camera/mic, and the media flows directly peer-to-peer.
  • The single ICE server configured is the public stun:stun.l.google.com:19302; there is intentionally no TURN relay yet.

If a call cannot connect on a restrictive network, the honest fallback today is to retry on a less-restricted connection, or to capture a short clip and photos and attach them to the job. A TURN relay is on the roadmap to make the call work reliably everywhere.

09 · Architecture & stack

The stack

Backend

ASP.NET Web Forms, VB.NET, .NET Framework 4.7.2. AJAX via page <WebMethod> PageMethods returning JSON. No full-page postbacks for data operations.

Database

SQL Server (shared db_9b0fff_aiscompany). Parameterised CDATA SQL and stored procedures via AFE_DBHelper, soft delete (IsDeleted), audit columns. Prefix-scoped to AFE_.

Frontend

Tailwind CDN, blueprint-navy/safety-orange glassmorphism, Font Awesome 6.5.1, Three.js (ESM importmap) with GLTFLoader/STLLoader, OrbitControls and the WebXR AR button for the schematic overlay, the browser BarcodeDetector API (jsQR fallback) for QR scanning, qrcodejs for printable QR labels, and WebRTC for the expert call. Master page AFE_Master.master.

Integrations

Groq/Claude AI routing (fault diagnosis, repair guidance, part suggestions, job-sheet generation), iTextSharp for the server-side PDF job sheet, Razorpay (subscription checkout + webhook), WhatsApp (1msg.io) job notices, Telegram build/activity alerts.

Shared helpers referenced across the pages: AFE_DBHelper (GetTable / GetTableSP / GetTableSPSet / Execute / ExecuteSP / Scalar / P), AFE_ClaudeHelper (DiagnoseFault, RepairGuidance, SuggestParts, GenerateJobSheet), AFE_WhatsApp, and the shared AIS RBAC/auth kit for sign-in, since there is no separate AFE_Auth table — the engineer's identity comes from the shared kit and the company is the OrgId.

10 · Data model

A company-scoped data model

Tables

AFE_Companies

The tenant company — name, industry, city, contacts, subscription tier and expiry. CompanyID is the kit OrgId.

AFE_Engineers

The company's engineers — name, specialty and phone, linked to the shared kit user via KitUserId.

AFE_Equipment

Machines — name, model, serial, location, status, schematic model path and a unique QrToken for scanning.

AFE_Manuals

Per-equipment manuals — title, optional file path and a content excerpt used as AI diagnosis context.

AFE_MaintenanceJobs

Jobs — equipment, engineer, symptom, error codes, priority, status and the stored AI diagnosis JSON.

AFE_JobSteps

The ordered repair checklist for a job — step number, title, instruction and a done flag.

AFE_Parts

The spare-part catalogue — part number, name, description, stock quantity, unit price and supplier.

AFE_RepairReports

Generated job sheets — report text, parts-used JSON, time spent and the job-sheet JSON for the PDF.

AFE_ExpertSessions

WebRTC sessions — token, status, offer/answer SDP and the creating user, for the expert call.

AFE_SignalMessages

The signalling exchange — sender, kind (ice/offer/answer) and payload, polled during a call.

AFE_Subscriptions

Razorpay subscription/order rows — plan, amount, dates, status and webhook payload.

AFE_error_log / AFE_activity_log

Page/method error log and the activity trail — tenant CompanyID and acting kit-user id kept distinct.

Key stored procedures

AFE_usp_GetCompanyResolve the tenant company row with its subscription tier and expiry.
AFE_usp_GetDashboardHeadline counts for the dashboard (equipment, jobs, engineers, parts, jobs this week).
AFE_usp_GetEquipment / GetEquipmentItem / SaveEquipment / DeleteEquipmentList, read, upsert or soft-delete equipment for the company.
AFE_usp_GetEquipmentByQrScan lookup: resolve an equipment by its QR token (returns CompanyID for the tenant check).
AFE_usp_GetManuals / SaveManual / GetManualExcerptManage an equipment's manuals; fetch the top content excerpt as AI context.
AFE_usp_GetJobs / GetJob / SaveJob / UpdateJobStatus / SetJobDiagnosisList, read, upsert jobs; change status; store the AI diagnosis JSON.
AFE_usp_GetJobSteps / SaveJobStep / ToggleJobStepManage the ordered repair steps and their done flags.
AFE_usp_GetParts / SavePart / DeletePartSearch, upsert or soft-delete spare parts.
AFE_usp_SaveRepairReport / GetRepairReportSave the generated job sheet and read the latest report for a job.
AFE_usp_CreateExpertSession / GetExpertSession / SetExpertOffer / SetExpertAnswer / AddSignal / GetSignals / EndExpertSessionThe full WebRTC signalling lifecycle for the expert call.
AFE_usp_SaveSubscriptionRecord a subscription/order row; extends the company's plan on a paid/active/charged webhook event.
11 · Setup & deploy

Deploy via sqlcmd

Apply the product schema directly to the shared SQL Server instance, then verify object counts. The script is idempotent and prefix-scoped — it never touches other products' objects.

sqlcmd -S sql5083.site4now.net -U db_user -P ****** -d db_9b0fff_aiscompany ^
       -i C:\asp.net\CompanyProjects\AIAis\ArProjects\ARFieldEngineer\AFE_Database.sql

-- verify
SELECT COUNT(*) FROM sys.tables     WHERE name LIKE 'AFE_%';     -- the product tables
SELECT COUNT(*) FROM sys.procedures WHERE name LIKE 'AFE_usp_%'; -- the proc layer

Serve the site over HTTPS at /ArProjects/ARFieldEngineer/ — required for getUserMedia QR scanning and the expert video call, and for WebXR. Set the Groq/Claude and Razorpay credentials in the shared config. Sign in, add a piece of equipment and print its QR, add a manual excerpt, scan the QR to load the schematic, enter a symptom and error codes to get a diagnosis, create a job and tick off steps, search parts and ask for AI part suggestions, generate the job sheet and download the PDF, and start an expert session to confirm the video call flow.

12 · Credentials

Demo & review accounts

Account
Username
Password
Demo engineer (admin)
admin@demo.afe
Demo@123
Demo engineer (manager)
manager@demo.afe
Demo@123
Module Super Admin
afe.super@archanainfo.com
Afe@2026
Engineers sign in through the shared AIS kit via the AFE_Default login. The demo company "Demo Industrial Services" is seeded with two engineers, three pieces of equipment (the first carrying the fixed QR token 55555555-5555-5555-5555-555555555555 so the scan demo is stable), a manual excerpt, two jobs, repair steps, several parts and a repair report. The reviewer/demo account is granted full, non-expiring access so every module unlocks without hitting a paywall or checkout — important for app-store and Play-review access checks.
13 · Privacy & safety

How equipment data, diagnoses and the video call are handled

Camera & microphone, plainly stated: the device camera is used only while the engineer is scanning a QR code, and the camera and microphone are used only during an active expert video call. Nothing is recorded or uploaded in the background; the QR scanner reads frames locally to decode the token, and the expert call streams peer-to-peer between the two participants.

Server-side gating

Every authenticated page and PageMethod re-checks sign-in and the calling company's own CompanyID — never trusting the client.

Company scoping

All equipment, manuals, jobs, steps, parts, reports and sessions are filtered by the signed-in company's CompanyID, so one company never sees another's data — including the QR-scan lookup, which tenant-checks the resolved equipment.

Defensive AI parsing

AI responses for diagnosis, guidance, parts and job sheets are parsed defensively; malformed output surfaces as a clear on-screen message rather than a raw error or a corrupted save.

Safety-first guidance

AI diagnosis and repair guidance are decision support only; every prompt reminds the engineer to follow the equipment's own lockout and safety procedures, and a qualified engineer makes the final call.

Payment verification

Razorpay orders are created server-side; webhook events are HMAC-verified before a subscription is marked paid.

Peer-to-peer media

The expert call's audio and video stream directly between the two participants; only small signalling messages pass through the server.

Equipment records, manuals, jobs, diagnoses and repair reports are stored against the company's own account to support reopening, auditing and PDF export; they are not used to train any model.
14 · Future ideas / roadmap — as on today, 2026-07-02

Where AR Field Engineer goes next

  • TURN relay for the expert call: adding a TURN server so the video call connects reliably even on strict or symmetric NATs, removing today's STUN-only limitation.
  • Anchored AR digital-twin overlay: marker- or image-anchored placement so the schematic aligns more precisely to the real machine, moving beyond a visualisation aid.
  • Offline field mode: cache equipment, manuals and schematics so an engineer can scan and diagnose in a basement or remote site with no signal, syncing when back online.
  • Preventive-maintenance scheduling: recurring service jobs and reminders per equipment, with WhatsApp notices to the assigned engineer.
  • Parts stock & reorder: low-stock alerts and supplier reorder links driven by parts consumed on completed jobs.
  • Photo & annotation capture: attach before/after photos and on-image annotations to a job sheet, and share a short clip when an expert call cannot connect.
  • Fault-history analytics: per-equipment fault trends and mean-time-to-repair dashboards to guide replacement and preventive-maintenance decisions.