Der Lotse-Beispielchat nannte „Wohnanlage Elbblick“ aus den Demo-Daten; die Mandantentrennungs-Prüfung für demo2 schlug deshalb an. Dazu Grammatik korrigiert. smoke-auth sucht den für den Monteur fremden Kunden jetzt über die Aufträge statt fest K-D004, weil Aufträge beim Ausprobieren der Plantafel umgeplant werden. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
420 lines
20 KiB
JSON
420 lines
20 KiB
JSON
{
|
||
"meta": {
|
||
"title": "Craftvia — field service app for trades and installation",
|
||
"description": "Jobs, scheduling, time tracking, reports and billing in one system. Mobile, offline-capable and tenant-safe — for trade and installation businesses."
|
||
},
|
||
"nav": {
|
||
"label": "Main navigation",
|
||
"features": "Features",
|
||
"planning": "Scheduling",
|
||
"mobile": "On site",
|
||
"security": "Security",
|
||
"pricing": "Free trial",
|
||
"faq": "FAQ",
|
||
"login": "Sign in",
|
||
"cta": "Start free trial",
|
||
"menu": "Menu"
|
||
},
|
||
"hero": {
|
||
"eyebrow": "For trade and installation businesses",
|
||
"title": "Craftwork. Digitally on course.",
|
||
"subtitle": "Craftvia brings jobs, scheduling, times, material and reports together — at the desk and on site. Even without a connection.",
|
||
"ctaPrimary": "Try it free for 14 days",
|
||
"ctaSecondary": "See the features",
|
||
"bullet1": "Set up in minutes, nothing to install",
|
||
"bullet2": "Works offline — entries are never lost",
|
||
"bullet3": "No payment details for the trial"
|
||
},
|
||
"pillars": {
|
||
"title": "What holds Craftvia together",
|
||
"one": {
|
||
"title": "One job, one truth",
|
||
"text": "Appointment, crew, times, material, photos and report belong to the same job — no notes, no double entry."
|
||
},
|
||
"two": {
|
||
"title": "Office and site in sync",
|
||
"text": "The office plans, the technician works. Both see the same state, without a phone call."
|
||
},
|
||
"three": {
|
||
"title": "Finished, not reworked",
|
||
"text": "Mandatory fields, photos and the signature are checked on site — the job is done when the technician drives off."
|
||
}
|
||
},
|
||
"features": {
|
||
"title": "Everything a job needs",
|
||
"sub": "Modules that work together. Enable what you need.",
|
||
"orders": {
|
||
"title": "Jobs",
|
||
"text": "From the call to sign-off: create, schedule, assign, see the status. Custom job types with checklists and required photos."
|
||
},
|
||
"board": {
|
||
"title": "Scheduling board",
|
||
"text": "Drag jobs onto a crew and a day. Utilisation, overbooking and overlaps are visible at once."
|
||
},
|
||
"live": {
|
||
"title": "Live situation",
|
||
"text": "Who is en route, working or on a break — at the site of the running job. No GPS tracking of people."
|
||
},
|
||
"time": {
|
||
"title": "Time tracking",
|
||
"text": "Start, pause, stop with one tap. Travel and work time separated; later corrections need a reason and approval."
|
||
},
|
||
"offline": {
|
||
"title": "Mobile and offline",
|
||
"text": "In a basement or a dead spot: entries are stored on the device and sent automatically."
|
||
},
|
||
"reports": {
|
||
"title": "Report and signature",
|
||
"text": "Fill in the service report on the device, the customer signs on screen, the PDF goes out."
|
||
},
|
||
"material": {
|
||
"title": "Material",
|
||
"text": "Record planned and actually used material, deviations with a reason — clean for costing."
|
||
},
|
||
"billing": {
|
||
"title": "Billing overview",
|
||
"text": "Completed jobs and reached milestones collect in one place: times, material and trips as the basis for the invoice."
|
||
},
|
||
"emergency": {
|
||
"title": "Call-outs",
|
||
"text": "Create an emergency job in minutes, add the details later, review in the office."
|
||
},
|
||
"lotse": {
|
||
"title": "Lotse — the assistant",
|
||
"text": "Technicians write or speak like in a chat. Lotse maps it to the job and asks what is missing. Nothing is booked before they confirm."
|
||
},
|
||
"documents": {
|
||
"title": "Documents",
|
||
"text": "Plans, photos and datasheets on the job and the site — available on the road."
|
||
},
|
||
"imports": {
|
||
"title": "Job import",
|
||
"text": "Read jobs from PDF: data is proposed and checked before it is accepted."
|
||
}
|
||
},
|
||
"planning": {
|
||
"eyebrow": "Scheduling",
|
||
"title": "See the week before it goes wrong",
|
||
"text": "The board shows every crew with its daily capacity. If a day gets too full or two appointments overlap, it is written on the card — not in the customer's phone call.",
|
||
"point1": "Utilisation per crew and day in percent",
|
||
"point2": "Warnings for overbooking, overlap and incomplete crews",
|
||
"point3": "A hint when a job runs longer than planned — and the next one is at risk",
|
||
"point4": "Suggestions for nearby jobs when a crew finishes early"
|
||
},
|
||
"mobile": {
|
||
"eyebrow": "On site",
|
||
"title": "Four taps and the job is documented",
|
||
"text": "The mobile view is built for gloves and bright light: large targets, clear steps, no hunting through menus.",
|
||
"step1": {
|
||
"title": "Start the drive",
|
||
"text": "Travel time runs automatically."
|
||
},
|
||
"step2": {
|
||
"title": "Work on site",
|
||
"text": "Tick the checklist, take photos, record material."
|
||
},
|
||
"step3": {
|
||
"title": "Fill in the report",
|
||
"text": "Dictate or type; mandatory fields are checked."
|
||
},
|
||
"step4": {
|
||
"title": "Collect the signature",
|
||
"text": "The customer signs on screen, the PDF goes out."
|
||
},
|
||
"offlineNote": "No connection? Everything keeps working and is transferred later."
|
||
},
|
||
"lotse": {
|
||
"eyebrow": "Lotse",
|
||
"title": "Say what happened — instead of hunting for fields",
|
||
"text": "Lotse understands whole sentences, maps them to the job and asks for what is missing. It shows a card with what it would book. Nothing is written before you confirm.",
|
||
"chatUser": "Job done, installed the tank, two hours, used one filter",
|
||
"chatAssistant": "I'm mapping this to job A-00042, Lindenhof apartments. Two questions: was travel included, and should I mark the job technically complete?",
|
||
"cardTitle": "Proposal",
|
||
"cardLine1": "Book 2:00 h of work time",
|
||
"cardLine2": "Record 1 × filter as material",
|
||
"cardLine3": "Mark the job technically complete",
|
||
"cardConfirm": "Confirm",
|
||
"cardDiscard": "Discard",
|
||
"note": "Permissions, mandatory fields and approvals still apply — the assistant bypasses nothing."
|
||
},
|
||
"steps": {
|
||
"title": "Ready in three steps",
|
||
"one": {
|
||
"title": "Create the account",
|
||
"text": "Enter your company, pick the trial period, confirm your e-mail. With sample data if you like."
|
||
},
|
||
"two": {
|
||
"title": "Add crew and customers",
|
||
"text": "Invite technicians, form crews, add or import customers and sites."
|
||
},
|
||
"three": {
|
||
"title": "Run the first job",
|
||
"text": "Schedule it, the technician handles it on the phone, the report comes back to the office."
|
||
}
|
||
},
|
||
"industries": {
|
||
"title": "For businesses that drive out",
|
||
"sub": "Built for installation and service — whatever the trade.",
|
||
"shk": "Plumbing, heating, air conditioning",
|
||
"electric": "Electrical engineering",
|
||
"cooling": "Refrigeration and ventilation",
|
||
"lifts": "Lifts, gates, drives",
|
||
"windows": "Windows, doors, façades",
|
||
"service": "Industrial and plant service"
|
||
},
|
||
"security": {
|
||
"eyebrow": "Security and privacy",
|
||
"title": "Your data stays yours",
|
||
"text": "Craftvia is built multi-tenant: every business sees only its own data — enforced down in the database, not just in the interface.",
|
||
"item1": {
|
||
"title": "Strict tenant separation",
|
||
"text": "Access rules in the database itself keep data inside the business."
|
||
},
|
||
"item2": {
|
||
"title": "Roles and permissions",
|
||
"text": "Admin, office, crew lead and technician see exactly what they need. Checked on the server."
|
||
},
|
||
"item3": {
|
||
"title": "Two-factor and passkeys",
|
||
"text": "Sign in with a second factor or a passkey, enforceable for the whole business."
|
||
},
|
||
"item4": {
|
||
"title": "Complete audit trail",
|
||
"text": "Every write is recorded — who, when, what."
|
||
},
|
||
"item5": {
|
||
"title": "Export any time",
|
||
"text": "Download your data as a file — including at the end of the trial."
|
||
},
|
||
"item6": {
|
||
"title": "Data minimalism",
|
||
"text": "Location means the site of the running job, never tracking of a person."
|
||
}
|
||
},
|
||
"trial": {
|
||
"eyebrow": "Free trial",
|
||
"title": "Try it for 14 days, decide in peace",
|
||
"text": "You set the trial period yourself and start empty or with sample data. After it ends your data stays readable and exportable — nothing disappears overnight.",
|
||
"point1": "Full functionality, no payment details",
|
||
"point2": "Reminder before it ends, extension any time",
|
||
"point3": "Move to the full version without migrating data",
|
||
"cta": "Start the trial",
|
||
"secondary": "Request a quote",
|
||
"note": "Pricing for the full version on request — we come back with a proposal that fits your size."
|
||
},
|
||
"faq": {
|
||
"title": "Frequently asked questions",
|
||
"q1": {
|
||
"q": "Do my technicians need training?",
|
||
"a": "No. The mobile view guides them through the job: drive, work, document, collect the signature. Most teams start after a short briefing."
|
||
},
|
||
"q2": {
|
||
"q": "Does the app work without internet?",
|
||
"a": "Yes. Entries, photos and times are stored on the device and transferred automatically once there is a connection again."
|
||
},
|
||
"q3": {
|
||
"q": "Do I have to install anything?",
|
||
"a": "No. Craftvia runs in the browser and can be added to the home screen like an app."
|
||
},
|
||
"q4": {
|
||
"q": "What happens after the trial?",
|
||
"a": "Your data stays readable and exportable. You can extend or move to the full version — without migrating data."
|
||
},
|
||
"q5": {
|
||
"q": "Can I bring existing customers and jobs?",
|
||
"a": "Yes. Customers and sites can be imported, jobs additionally read from PDF and checked before they are accepted."
|
||
},
|
||
"q6": {
|
||
"q": "Are my technicians tracked by GPS?",
|
||
"a": "No. What is shown is the site of the running job, not the position of the device or the person."
|
||
},
|
||
"q7": {
|
||
"q": "Does Craftvia replace my accounting?",
|
||
"a": "No. Craftvia prepares billing — times, material, trips and milestones. Your accounting writes the invoice."
|
||
},
|
||
"q8": {
|
||
"q": "How many users are possible?",
|
||
"a": "From a one-person business to several crews. You define teams, roles and capacity yourself."
|
||
}
|
||
},
|
||
"closing": {
|
||
"title": "Ready for the first job?",
|
||
"text": "Set up your trial access and plan the first week today.",
|
||
"cta": "Start free trial",
|
||
"login": "I already have an account"
|
||
},
|
||
"footer": {
|
||
"tagline": "The field service app for trade and installation businesses.",
|
||
"product": "Product",
|
||
"company": "Legal",
|
||
"features": "Features",
|
||
"trial": "Free trial",
|
||
"login": "Sign in",
|
||
"terms": "Terms of use",
|
||
"privacy": "Privacy",
|
||
"imprint": "Imprint",
|
||
"rights": "All rights reserved."
|
||
},
|
||
"pages": {
|
||
"planung": {
|
||
"title": "Scheduling board",
|
||
"lead": "The week at a glance: distribute jobs across crews, see utilisation, spot conflicts before the customer calls.",
|
||
"p1": "Drag jobs onto a crew and a day — or schedule them entirely without a mouse",
|
||
"p2": "Utilisation per crew and day in percent, measured against the crew day",
|
||
"p3": "Warnings for overbooking, overlap and incomplete crews",
|
||
"p4": "Unplanned jobs in their own column, with suggestions attached to the card",
|
||
"p5": "The live view shows who is en route, working or on a break",
|
||
"shot1": "Scheduling board across five days with utilisation and marked conflicts",
|
||
"shot2": "Live situation as tiles: crews with status, job and place",
|
||
"c1title": "Crews, not individuals",
|
||
"c1text": "A crew travels together. Capacity is the crew day, not the sum of person-hours.",
|
||
"c2title": "Finished early, used well",
|
||
"c2text": "When a job ends early, Craftvia suggests nearby work — a person decides.",
|
||
"c3title": "Delays made visible",
|
||
"c3text": "If a job overruns, the board marks the following one as at risk."
|
||
},
|
||
"baustelle": {
|
||
"title": "On site",
|
||
"lead": "The mobile view guides through the job: drive, work, document, collect the signature — even without a connection.",
|
||
"p1": "Large targets and clear steps, usable with work gloves",
|
||
"p2": "Checklist, required photos and material right on the job",
|
||
"p3": "Works offline: entries are stored and sent automatically",
|
||
"p4": "The customer signs on screen, the PDF goes out afterwards",
|
||
"p5": "Create call-out jobs in minutes and complete them later",
|
||
"shot1": "The technician's day view with the running timer",
|
||
"shot2": "A job on the phone: status, checklist, material and photos in one place",
|
||
"c1title": "No more paper",
|
||
"c1text": "What is captured on site is immediately available in the office.",
|
||
"c2title": "Mandatory fields before sign-off",
|
||
"c2text": "Missing photos or signatures surface on site, not days later.",
|
||
"c3title": "Sync without thinking",
|
||
"c3text": "The app transfers on its own as soon as there is a connection."
|
||
},
|
||
"zeiterfassung": {
|
||
"title": "Time tracking",
|
||
"lead": "Start, pause, stop with one tap. Travel and work time separated, corrections traceable.",
|
||
"p1": "The running timer is visible on every page, with a one-tap \"finish for today\"",
|
||
"p2": "Automatic switch when work starts on another job",
|
||
"p3": "Add times for the last few days — with a reason",
|
||
"p4": "Approval by the crew lead or the office; pending entries never count for billing",
|
||
"p5": "The office can record times for staff, recorded in the audit trail",
|
||
"shot1": "My times: the day with travel and work time",
|
||
"shot2": "Approval in the office: review and confirm pending entries",
|
||
"c1title": "Honest hours",
|
||
"c1text": "Time is recorded while working, not from memory in the evening.",
|
||
"c2title": "Corrections stay visible",
|
||
"c2text": "Every correction carries a reason and an approval.",
|
||
"c3title": "Travel kept separate",
|
||
"c3text": "Trips count on their own and appear as a position in billing."
|
||
},
|
||
"berichte": {
|
||
"title": "Reports and signature",
|
||
"lead": "The service report is created on site — checked, signed and sent to the customer as a PDF.",
|
||
"p1": "The report sits on the job, with a template per job type",
|
||
"p2": "Mandatory fields and photos are checked before submission",
|
||
"p3": "Signature on screen, or \"customer not present\" with a reason",
|
||
"p4": "Approval in the office, then automatic dispatch as a PDF",
|
||
"p5": "Every version is kept; older ones are marked as superseded",
|
||
"shot1": "Reports in the office: from submitted to approved",
|
||
"shot2": "Job detail with times, material, photos and the report",
|
||
"c1title": "One record, not a collection",
|
||
"c1text": "Report, photos, times and material belong to the same job.",
|
||
"c2title": "Traceable",
|
||
"c2text": "Who submitted, checked and approved is in the audit trail.",
|
||
"c3title": "Straight to the customer",
|
||
"c3text": "After approval the PDF is e-mailed automatically."
|
||
},
|
||
"abrechnung": {
|
||
"title": "Billing overview",
|
||
"lead": "Completed jobs and reached milestones collect in one place — with times, material and trips for accounting.",
|
||
"p1": "Completed jobs, milestones and approved daily reports in one list",
|
||
"p2": "Only approved times count; pending entries are shown separately",
|
||
"p3": "Trips from time tracking, counted per crew and day",
|
||
"p4": "Billing sheet as a PDF, \"billed\" with an optional invoice number",
|
||
"p5": "Voiding needs a reason; billed positions stay clearly assigned",
|
||
"shot1": "Billing overview with open and billed records",
|
||
"c1title": "No double billing",
|
||
"c1text": "Every hour and every part belongs to exactly one billed section.",
|
||
"c2title": "Accounting stays accounting",
|
||
"c2text": "Craftvia provides the basis — prices, taxes and invoices stay in your system.",
|
||
"c3title": "Milestones instead of one final bill",
|
||
"c3text": "On long projects you bill what has been reached."
|
||
},
|
||
"lotse": {
|
||
"title": "Lotse — the assistant",
|
||
"lead": "Say what happened: Lotse maps it, asks what is missing and proposes bookings. Nothing is stored before you confirm.",
|
||
"p1": "Write or speak like in a chat, even mid-job",
|
||
"p2": "Maps the job itself — from context, the running timer or the day's plan",
|
||
"p3": "Asks for missing details instead of guessing",
|
||
"p4": "Shows action cards for status, times, material and notes",
|
||
"p5": "Permissions, mandatory fields and approvals still apply",
|
||
"shot1": "Lotse chat on the phone: input by text or voice",
|
||
"c1title": "Confirm instead of typing",
|
||
"c1text": "The technician checks a card and taps once — instead of filling four forms.",
|
||
"c2title": "Nothing happens quietly",
|
||
"c2text": "Without confirmation nothing is booked. Every booking lands in the audit trail.",
|
||
"c3title": "A reference too",
|
||
"c3text": "Questions like \"where is the access code?\" are answered from the job."
|
||
}
|
||
},
|
||
"overview": {
|
||
"title": "Features at a glance",
|
||
"lead": "Craftvia covers the whole job — from the incoming request to the basis for the invoice. Every module can be enabled on its own.",
|
||
"more": "Learn more"
|
||
},
|
||
"securityPage": {
|
||
"title": "Security and privacy",
|
||
"lead": "Craftvia is built multi-tenant. Every business sees only its own data — enforced down in the database, not just in the interface.",
|
||
"shot1": "Audit trail: every write with time, person and change",
|
||
"shot2": "Teams and roles: assignment decides who sees which jobs",
|
||
"detailTitle": "What that means day to day",
|
||
"d1title": "Field roles see only their jobs",
|
||
"d1text": "Technicians see their crew's jobs, not the company's customer list.",
|
||
"d2title": "Permissions are enforced on the server",
|
||
"d2text": "Every change is checked server-side. Hidden buttons are convenience, not security.",
|
||
"d3title": "Traceable, not trusting",
|
||
"d3text": "The trail records who changed what and when — useful for accounting too."
|
||
},
|
||
"pricingPage": {
|
||
"title": "Trial and pricing",
|
||
"lead": "Start with a trial and decide afterwards. The price of the full version depends on the size of your business.",
|
||
"trialTitle": "Trial",
|
||
"trialText": "Full functionality, period of your choice, no payment details. After it ends your data stays readable and exportable.",
|
||
"t1": "Up to 30 days, end date of your choice",
|
||
"t2": "Start with sample data or empty",
|
||
"t3": "Reminder before it ends, extension any time",
|
||
"fullTitle": "Full version",
|
||
"fullText": "Switch over without migrating data: the trial tenant is converted, everything is kept.",
|
||
"f1": "All modules, unlimited jobs",
|
||
"f2": "Priced by users and crews",
|
||
"f3": "A quote after a short conversation",
|
||
"note": "We name concrete prices once they are settled — deliberately no number here that would not hold later."
|
||
},
|
||
"cta": {
|
||
"title": "Try Craftvia in your own business",
|
||
"text": "Set up trial access, load sample data and plan the first week — in minutes.",
|
||
"primary": "Start free trial",
|
||
"secondary": "See all features"
|
||
},
|
||
"shotFrame": {
|
||
"label": "Screenshot from Craftvia"
|
||
},
|
||
"imprint": {
|
||
"title": "Imprint",
|
||
"intro": "Information pursuant to § 5 of the German Digital Services Act (DDG).",
|
||
"provider": "Provider",
|
||
"represented": "Represented by",
|
||
"contact": "Contact",
|
||
"phone": "Phone",
|
||
"email": "E-mail",
|
||
"register": "Commercial register",
|
||
"registerCourt": "Register court",
|
||
"registerNumber": "Register number",
|
||
"vat": "VAT ID",
|
||
"vatText": "VAT identification number pursuant to § 27 a of the German VAT Act:",
|
||
"editorial": "Editorially responsible",
|
||
"dispute": "Consumer dispute resolution",
|
||
"disputeText": "We are neither willing nor obliged to take part in dispute resolution proceedings before a consumer arbitration board."
|
||
}
|
||
}
|