{"nav_how":"How it works","nav_features":"Features","nav_pricing":"Pricing","nav_pros":"For tradespeople","xlink_pricing":"See plans & pricing","xlink_features":"Explore the features","nav_login":"Log in","nav_get_started":"{offer}","nav_audience":"Who it’s for","nav_menu":"Menu","nav_menu_quote":"What you don't see, you pay for later.","nav_close":"Close menu","a11y_skip_to_content":"Skip to main content","form_err_required":"Please fill in this field.","form_err_required_select":"Please select an option from the list.","form_err_required_check":"Please tick this box to continue.","form_err_required_radio":"Please select one of these options.","form_err_required_file":"Please choose a file.","form_err_email":"Please enter a valid email address.","form_err_url":"Please enter a valid web address, including https://.","form_err_pattern":"Please use the requested format.","form_err_short":"Please use at least {n} characters.","form_err_long":"Please use at most {n} characters.","form_err_min":"Please choose a value of {n} or higher.","form_err_max":"Please choose a value of {n} or lower.","form_err_invalid":"Please enter a valid value.","pt_home":"Contratista — property maintenance & repairs, Costa del Sol","pt_login":"Log in","pt_register":"Start free","pt_about":"About","pt_how":"How remote holiday-home repairs work","pt_pricing":"Maintenance & repair plans & pricing","pt_contact":"Contact","pt_terms":"Terms","pt_privacy":"Privacy","pt_cookies":"Cookies","pt_for_pro":"For tradespeople on the Costa del Sol","pt_pricing_agency":"Agency enquiry","pt_features":"Maintenance & repair features","pt_for_owners":"Repairs & maintenance for Costa del Sol owners","pt_for_guests":"Report a fault in your rental","pt_security":"Security & data protection","pt_faq":"Frequently asked questions","pt_demo":"Try the demo on your own photo","pd_home":"A guest scans a code to report a problem. You approve the fix from your phone: the tradesperson you trust, an invoice we check. Wherever you are.","pd_pricing":"Maintenance & repair plans for every Costa del Sol portfolio. Pay monthly, cancel anytime, from a single holiday home to a full portfolio.","pd_about":"Why Contratista exists: one calm channel from guest report to vetted repair, so remote owners stay in control.","pd_how":"See how Contratista works: a guest scans a QR code, you get a diagnosis, 2–3 reasoned tradesperson options, and a checked invoice — you decide.","pd_features":"All Contratista features in one place: QR guest reports, instant photo diagnosis, vetted local tradespeople, checked invoices and an insurance-ready report.","pd_contact":"Get in touch with the Contratista team. Questions about plans, onboarding or your account: we are happy to help.","pd_for_pro":"Join the Contratista tradesperson network on the Costa del Sol. Receive vetted local repair jobs, submit invoices and get paid securely.","pd_security":"How Contratista protects your data, photos and payments: GDPR-compliant, encrypted, with vetted tradespeople and full owner control.","pd_for_guests":"Something broken in your rental? Report it in a minute: scan the QR in the property or enter the property code. No app, no account.","pd_terms":"The terms of service for using Contratista: your rights, our obligations and the rules of the platform.","pd_privacy":"How Contratista collects, uses and protects your personal data, photos and payment details under GDPR.","pd_cookies":"How Contratista uses cookies and similar technologies, and how you can manage your cookie preferences.","pd_pricing_agency":"Managing a portfolio or working for others? Request a white-label call.","pd_faq":"Answers to frequently asked questions about Contratista, from guest reports and diagnosis to vetted tradespeople, invoices and payments.","pd_for_owners":"Repairs and maintenance for your Costa del Sol holiday home, from anywhere: your guest reports a fault with one scan, you choose from vetted tradespeople.","pd_voorbeeld":"A real report: a guest sent six words and a blurry photo. This is what the owner got back — cause, materials and a cost estimate.","pd_demo":"Request your personal demo link: upload one photo of a fault and see the diagnosis within a minute. One demo per person.","sd_name_for_owners":"Holiday rental maintenance and repairs, Costa del Sol","sd_name_features":"Contratista: property maintenance and repair platform","sd_name_how":"How Contratista works, Costa del Sol","sd_name_for_pro":"Repair network for local tradespeople, Costa del Sol","sd_name_for_guests":"Report a fault in your holiday rental, Costa del Sol","sd_name_security":"Secure property management, Costa del Sol","sd_name_pricing_agency":"White-label property management, Costa del Sol","sd_name_about":"About Contratista","sd_name_contact":"Contact Contratista","sd_type_property_management":"Property management","sd_type_property_repair":"Property repairs","common_close":"Close","common_cancel":"Cancel","common_reason_label":"Reason","common_progress":"Progress","common_step_of":"Step {n} of {totaal}","common_step_done":"completed","common_table_data":"Table data","common_open_row":"Open","common_type_label":"Type","common_total_label":"Total","common_iva":"IVA","common_iva_excl":"excl. IVA","common_line_group":"Invoice line","common_breadcrumb":"Breadcrumb","common_qr":"QR code","common_search":"Search…","common_clear_search":"Clear search","common_gallery_group":"Photos","common_gallery_close":"Close","common_gallery_prev":"Previous photo","common_gallery_next":"Next photo","common_gallery_viewer":"Photo viewer","common_pick_photos":"Choose photos","common_pick_files":"Choose files","common_pick_photo":"Choose photo","common_pick_file":"Choose file","common_upload_limit_photo_one":"1 photo","common_upload_limit_photos":"up to {n} photos","common_upload_limit_file_one":"1 file","common_upload_limit_files":"up to {n} files","common_upload_hint_photos":"JPG, PNG or WebP · large photos are scaled down automatically","common_upload_hint_files":"PDF, JPG or PNG · max. 10 MB per file","nav_lang":"Language","theme_label":"Theme","theme_blanc":"Light","theme_oscuro":"Dark","theme_system":"System","nav_primary":"Primary navigation","nav_home_aria":"Contratista home","nav_product":"Product","nav_owners":"For owners","nav_guests":"For guests","nav_resources":"Resources","prod_how":"How it works","prod_how_sub":"The whole process in 4 steps","prod_features_label":"Features","prod_qr":"Report by QR","prod_diagnose":"Photo diagnosis","prod_match":"Tradesperson matching","prod_invoice":"Invoice check","prod_report":"Insurance report","res_faq":"FAQ","res_security":"Security","res_about":"About","res_contact":"Contact","aud_owners_title":"For owners","aud_owners_link_how":"How it works","aud_owners_link_pricing":"Pricing & plans","aud_owners_cta":"Start as owner","aud_pros_title":"For tradespeople","aud_pros_link_join":"Become a tradesperson","aud_pros_link_apply":"Apply for the pool","aud_pros_cta":"Apply now","hero_eyebrow":"Remote property care · Costa del Sol","hero_title_a":"Your property,","hero_title_em":"intelligently","hero_title_b":"maintained.","hero_lede":"A guest scans a code to report a problem. You approve the fix from your phone: the tradesperson you trust, an invoice we check. Wherever you are.","hero_cta_primary":"{offer}","hero_cta_secondary":"Watch demo","hero_note_free":"Every invoice checked","hero_note_nocommission":"No commission on repairs","hero_note_control":"Bring your own tradesperson","video_eyebrow":"See it in action","video_title":"From scan to solved, in one minute.","video_sub":"A short walkthrough of the whole flow.","video_tag":"Product demo","demo_full_walkthrough":"See the full walkthrough","demo_defect":"Leak under the kitchen sink","demo_property":"Villa Almendro · Marbella","demo_sev_urgent":"Urgent","demo_rail_label":"Demo steps","demo_beats_label":"Demo, step by step — scrolls horizontally","demo_gallery_group":"Reported photos","demo_b1_cap":"Scan & report","demo_b1_diff":"No account needed","demo_advice_label":"Diagnosis","demo_b2_cap":"Diagnosis in seconds","demo_b2_diff":"Severity set automatically","demo_b2_body":"Flexible supply hose worn — risk of water damage to the cabinet.","demo_b3_cap":"Assign in one click","demo_b3_diff":"Vetted tradesperson, chosen by you · no commission","demo_b3_status":"Match found","demo_b3_distance":"4 km","demo_payout":"€140","demo_assign_cta":"Assign","demo_b4_cap":"Approved & closed","demo_b4_diff":"You decide — and pay the tradesperson directly","demo_timeline_aria":"Job progress","demo_step_reported":"Reported","demo_step_assigned":"Assigned","demo_step_resolved":"Resolved","demo_step_paid":"Paid","demo_fraud_title":"Invoice checks out","demo_fraud_low":"Low risk","demo_fraud_body":"Before/after photos, materials and hours all line up.","demo_kpi_open":"Open reports","demo_kpi_resolved":"Resolved this month","demo_kpi_payout":"Paid directly","demo_pro_specialty":"Plumber","demo_pro_recommended":"Recommended","how_eyebrow":"How it works","how_title":"Four steps. No phone calls.","how_1_title":"Guest scans","how_1_body":"A QR code in the home. The guest snaps a photo. No account, no friction.","how_2_title":"Instant diagnosis","how_2_body":"Contratista reads the photos, identifies the fault and rates the urgency.","how_3_title":"Tradesperson lined up","how_3_body":"The best vetted tradesperson for the job, region and urgency, ready to assign.","how_4_title":"You approve","how_4_body":"One tap. The invoice is checked and a report is filed automatically.","how_progress_aria":"Progress through the steps","how_page_lede":"From the first scan to a filed report, Contratista handles the thinking. Four steps, and you choose. You stay in control.","how_1_long":"A single QR code lives in the home. Your guest scans it, snaps a photo and adds a line if they like. No account, no app, no login. Zero friction means faults actually get reported.","how_2_long":"Contratista reads the photos in seconds, identifies the likely fault, rates its severity and gives an indicative cost range, clearly labelled as an estimate, drawing on what similar jobs really cost.","how_3_long":"From our vetted pool, the best-matched tradesperson is lined up by trade, region, rating and rate, with two or three options and the reasoning behind each, so your choice is one informed tap.","how_4_long":"You approve and the work begins. When it is done, the invoice is cross-checked against the diagnosis for fraud, and an insurance-ready report is filed automatically — nothing for you to chase.","feat_eyebrow":"Built around intelligence","feat_title":"Intelligence that knows your portfolio.","feat_copilot_badge":"Co-pilot","feat_copilot_title":"It diagnoses, recommends and watches the invoice.","feat_copilot_body":"Every report is read in seconds, and the system remembers your whole portfolio. You confirm; it handles the rest.","feat_fraud_title":"Fraud check","feat_fraud_body":"Materials, labour and photos cross-checked before you pay.","feat_insurance_title":"Insurance reports","feat_insurance_body":"A filed PDF after every resolved job, ready for claims.","feat_insights_title":"Portfolio insights","feat_insights_body":"Spot recurring costs across properties before they add up.","trust_vetted":"Invoices checked","trust_diagnose_val":"Seconds","trust_diagnose":"to diagnosis","trust_commission":"Commission on repairs","trust_languages":"Languages","cta_title":"Hand the supervision to Contratista.","cta_sub":"Set up your first property in minutes. Free for {days} days.","cta_button":"{offer}","assure_eyebrow":"Built to be trusted","assure_title":"Considered at every step.","assure_vetted_title":"Vetted tradespeople","assure_vetted_body":"Every tradesperson is vetted on admission: papers, insurance and references checked before they ever reach you.","assure_vetted_scope":"Every tradesperson is vetted on admission: papers and insurance checked before they ever reach you.","assure_control_title":"You decide, always","assure_control_body":"Nothing happens without your approval. Assign, decline or ask a question, from anywhere.","assure_invoice_title":"Invoices you can trust","assure_invoice_body":"Every bill is checked against the diagnosis before a cent leaves your account.","brain_eyebrow":"The mind behind Contratista","brain_title":"Every repair makes it sharper.","brain_lede":"Contratista remembers what a job really costs, which properties need attention, and which tradespeople deliver, and puts that to work on the next report.","brain_point_cost_title":"Sharper estimates","brain_point_cost_body":"Calibrated to what your region actually pays.","brain_point_fraud_title":"Honest invoices","brain_point_fraud_body":"Discrepancies surface before you pay.","brain_point_surprise_title":"No surprises","brain_point_surprise_body":"Recurring faults per property, coming into view.","brain_node_cost":"cost","brain_node_precision":"precision","brain_node_property":"properties","brain_node_pro":"tradespeople","brain_node_region":"region","brain_node_season":"season","brain_core_label":"learning continuously","footer_tagline":"Intelligent maintenance & repairs for holiday homes.","footer_rights":"All rights reserved.","footer_identity":"Contratista · Wilhelminastraat 54, Vlaardingen (NL) · KvK 82351627 · VAT NL003672419B82","nav_logout":"Log out","nav_more":"More","schil_tab_thuis":"Home","schil_tab_meldingen":"Reports","schil_tab_woningen":"Properties","schil_tab_vandaag":"Today","schil_tab_aanvragen":"Requests","schil_tab_klussen":"Jobs","schil_tab_onderhoud":"Maintenance","schil_tab_badge_label":"{label}: {n}","schil_nav_badge_label":"{label}, {n} open","schil_desktop_aan":"Show desktop version","schil_desktop_terug":"Back to the app view","schil_terug":"Back to {titel}","schil_instellingen_weergave":"Appearance","schil_instellingen_thema":"Theme","schil_instellingen_thema_sub":"Pick the theme: light, dark, or follow your device.","schil_thuis_ochtend":"Good morning, {naam}","schil_thuis_middag":"Good afternoon, {naam}","schil_thuis_avond":"Good evening, {naam}","schil_thuis_dag":"Good day, {naam}","schil_thuis_rustig":"All is calm.","schil_thuis_samenvatting_1":"1 property · no open reports","schil_thuis_samenvatting_n":"{n} properties · no open reports","schil_thuis_actie_akkoord":"Review and decide","schil_thuis_actie_factuur":"Check the invoice","schil_thuis_actie_bekijk":"View the report","schil_install_titel":"Add Contratista to your home screen","schil_install_sub":"Open the app with a single tap from now on, and get notified the moment something needs you.","schil_install_knop":"Add to home screen","schil_install_stap1":"Tap the share icon","schil_install_stap2":"Choose \"Add to Home Screen\"","schil_install_meer":"Add to home screen","schil_brug_kop":"Use Contratista as an app","schil_brug_tekst":"Add it to your home screen and get notified the moment something needs you.","auth_error_invalid":"Invalid email or password.","auth_error_generic":"Something went wrong. Please try again.","auth_error_email_taken":"An account with this email already exists.","auth_error_email_invalid":"Please enter a valid email address.","auth_error_password_short":"Your password must be at least 8 characters.","auth_error_name_long":"Your name is too long.","auth_error_region_long":"The region you entered is too long.","auth_error_region_unknown":"Choose a region from the list.","auth_error_rate_limited":"Too many login attempts. Please wait a minute and try again.","auth_error_captcha":"We couldn’t complete the security check. Please reload the page and try again.","auth_error_unverified":"Your email address isn’t confirmed yet. Check your inbox or resend the confirmation email.","verify_check_title":"Confirm your email","verify_check_sub":"One more step","verify_check_note":"Check your inbox. We sent you an email with the next step. If it contains a 6-digit code, enter it below to activate your account.","verify_check_existing_hint":"Already had an account with this address? Then the email holds a login link instead of a code.","verify_from_login_note":"No code has been sent yet. This screen only helps if you have never confirmed your email address. Request a new code below and enter it here. If your password was the problem, go back to login instead.","verify_check_sent_to":"Sent to","verify_check_code_for":"Code for","verify_check_wrong_email":"Typo in your address?","verify_check_change_email":"Sign up again with the right address","verify_check_error":"This code is invalid or expired. Enter the latest code or request a new one below.","verify_sendfail":"Your account was created, but we could not send the email with your code. Click “Send a new code” below, then enter the 6-digit code here on this screen.","verify_code_label":"Verification code","verify_code_cta":"Confirm my email","verify_code_loading":"Confirming…","verify_code_invalid":"Incorrect or expired code. Check the code or request a new one.","verify_resend_cta":"Send a new code","verify_resend_loading":"Sending…","verify_resend_done":"If an account exists for this address, a new code has been sent.","verify_resend_captcha":"Please confirm you are not a robot and try again.","verify_check_to_login":"Back to login","auth_login_title":"Welcome back","auth_login_sub":"Log in to your dashboard.","auth_email":"Email","auth_password":"Password","auth_password_show":"Show password","auth_password_hide":"Hide password","auth_register_title":"Create your free account","auth_register_sub":"No commission on repairs. Cancel anytime.","register_closed_title":"Registration temporarily closed","register_closed_body":"We are not accepting new sign-ups right now. Already have an account? Log in.","register_pool_building_title":"Everything works right away — your trial starts later","register_pool_building_body":"Everything works as normal. Your trial begins once our vetted pool is live in your region and you activate it. Until then the platform is free, no payment details needed. Add your own tradesperson in the meantime.","pool_building_banner_title":"Your trial hasn’t started yet","pool_building_banner_body":"Everything works as normal within your subscription ({n}). Your trial begins once our vetted pool is live in your region. Until then the platform is free. In the meantime you can already work with your own tradesperson.","pool_building_banner_body_unlimited":"Everything works as normal. Your trial begins once our vetted pool is live in your region. Until then the platform is free. In the meantime you can already work with your own tradesperson.","pool_building_banner_body_vakmannen":"Your trial begins once our vetted pool is live in your region. Until then the platform is free, no payment details needed. Add your own tradesperson below and you can already pass reports on to them.","grace_banner_title":"The tradespeople in your region are ready","grace_banner_body":"Activate your {t}-day trial to pass reports on to a vetted tradesperson. You keep full access for another {d}.","grace_banner_days_one":"1 day","grace_banner_days":"{n} days","grace_banner_cta":"Activate my trial","auth_name":"Full name","auth_have_account":"Already have an account?","auth_no_account":"Don’t have an account?","ig_eyebrow":"From the feed","ig_title":"A life abroad, quietly in hand.","ig_cta":"Follow @contratista.eu","ig_alt_villa":"Andalusian villa at dusk, an infinity pool mirroring the house","ig_alt_brand":"Contratista — intelligent property care on the Costa del Sol, on a hand-plastered wall","ig_alt_terrace":"Stone terrace with olive trees overlooking the Mediterranean at golden hour","roles_eyebrow":"Who is it for?","roles_title":"One platform, every role.","role_owner_label":"Owner","role_owner_tag":"Oversight and peace of mind, from anywhere.","role_owner_f1":"Photo diagnosis with severity and cost estimate at a glance","role_owner_f2":"Invoices checked automatically against labour and materials","role_owner_f3":"A filed insurance PDF after every resolved job","role_pro_label":"Tradesperson","role_pro_tag":"Quality jobs near you, without chasing leads.","role_pro_f1":"Requests matched by trade, region and urgency","role_pro_f2":"No commission: you invoice the owner directly","role_pro_f3":"Every job arrives diagnosed and photographed","role_pro_price":"Free to join","role_guest_label":"Guest","role_guest_tag":"Report a fault in three taps. No account.","role_guest_f1":"Scan the QR, no app or login","role_guest_f2":"Snap a photo and describe it in your own language","role_guest_f3":"Done in a minute, the rest is handled for you","role_guest_price":"Always free","role_owner_cta":"{offer}","role_pro_cta":"Apply to join","role_guest_cta":"See the report page","nav_company":"Company","nav_about":"About","nav_contact":"Contact","subscribe_back":"Back to your dashboard","subscribe_title":"Complete your subscription","subscribe_sub":"Start your {days}-day free trial. No commitment.","subscribe_sub_building":"You don’t need a subscription yet: the platform is free until our vetted pool is live in your region. Subscribe now anyway and your {days}-day trial starts today.","subscribe_cta":"Continue to payment","subscribe_ack_label":"I request immediate access to the service and acknowledge that I lose my 14-day right of withdrawal once the service has been fully performed.","subscribe_ack_link":"Read your right of withdrawal","subscribe_ack_required":"Please tick the withdrawal acknowledgement to continue.","subscribe_ack_hint":"Tick this box to continue to payment.","subscribe_aantal_invalid":"We cannot bill that number of properties. Set the number again with the counter and try once more.","pro_applied_title":"Account created","pro_applied_sub":"One more step: complete your application.","pro_applied_cta":"Log in and finish","topbar_notifications_label":"Notifications","topbar_notifications_label_count":"Notifications, {n} open","topbar_account_label":"Account menu","topbar_settings":"Settings","topbar_notifications_empty":"No new notifications","zoek_open_label":"Search","zoek_placeholder_app":"Search a property, report or reference…","zoek_placeholder_pro":"Search a job, property or reference…","zoek_placeholder_admin":"Search a property, report, owner or tradesperson…","zoek_hint":"Type at least two characters to search.","zoek_bezig":"Searching…","zoek_fout":"Search did not work just now. Try again.","zoek_leeg_titel":"Nothing found","zoek_leeg_body":"Try a different word, a part of the address, or the reference.","zoek_meer":"More matches. Refine your search.","zoek_toetsen":"↑↓ to move · ↵ to open · esc to close","zoek_esc":"esc","zoek_aantal_one":"1 result","zoek_aantal_many":"{n} results","zoek_groep_woning":"Properties","zoek_groep_melding":"Reports","zoek_groep_klus":"Jobs","zoek_groep_aanvraag":"Requests","zoek_groep_factuur":"Invoices","zoek_groep_eigenaar":"Owners","zoek_groep_vakman":"Tradespeople","admin_nav_section":"Platform","admin_nav_overview":"Overview","admin_nav_vetting":"Tradesperson vetting","admin_nav_vetting_short":"Vetting","admin_nav_oversight":"Oversight","admin_nav_matching":"Matching","admin_nav_trechter":"Funnel","tr_title":"Funnel","tr_sub":"Who is stuck, and where. Longest silence first.","tr_tab_eigenaar":"Owners","tr_tab_vakman":"Tradespeople","tr_tab_gast":"Guests","tr_stuck_h":"Stuck","tr_stuck_none":"Nobody is stuck","tr_stuck_none_body":"Everyone in this window either got through or is still within the {uren}-hour silence threshold.","tr_col_who":"Who","tr_col_step":"Last step","tr_col_missing":"Waiting on","tr_col_silent":"Silent","tr_mail":"Email","tr_no_email":"No address on file","tr_anon":"Anonymous session","tr_funnel_h":"Progression","tr_funnel_step":"Step","tr_funnel_count":"Reached","tr_funnel_flow":"Progression","tr_unattributed":"{n} sign-ups without an account. Counted, but not attributable to a person.","tr_window":"Last {dagen} days · {n} events","tr_window_30":"30 days","tr_window_90":"90 days","tr_window_365":"One year","tr_test_on":"Show test traffic","tr_test_off":"Hide test traffic","tr_guest_note":"Guest events carry no test flag: there is no reporter account to check against. So this funnel always includes our own test traffic too.","tr_guest_nomail":"A guest leaves no address for contact. This list gives insight, not an email button.","tr_timeline_h":"Timeline","tr_timeline_sub":"Every event for this person, including those outside the funnel.","tr_error":"The funnel could not be loaded. The rest of the admin keeps working.","tr_empty":"No events in this window yet.","tr_hours":"{n} hours","tr_days":"{n} days","admin_nav_brein":"Brain","admin_nav_audit":"Audit log","admin_nav_demo":"Demo","admin_nav_properties":"Properties","admin_nav_owners":"Owners","admin_nav_accounts":"Accounts","admin_notif_attention":"{n} items need your attention","admin_demo_titel":"Demo invitations","admin_demo_stat_wacht":"Awaiting follow-up","admin_demo_stat_wacht_hint":"Demo completed, not followed up yet. This is the number on the Demo badge in the menu.","admin_demo_stat_maand":"Demo diagnoses this month","admin_demo_stat_maand_hint":"Every demo scan since the 1st, invited or not. Usage. No action needed.","admin_demo_stat_totaal":"Invitations in the list","admin_demo_stat_totaal_hint":"Everything you ever sent: the rows below.","admin_demo_naam":"Prospect name","admin_demo_email":"Email","admin_demo_taal":"Language","admin_demo_verstuur":"Send invitation","admin_demo_opnieuw":"Resend","admin_demo_verwijder":"Delete","admin_demo_verwijder_bevestig":"Permanently delete this demo?","admin_demo_verwijderd":"Demo deleted","admin_demo_bekijk":"View result","admin_demo_verstuurd":"Invitation sent","admin_demo_err_invoer":"Check name and email.","admin_demo_err_mail":"Sending failed.","admin_demo_err_afgemeld":"This address has unsubscribed from demo emails.","admin_demo_leeg":"No invitations yet.","admin_demo_col_prospect":"Prospect","admin_demo_col_verstuurd":"Sent","admin_demo_col_status":"Status","admin_demo_col_resultaat":"Result","admin_demo_col_actie":"Action","admin_demo_status_verstuurd":"Sent","admin_demo_status_geopend":"Opened","admin_demo_status_gedaan":"Demo done","admin_demo_status_trial_gestart":"Trial started","admin_demo_status_verlopen":"Expired","admin_demo_detail_titel":"Demo result","admin_demo_detail_invite":"Invitation","admin_demo_detail_diagnose":"Diagnosis","admin_demo_detail_foto_alt":"Photo submitted by prospect","admin_demo_detail_geopend":"Opened","admin_demo_detail_voltooid":"Completed","admin_demo_detail_taal":"Language","admin_demo_detail_bron":"Source","admin_demo_detail_aangemaakt":"Created","admin_demo_detail_resultaat":"AI result","admin_demo_detail_geen_diagnose":"No diagnosis linked yet.","admin_demo_terug":"Back to demo","admin_demo_detail_opvolging":"Follow-up","admin_demo_opvolgmail":"Send follow-up email","admin_demo_opvolgmail_opnieuw":"Resend follow-up email","admin_demo_opvolgmail_laatst":"Last sent on {d}","admin_demo_opvolgmail_ok":"Follow-up email sent","admin_demo_opgevolgd_label":"Followed up","admin_demo_bericht_label":"Message body (gets emailed)","admin_demo_bericht_placeholder":"Message the prospect receives…","admin_demo_notitie_placeholder":"Note (internal)","admin_demo_opvolging_opslaan":"Save","admin_demo_opvolging_ok":"Follow-up saved","acc_title":"Accounts","acc_search":"Search by name or email","acc_kind":"Kind","acc_kind_owner":"Owner","acc_kind_pro":"Pool tradesperson","acc_kind_contact":"Own tradesperson","acc_kind_developer":"Developer","acc_status":"Status","acc_status_actief":"Active","acc_status_gepauzeerd":"Paused","acc_status_afgewezen":"Rejected","acc_status_gearchiveerd":"Archived","acc_status_verwijderd":"Deleted","acc_col_name":"Name","acc_col_context":"Context","acc_test_badge":"TEST","acc_test_badge_title":"Test account, stays inside the matching sandbox and is excluded from funnel statistics.","acc_test_base_missing":"TEST_EMAIL_BASE is not set. Test accounts currently count as real customers: they show up in funnel statistics and the matching sandbox does not keep them separate.","acc_empty":"No accounts found.","acc_delete":"Delete","acc_delete_title":"Permanently delete account","acc_delete_body":"This permanently deletes the account. Provide a reason for the audit.","acc_delete_reason_ph":"Reason (required)","acc_block_financial":"Cannot delete: completed payments. Archive instead.","acc_block_last_developer":"Cannot delete: this is the last developer.","acc_block_self":"You cannot delete your own account.","acc_under_owner":"under","acc_toast_deleted":"Account deleted.","acc_err":"Something went wrong.","own_col_name":"Name","own_col_plan":"Plan","own_col_props":"Properties","own_col_sub":"Status","own_search":"Search by name…","own_empty":"No owners found.","own_show_archived":"Show archived","own_hide_archived":"Hide archived","own_archived_badge":"Archived","own_edit_title":"Edit owner","own_links_title":"Account","own_props_title":"Properties","own_props_empty":"No properties.","own_reports_title":"Recent reports","own_reports_empty":"No reports yet.","own_field_email":"Email address","own_field_created":"Created on","own_field_locale":"Language","own_field_reason":"Reason for this edit","own_field_reason_ph":"Why are you changing the name or language? (required, for audit)","own_save":"Save","own_pause":"Pause","own_unpause":"Resume","own_archive":"Archive","own_restore":"Restore","own_pause_title":"Pause owner?","own_pause_body":"The owner will be paused. Provide a reason.","own_archive_title":"Archive owner?","own_archive_body":"The owner will be hidden but not deleted. Provide a reason.","own_toast_saved":"Changes saved.","own_sub_title":"Subscription","own_sub_plan":"Plan","own_sub_status":"Status","own_sub_trial_left":"{n} trial days left","own_plan_intended":"{plan} (selected, not active)","own_sub_no_stripe":"No Stripe customer — only free access is possible","own_sub_comped":"Free access","own_sub_comped_until":"Free access until {date}","own_sub_comped_forever":"Free access (unlimited)","own_comp_grant":"Grant free access","own_comp_revoke":"Revoke free access","own_comp_plan_label":"Plan for free access","own_comp_until_label":"End date (empty = unlimited)","own_comp_must_be_future":"End date must be in the future","own_comp_confirm_title":"Grant free access?","own_comp_confirm_body":"{name} gets {plan} for free, {until}. This is separate from Stripe.","own_comp_confirm_until":"until {date}","own_comp_confirm_forever":"with no end date","own_comp_revoke_confirm_title":"Revoke free access?","own_comp_revoke_confirm_body":"Access ends immediately; content is locked again.","own_toast_comp_granted":"Free access granted","own_toast_comp_revoked":"Free access revoked","own_plan_change":"Change plan (Stripe)","own_plan_change_confirm_title":"Change Stripe plan?","own_plan_change_confirm_body":"This updates the real subscription in Stripe, without immediate proration.","own_trial_extend":"Extend trial","own_trial_extend_confirm_title":"Extend trial?","own_trial_extend_confirm_body":"Sets the trial period until the chosen date.","own_sub_cancel":"Cancel subscription","own_sub_cancel_confirm_title":"Cancel subscription?","own_sub_cancel_confirm_body":"Ends at the end of the period. Tick the box to cancel immediately.","own_sub_cancel_immediate":"Cancel immediately","own_trial_until_label":"Trial until","own_toast_plan_changed":"Stripe plan changed","own_toast_trial_extended":"Trial extended","own_toast_sub_canceled":"Subscription canceled","bill_no_stripe":"Stripe unavailable (mock mode or no customer)","bill_no_subscription":"No active Stripe subscription found","bill_unknown_current_price":"Current price unknown — adjust manually in Stripe","bill_no_target_price":"Target price not configured","bill_no_subscription_item":"Subscription without item","bill_trial_must_be_future":"Trial date must be in the future","own_toast_paused":"Owner paused.","own_toast_unpaused":"Owner resumed.","own_toast_archived":"Owner archived.","own_toast_restored":"Owner restored.","own_err":"Something went wrong. Please try again.","own_impersonate":"View portal as this owner","own_impersonate_confirm_title":"Log in as this owner?","own_impersonate_confirm_body":"You’ll view the portal as if you were this owner. This is logged.","imp_viewing_as":"Viewing as","imp_stop":"Stop","prop_col_name":"Name","prop_col_address":"Address","prop_col_region":"Region","prop_col_owner":"Owner","prop_search":"Search by name, address or owner…","prop_empty":"No properties found.","prop_show_archived":"Show archived","prop_hide_archived":"Hide archived","prop_archived_badge":"Archived","admin_live":"Live","admin_kpi_owners":"Owners","admin_kpi_properties":"Properties","admin_kpi_jobs":"Open jobs","admin_kpi_fraud":"Open fraud flags","admin_kpi_escalations":"Escalations","admin_kpi_delta_week":"this week","admin_kpi_delta_median":"median","admin_kpi_delta_open":"open","kpi_trend_up":"increased","kpi_trend_down":"decreased","kpi_trend_flat":"unchanged","admin_attention_title":"Needs your attention","admin_att_empty":"Nothing needs your attention. The platform is running smoothly.","admin_att_fraud_red":"Fraud flags (red)","admin_att_sla":"SLA breach (critical)","admin_att_escalation":"Escalations","admin_att_pro":"Tradesperson applications","admin_att_fraud_amber":"Fraud flags (amber)","admin_pulse_title":"Platform pulse","admin_pulse_jobs":"Jobs / day","admin_pulse_14d":"last 14 days","admin_pulse_latency":"Diagnose latency","admin_pulse_sla":"SLA compliance","admin_pulse_pool":"Pool health","admin_pulse_active":"active","admin_pulse_paused":"paused","admin_pulse_empty":"No tradespeople in the pool yet.","admin_activity_title":"Recent activity","admin_activity_all":"All","admin_activity_empty":"No activity logged yet.","admin_time_min":"m","admin_time_hour":"h","admin_time_day":"d","admin_empty_calm":"All quiet. The platform has no activity yet.","admin_block_error":"Couldn’t load this data.","admin_block_retry":"Retry","admin_refresh":"Refresh","admin_refreshing":"Refreshing…","vet_title":"Tradesperson vetting","vet_tab_pending":"Pending","vet_tab_active":"Active","vet_tab_revoked":"Revoked","vet_filter_trade":"Trade","vet_filter_region":"Region","vet_filter_verdict":"Recommendation","vet_filter_all":"All","vet_search":"Search by name or company…","vet_list_empty_pending":"No pending applications.","vet_list_empty_active":"No active tradespeople yet.","vet_list_empty_revoked":"No revoked certifications.","vet_ago_today":"today","vet_ago_day":"day ago","vet_ago_days":"days ago","vet_select_prompt":"Pick an application to review.","vet_verdict_green":"Looks good","vet_verdict_amber":"Needs a check","vet_verdict_red":"Not recommended","vet_verdict_none":"Review manually","vet_ai_verdict":"Recommendation","vet_ai_summary":"Summary","vet_ai_advice_note":"This is guidance — you decide.","vet_ai_unavailable":"Automatic screening could not run. Review manually.","vet_action_rescreen":"Run screening again","vet_toast_rescreened":"Screening restarted. The scorecard will appear here shortly.","sc_breakdown":"Scorecard","sc_weighted_score":"Weighted score","sc_crit_insurance":"Liability insurance","sc_crit_identity":"Identity & legal status","sc_crit_trade_proof":"Trade competence","sc_crit_consistency":"Document consistency","sc_crit_coverage":"Region/trade coverage","sc_critical_aria":"critical criterion","sc_critical_failed":"Below {scoreVloer} — not recommended","sc_critical_legend":"Critical criterion: a score below {scoreVloer} here makes the application not recommended, whatever the total.","vet_risk_flags":"Risk flags","vet_risk_none":"No risk flags found.","vet_risk_not_screened":"Screening did not run. No risk analysis available.","vet_documents":"Documents","vet_doc_expired":"expired","vet_doc_unverified":"unverified","vet_doc_unchecked":"not yet checked","vet_doc_verify":"Mark checked","vet_doc_mark_checked":"Mark as checked","vet_toast_doc_verified":"Document marked as checked.","vet_doc_kind_kvk":"Chamber of commerce / autónomo","vet_doc_kind_insurance":"Business insurance","vet_doc_kind_certificate":"Certificate","vet_doc_kind_licence":"Driving licence / ID","vet_doc_kind_reference":"Reference","vet_doc_kind_other":"Document","vet_record_title":"Provided in the application","vet_ai_observed":"What the AI read in the documents","vet_ai_observed_hint":"The AI reading of the uploaded documents. It may differ from the application data at the top, which remains the record.","vet_field_trades":"Trades","vet_field_regions":"Regions","vet_field_rate":"Hourly rate","vet_field_lang":"Language","vet_prev_rejected":"Previously rejected under this email.","vet_revoked_on":"Revoked on","vet_action_approve":"Approve","vet_action_reject":"Reject","vet_action_request":"Request documents","vet_action_revoke":"Revoke certification","vet_approve_overrule_title":"Approve against the advice","vet_approve_overrule_body":"The AI screening advises against this tradesperson. You can still approve, but record why. This call has to be explainable later.","vet_err_reason":"Give a reason: you are overriding the AI advice.","vet_reject_title":"Reject application","vet_reject_body":"The tradesperson will not get access to the pool. Provide a reason.","vet_revoke_title":"Revoke certification","vet_revoke_body":"This tradesperson will no longer receive new requests. Reason (required):","vet_request_title":"Request documents","vet_request_body":"Mark the application incomplete and request additional documents.","vet_lightbox_close":"Close","vet_lightbox_pdf_hint":"PDF document. View it via the button below.","vet_lightbox_open_tab":"Open in new tab","vet_toast_approved":"Tradesperson approved.","vet_toast_rejected":"Application rejected.","vet_toast_revoked":"Certification revoked.","vet_action_reactivate":"Reactivate certification","vet_toast_reactivated":"Certification reactivated.","vet_toast_requested":"Documents requested.","vet_err":"The action could not be completed.","admin_vetting_email":"Email","admin_vetting_phone":"Phone","admin_vetting_nif":"NIF/IVA","admin_vetting_address":"Business address","admin_vetting_iban":"IBAN","admin_vetting_guarantee":"Guarantee","admin_vetting_guarantee_ok":"Accepted","admin_vetting_guarantee_missing":"Not accepted","ovs_title":"Oversight","ovs_tab_owners":"Owners","ovs_tab_pros":"Tradespeople","ovs_tab_jobs":"Jobs","ovs_escalations":"Escalations","ovs_search":"Search by ref, fault, property or tradesperson…","ovs_search_pros":"Search by name…","ovs_clear":"Clear","ovs_filter_status":"Status","ovs_filter_severity":"Severity","ovs_filter_region":"Region","ovs_filter_sla":"SLA","ovs_filter_fraud":"Fraud","ovs_fraud_any":"All flags","ovs_fraud_red":"Red","ovs_fraud_amber":"Amber","ovs_fraud_red_handled":"Red · closed","ovs_fraud_amber_handled":"Amber · closed","ovs_filter_plan":"Plan","ovs_filter_sub":"Subscription","ovs_filter_paused":"Paused","ovs_filter_trade":"Trade","ovs_filter_all":"All","ovs_sla_breach":"Breached","ovs_sla_soon":"Soon","ovs_sla_left":"{n} h","ovs_sla_over":"{n} h overdue","ovs_col_status":"Status","ovs_col_ref":"Ref","ovs_col_defect":"Type","ovs_col_severity":"Severity","ovs_col_property":"Property · tradesperson","ovs_col_sla":"SLA","ovs_col_name":"Name","ovs_col_plan":"Plan","ovs_col_props":"Properties","ovs_col_sub":"Subscription","ovs_col_trade":"Trade","ovs_col_region":"Region","ovs_col_score":"Score","ovs_score_weight_ratings":"reviews","ovs_score_weight_opkomst":"attendance","ovs_score_weight_fraud":"fraud checks","ovs_score_weight_turnaround":"turnaround time","ovs_score_weight_acceptance":"acceptance rate","ovs_score_weight_herstelwerk":"repeat work on the same property","ovs_score_weight_join":"and","ovs_score_legend":"Quality score 0–100, recalculated after every submitted invoice and every review. Weighting: {weging}. A tradesperson with no history starts at the neutral baseline of {neutraal}; the more signals become known, the more weight they carry and the further the score moves from that baseline. A single favourable signal is therefore not enough for a perfect score.","ovs_empty_jobs":"No jobs match your filter.","ovs_empty_owners":"No owners match your filter.","ovs_empty_pros":"No tradespeople match your filter.","ovs_empty_escalations":"No open escalations. Everything is running.","ovs_paused_badge":"Paused","ovs_drawer_timeline":"Timeline","ovs_drawer_owner":"Owner","ovs_drawer_property":"Property","ovs_drawer_pro":"Tradesperson","ovs_drawer_attempts":"Attempts","ovs_attempts_summary":"tradespeople approached","ovs_attempts_summary_one":"tradesperson approached","ovs_drawer_visit":"Survey & follow-up visit","ovs_visit_opname_at":"Survey submitted","ovs_visit_baseline":"Agreed price {amount}","ovs_visit_approved":"Owner approved","ovs_visit_rejected":"Owner rejected","ovs_visit_pending":"Waiting for the owner to decide","ovs_visit_followups":"follow-up visits scheduled","ovs_visit_followups_one":"follow-up visit scheduled","ovs_visit_repair_deadline":"Repair deadline","ovs_visit_paused":"Visit paused","ovs_drawer_fraud":"Invoice fraud check","ovs_intervene":"Intervene","ovs_act_reopen":"Reopen job","ovs_act_reroute":"Reroute manually","ovs_act_pause":"Pause owner","ovs_act_unpause":"Unpause","ovs_act_pause_pro":"Pause tradesperson","ovs_act_handle_fraud":"Close flag","ovs_fraud_handle_title":"Close fraud flag","ovs_fraud_handle_body":"The flag leaves the counter once you close it. Record what you established. This stays in the audit log. Closing has no automatic consequences for the tradesperson.","ovs_fraud_handled_by":"Closed by {door}","ovs_fraud_flag_handled":"Fraud flag closed","ovs_toast_fraud_handled":"Fraud flag closed.","ovs_act_resolve":"Resolve escalation","ovs_reopen_title":"Reopen job","ovs_reopen_body":"The job returns to the previous step. Reason (required):","ovs_reroute_title":"Reroute manually","ovs_reroute_body":"Pick a tradesperson from the pool. This overrides the matching advice.","ovs_reroute_none":"No tradesperson in the pool for these criteria. Widen or escalate.","ovs_reroute_confirm":"Assign","ovs_pause_title":"Pause owner","ovs_pause_body":"QR codes keep working, and new reports are kept. Reason (required):","ovs_pause_pro_title":"Pause tradesperson","ovs_pause_pro_body":"The tradesperson receives no new requests. Reason (required):","ovs_resolve_title":"Resolve escalation","ovs_resolve_body":"Close the escalation with a note.","ovs_toast_reopened":"Job reopened.","ovs_toast_rerouted":"Job reassigned.","ovs_toast_paused":"Owner paused.","ovs_toast_unpaused":"Unpaused.","ovs_toast_pro_paused":"Tradesperson paused.","ovs_toast_resolved":"Escalation resolved.","ovs_err":"The action could not be completed.","ovs_status_open":"Open","ovs_status_nieuw":"New","ovs_status_gediagnosticeerd":"Diagnosed","ovs_status_toegewezen":"Assigned","ovs_status_ingepland":"Scheduled","ovs_status_in_uitvoering":"In progress","ovs_status_wacht_op_akkoord":"Awaiting approval","ovs_status_factuur_ingediend":"Payment request submitted","ovs_status_afgerond":"Completed","ovs_status_geannuleerd":"Cancelled","ovs_esc_no_pro":"No tradesperson","ovs_esc_dispute":"Dispute","ovs_esc_sla_breach":"SLA breach","ovs_esc_payment_unconfirmed":"Payment unconfirmed (5+ business days)","ovs_esc_payment_overdue":"Payment overdue (2nd reminder sent)","ovs_sev_kritiek":"Critical","ovs_sev_urgent":"Urgent","ovs_sev_normaal":"Normal","ovs_sev_cosmetisch":"Cosmetic","ovs_sub_active":"Active","ovs_sub_trialing":"Trialing","ovs_sub_past_due":"Past due","ovs_sub_canceled":"Canceled","ovs_pro_onvolledig":"Application unfinished","ovs_pro_aangevraagd":"Applied","ovs_pro_goedgekeurd":"Approved","ovs_pro_gepauzeerd":"Paused","ovs_pro_afgewezen":"Rejected","mat_title":"Matching weights","mat_intro":"Tune how the pool is ranked per report. Changes apply to new reports only.","mat_invariant":"Weights must add up to 100%.","mat_weights_title":"Weights","mat_w_specialisation":"Specialisation","mat_w_specialisation_hint":"How much the required trade matches the tradesperson.","mat_w_region":"Region match","mat_w_region_hint":"Proximity and coverage of the property region.","mat_w_quality":"Quality score","mat_w_quality_hint":"The tradesperson’s track record and rating.","mat_w_rate":"Rate (€/h)","mat_w_rate_hint":"A lower hourly rate ranks higher.","mat_w_availability":"Availability","mat_w_availability_hint":"Open slots and prior knowledge of the property.","mat_total":"Total","mat_total_off":"must be 100%","mat_preview_title":"Live preview","mat_sample_label":"Sample report","mat_preview_empty":"No tradespeople to rank yet.","mat_preview_hint":"The pool re-ranks live as you drag. ▲▼ vs the saved weights.","mat_advanced":"Advanced","mat_adv_widen":"Region widen step","mat_adv_widen_hint":"How much to widen the radius when no tradesperson is found.","mat_adv_attempts":"Max attempts","mat_adv_attempts_hint":"Declines before the report escalates.","mat_adv_sla":"SLA bias","mat_adv_sla_hint":"More urgent reports widen faster.","mat_last_changed":"Last changed by","mat_never_changed":"Never changed. Factory default.","mat_diff_default":"Differs from default","mat_is_default":"At default","mat_reset":"Reset to default","mat_save":"Save","mat_cancel":"Cancel","mat_confirm_title":"Save matching weights?","mat_confirm_body":"This applies to new reports immediately. Existing jobs stay unchanged.","mat_toast_saved":"Matching weights saved.","mat_err":"The weights could not be saved.","mat_err_sum":"Weights must add up to 100%.","brein_title":"The brain","brein_intro":"What the brain has learned so far, and how it may apply that knowledge.","brein_vital_klussen":"Jobs learned from","brein_vital_nauwkeurigheid":"Accuracy","brein_vital_nauwkeurigheid_hint":"Estimates within margin · n={n} jobs","brein_vital_nauwkeurigheid_leeg":"No completed jobs to check against yet.","brein_te_weinig_data":"Too little data (n={n})","brein_te_weinig_data_hint":"We show a percentage here from {min} jobs onwards.","brein_sample_voorlopig":"provisional","brein_vital_correcties":"Manual corrections","brein_vital_correcties_hint":"Set by hand, overriding the default","brein_vital_lussen":"Loops being applied","brein_feed_title":"Just learned","brein_feed_empty":"No completed jobs to learn from yet.","brein_feed_item":"Learned from a job ·","brein_cold_start":"Still learning. No jobs yet.","brein_cold_start_fraudepatroon":"Still learning. Waiting for your verdict.","brein_cold_start_fraudepatroon_uitleg":"The fraud check does run. This memory only starts learning once you judge a checked invoice: “Accurate” or “False alarm”.","brein_cold_start_kosten":"Still learning. No reference point yet.","brein_cold_start_kosten_uitleg":"There are completed jobs, but no usable measurement yet: a job only counts once the fraud check finds no high risk. If the fraud check flagged the only job so far as high risk, it's excluded from cost calibration.","brein_metriek_kosten":"avg. €{bedrag} per job (incl. VAT) · {uren} h labour · n={n}","brein_metriek_accuracy":"bias {bias}% · {marge}% within margin","brein_metriek_seizoen":"{defect} · {maand} · {aantal} reports","brein_metriek_seizoen_1":"{defect} · {maand} · {aantal} report","brein_metriek_seizoen_klussen":"{defect} · {maand} · {aantal} completed jobs","brein_metriek_seizoen_klussen_1":"{defect} · {maand} · {aantal} completed job","brein_metriek_woningrisico":"risk {risico}{defectSuffix}","brein_metriek_monteur":"score {score} · {klussen} jobs","brein_metriek_monteur_1":"score {score} · {klussen} job","brein_metriek_fraude":"{bevestigd} confirmed · {vals} false alarm","brein_metriek_regio":"{region} · avg. €{bedrag} per job · {vraag} reports","brein_metriek_regio_1":"{region} · avg. €{bedrag} per job · {vraag} report","brein_metriek_regio_zonder_prijs":"{region} · no price benchmark yet · {vraag} reports","brein_metriek_regio_zonder_prijs_1":"{region} · no price benchmark yet · {vraag} report","brein_sample_count":"Sample","brein_mode_legend":"Apply mode","brein_mode_uit":"Off","brein_mode_auto":"Auto above N","brein_mode_altijd":"Always","brein_toast_saved":"Correction setting saved.","brein_err":"The correction setting could not be saved.","brein_loop_kosten":"Cost calibration","brein_loop_zelfkalibratie":"Self-calibration","brein_loop_seizoen":"Seasonal patterns","brein_loop_woningrisico":"Property risk","brein_loop_monteurbetrouwbaarheid":"Tradesperson reliability","brein_loop_fraudepatroon":"Fraud pattern","brein_loop_regiomarkt":"Regional market","brein_regio_title":"Regional market","brein_regio_empty":"No regional data yet.","brein_regio_bijschrift":"Average invoice total per completed job (incl. VAT) and the number of reports in that region.","brein_regio_col_regio":"Region","brein_regio_col_bedrag":"Avg. amount","brein_regio_col_vraag":"Demand","brein_toestand_gezond":"Healthy","brein_toestand_leert":"Still learning","brein_toestand_uit":"Turned off","brein_toestand_hapert":"Struggling","brein_module_diagnose":"Diagnosis","brein_module_fraudecheck":"Fraud check","brein_module_vertaling":"Translation","brein_module_screening":"Screening","brein_module_scorecard":"Scorecard","brein_module_typeplaatje":"Data plate reader","brein_module_matching":"Matching","brein_web_title":"Connections","brein_web_aanroepen":"called {n}×","brein_web_geen_meetbron":"No measurement source","brein_web_legenda_gevuld":"Filled = healthy, actively contributing","brein_web_legenda_halfvol":"Half-filled, dashed = still gathering experience","brein_web_legenda_hol":"Hollow = turned off","brein_web_legenda_alarmring":"Red ring = struggling","brein_web_glance_gezond":"healthy","brein_web_glance_leert":"still learning","brein_web_glance_uit":"turned off","brein_paneel_leeg":"Click a node in the web to see the details.","brein_paneel_leeg_overzicht":"At a glance","brein_paneel_ijkpunten_titel":"Reference points","brein_paneel_ijkpunten_leeg":"No cost reference points yet.","brein_ijkpunt_bron_zelf":"self-measured","brein_ijkpunt_bron_leeg":"not enough data yet","brein_ijkpunt_bron_mens":"by you · self-measured €{gemeten}","brein_ijkpunt_bron_mens_leeg":"by you · not enough data yet","brein_ijkpunt_intrekken":"Revert","brein_ijkpunt_bewerk_aria":"Adjust reference point {label}","brein_ijkpunt_bedrag_aria":"New amount","brein_ijkpunt_opslaan_aria":"Save new amount","brein_ijkpunt_toast_saved":"Reference point adjusted.","brein_ijkpunt_toast_ingetrokken":"Reference point reset to the measured value.","brein_ijkpunt_err":"The reference point could not be adjusted.","brein_paneel_recente_klussen_titel":"Recent jobs","brein_paneel_recente_klussen_leeg":"No recent jobs to show yet.","brein_klus_uitsluiten":"Exclude","brein_klus_uitgesloten":"Excluded","brein_klus_uitsluiten_definitief":"Withdrawing recalculates the affected memories, including this job.","brein_klus_uitsluiten_bevestig":"Exclude this job from this memory?","brein_klus_uitsluiten_reden_label":"Reason (optional)","brein_klus_uitsluiten_ja":"Yes, exclude","brein_klus_uitsluiten_annuleren":"Cancel","brein_klus_uitsluiten_intrekken":"Withdraw","brein_uitsluiten_toast":"Job excluded from the brain.","brein_uitsluiten_toast_ingetrokken":"Exclusion withdrawn. The job counts again.","brein_uitsluiten_err":"The job could not be excluded.","brein_paneel_instructies_titel":"Feed the brain","brein_paneel_instructies_leeg":"No instructions given yet.","brein_instructie_placeholder":"E.g.: prices in Estepona run about 10% higher, factor that in.","brein_instructie_tekst_aria":"Instruction for the brain","brein_instructie_vertel_knop":"Tell it something","brein_instructie_geef_door":"Pass it on","brein_instructie_bevestiging":"Passed on. The brain stores this as an instruction from you, with a stamp, so it's always traceable and can be withdrawn.","brein_instructie_intrekken":"Withdraw","brein_instructie_stempel":"by you · {datum}","brein_instructie_limiet_bereikt":"Maximum of 5 active instructions reached, withdraw one first.","brein_instructie_toast_saved":"Instruction passed on.","brein_instructie_toast_ingetrokken":"Instruction withdrawn.","brein_instructie_err":"The instruction could not be saved.","brein_instructie_limiet_err":"A maximum of 5 instructions can be active at once.","brein_paneel_geleerd":"What it has learned","brein_paneel_activiteit":"What it did","brein_paneel_laatste":"Last measurement","brein_paneel_stukgaat":"What breaks if you turn this off","brein_paneel_stukgaat_leeg":"Doesn't feed any module directly right now.","brein_paneel_nooit":"Never run yet.","brein_paneel_laatste_poging":"Last attempt","brein_paneel_laatste_succes":"Last successful measurement","brein_paneel_geen_succes":"never","brein_paneel_reden_uit":"Turned off. A person set it this way.","brein_paneel_reden_hapert":"Struggling. The last measurement failed.","brein_paneel_reden_fouten":"{n} failed attempts in a row","brein_paneel_reden_fouten_1":"{n} failed attempt in a row","brein_paneel_reden_leert":"Still learning. {n} of {drempel} needed.","brein_paneel_reden_gezond":"Active. The correction reaches the modules it feeds.","brein_paneel_module_gezond":"Running healthy. No failed calls measured.","brein_paneel_module_hapert":"Struggling. {mislukt} of {aanroepen} calls failed.","brein_paneel_module_geen_meetbron":"No measurement. This module doesn't record anything yet.","brein_paneel_module_activiteit":"Calls: {aanroepen} · Failed: {mislukt}","brein_paneel_module_model":"model: {model}","brein_paneel_leert_titel":"Where it learns from","brein_paneel_leert_leeg":"Works directly on the report. No other part feeds this back.","brein_paneel_stuurt_in_titel":"Feeds into","brein_paneel_stuurt_in_leeg":"Doesn't drive any other part right now.","brein_paneel_stukgaat_lijst":"These parts would then miss this input: {lijst}","brein_paneel_meebeslissen_titel":"Have a say","brein_paneel_module_vast":"Can't be turned off. This part runs on every report.","brein_paneel_regiomarkt_vast":"This is a derived view with no switch of its own. It follows automatically from repair costs and the number of reports per region.","brein_paneel_feed_title":"What just happened","brein_paneel_feed_empty":"No events yet. The brain is just starting to learn.","brein_event_kosten":"Repair cost recalibrated for {defect}{regio}","brein_event_zelfkalibratie":"Self-estimate recalibrated for {defect}{regio}","brein_event_monteurbetrouwbaarheid":"Reliability recalibrated for {monteur}","brein_event_monteurbetrouwbaarheid_onbekend":"Reliability recalibrated for the tradesperson","brein_event_seizoen":"Seasonal pattern updated for {defect} in {maand}","brein_event_seizoen_voorna":"Reports this month: {voor} → {na}","brein_event_woningrisico":"Property risk updated for {woning}","brein_event_fraudepatroon":"Fraud pattern recalibrated for {categorie}","brein_event_stand":"You set {loop} to {mode}","brein_event_door_jou":"by you","brein_event_ijkpunt":"Reference point adjusted for {defect}{regio}","brein_event_ijkpunt_intrekken":"Reference point reset to the measured value for {defect}{regio}","brein_event_uitsluiten":"You excluded a job — {defect} at {woning}","brein_event_uitsluiten_intrekken":"You withdrew an exclusion — {defect} at {woning}","brein_event_instructie":"You gave {knoop} an instruction: \"{tekst}\"","brein_event_instructie_intrekken":"You withdrew an instruction for {knoop}","brein_reis_regie_titel":"Follow the latest report","brein_reis_start_label":"Follow the latest report through the brain","brein_reis_intro":"See what this report does inside the brain, from report to memory.","brein_reis_stap_van":"Step {n} of {totaal}","brein_reis_opnieuw":"Watch again?","brein_reis_geen_titel":"No report to follow yet","brein_reis_geen_uitleg":"As soon as a report comes in, you can follow it here step by step.","brein_reis_melding":"A report comes in at {woning}.","brein_reis_diagnose":"The diagnosis recognises {defecttype}.","brein_reis_raming":"Cost estimate: €{min}–€{max}.","brein_reis_matching":"{monteur} is proposed as the tradesperson.","brein_reis_vertaling":"The diagnosis is now translated into {aantal} languages.","brein_reis_vertaling_1":"The diagnosis is now translated into {aantal} language.","brein_reis_factuur":"The invoice comes in: €{bedrag}.","brein_reis_fraudecheck":"Fraud check: {risico}.","brein_reis_geleerd":"The brain learns from this. {aantal} events recorded for this job.","brein_reis_wacht":"Here it's waiting. This hasn't happened yet.","aud_title":"Audit log","aud_intro":"Who · when · from → to. Read-only record of every change.","aud_search":"Search by actor, ref or action…","aud_clear":"Clear","aud_export":"Export CSV","aud_date_from":"From date","aud_date_to":"To date","aud_filter_actor":"Actor type","aud_filter_entity":"Entity","aud_filter_from":"From status","aud_filter_to":"To status","aud_actor_admin":"admin","aud_actor_owner":"owner","aud_actor_pro":"tradesperson","aud_actor_guest":"guest","aud_actor_system":"System","aud_actor_unrecorded":"Not recorded","aud_ent_job":"job","aud_ent_owner":"owner","aud_ent_pro":"tradesperson","aud_ent_matching":"matching","aud_ent_report":"report","aud_status_ingelogd":"Logged in","aud_status_uitgelogd":"Signed out","aud_status_geweigerd":"Denied","aud_status_impersonation":"Impersonation","aud_status_cron":"Scheduled task","aud_status_pool_building":"Pool building","aud_status_pool_live":"Pool live","aud_status_none":"No appointment","aud_status_voorgesteld":"Proposed","aud_status_bevestigd":"Confirmed","aud_status_profile":"Profile","aud_status_plan":"Plan","aud_status_open":"Open","aud_status_resolved":"Resolved","aud_status_tuned":"Matching settings","aud_status_config":"Platform settings","aud_status_fraudevlag_open":"Fraud flag open","aud_status_fraudevlag_afgehandeld":"Fraud flag resolved","aud_status_fraudecheck_schoon":"Fraud check clear","aud_status_ontvangst_bevestigd":"Receipt confirmed","aud_status_mfa_actief":"MFA active","aud_status_mfa_gereset":"MFA reset","aud_status_niet_geverifieerd":"Not verified","aud_status_geverifieerd":"Verified","aud_status_herscreening":"Re-screening","aud_col_time":"Time","aud_col_actor":"Actor","aud_col_action":"Action","aud_col_transition":"From → To","aud_col_ref":"Ref","aud_col_details":"Details","aud_csv_role":"Role","aud_csv_actor_raw":"Actor (as recorded)","aud_csv_role_raw":"Role (as recorded)","aud_row_toggle":"Show details","aud_exp_before":"Before","aud_exp_after":"After","aud_exp_reason":"Reason","aud_exp_no_reason":"No reason","aud_exp_origin":"Origin","aud_note_accepted":"Request accepted","aud_note_payment_confirmed":"Payment mutually confirmed","aud_note_payment_confirmed_owner":"Payment confirmed by owner","aud_note_visit_done":"Visit completed","aud_note_invoice_submitted":"Invoice submitted","aud_note_job_started":"Job started","aud_note_accept_sla_expired":"Acceptance SLA expired: no outstanding offers were accepted in time.","aud_note_all_declined":"All invited tradespeople declined or did not accept.","aud_note_receipt_unconfirmed":"Owner paid; the tradesperson did not confirm receipt within 5 business days.","aud_note_second_reminder":"Second payment reminder sent; the owner has not paid yet.","aud_empty_filter":"No events match these filters.","aud_empty_none":"No activity logged yet.","aud_empty_date_inverted":"\"To date\" is before \"From date\". Swap the range around.","aud_showing":"Showing","aud_showing_none":"No events.","aud_of":"of","aud_retention":"Retained per policy.","aud_load_older":"Load older","aud_rel_now":"just now","aud_rel_m":"m ago","aud_rel_h":"h ago","aud_rel_d":"d ago","app_nav_section":"Manage","app_nav_dashboard":"Dashboard","app_nav_properties":"Properties","app_nav_reports":"Reports","app_nav_maintenance":"Maintenance","app_nav_maintenance_short":"Maintenance","app_nav_vakmannen":"Tradespeople","app_nav_documents":"Documents","app_nav_settings":"Settings","app_plan_label":"{name} plan","app_plan_usage":"properties in use","app_set_tab_profile":"Profile","app_set_tab_language":"Language","app_set_tab_notifications":"Notifications","app_set_tab_subscription":"Subscription","app_set_tab_privacy":"Privacy","app_set_name":"Name","app_set_email":"Email","app_set_email_managed":"Managed via your login. Contact support to change it.","app_set_email_title":"Change email address","app_set_email_desc":"You sign in with this address. After saving we send a confirmation link to your new address; the change only takes effect once you confirm it.","app_set_email_current":"Current email address","app_set_email_new":"New email address","app_set_email_pw_label":"Current password","app_set_email_submit":"Send confirmation link","app_set_email_sent":"We sent a confirmation link to your new address. Click it to complete the change.","app_set_email_changed":"Your email address has been changed.","app_set_email_err_pw":"That password is incorrect.","app_set_email_err_invalid":"Enter a valid email address.","app_set_email_err_same":"That is already your current email address.","app_set_email_err_rate":"Too many attempts. Try again in a minute.","app_set_email_err_generic":"Something went wrong. Please try again later.","app_set_email_err_callback":"The confirmation link is invalid or expired. Request a new change.","app_fiscaal_title":"Invoice details","app_fiscaal_help":"Needed so the tradesperson can send you a correct invoice.","app_fiscaal_name_label":"Name / company name","app_fiscaal_nif_label":"Tax ID (NIF/NIE)","app_fiscaal_address_label":"Fiscal address","app_new_fiscal_hint":"Without these details a tradesperson cannot send you a payment request. You can also fill them in later under Settings.","app_set_change_password":"Change password","app_set_save":"Save","app_set_cancel":"Cancel","app_set_saved":"Preferences saved","app_set_save_err":"Could not save. Please try again.","app_set_lang_title":"Language","app_set_lang_sub":"Sets your interface language and the language of the guidance.","app_set_notif_title":"Notifications","app_set_notif_sub":"Choose how you want to be notified for each event.","app_set_notif_email":"Email","app_set_notif_inapp":"In-app","app_set_notif_push":"Push","app_set_notif_push_na":"Not available as push","app_set_notif_new_report":"New report","app_set_notif_request_update":"Request update","app_set_notif_invoice":"Invoice received","app_set_notif_fraud_alert":"Fraud alert","app_set_notif_report_ready":"Diagnosis and report ready","push_nieuwe_melding_titel":"New report","push_nieuwe_melding_tekst":"A guest reported a fault at your property.","push_diagnose_klaar_titel":"Diagnosis ready","push_diagnose_klaar_tekst":"The diagnosis is ready. See what the job needs.","push_akkoord_gevraagd_titel":"Your approval is needed","push_akkoord_gevraagd_tekst":"The job turned out bigger than planned. Review the proposal.","push_betaalverzoek_titel":"Payment request ready","push_betaalverzoek_tekst":"A payment request is waiting for you. Review and pay.","push_nieuwe_opdracht_titel":"New request","push_nieuwe_opdracht_tekst":"A new request is waiting for you. Respond before it expires.","push_afspraak_bevestigen_titel":"Confirm your appointment","push_afspraak_bevestigen_tekst":"An appointment is waiting for your confirmation.","push_afspraak_herinnering_titel":"Appointment coming up","push_afspraak_herinnering_tekst":"You have an appointment soon. Check the time and access.","push_aanzet_kop":"Turn on notifications","push_aanzet_tekst":"So you know right away when a guest reports something or something is waiting for you.","push_aanzet_knop":"Turn on notifications","push_aanzet_bevestigd":"Notifications are on.","push_aanzet_fout":"Turning them on did not work. Try again.","push_geweigerd_uitleg":"You have blocked notifications. Turn them back on in your phone settings.","push_apparaat_titel":"Notifications on this device","push_apparaat_sub":"You get a notification as soon as something is waiting for you.","app_set_abo_usage":"Properties in use","app_set_abo_of":"of","app_set_abo_manage":"Manage subscription","app_set_abo_change_plan":"Change plan","app_set_abo_trial_until":"trial until","app_set_abo_stripe_mock":"Subscription management opens once billing is connected.","app_set_abo_portal_unavailable":"Subscription management is not available yet.","app_set_abo_status_active":"Active","app_set_abo_status_trialing":"Trial","app_set_abo_status_past_due":"Payment due","app_set_abo_status_canceled":"Expired","app_set_abo_status_building":"Not started","app_set_abo_pool_note":"Free while we build the pool in your region. Your trial starts automatically once it goes live.","app_set_abo_pool_note_activate":"Free while we build the pool in your region. Your trial only starts once the pool is live and you activate it yourself.","app_set_abo_reactivate":"Reactivate","app_set_abo_start":"Start subscription","app_set_abo_trial_days_left":"{n} days left in your trial","app_set_abo_trial_ends":"ends on","app_trial_banner_title":"Your free trial is running","app_trial_banner_body":"{n} days left. Your plan starts automatically afterwards. Cancel anytime.","app_set_abo_expired_title":"Your subscription has expired.","app_set_abo_expired_body":"We keep everything. Reactivate whenever you like. New reports still come in, but their content is locked.","app_set_abo_pastdue_title":"Payment failed.","app_set_abo_pastdue_body":"Update your card to keep full access. Your data stays safe in the meantime.","app_set_locked_title":"Reactivate to view","app_set_locked_body":"New reports keep coming in while expired, but their content is locked. Your history stays readable and your QR codes keep working.","app_set_locked_preview_meta":"New report · content locked","app_set_privacy_title":"Your data","app_set_retention":"We keep guest report data for 24 months, then anonymise it. You can export or delete your account at any time.","app_set_export":"Export my data","app_set_export_json":"Export machine-readable (JSON)","app_set_export_json_hint":"The PDF is a readable summary. The JSON file holds everything: properties, reports, diagnoses, messages, appointments, costs and reviews, plus download links to your photos and documents that stay valid for 24 hours. On a very large portfolio the export stops at 200 reports and 500 files, and says so inside the file.","app_export_pdf_title":"Data export","app_export_pdf_generated":"Generated on","app_export_pdf_account":"Account","app_export_pdf_name":"Name","app_export_pdf_email":"Email","app_export_pdf_language":"Language","app_export_pdf_plan":"Plan","app_export_pdf_status":"Status","app_export_pdf_member_since":"Member since","app_export_pdf_properties":"Properties","app_export_pdf_reports":"Reports","app_export_pdf_invoices":"Invoices","app_export_pdf_created":"Created","app_export_pdf_none":"None","app_export_pdf_report_untitled":"Report without description","app_export_pdf_footer":"This export contains the personal data Contratista holds about you (GDPR art. 15/20).","pdf_footer_page":"Page {x} of {y}","pdf_footer_generated":"Generated on {date}","pdf_footer_confidential":"Contratista · confidential","app_set_delete_title":"Delete account","app_set_delete_body":"Permanently removes your account and properties. Guest reports are anonymised, not deleted (retention). This cannot be undone.","app_set_delete_cta":"Delete my account","app_set_delete_confirm_intro":"This is permanent. To confirm, type the word below.","app_set_delete_confirm_label":"Type","app_set_delete_final":"Delete permanently","app_set_delete_confirm_err":"Confirmation word did not match.","app_loading":"Loading…","app_dash_title":"Dashboard","app_dash_greeting":"Good day","app_dash_greeting_morning":"Good morning","app_dash_greeting_afternoon":"Good afternoon","app_dash_greeting_evening":"Good evening","app_dash_categories":"By category · all time","app_dash_kpi_open":"Open reports","app_dash_kpi_open_urgent":"urgent","app_dash_kpi_wacht_akkoord":"awaiting your approval","app_dash_kpi_resolved":"Resolved this month","app_dash_kpi_avgdays":"Avg. resolution","app_dash_kpi_avgdays_note":"fewer actions, faster resolution","app_dash_kpi_spend":"Maintenance · this quarter","app_dash_urgent_view":"View","app_dash_firststep_title":"Put up the QR code","app_dash_firststep_body":"Your property is ready. Print the QR code and put it up somewhere visible. After that your guest reports a problem with a single scan.","app_dash_firststep_cta":"Download the print PDF","app_dash_firststep_alt":"Go to the property","app_dash_calm_title":"All calm.","app_dash_calm_body":"No open reports. We’ll let you know the moment something comes in.","app_dash_open_one":"1 open report","app_dash_open_many":"{n} open reports","app_dash_open_body":"See what needs doing and assign a tradesperson.","app_dash_attention":"Needs your attention","app_dash_diagnosis":"Diagnosis","app_dash_view_report":"View report","app_dash_assign":"Assign","app_dash_decide":"Review the request","app_dash_recent":"Recent activity","app_dash_recent_all":"All","app_dash_properties":"Your properties","app_dash_open_pill":"open","app_dash_empty_spend":"No spend data to show yet.","app_dash_empty_categories":"No cost categories yet.","app_dash_empty_activity":"No activity yet.","app_dash_paid_at":"Payment registered {datum}","app_dash_insight_pattern_title":"A pattern worth noting","app_dash_insight_pattern_body":"{defect} recurred across {woningen} properties ({meldingen} reports). A targeted check can prevent recurring costs.","app_dash_insight_asset_title":"Maintenance on the horizon","app_dash_insight_asset_over_body":"A {kind} ({leeftijd}/{levensduur} years) is past its expected lifespan. Replacing it in time prevents breakdowns.","app_dash_insight_asset_near_body":"A {kind} ({leeftijd}/{levensduur} years) is nearing the end of its lifespan. Replacing it in time prevents breakdowns.","app_onboard_welcome":"Welcome.","app_onboard_sub":"Add one property and your QR code works instantly. Guests can report right away.","app_onboard_cta":"Add your first property","app_onboard_cl_title":"Ready for your first report","app_onboard_cl_sub":"Your account is set. The rest is lined up below.","app_onboard_cl_progress":"{done} of {total} done","app_onboard_cl_s1":"Account created","app_onboard_cl_s2":"Add your first property","app_onboard_cl_s3":"Put up the QR card","app_onboard_cl_s3_sub":"Download the card and put it somewhere logical in the property.","app_onboard_cl_s3_dl":"Download the QR card","app_onboard_cl_s4":"Try the instant diagnosis","app_onboard_cl_s5":"Your first report comes in","app_onboard_cl_s5_sub":"Happens by itself: once the card is up, anyone in the property can report right away.","app_onboard_cl_hide":"Hide this list","app_onboard_empty_title":"No properties yet","app_onboard_empty_sub":"Enter the address. The QR code is generated automatically.","app_new_title":"Add property","app_new_step1_title":"Property basics","app_new_step2_title":"Appliances","app_new_step3_title":"QR ready","app_new_name":"Name","app_new_name_ph":"E.g. Villa Azahar","app_new_optional":"(optional)","app_new_next_hint":"Enter a name to continue.","app_new_region":"Area","app_new_region_none":"Pick an area","app_new_reden_address":"Decides which tradespeople we can send.","app_new_reden_type":"Sharpens the assessment of the fault.","app_new_reden_photos":"Makes the card on your dashboard recognisable.","app_new_reden_assets":"With the brand and year on file, a report about that appliance gets a sharper diagnosis and its own repair history.","app_new_address":"Address","app_new_address_ph":"Start typing, e.g. Calle Larios, Málaga","app_new_address_hint":"Preferably pick an address from the suggestions. Costa del Sol only for now. You can also add the address later.","app_new_address_chosen":"Address filled in. Adjust the fields above if anything is off.","app_new_address_none":"No addresses found on the Costa del Sol.","app_new_address_error":"Address search is unavailable right now. Fill in the fields below manually.","app_new_type":"Type","app_new_type_none":"No type","app_new_type_villa":"Villa","app_new_type_apartment":"Apartment","app_new_type_studio":"Studio","app_new_type_house":"House","app_new_photos":"Photos","app_new_access":"Access info","app_new_access_ph":"Key safe code or contact person + phone","app_new_access_hint":"Only tradespeople you assign can see this info.","app_new_lockbox_label":"Key safe code","app_new_lockbox_ph":"E.g. 4729 — the code of the lockbox by the door","app_new_lockbox_hint":"Enter the code so a tradesperson can let themselves in when nobody is home. Only visible to tradespeople you assign.","app_new_assets_toggle":"Add appliances (boiler, AC…)","app_meld_status_geen_app":"You get no notification when a fault is reported. Contratista has to be on your home screen before we can send them.","app_meld_status_geen_app_mail":"A new report reaches you by email. Put Contratista on your home screen and your phone tells you the moment it happens.","app_meld_status_geen_push":"Notifications are off. Turn them on and you hear about it straight away.","app_meld_status_geen_push_mail":"Push notifications are off. A new report only reaches you by email. Turn them on and you hear about it straight away.","app_meld_status_onmogelijk":"No notification will reach you: this device does not allow them. Turn them on in your phone settings, or check in yourself now and then.","app_meld_status_onmogelijk_mail":"This device does not allow push notifications. A new report only reaches you by email. To get them anyway, turn them on in your phone settings.","app_meld_status_aanzetten":"Turn on","app_meld_status_laat":"This report came in {uren} hours ago.","app_meld_status_laat_dagen":"This report came in {dagen} days ago.","app_start_s1_title":"How Contratista works","app_start_s1_a":"Your guest scans the QR code in the property.","app_start_s1_b":"You get a notification, with a diagnosis attached.","app_start_s1_c":"A tradesperson turns up at the door.","app_start_s2_title":"Add Contratista to your home screen","app_start_s2_body":"Notifications can only reach the app on your home screen. Without that step, you have to come and check for yourself.","app_start_s2_optioneel":"This step is optional. Contratista works in the browser too, and adding it to the home screen can wait until later.","app_start_s2_desktop":"Contratista belongs on your phone. Scan this code to open it there.","app_start_s2_later":"Later. I'll check for myself","app_start_s3_title":"Your first property","app_start_s3_body":"Add a property and you get the QR code your guest scans right away.","app_start_s3_cta":"Add property","app_start_next":"Next","app_typeplaatje_cta":"Photograph the data plate","app_typeplaatje_bezig":"Reading…","app_typeplaatje_gelukt":"Read it. Check that it is right.","app_typeplaatje_mislukt":"The plate cannot be read. Fill it in yourself.","app_new_asset_kind":"Type","app_new_asset_kind_ph":"boiler, AC…","app_new_asset_brand":"Brand","app_new_asset_year":"Year","app_new_asset_add_first":"Add appliance","app_new_asset_add":"Another appliance","app_new_asset_remove":"Remove","app_asset_kind_ketel":"Boiler","app_asset_kind_boiler":"Water heater","app_asset_kind_airco":"Air conditioning","app_asset_kind_warmtepomp":"Heat pump","app_asset_kind_vaatwasser":"Dishwasher","app_asset_kind_wasmachine":"Washing machine","app_asset_kind_oven":"Oven","app_asset_kind_koelkast":"Fridge","app_new_back":"Back","app_new_next":"Next","app_new_skip":"Skip","app_new_submit":"Create property","app_new_submitting":"Creating…","app_new_err_name":"Give the property a name.","app_new_err_name_long":"That property name is too long (120 characters max).","app_new_err_limit":"Your plan’s property limit has been reached. Upgrade to add more.","app_new_err_generic":"Could not create. Please try again.","app_new_err_region":"That address is outside the Costa del Sol. For now v2 only works there.","app_new_err_asset_year":"Under Year, enter a valid year of installation — four digits, e.g. 2019 — or leave the field empty.","app_new_done_title":"Your QR code is ready.","app_new_done_body":"Put it up visibly in the property. Guests scan and report without an account.","app_new_done_code":"Property code","app_new_done_download":"Download QR","app_new_done_dashboard":"Go to dashboard","app_new_done_scan":"Try the instant diagnosis now","app_new_done_scan_sub":"Your property is ready. See in 30 seconds how a fault gets diagnosed.","app_new_street":"Street + number","app_new_street_ph":"E.g. Calle Larios 5","app_new_street_no_number":"No house number. Add it so the tradesperson can find the address.","app_new_postal":"Postal code","app_new_postal_ph":"E.g. 29005","app_new_city":"City","app_new_city_ph":"E.g. Málaga","app_new_address_search":"Quick address search","app_new_photos_existing":"Current photos","app_edit_title":"Edit property","app_edit_save":"Save changes","app_edit_saving":"Saving…","app_edit_saved":"Changes saved.","app_edit_err_generic":"Saving failed. Please try again.","app_edit_photo_remove":"Remove photo","app_edit_photo_alt":"Photo {n} of {total}","app_edit_photo_remove_n":"Remove photo {n} of {total}","app_prop_add":"Add property","app_prop_search_ph":"Search name or address…","app_prop_clear":"Clear search","app_prop_all_regions":"All regions","app_prop_all_status":"All statuses","app_prop_all_types":"All types","app_prop_filter_status":"Status","app_prop_group":"Group","app_prop_group_none":"No grouping","app_prop_group_region":"By region","app_prop_group_status":"By status","app_prop_view_grid":"Grid","app_prop_view_list":"List","app_prop_view_aria":"View","app_prop_no_region":"No region","app_prop_status_open":"Has open report","app_prop_status_calm":"Calm","app_prop_count":"properties","app_prop_count_one":"property","app_prop_with_open":"with an open report","app_prop_selected":"selected","app_prop_select_all":"Select all","app_prop_batch_qr":"Download QR codes","app_prop_batch_qr_one":"Download QR code","app_prop_col_property":"Property","app_prop_col_region":"Region","app_prop_col_type":"Type","app_prop_col_open":"Open","app_prop_col_activity":"Last activity","app_prop_col_qr":"QR","app_prop_error_title":"Could not load properties","app_prop_error_body":"Something went wrong loading your properties. Please try again.","app_prop_error_retry":"Try again","app_prop_empty_title":"No properties yet","app_prop_empty_body":"Add your first property and your QR code works instantly.","app_prop_empty_filter_title":"No properties match","app_prop_empty_filter_body":"No properties match these filters.","app_prop_clear_filters":"Clear filters","app_prop_batch_title":"Download QR codes","app_prop_batch_title_one":"Download QR code","app_prop_batch_body":"One sheet with all {n} QR codes. Ready to print to PDF.","app_prop_batch_body_one":"One sheet with this property’s QR code. Ready to print to PDF.","app_prop_batch_confirm":"Open print sheet","app_prop_limit_title":"Property limit reached","app_prop_limit_body":"Your current plan covers {n}. Upgrade your subscription to add more.","app_prop_limit_body_start":"Your current plan covers {n}. Start your subscription to add more.","app_prop_limit_cta":"Upgrade subscription","app_prop_edit":"Edit","app_prop_delete":"Delete property","app_prop_delete_title":"Delete this property?","app_prop_delete_body":"Delete “{name}”? Its QR code stops working and the history is removed. This cannot be undone.","app_prop_err_notfound":"Property not found.","app_prop_err_active_reports":"This property still has open reports. Complete or cancel them before deleting the property.","app_prop_qr_svg":"Download QR","app_prop_qr_print":"Print QR","app_prop_qr_filename":"qr-card","app_prop_meldlink_title":"Report link","app_prop_meldlink_body":"The same page as the QR code, but ready to send. Handy for your guest or cleaner.","app_prop_meldlink_copy":"Copy link","app_prop_meldlink_copied":"Link copied","app_prop_meldlink_share":"Send link","app_prop_access_empty":"No access info added yet.","prop_access_label":"Who opens the door?","prop_access_bewoner":"Guest provides access","prop_access_eigenaar":"I will arrange access myself","prop_entry_label":"How does the tradesperson get in?","prop_entry_bewoner_aanwezig":"Guest opens the door","prop_entry_kluisje":"Lockbox","prop_entry_sleutel_ophalen":"Pick up the key","prop_entry_eigenaar_aanwezig":"I or the manager opens","prop_entry_hint":"Default for new reports; adjustable per appointment.","report_access_override":"Access for this report","report_access_inherit":"Default (property setting)","app_prop_tab_data":"Details","app_prop_tab_access":"Access","app_prop_tab_assets":"Appliances","app_prop_tab_calendars":"Calendar","app_prop_tab_history":"History","app_prop_fact_reports":"Reports this year","app_prop_fact_avgcost":"Avg. cost / job","app_prop_fact_topdefect":"Most common fault","app_prop_fact_activity":"Last activity","app_prop_assets_empty_title":"No appliances yet","app_prop_assets_empty_body":"Add appliances so the history grows per device.","app_prop_assets_empty_cta":"Add appliances","app_prop_asset_repairs":"repairs","app_prop_asset_advice":"{kind} — {n}th repair, consider replacing.","app_prop_history_empty_title":"No reports for this property","app_prop_history_empty_body":"No reports yet. And we’d like to keep it that way.","app_prop_photos_title":"Photos","app_prop_photos_empty":"No photos for this property yet.","app_prop_gallery_group":"Property photos","app_prop_gallery_close":"Close","app_prop_gallery_prev":"Previous","app_prop_gallery_next":"Next","app_prop_gallery_viewer":"Photo viewer","app_status_new":"Reported","app_status_diagnosed":"Diagnosed","app_status_awaiting_approval":"Awaiting approval","app_status_approved":"Approved","app_status_assigned":"Assigned","app_status_ingepland":"Scheduled","app_status_accepted":"Accepted","app_status_inprogress":"In progress","app_status_invoiced":"Invoice submitted","app_status_invoiced_owner":"Waiting for your payment","app_status_payment_requested":"Payment request submitted","app_status_done":"Completed","app_status_cancelled":"Cancelled","app_status_rejected":"Rejected","app_status_reopened":"Reopened","app_status_escalated":"Escalated","app_sev_critical":"Critical","app_sev_urgent":"Urgent","app_sev_normal":"Normal","app_sev_cosmetic":"Cosmetic","app_defect_leak":"Leak","app_defect_pressure":"Pressure fault","app_defect_boiler":"Boiler","app_defect_drain":"Drain","app_defect_electrical":"Electrical","app_defect_structural":"Structural","app_defect_other":"Other","app_trade_plumber":"Plumber","app_trade_electrician":"Electrician","app_trade_boiler":"Boiler engineer","app_trade_roofer":"Roofer","app_trade_painter":"Painter","app_trade_general":"General","app_ai_advice":"Advice","app_ai_advice_hint":"Guidance, not a verdict. You decide. Contratista is not liable for the work.","app_ai_auto":"automated","app_report_diag_at_intake":"Diagnosis at the time of the report","app_report_diag_past_note":"This describes the situation as it was reported on {datum}, not how things stand now.","app_timeline_done":"completed","app_timeline_current":"current","app_timeline_future":"upcoming","app_timeline_skipped":"not applicable","app_reports_empty_title":"No reports yet","app_reports_empty_body":"All quiet. New reports from your guests will show up here.","app_reports_search_ph":"Search reports…","app_reports_filter_status":"Status","app_reports_filter_severity":"Severity","app_reports_filter_property":"Property","app_reports_all_status":"All statuses","app_reports_all_severity":"All severities","app_reports_all_properties":"All properties","app_reports_count":"reports","app_reports_count_one":"report","app_reports_empty_filter_title":"No reports match","app_reports_empty_filter_body":"Try clearing the filters.","app_reports_err_notfound":"Report not found.","app_reports_err_reason":"Please give a reason.","app_reports_err_reject":"This report can’t be rejected in its current state.","app_err_state":"This action isn’t available right now.","app_opname_title":"The pro carried out a survey visit","app_opname_findings":"Findings","app_opname_estimate":"Estimated extra cost","app_opname_estimate_iva":"excl. VAT","app_opname_approve":"Approve — schedule the repair","app_opname_reject":"Reject","app_report_photos":"Guest photos","app_report_gallery":"Report photos","app_report_gallery_empty":"No photos with this report.","app_report_gallery_close":"Close","app_report_gallery_prev":"Previous photo","app_report_gallery_next":"Next photo","app_report_gallery_viewer":"Photo viewer","app_report_analyzing":"Analysing…","app_report_analyzing_sub":"The diagnosis appears here as soon as it is ready.","app_report_uncertain_title":"This couldn’t be assessed well. A human eye is needed","app_report_uncertain_body":"The report still goes through. Review the photos yourself and choose a tradesperson.","app_report_defect":"Fault","app_report_severity_label":"Severity of this report","app_report_advice_severity":"Estimated severity","app_report_sev_floor_note":"This report stays at {ernst}: for an urgent gas, water or electrical report we never lower the severity.","app_report_what_i_see":"What I see","app_report_cause":"Likely cause","app_report_materials_labour":"Materials & labour","app_report_labour":"Labour","app_report_hours":"h","app_report_estimate_tag":"estimate, not a quote","app_report_memory_defect":"Property: {n}th report of this kind this year.","app_report_memory_asset":"Property: {asset} — {n}th repair, the same tradesperson knows this place.","app_report_timeline":"Status","app_report_safety_title":"Guest given a safety instruction","app_report_safety_body":"Because of the severity, the guest received a safety instruction (e.g. shut off the main valve).","app_report_reject":"Reject (false alarm / self-resolved)","app_report_choose_pro":"Choose tradesperson","app_report_reject_title":"Reject this report?","app_report_reject_body":"Use this for a false alarm or a fault you resolved yourself. The report closes.","app_report_reject_confirm":"Reject report","app_report_rejected_done":"Report rejected.","app_report_back_to_diag":"Diagnosis","app_report_desc_translated":"Translated","app_report_desc_show_original":"Show original","app_report_desc_hide_original":"Hide original","app_report_404_title":"Report not found","app_report_404_body":"This report doesn’t exist, or it isn’t one of yours.","app_choose_title":"Choose a tradesperson","app_choose_pool":"From our vetted pool. We screened these tradespeople.","app_choose_pool_early":"These tradespeople are already vetted. The pool in your region is still being assembled.","app_choose_recommended":"Recommended","app_choose_new_pool":"New in the pool","app_choose_reason_specialisation":"Specialises in {trade}","app_choose_reason_region":"Covers {region}","app_choose_reason_score":"Strong quality score","app_choose_recommended_why":"Leads on {factors}","app_choose_basis_specialisation":"specialisation","app_choose_basis_region":"region","app_choose_basis_quality":"quality score","app_choose_basis_rate":"rate","app_choose_basis_availability":"availability","app_choose_reason_knows_property":"Knows this property","app_choose_assign":"Choose {name}","app_choose_assign_empty":"Select a tradesperson","app_choose_assign_one":"Send to this tradesperson","app_choose_assign_multi":"Send to selected tradespeople","app_choose_reject":"Reject report","app_choose_nomatch_title":"No tradesperson available yet","app_choose_nomatch_body":"We’re widening the search automatically. If none is found, we forward it to Contratista for mediation.","app_choose_building_title":"We’re still assembling the pool","app_choose_building_body":"Our vetted tradespeople in your region are on the way. In the meantime, put your own trusted tradesperson to work, below.","app_choose_err_none":"Select a tradesperson first.","app_choose_err_invalid":"That tradesperson is not an option for this report.","app_choose_err_state":"This report can no longer be assigned.","app_choose_err_failed":"Could not send the request. Please try again.","app_vakmannen_title":"My tradespeople","app_vakmannen_intro":"Your own, trusted tradespeople, separate from our vetted pool.","app_vakmannen_empty":"No tradespeople added yet.","app_vakmannen_empty_body":"Add your first tradesperson using the form below.","app_vakmannen_add":"Add tradesperson","app_vakmannen_name":"Name","app_vakmannen_trades":"Trade (optional)","app_vakmannen_trades_ph":"e.g. plumber, electrician","app_vakmannen_email":"Email","app_vakmannen_phone":"Phone (optional)","app_vakmannen_iban":"IBAN","app_vakmannen_iban_opt":"IBAN (optional)","app_vakmannen_iban_ph":"ES00 0000 0000 0000 0000 0000","app_vakmannen_iban_save":"Save IBAN","app_vakmannen_language":"Language for messages","app_vakmannen_lang_nl":"Dutch","app_vakmannen_lang_en":"English","app_vakmannen_lang_es":"Spanish","app_vakmannen_save":"Save","app_vakmannen_delete":"Remove","app_vakmannen_delete_title":"Remove tradesperson?","app_vakmannen_delete_body":"This tradesperson will disappear from your list. You can add them again later.","app_vakmannen_err_name":"Please enter a name.","app_vakmannen_err_email":"Please enter a valid email address.","app_vakmannen_err_iban":"That IBAN is not valid. Check the account number, or leave the field empty.","app_choose_own_title":"Or assign your own tradesperson","app_choose_own_intro":"Outside our vetted pool: your own trusted tradesperson.","app_choose_own_empty":"You have no tradespeople of your own yet.","app_choose_own_manage":"Manage under My tradespeople","app_choose_own_assign":"Assign","app_choose_own_err_invalid":"Unknown tradesperson.","vk_klus_invalid_title":"Link expired or invalid","vk_klus_invalid_body":"Ask the owner for a new link.","vk_klus_greeting":"Hi {name}, here is your job","vk_klus_diagnose":"Diagnosis","vk_klus_photos":"Photos","vk_klus_access":"Access to the property","vk_klus_appointment":"Appointment","vk_klus_appointment_confirm":"Confirm appointment","vk_klus_invoice_heading":"Submit invoice","vk_klus_invoice_amount":"Amount (€)","vk_klus_invoice_hours":"Labour hours","vk_klus_submit_invoice":"Submit invoice","vk_klus_done":"Thank you. The owner has been notified.","vk_klus_err_state":"This job has already been submitted or can no longer be wrapped up.","vk_klus_err_submit":"Could not submit. Your details are kept, please try again.","own_contact_badge":"Your own tradesperson — outside the Contratista pool","own_contact_fraud_disclaimer":"This tradesperson was not screened by Contratista; the check is advisory.","app_melding_guest_present":"Guest present — urgent","fg_eyebrow":"For guests","fg_h1":"Something broken where you’re staying?","fg_sub":"Report it in a minute. No app, no account: just scan the QR in the property or enter the property code, and the rest is taken care of.","fg_cta_primary":"Report a fault","fg_cta_secondary":"How it works","fg_note_1":"No account needed","fg_note_2":"Free for guests","fg_emg_title":"Life-threatening emergency? Call 112 first","fg_emg_body":"Gas leak, fire or serious flooding? Get to safety and call 112 (or your local emergency number) before you report anything here.","fg_routes_title":"Two ways to report","fg_route_qr_title":"Scan the QR","fg_route_qr_body":"Find the Contratista sticker in the property, scan it with your phone camera and start your report.","fg_route_code_title":"Enter the property code","fg_route_code_body":"No sticker handy? Enter the property code (format XXX-XXX) and you reach the same place.","fg_route_code_cta":"Enter property code","fg_routes_note":"Both routes open the exact same report point for your property.","fg_after_title":"What happens next","fg_after_1_title":"You report it","fg_after_1_body":"Add a photo and a short description in any language. Takes about a minute.","fg_after_2_title":"It gets picked up","fg_after_2_body":"The owner is notified and a vetted tradesperson is matched. Urgent faults are flagged automatically.","fg_after_3_title":"You hear back","fg_after_3_body":"You get an update on the planning so you know when it will be fixed.","fg_faq_title":"Good to know","fg_faq_1_q":"Do I need an account?","fg_faq_1_a":"No. No app, no login, no account. You only leave your name and contact details so we can reach you about the repair.","fg_faq_2_q":"Does it cost me anything?","fg_faq_2_a":"No. Reporting is free for guests. The owner handles the repair.","fg_faq_3_q":"I lost the property code, what now?","fg_faq_3_a":"Scan the QR sticker in the property instead, or ask your owner for the code.","fg_faq_link":"See all questions","fg_final_title":"Found something broken? Report it now.","fg_final_cta":"Report a fault","app_melding_guest_present_hint":"A guest is currently staying at this property. Handle this with priority.","app_plan_spoed_title":"Urgent — act fast","app_plan_spoed_body":"Have the tradesperson respond before {respond} and finish the job before {resolve}.","app_plan_vacancy_title":"Suggestion: schedule during vacancy","app_plan_vacancy_body":"The property is free from {date}. Ideal to schedule the repair with no guest around.","app_report_track_job":"Track the job","app_report_view_invoice":"View payment request","app_report_review_invoice":"Review payment request","app_klus_title":"Track the job","app_klus_menu":"Job options","app_klus_cancel":"Cancel the job","app_klus_cancel_title":"Cancel this job?","app_klus_cancel_body":"The tradesperson's invitation lapses and the report closes. Tell us briefly why.","app_klus_cancel_confirm":"Cancel the job","app_klus_cancelled_done":"Job cancelled. The report is closed.","app_klus_appt":"Appointment","app_klus_appt_pro_proposes":"{name} proposes","app_klus_appt_date":"Date","app_klus_appt_time":"Time","app_klus_appt_propose":"Propose a time","app_klus_appt_propose_other":"Propose another time","app_klus_appt_confirm":"Confirm appointment","app_klus_appt_confirmed":"Confirmed","app_klus_appt_pending":"Proposal pending","app_klus_appt_confirmed_toast":"Appointment confirmed.","app_klus_appt_proposed_toast":"Your proposed time was sent.","app_klus_access":"Access","app_klus_access_hint":"Besides you, only the assigned tradesperson sees these details.","app_klus_access_empty":"No access details on file for this property.","app_klus_chat":"Messages","app_klus_chat_moderated":"moderated · auto-translated","app_klus_chat_empty":"Send {name} a question or extra details about the job.","app_klus_chat_ph":"Type a message…","app_klus_chat_translated":"Translated from","app_klus_chat_messages":"Messages","app_klus_chat_input":"Message input","app_klus_chat_send":"Send message","chat_code_warning":"This message contains the access code for this job. It is already stored with the job, so there is no need to put it in chat.","chat_code_send_anyway":"Send anyway","chat_empty_title":"No messages yet","chat_suggestions_label":"Suggestions to get started","chat_sug_eig_plan_1":"When could you come round?","chat_sug_eig_plan_2":"Are the photos enough, or do you need more detail?","chat_sug_eig_plan_3":"Let me know what you need to get in?","chat_sug_eig_sched_1":"How much time do you expect to need?","chat_sug_eig_sched_2":"Does someone need to be there when you arrive?","chat_sug_eig_sched_3":"Could you let me know when you are on your way?","chat_sug_eig_work_1":"How is it going?","chat_sug_eig_work_2":"Are you running into anything we did not expect?","chat_sug_eig_work_3":"Do you need any more materials?","chat_sug_eig_approve_1":"Could you briefly explain why more work is needed?","chat_sug_eig_approve_2":"What happens if we leave this for now?","chat_sug_eig_done_1":"Could you explain what exactly you replaced?","chat_sug_eig_done_2":"Is there any maintenance that would prevent this?","chat_sug_vak_plan_1":"I could come round this week. Which moment suits you?","chat_sug_vak_plan_2":"Do you have any extra photos of the fault?","chat_sug_vak_plan_3":"How do I get in if nobody is there?","chat_sug_vak_sched_1":"Confirming: I will be there at the agreed time.","chat_sug_vak_sched_2":"Will someone be there when I arrive?","chat_sug_vak_sched_3":"Can I park nearby to unload my gear?","chat_sug_vak_work_1":"I have started. I will keep you posted.","chat_sug_vak_work_2":"I am hitting something that needs more work; I will explain shortly.","chat_sug_vak_work_3":"I need a part that has to be ordered.","chat_sug_vak_approve_1":"Could you let me know whether I can go ahead with the extra work?","chat_sug_vak_approve_2":"Happy to explain why this is needed.","chat_sug_vak_done_1":"The work is done. Let me know if anything is left.","chat_sug_vak_done_2":"I have submitted the cost breakdown.","app_klus_err_state":"This action is no longer possible for this job.","app_klus_err_slot_bezet":"This time is no longer free, pick another.","app_klus_err_appt":"Could not update the appointment. Please try again.","app_klus_err_appt_empty":"Pick a date and a time.","own_plan_geen_voorstel":"There is no open proposal for this slot anymore. Please refresh the page.","own_plan_slot_ongeldig":"The selected time slot is not valid. Refresh the page and try again.","own_plan_pick_time":"Choose a time slot","own_plan_option":"Option","own_plan_none_fit":"None of these times work","own_plan_counter_submit":"Propose another time","own_plan_counter_date":"Date","own_plan_counter_time":"Time","own_plan_confirmed":"Appointment confirmed","own_plan_tenant_decides":"The guest is choosing a time","own_plan_tenant_decides_body":"The guest will receive the proposed time slots and choose the most suitable one.","own_plan_pro_plans":"The tradesperson will pick a time within the deadline. You’ll get a message once it’s set.","app_reject_reason_label":"Why do none of these fit?","app_reject_reason_ph":"E.g. we are at the property that week","app_reject_submit":"None of these fit","app_reject_submitted_toast":"Rejected. The tradesperson will receive your note.","app_klus_err_empty":"Type a message first.","app_klus_err_send":"Message not sent. Please try again.","app_klus_gap_title":"Free window between guests","app_klus_gap_suggest":"This property is free from {start}.","app_klus_gap_range":"Free from {start} to {end}. Schedule the repair within this window.","app_klus_gap_use":"Use this date","app_factuur_title":"Payment request & fraud check","app_factuur_verdict_low":"Within expectations","app_factuur_verdict_medium":"Review the photos again","app_factuur_verdict_high":"We advise escalating","app_factuur_risk_low":"Low risk","app_factuur_risk_medium":"Medium risk","app_factuur_risk_high":"High risk","app_factuur_cost_compare":"Estimate {est} vs invoiced {inv}, both excl. IVA ({pct}% deviation)","app_factuur_cost_compare_mid":"{est} (midpoint of {min} – {max})","app_factuur_within_margin":"within the ±30% margin","app_factuur_within_margin_pct":"within the ±{marginPct}% margin","app_factuur_outside_margin_pct":"outside the ±{marginPct}% margin","app_factuur_advies_kernpunten":"Key points","app_factuur_advies_fotos":"Before/after photos","app_factuur_advies_materialen":"Materials","app_factuur_advies_arbeid":"Labour time","app_factuur_advies_kosten":"Cost comparison","app_factuur_fraude_unavailable_title":"Fraud check unavailable","app_factuur_fraude_unavailable_body":"The payment request is still shown below. Review it yourself.","app_factuur_photos":"Before / after","app_factuur_photo_before":"Before","app_factuur_photo_after":"After","app_factuur_no_photos":"No photos.","app_factuur_breakdown":"Breakdown","app_factuur_labour":"Labour","app_factuur_voorrij_uitleg":"The tradesperson found a locked door {n} times. From the second time onwards a fixed fee applies for the wasted trip.","app_factuur_material":"Material","app_factuur_materials":"Materials","app_factuur_subtotal":"Subtotal","app_factuur_iva":"VAT (IVA)","app_factuur_iva_unknown":"The tradesperson did not provide an IVA breakdown. Only the total amount is shown below.","app_factuur_total":"Total","app_factuur_note":"What was done","app_factuur_fraude_loading":"Running invoice check…","app_factuur_fraude_wait_pay":"The invoice check is still running. You can mark this as paid once the advice is in.","app_factuur_pay_to":"Payment details","app_factuur_pay_no_iban":"The tradesperson has not provided an IBAN yet.","app_factuur_mark_paid":"Mark as paid","app_factuur_not_paid":"Not paid","app_factuur_paid_chip":"Marked as paid","app_factuur_paid_title":"Mark this invoice as paid?","app_factuur_paid_body":"You pay the tradesperson directly. Contratista handles no money. This only records that you paid.","app_factuur_paid_body_risk":"Heads up: the fraud check rated this payment request high risk. You can still pay it — it is your money and your call — but have it reviewed first if you have doubts. Paying only records that you paid.","app_factuur_risk_lead":"The fraud check advises against paying this payment request as it stands. Read the advice above, and have it reviewed if you have doubts.","app_factuur_paid_toast":"Marked as paid.","app_factuur_unpaid_toast":"Left open. Pay the tradesperson directly when ready.","app_factuur_escalate":"Escalate","app_factuur_escalate_title":"Escalate to Contratista?","app_factuur_escalate_body":"Our team reviews the payment request and the fraud check with you. Tell us what is wrong.","app_factuur_escalate_confirm":"Escalate","app_factuur_escalated_toast":"Escalated. Contratista will be in touch.","app_factuur_disclaimer_short":"About this advice and liability","app_factuur_disclaimer_body":"Contratista mediates and advises. The platform is not liable for the work carried out. The fraud check is automated guidance; the decision is yours.","app_factuur_err_state":"This action is no longer possible for this invoice.","app_factuur_err_notfound":"Invoice not found.","app_factuur_err_paid":"Could not mark as paid. Please try again.","app_factuur_err_escalate":"Could not escalate. Please try again.","app_factuur_settlement_wacht":"Waiting for the tradesperson to confirm receipt","app_factuur_settlement_voldaan":"Payment confirmed by both parties","app_report_paid_at":"Payment registered on {datum}","app_report_paid_waiting":"Waiting for the tradesperson to confirm receipt.","app_report_paid_settled":"Receipt confirmed by the tradesperson on {datum}.","app_report_paid_escalated":"The tradesperson has not confirmed receipt yet. Contratista is looking into it.","app_factuur_fraude_feedback_prompt":"Was this fraud check accurate?","app_factuur_fraude_feedback_terecht":"Accurate","app_factuur_fraude_feedback_vals_alarm":"False alarm","app_factuur_fraude_feedback_toast":"Thanks. This helps the fraud check get smarter.","app_factuur_fraude_feedback_recorded":"Your verdict: {verdict}","app_factuur_err_feedback":"Could not save feedback. Please try again.","app_factuur_download_echt":"Download official invoice","app_factuur_factura_titel":"Official invoice","app_factuur_factura_ontbreekt":"Not yet received from the tradesperson.","app_factuur_factura_waarom":"You need this document for your records. Our cost breakdown is not a tax invoice.","app_factuur_factura_vraag":"Ask for it","app_factuur_factura_gevraagd":"Requested on {datum}","app_factuur_factura_verzocht_toast":"Request sent to the tradesperson.","app_fraude_cat_materialen":"Materials","app_fraude_cat_arbeidstijd":"Labour time","app_fraude_cat_fotobewijs":"Photo evidence","app_fraude_cat_scope":"Scope","app_fraude_cat_kosten":"Cost comparison","app_fraude_cat_volledigheid":"Completeness","app_qr_sheet_title":"QR codes","app_qr_sheet_sub":"{n} QR codes. Print this sheet or save it as PDF.","app_qr_sheet_sub_one":"One QR code. Print this sheet or save it as PDF.","app_qr_sheet_print":"Print / Save PDF","app_qr_sheet_close":"Close","app_qr_sheet_empty":"No properties selected.","app_qr_sheet_scan":"Scan to report a fault","app_qr_pdf_eyebrow":"Report point","app_qr_pdf_step1":"Scan the code with your phone camera.","app_qr_pdf_step2":"Add a photo and a short note about the fault.","app_qr_pdf_step3":"We arrange a vetted tradesperson.","app_qr_pdf_reassure":"No app, no account. It takes a minute.","app_qr_pdf_steps_inline":"Scan · add a photo · we arrange the repair","app_qr_pdf_nocan_label":"Cannot scan?","app_qr_pdf_nocan":"Go to {url} and enter the code above.","app_qr_gate_title":"Pick the area first","app_qr_gate_body":"This code goes to your guest. Pick the area the property is in, otherwise we cannot send a tradesperson there.","app_qr_gate_save":"Save and show QR","app_qr_gate_err":"Pick an area from the list.","app_qr_nog_beter":"This property can get sharper","app_qr_mist_assets":"The diagnosis does not know which appliances are installed yet.","app_qr_mist_photos":"Without a photo the card on your dashboard is hard to recognise.","app_qr_mist_type":"The property type sharpens the assessment of a fault.","app_qr_naar_woning":"Fill in","app_kiezen_deadline":"By {date}","app_report_reporter_contact":"Contact the reporter:","app_report_guest_contact":"Contact the guest:","app_report_additions_title":"Added later by the guest","app_assign_ok":"Request sent.","app_assign_title":"What happens now","app_assign_offered_one":"One tradesperson has received the request and can accept it.","app_assign_offered":"{n} tradespeople have received the request. Whoever accepts first does the work.","app_assign_reaction":"You will hear by {moment} whether someone picks it up.","app_assign_reaction_unknown":"As soon as someone accepts, you will see it here.","app_assign_offered_hint":"If nobody accepts, we let you know and you choose again. Nothing is needed from you right now.","app_assign_accepted":"{naam} has accepted the request.","app_assign_accepted_next":"They pick a time themselves, within the deadline. As soon as it is set you will see it here and the guest is notified.","app_assign_own_next":"Your own tradesperson has received a link to the job, with the access details in it. They pick a time themselves; as soon as it is set you will see it here and the guest is notified.","app_assign_pro_fallback":"The tradesperson","app_assign_entry":"Access passed on: {methode}","app_report_additions_photo":"1 extra photo included","app_report_additions_photos":"{n} extra photos included","app_report_title":"Insurance report","app_report_view_report":"View report","app_reports_overview_sub":"Ready for your insurer. A complete dossier per closed job.","app_reports_overview_count":"documents","app_reports_overview_empty_title":"No documents yet","app_reports_overview_empty_body":"Once a job is closed, the complete insurance dossier appears here.","app_reports_sample_badge":"Example","app_reports_sample_lede":"This is what your dossier looks like once a job is completed. The example below contains made-up data.","app_reports_sample_property":"Casa Ejemplo","app_reports_sample_address":"Calle Ejemplo 12, Marbella","app_reports_sample_region":"Costa del Sol","app_reports_sample_defect":"Water under the bathroom sink. The floor was wet and there was a bucket underneath.","app_reports_sample_diagnose":"Leaking trap under the washbasin. Limited water damage to the cabinet, the floor is unaffected.","app_reports_sample_seen":"Wet patch on the cabinet base and limescale around the trap nut.","app_reports_sample_check":"Cost and labour time match the diagnosis; the before and after photos show the same spot.","app_reports_sample_note":"Replaced the trap and resealed the connection. Dried the cabinet base and checked it for mould.","app_report_contents":"Contents","app_report_check_property":"Property","app_report_check_defect":"Fault","app_report_check_diagnose":"Diagnosis","app_report_check_photos":"Before/after photos","app_report_check_invoice":"Invoice (incl. IVA)","app_report_check_fraude":"Fraud-check verdict","app_report_check_note":"Notes","app_report_field_property":"Property","app_report_field_address":"Address","app_report_field_defect":"Fault","app_report_field_reporter":"Reported by","app_report_field_reported":"Reported on","app_report_what_seen":"What I see","app_report_closed_on":"Closed on","app_report_download":"Download PDF","app_report_print":"Print","app_report_share":"Share via email","app_report_print_hint":"Open the report and choose “Save as PDF” in your print dialog.","app_report_shared_toast":"The report will be sent to your email.","app_report_disclaimer":"Contratista mediates and advises. The platform is not liable for the work performed. The diagnosis and invoice check are advisory.","app_report_err_notfound":"Report not found.","app_maint_new":"Maintenance task","app_maint_create":"Add task","app_maint_upcoming":"Next 30 days","app_maint_upcoming_none":"Nothing scheduled in the next 30 days.","app_maint_view_list":"List","app_maint_view_calendar":"Calendar","app_maint_cal_tasks_one":"1 maintenance task","app_maint_cal_tasks_many":"{n} maintenance tasks","app_maint_view_aria":"View","app_maint_today":"today","app_maint_overdue":"overdue","app_maint_done":"Mark done","app_maint_reminder_on":"Reminder on","app_maint_reminder_off":"Reminder off","app_maint_empty_nowoning_title":"Add a property first","app_maint_empty_nowoning_body":"Maintenance belongs to a property. Once you have added one, you can schedule tasks here.","app_maint_empty_nowoning_cta":"Add property","app_maint_empty_title":"No maintenance tasks yet","app_maint_empty_body":"Schedule your first inspection so faults never surprise you.","app_maint_created_toast":"Maintenance task added. You’ll get a reminder 7 days ahead.","app_maint_created_toast_no_reminder":"Maintenance task added.","app_maint_completed_toast":"Done. The next date has been scheduled.","app_maint_interval_monthly":"Monthly","app_maint_interval_quarterly":"Quarterly","app_maint_interval_halfyear":"Half-yearly","app_maint_interval_yearly":"Yearly","app_maint_field_property":"Property","app_maint_field_property_ph":"Choose a property","app_maint_field_asset":"Asset (optional)","app_maint_field_asset_none":"No specific appliance","app_maint_field_title":"Task","app_maint_field_title_ph":"e.g. Boiler inspection","app_maint_field_interval":"Interval","app_maint_field_start":"First due on","app_maint_field_reminder":"Automatic reminder","app_maint_reminder_hint":"You’ll get an email and in-app reminder 7 days ahead.","app_maint_err_form":"Please fill in all required fields.","app_maint_err_property":"Property not found.","app_maint_err_notfound":"Maintenance task not found.","app_maint_err_create":"Could not save. Please try again.","footer_col_product":"Product","footer_col_owners":"For owners","footer_col_pros":"For tradespeople","footer_col_company":"Company","footer_col_legal":"Legal","footer_feat_qr_diagnose":"QR & diagnosis","footer_privacy":"Privacy","footer_terms":"Terms","footer_withdrawal":"Withdrawal form","footer_pitch":"One channel from report to resolved job, for property owners on the Costa del Sol.","footer_pros_join":"Become a tradesperson","footer_pros_apply":"Apply for the pool","footer_social_instagram":"Contratista on Instagram","footer_region":"Costa del Sol · Spain","pricing_title":"Simple pricing. No commission.","pricing_lede":"You pay per property, and the more properties you manage the lower the rate. {days}-day free trial. Repairs are paid straight to the tradesperson; Contratista never takes a cut.","pricing_per_mo":"/mo","pricing_yearly_total":"{total} billed once a year","pricing_from":"from","pricing_from_per_property":"from €{prijs} per property/mo, VAT included","pricing_from_per_property_amount":"from {bedrag} per property/mo, VAT included","pricing_billing_monthly":"Monthly","pricing_billing_yearly":"Yearly","pricing_billing_save":"2 months free","pricing_billing_aria":"Billing period","calc_label":"How many properties do you manage?","calc_minus":"One property fewer","calc_plus":"One property more","calc_count_one":"1 property","calc_count_many":"{n} properties","calc_per_month":"per month, VAT included","calc_per_year":"per year, VAT included","calc_per_property":"That works out at €{prijs} per property","calc_per_property_amount":"That works out at {bedrag} per property","calc_tier_range":"{van}–{tot} properties","calc_tier_range_plus":"{van} properties or more","calc_tier_per_month":"per property per month","calc_tier_per_year":"per property per year","calc_tier_active":"Your tier","calc_cta_one":"Start with 1 property","calc_cta_many":"Start with {n} properties","calc_note_monthly":"{days} days free · then €{prijs} per month, VAT included · cancel any month","calc_note_yearly":"{days} days free · then €{prijs} per year, VAT included · cancel any year","calc_note_monthly_building":"Free for now. Your trial starts once the vetted pool is live in your region, then the monthly amount above applies · cancel any month","calc_note_yearly_building":"Free for now. Your trial starts once the vetted pool is live in your region, then the yearly amount above applies · cancel any year","calc_note_monthly_amount":"{days} days free · then {bedrag} per month, VAT included · cancel any month","calc_note_yearly_amount":"{days} days free · then {bedrag} per year, VAT included · cancel any year","calc_note_monthly_amount_building":"Free for now. Your trial starts once the vetted pool is live in your region, then the monthly amount above applies · cancel any month","calc_note_yearly_amount_building":"Free for now. Your trial starts once the vetted pool is live in your region, then the yearly amount above applies · cancel any year","pricing_founder_badge":"Founder pricing","pricing_founder_body":"Your rate stays as long as you stay a customer, even if we raise prices later.","pricing_trust_title":"We never hold your money","pricing_trust_1":"You pay the tradesperson directly, from your account into theirs.","pricing_trust_2":"No platform account in between, nothing held back, no commission.","pricing_promise_title":"What we hold ourselves to","pricing_promise_1_title":"{months}-month guarantee","pricing_promise_1_body":"Every tradesperson in the pool guarantees their labour for {months} months. Parts follow the manufacturer warranty.","pricing_promise_3_title":"Bring your own tradesperson","pricing_promise_3_body":"Already working with the same plumber for years? Add them, and their jobs run through the same channel.","pricing_included_title":"Included at any number of properties","pricing_more_title":"More than {maxWoningen} properties, or managing for others?","pricing_more_body":"Then we build a price to fit, with white-label and one fixed point of contact. Book a call and we work it out together.","plan_agency_price":"On request","plan_agency_cta":"Book a call","pricing_footnote":"{days} days free. You only pay after that, and you can cancel anytime. Repairs are paid directly to the tradesperson; Contratista never takes a commission.","pcmp_qr":"Report by QR","pcmp_diagnosis":"Instant photo diagnosis","pcmp_matching":"Vetted tradesperson matching","pcmp_invoice":"Automatic invoice check","pcmp_insurance":"Insurance reports","pcmp_preventive":"Preventive maintenance","pcmp_insights":"Portfolio insights","pcmp_unlimited":"Unlimited","pros_eyebrow":"For tradespeople","pros_title":"Quality jobs,","pros_title_em":"no chasing","pros_lede":"Join Contratista’s vetted pool. We bring you well-scoped repair jobs near you. Diagnosed, photographed and ready to go. You’re paid directly by the owner.","pros_apply_cta":"Apply to join","pros_perk1_title":"Jobs that fit you","pros_perk1_body":"Matched by trade, region and urgency, without chasing leads.","pros_perk2_title":"Free to join","pros_perk2_body":"No membership fee, no commission. You invoice the owner directly.","pros_perk3_title":"Clear scope","pros_perk3_body":"Every job arrives with an instant diagnosis and photos, in your language.","pros_perk4_title":"Build your reputation","pros_perk4_body":"Great work means higher ranking and more requests over time.","pros_screening_note":"Every application is screened before approval — an automatic first pass plus a human gatekeeper — so the pool stays trusted.","pros_badge_caption":"Vetted tradespeople","pros_steps_title":"How it works","pros_step_1_title":"Apply","pros_step_1_body":"Tell us your trade, region and rates, and upload your documents. Applying takes about ten minutes.","pros_step_2_title":"Screening","pros_step_2_body":"We review every application, an automatic first pass plus a human gatekeeper. You hear back quickly either way.","pros_step_3_title":"Receive jobs","pros_step_3_body":"Once approved, well-scoped jobs near you land in your portal, with photos, a clear description and a deadline. You choose what you accept.","pros_pay_title":"Getting paid","pros_pay_1_title":"Submit your cost breakdown","pros_pay_1_body":"When the job is done, you submit your hours and materials through the platform. No chasing paperwork.","pros_pay_2_title":"The owner pays you by bank","pros_pay_2_body":"The owner pays straight into your bank account. Contratista mediates the job, not your money.","pros_pay_3_title":"No subscription costs","pros_pay_3_body":"Joining and staying in the pool is free for tradespeople. No membership fee, no commission on your work.","pros_final_title":"Ready for jobs without the chasing?","poort_opkomst_titel":"An appointment is a commitment","poort_opkomst_tekst":"This platform runs on showing up. Your attendance decides how many jobs you get offered. Can't make it? Let us know. That costs you almost nothing. Staying away without a word does.","poort_opkomst_akkoord":"I understand that my attendance decides how much work I get","poort_opkomst_beloning":"Keep your appointments and you rank higher on the list, so you get offered more jobs.","poort_opkomst_ladder_kop":"Can't make it? Let us know.","poort_opkomst_ladder_vroeg":"Cancelling more than {cancelHours} hours ahead costs you almost nothing.","poort_opkomst_ladder_laat":"Cancelling on shorter notice counts more heavily.","poort_opkomst_ladder_wegblijven":"Staying away without a word counts hard. {noShowMax} times in {noShowDays} days means a temporary pause.","poort_opkomst_bescherming_kop":"What protects you","poort_opkomst_bescherming_qr":"The QR scan on arrival is your proof that you were there.","poort_opkomst_bescherming_toegang":"Nobody home? That does not count against you.","pro_join_title":"Join the pool of tradespeople","pro_join_sub":"Free to join. Get matched to jobs near you. Reviewed before approval.","pro_region_label":"Region","pro_region_choose":"Choose your region","pro_apply_btn":"Apply to join","about_eyebrow":"About Contratista","about_title":"Built for owners who","about_title_em":"can’t be there","about_lede":"Contratista began with a simple frustration: managing a holiday home from another country means trusting people you’ve never met, in a language you may not speak, with no easy way to know whether a repair was fair. We built the supervisor we wished we had.","about_prob_eyebrow":"The problem","about_prob_h2":"Distance turns small problems into big ones.","about_prob_body":"A dripping tap in Málaga becomes a week of phone calls from Amsterdam. You can’t see the fault, can’t judge the quote, and can’t tell if the invoice is honest. Most property tools were built for managers on site, not for owners a thousand kilometres away.","about_ans_eyebrow":"Our answer","about_ans_h2":"A supervisor that never sleeps.","about_ans_body":"A guest scans a QR code and reports the fault. Contratista diagnoses it from the photos, lines up the right vetted tradespeople, checks the invoice for you, and remembers everything about your portfolio. You choose with a tap — you stay in control.","about_vals_eyebrow":"What we stand for","about_vals_h2":"Principles, not promises.","about_val1_title":"Owners first","about_val1_body":"We mediate and advise. We never take a cut of the repair. Your money goes straight to the tradesperson.","about_val2_title":"Trust, verified","about_val2_body":"Vetted tradespeople, an automatic check on every invoice, and a filed report after each resolved job.","about_val3_title":"Calm by design","about_val3_body":"Fewer decisions, less noise. The platform handles the busywork so ownership feels effortless.","about_founder_eyebrow":"A note from the founder","about_founder_quote":"I built Contratista because I kept seeing the same thing: good owners, great properties, and a constant low-level worry about what’s happening while they’re away. The goal was never another dashboard. It was peace of mind. If the platform does its job, you barely notice it’s there.","about_founder_name":"Jeremy Weesenaar","about_founder_role":"Founder, Contratista","about_cta_h2":"Hand the supervision to Contratista.","about_cta_p":"Set up your first property in minutes. Free for {days} days.","contact_eyebrow":"Contact","contact_title":"We’re here to help.","contact_lede":"Questions about a property, a plan, or joining as a tradesperson? Send a note. We usually reply within one business day.","contact_sent_h3":"Thanks. Message sent.","contact_sent_p":"We’ll get back to you shortly.","contact_err":"Please add your email and a message.","contact_err_invalid":"Please check your email address and the length of your message.","contact_err_rate_limited":"Too many messages in a short time. Wait a minute and try again.","contact_err_send":"Sending failed. Try again later or email info@contratista.eu.","contact_name_label":"Your name","contact_msg_label":"Message","contact_msg_placeholder":"How can we help?","contact_send_cta":"Send message","contact_info_email_label":"Email","contact_info_response_label":"Response time","contact_info_response_val":"Within one business day","contact_info_region_label":"Focus region","contact_info_region_val":"Costa del Sol · Spain","agency_eyebrow":"Agency","agency_title":"Let’s talk about your portfolio.","agency_lede":"For managers and large portfolios we set up Contratista to fit. White-label under your own brand, with the features your process needs.","agency_pitch_1":"White-label under your own brand","agency_pitch_2":"Pricing matched to your portfolio","agency_pitch_3":"Features that come out of our conversation","agency_name_label":"Your name","agency_company_label":"Company or organisation","agency_units_label":"Number of properties","agency_msg_label":"Message","agency_msg_placeholder":"Tell us briefly about your portfolio and what you’re looking for.","agency_send_cta":"Send enquiry","agency_sent_h":"Thanks. Enquiry received.","agency_sent_p":"We’ll get back to you as soon as possible.","agency_err":"Enter your name, company, email and number of properties.","agency_err_invalid":"Check your email, number of properties and message length.","agency_err_rate_limited":"Too many enquiries in a short time. Wait a minute and try again.","agency_err_send":"Sending failed. Please try again later or email info@contratista.eu.","auth_login_forgot":"Forgot your password?","auth_login_verify_hint":"Never confirmed your email address?","auth_login_verify_cta":"Request a new code","reset_req_title":"Reset your password","reset_req_sub":"Enter your email and we’ll send you a link to set a new password.","reset_req_loggedin":"We’ll send a reset link to {email}.","reset_req_cta":"Send reset link","reset_req_loading":"Sending…","reset_req_sent":"If an account exists for this address, we’ve sent a reset link. Check your inbox.","reset_req_sent_sub":"One email is on its way. There’s no need to request another.","reset_req_sent_hint":"No email after a few minutes? Check your spam folder before requesting a new link.","reset_req_again":"Request a new link","reset_req_error":"This reset link is invalid or has expired. Request a new one.","reset_req_to_login":"Back to login","reset_new_title":"New password","reset_new_sub":"Choose a new password for your account.","reset_new_pw_label":"New password","reset_new_confirm_label":"Confirm password","reset_new_cta":"Save password","reset_new_loading":"Saving…","reset_new_success":"Your password has been updated.","reset_new_to_home":"Continue","reset_error_mismatch":"The passwords don’t match.","reset_error_same_password":"That’s already your current password. Choose a different one.","reset_error_rate_limited":"Too many attempts. Please wait and try again.","auth_loading_login":"Logging in…","auth_loading_account":"Creating your account…","auth_loading_apply":"Submitting your application…","auth_error_aria":"Form error","register_plan_label":"Selected plan","register_plan_label_default":"Recommended plan","register_plan_trial":"{days}-day free trial","register_plan_change":"Change plan","register_plan_pick_label":"Choose your plan","register_plan_recommended":"Recommended","register_plan_compare":"Compare all plans","register_password_hint":"At least 8 characters.","register_legal_prefix":"By registering you agree to the","register_legal_and":"and the","register_legal_terms":"Terms","register_legal_privacy":"Privacy Statement","plan_per_woning_name":"Per property","plan_per_woning_price":"Amount follows your number of properties","plan_solo_name":"Solo","plan_portfolio_name":"Portfolio","plan_portfolio_s_name":"Portfolio S","plan_portfolio_m_name":"Portfolio M","plan_agency_name":"Agency","pro_join_free_note":"Applying is free. Every application is screened before approval.","pro_applied_note":"Log in to complete your application. We’ll then ask for your documents (insurance, business registration) and business details — only then do we review your application.","legal_eyebrow":"Legal","legal_privacy_title":"Privacy Policy","legal_terms_title":"Terms of Service","legal_updated":"Last updated: 15 July 2026","legal_updated_terms":"Last updated: 15 July 2026","legal_updated_privacy":"Last updated: 12 August 2026","legal_updated_cookies":"Last updated: 12 August 2026","legal_updated_withdrawal":"Last updated: 15 July 2026","legal_intro_privacy":"This privacy policy explains what personal data Contratista processes, why, on what legal basis, and what rights you have. It applies to everyone who interacts with the platform: property owners, tradespeople, and guests who report a fault via QR code.","legal_intro_terms":"These terms of service govern your use of the Contratista platform. By creating an account or using the platform, you agree to these terms. Please read them together with our privacy policy.","privacy_1_h":"1. Who we are","privacy_1_p":"Contratista is a software platform for managing and coordinating maintenance of (holiday) properties, focused on the Spanish market. The platform is operated by Contratista, a company established in the Netherlands at Wilhelminastraat 54, Vlaardingen (Chamber of Commerce (KvK) no. 82351627; VAT no. NL003672419B82). For any question about this policy or your data, reach us via the contact page, by email at info@contratista.eu or by phone on +31 6 11045776. For the processing we carry out to provide our own service, we are the data controller within the meaning of the GDPR and the Dutch GDPR Implementation Act (UAVG).","privacy_2_h":"2. Our role: controller and joint controller","privacy_2_p":"For owner and tradesperson data — accounts, properties, profiles, billing — we are the data controller: we determine the purpose and means. For the data a guest leaves in a report, we and the owner jointly determine how it is processed: the owner wants their property managed, and we determine the essential means — the diagnosis, the severity assessment, the matching, the retention and the security. For that processing, we and the owner are joint controllers within the meaning of Article 26 GDPR. The essence of our arrangement is that we are the point of contact for guests and fulfil the duty to inform; you can in any event exercise your rights directly with us. That arrangement forms part of our terms for owners and is available on request via info@contratista.eu. In all cases we process no more data than necessary.","privacy_3_h":"3. What data we process","privacy_3_p":"From owners: name, email and login credentials, plus the data needed to run your portfolio (properties, addresses, access instructions, photos and documents). We treat access instructions such as key-safe and alarm codes as particularly sensitive, because they grant physical access to a property. From tradespeople: name, contact details, working region, rate, professional documents and, after approval, profile information. From guests reporting via QR: a name plus the photos and description of the fault — guests report without an account, and we ask only for what is needed to assess the fault. Photos of a fault may inadvertently capture people; photograph only what is necessary and keep identifiable people out of frame. We also process technical data (IP address, device and usage data) inherent to any online platform. We do not knowingly ask for special categories of personal data; please do not include them in a report.","privacy_4_h":"4. Purposes and legal bases","privacy_4_p":"We process data to (a) provide the platform and your account and perform our contract with you — basis: performance of the contract (Art. 6(1)(b) GDPR); (b) diagnose reports, match the right tradesperson, coordinate the job, check invoices and generate reports — basis: performance of the contract and our legitimate interest in a working platform (Art. 6(1)(f)); (c) receive, diagnose and make a guest report available to the owner and tradesperson concerned — basis: the legitimate interest of the owner and of us in managing and repairing the property (Art. 6(1)(f) GDPR), having weighed that interest against your privacy and asking only for what is needed; you may object to this processing and request deletion of your report; (d) comply with legal obligations such as accounting and tax — basis: legal obligation (Art. 6(1)(c)); and (e) inform you or improve the platform with your consent. You can withdraw consent at any time.","privacy_5_h":"5. AI and automated processing","privacy_5_p":"Contratista uses automated processing, including AI models, to read photos and descriptions, assess severity, estimate costs and cross-check invoices. This output is supporting advice: a human always makes the final decision on assignment, approval and payment. There is therefore no decision producing legal effects based solely on automated processing (Art. 22 GDPR). Where automated output may noticeably affect a person — in particular the invoice check concerning a tradesperson — you can always request human intervention, make your point of view known and contest the outcome via info@contratista.eu; an automated flag never, on its own, leads to refusal of payment, exclusion from the pool or any other measure. We clearly inform you when you are dealing with AI-generated output. Under our agreement with the AI processor, the content sent through the platform is not used to train its models; the processor may briefly retain input for security and abuse monitoring, to which the safeguards and the risk noted in section 8 apply.","privacy_6_h":"6. How long we keep data","privacy_6_p":"We keep account and property data for as long as your account is active and thereafter as long as needed to meet legal (notably tax) retention obligations. We delete or anonymise access instructions such as key-safe and alarm codes as soon as the related job is closed. We automatically delete guest-report data (photos and description) 24 months after the related job is closed. We retain billing data in line with statutory retention obligations (seven years for tax purposes in the Netherlands). If you delete your account, we erase or anonymise your personal data, except for what we are legally required to keep.","privacy_7_h":"7. Who we share data with","privacy_7_p":"We share data only as needed to deliver the service: with the tradesperson assigned to your job (the diagnosis, photos and property context the work requires), and with the processors below for hosting, storage, email, payments and AI. Each is bound by a data-processing agreement (Art. 28 GDPR) and may use the data only for our instructions. If we add a new or replacement processor that processes data we handle jointly with the owner, we inform owners in advance via the dashboard or by email, so you can object on reasonable grounds. We never sell personal data and do not share it for advertising. We may disclose data where the law requires it.","privacy_7_p_v2":"We share data only as needed to deliver the service: with the tradesperson assigned to your job (the diagnosis, photos and property context the work requires), and with the processors below for hosting, storage, email, payments and AI. Each is bound by a data-processing agreement (Art. 28 GDPR) and may use the data only for our instructions. If we add a new or replacement processor that processes data we handle jointly with the owner, we inform owners in advance via the dashboard or by email, so you can object on reasonable grounds. We never sell personal data. Without your consent for marketing cookies we share nothing for advertising either. If you do give that consent, we report to Meta Platforms Ireland Limited that you visited the site or created an account, together with a hashed version of your email address, your IP address and your browser details, so Meta can match a sign-up to an advert; your email address never leaves our server in readable form. Meta does not use that data solely on our instructions, so Meta’s own privacy policy applies to it alongside this one. If you withdraw consent via the cookie settings, we stop sending from that moment. We may disclose data where the law requires it.","sub_caption":"Our processors","sub_col_party":"Party","sub_col_purpose":"Purpose","sub_col_transfer":"Location & safeguard","sub_supabase_purpose":"Database and file storage","sub_supabase_loc":"EEA (Frankfurt)","sub_vercel_purpose":"Hosting and website delivery","sub_vercel_loc":"US — SCCs / Data Privacy Framework","sub_anthropic_purpose":"AI diagnosis (Claude)","sub_anthropic_loc":"US — DPF / SCCs; no training on API data, short retention (ZDR available)","sub_resend_purpose":"Sending transactional email","sub_resend_loc":"US — SCCs / DPF","sub_stripe_purpose":"Subscriptions and payments","sub_stripe_loc":"EU/US — SCCs / DPF","sub_meta_purpose":"Advertising measurement: Meta pixel and conversions API, only after your consent","sub_meta_loc":"Ireland (EEA) and US — SCCs / Data Privacy Framework","sub_meta_note":"Meta Platforms Ireland Limited is deliberately absent from this table: for advertising measurement Meta is not a processor acting on our instructions but a controller in its own right. For the collection of those data we and Meta are joint controllers within the meaning of Article 26 GDPR. We report nothing there unless you have turned marketing cookies on. Meta is established in Ireland (EEA) and transfers data to the United States under the EU–US Data Privacy Framework and the standard contractual clauses. See section 7 and our cookie policy.","privacy_8_h":"8. Transfers outside the EEA","privacy_8_p":"Our database and file storage are located within the EEA. Some processors are established in the United States. For those transfers we rely on appropriate safeguards within the meaning of the GDPR: the European Commission’s Standard Contractual Clauses (SCCs) and, where applicable, certification under the EU–US Data Privacy Framework, supplemented by technical and organisational measures. You can request a copy of the safeguards we use. Note: some processors — including the parent group of our hosting provider (AWS) — are subject to US law. Under legislation such as the US CLOUD Act, US authorities can in principle compel access to data even when it is stored within the EEA. We mitigate this with encryption and the safeguards above, but cannot fully exclude it.","privacy_9_h":"9. How we secure data","privacy_9_p":"We take appropriate technical and organisational measures to protect your data: encryption in transit, access control and role-based authorisation, separated environments and logging. We encrypt access instructions such as key-safe codes and show them only to the owner and the specifically assigned tradesperson, and only for the duration of the job; we strongly advise owners to change a code after a job. No system is entirely without risk; if you discover a vulnerability, please report it to info@contratista.eu. In the event of a data breach that poses a risk to you, we notify the supervisory authority and, where required, you, within the legal timeframes.","privacy_10_h":"10. Your rights under the GDPR","privacy_10_p":"You have the right to access, rectify, erase, restrict and port your data, and the right to object to processing based on legitimate interest. Where processing relies on consent — such as a guest report via QR — you may withdraw it at any time without affecting the lawfulness of earlier processing. Guests can request deletion of a report they submitted. You exercise your rights via the contact page or your dashboard; we respond to verified requests within one month. Exercising your rights is free of charge.","privacy_11_h":"11. Cookies","privacy_11_p":"We use functional cookies needed to run the platform and — only with your consent — analytics cookies to improve the service. You can manage your choice at any time via the cookie settings. Full details are in our cookie policy.","privacy_11_p_v2":"We use three kinds of cookies. Functional cookies are needed to run the platform and are always on. Analytics cookies are placed only with your consent, so we can see how the service is used and improve it. Marketing cookies are also placed only with your consent: through the Meta pixel (Facebook and Instagram) they let us measure which adverts lead to a sign-up. If you refuse a category, it is not placed, and nothing about that category leaves our server either. You can manage your choice at any time via the cookie settings, and withdrawing consent is as easy as giving it. Exactly which cookies we place, with their names and retention periods, is set out in our cookie policy.","privacy_12_h":"12. Children","privacy_12_p":"Contratista is aimed at property owners and tradespeople and is not intended for children. We do not knowingly collect data from persons under 16 (the digital-consent age under Dutch law). If you believe we have inadvertently collected a minor’s data, please contact us so we can delete it.","privacy_13_h":"13. Changes to this policy","privacy_13_p":"We may update this policy when the service or the law changes. The date at the top indicates the latest version; for material changes we inform you via your dashboard or by email before they take effect.","privacy_14_h":"14. Contact and complaints","privacy_14_p":"For questions or to exercise your rights: info@contratista.eu or the contact page. As our establishment is in the Netherlands, our lead supervisory authority is the Dutch Data Protection Authority (Autoriteit Persoonsgegevens, autoriteitpersoonsgegevens.nl). If you disagree with how we handle your data, you can lodge a complaint there or with the authority in your own EU member state — for users in Spain, the Agencia Española de Protección de Datos (www.aepd.es). We would appreciate the chance to resolve it with you first.","terms_1_h":"1. Definitions","terms_1_p":"In these terms, “platform” means Contratista’s software and services; “owner” the property owner who takes out a subscription; “tradesperson” an independent tradesperson in our vetted pool; “guest” a tenant or occupant who reports a fault via QR; and “report” a reported fault with its photos and description. By “consumer” we mean an owner who uses the platform for purposes outside their trade or profession; by “business customer” an owner acting in the exercise of a trade or profession — including commercial letting — and any tradesperson. Where these terms set out provisions for “consumers”, those apply solely to that group and not to business customers and tradespeople. “We”, “us” and “Contratista” refer to the operator of the platform: Contratista, established in the Netherlands at Wilhelminastraat 54, Vlaardingen (KvK no. 82351627; VAT no. NL003672419B82; phone +31 6 11045776).","terms_2_h":"2. The service","terms_2_p":"Contratista is a software platform and intermediary for holiday-rental maintenance. We help owners receive, diagnose and route reports, match them to vetted independent tradespeople, coordinate the job, check invoices and file insurance-ready reports. We provide intelligence, a record and advice — not the repair work itself and not a payment service.","terms_3_h":"3. Accounts and access","terms_3_p":"Owners and tradespeople need an account. You must be at least 18 and able to enter into this agreement. You are responsible for the accuracy of your information and for keeping your credentials confidential; activity under your account is your responsibility. Tradespeople join a vetted pool; approval is at our discretion, follows screening, and may be paused or withdrawn based on performance or conduct.","terms_4_h":"4. Our role as intermediary","terms_4_p":"Contratista connects owners and independent tradespeople but is not a party to the agreement formed between them. We do not employ the tradespeople, do not direct their work and do not warrant its quality, safety or outcome. Our screening of tradespeople is a limited, administrative check at admission — such as identity, registration and submitted documents — and not ongoing monitoring; admission is not a guarantee of a tradesperson’s competence, insurance, permits, reliability or suitability for your job, and does not make us a party to or a guarantor of the work. The decision to assign a tradesperson, approve work and pay always rests with the owner; you remain responsible for verifying, where appropriate, the tradesperson, their liability insurance and the quote before you place an order.","terms_5_h":"5. AI features and their limits","terms_5_p":"The platform uses AI to help diagnose reports, assess severity, estimate costs and check invoices. This output is supporting advice and may be incomplete or incorrect; it does not replace professional judgement or on-site inspection. For safety-critical faults (gas, water, electrics), the system never automatically lowers its output below the level that requires human or professional review. Never decide solely on the basis of the AI output in situations involving a risk to people’s safety; if in doubt, engage a qualified tradesperson or emergency service. Where automated output noticeably affects you, you can request human intervention and contest the outcome via info@contratista.eu. You remain responsible for decisions you make based on the output, and we clearly indicate when content is AI-generated. This provision does not affect anything that mandatory law, including the rules on product liability, does not permit to be excluded.","terms_6_h":"6. Subscription, trial and prices","terms_6_p":"Owners take out a subscription to use Contratista, billed monthly in advance, with a {days}-day free trial. After the trial, payment continues automatically at the then-current rate unless you cancel before it ends. We may change prices; we announce changes in advance and they apply from your next billing period.","terms_6_p_billing":"Owners take out a subscription to use Contratista, with a {days}-day free trial. At checkout you choose your billing period — monthly or yearly — and that period is billed in advance each time. After the trial, payment continues automatically at the then-current rate for the period you chose, unless you cancel before it ends. Cancellation takes effect at the end of the current billing period (article 9), so with yearly billing that is the end of the current subscription year. We may change prices; we announce changes in advance and they apply from your next billing period.","terms_7_h":"7. Payment and VAT","terms_7_p":"Subscription payments are handled by our payment provider (Stripe); by subscribing you authorise the recurring charge. The rates shown on the pricing page include VAT: the total price shown before checkout contains the VAT of your country of residence (for Spain, the applicable IVA), which we remit via the EU One-Stop-Shop (OSS) scheme. For customers with a valid EU VAT number verifiable through VIES, we apply the reverse-charge mechanism (we charge no VAT and you self-account for it); if we cannot establish that number, we treat you as a consumer. Our subscription invoices follow Dutch and OSS invoicing rules and do not fall under the Spanish Verifactu system; invoices that tradespeople issue to owners for repair work are between those parties, must comply with the applicable VAT and invoicing rules (including Verifactu where applicable), and are not issued by Contratista.","terms_8_h":"8. Right of withdrawal for consumers","terms_8_p":"If you take out a subscription as a consumer, you have a 14-day cooling-off period in which you may withdraw from the agreement without giving a reason. You withdraw by telling us unambiguously within that period — via the contact page, by email at info@contratista.eu or using the model withdrawal form. If you expressly ask us to start the service during the cooling-off period and acknowledge that you lose your right of withdrawal once the service has been fully performed, your right of withdrawal continues during those 14 days for as long as the service has not yet been fully provided; if you withdraw during that period, you pay proportionately for the part we have already delivered. We confirm receipt of your withdrawal and refund any amounts due to you without undue delay. Business customers and tradespeople have no statutory right of withdrawal.","terms_9_h":"9. Cancellation and consequences","terms_9_p":"You can cancel at any time; cancellation takes effect at the end of the current billing period and paid periods are not refunded pro rata. If your subscription lapses or ends, your QR codes keep working and new reports keep arriving, but the content of new reports is hidden until you reactivate. Historical jobs remain accessible read-only — nothing is lost.","terms_10_h":"10. Payment between owner and tradesperson","terms_10_p":"Payment for repair work is made directly between owner and tradesperson, outside the platform. Contratista does not hold, process or move those payments and never takes a commission on repairs. The owner marks an invoice as paid or unpaid for record-keeping; any dispute about the work or the invoice is between owner and tradesperson, with the option to escalate to us for mediation. Mediation is a reasonable-efforts service and does not bind us to any outcome.","terms_11_h":"11. Access to the property and access codes","terms_11_p":"Access instructions and key-safe codes you record are shared with the tradesperson assigned to the job to the extent needed to carry out the work. You decide which access details you record and are responsible for managing them, including changing codes after a job is completed. Contratista is not liable for damage, theft or loss resulting from misuse of access details by a tradesperson or third party, except in the case of intent or wilful recklessness on our part. We strongly advise changing codes after every job and not recording permanent key or alarm codes.","terms_12_h":"12. Acceptable use","terms_12_p":"You use the platform only to manage legitimate property maintenance. You do not upload unlawful, misleading or infringing content, do not report faults you are not entitled to report, and do not attempt to misuse, overload or reverse-engineer the platform. You make the reporting point (the QR code) available in a visible place; we ourselves show the actual privacy information to the guest in the reporting flow. Guests who report a fault via a QR code or property code are bound by these terms for that report, even without an account: by submitting, the guest confirms that they are entitled to submit the report, took the photos themselves or may share them, and do not infringe the rights or privacy of others. We may restrict content or access in case of misuse.","terms_13_h":"13. Reporting unlawful content","terms_13_p":"If you believe that content on the platform is unlawful, report it to info@contratista.eu with a description of the content, its location and why you consider it unlawful. We confirm receipt, assess the report carefully and non-arbitrarily, and inform you of our decision and the option to object to it. This address is also our point of contact for users and authorities within the meaning of the Digital Services Act.","terms_14_h":"14. Availability and maintenance","terms_14_p":"We do our best to keep the platform reliable and available, but provide it “as is” on a best-effort basis, without warranty of uninterrupted or error-free operation. We may temporarily suspend the service for maintenance, updates or security reasons, and try to give advance notice where possible. For consumers, this does not affect your statutory right to a service that conforms to the contract.","terms_15_h":"15. Force majeure","terms_15_p":"Neither party is liable for delay or failure to perform due to circumstances beyond its reasonable control, including disruptions or outages at the processors on which the platform depends (hosting, storage, email, payment and AI services), internet or power failures, cyberattacks, natural disasters and government measures. If the force majeure lasts longer than 30 days, either party may cancel the subscription without being liable for the resulting damage.","terms_16_h":"16. Intellectual property","terms_16_p":"All rights in the platform, software, brand and Contratista content remain with us or our licensors; you receive a non-exclusive, non-transferable right to use it for the duration of your subscription. The data and content you provide remain yours; you grant us a limited licence to process them as needed to deliver and improve the service. We may freely use any feedback you give us.","terms_17_h":"17. Liability","terms_17_p":"Contratista provides tooling and recommendations. All AI output is supporting advice; the final decision on assignment, approval and payment rests with you. We are not a party to the agreement between owner and tradesperson and are not liable for the quality, safety or outcome of the repair work or any damage arising from it. Otherwise, our liability is limited to direct damage — by which we mean solely: reasonable costs to remedy the shortcoming, to establish its cause, and to prevent or limit damage — and, per event and per year, to a maximum of the subscription amount you paid in the twelve months before the event; we exclude indirect or consequential loss. This subscription-based cap does not operate as an exclusion towards tradespeople or guests who pay no subscription: towards them we are liable for direct damage that is the direct and attributable result of incorrect or unlawful automated output of our platform, within the limits of the law and excluding indirect and consequential loss. These limitations do not apply in the case of intent or wilful recklessness by Contratista or its senior management, nor to death or personal injury, nor to the extent that a limitation towards you as a consumer would constitute an unfair term or mandatory law does not permit a further limitation; in that case, the furthest-reaching limitation that is permitted applies.","terms_18_h":"18. Indemnification","terms_18_p":"You indemnify Contratista against third-party claims — including from guests, tenants, other occupants, neighbours, buyers, rights holders and insurers — arising from the content that you or your guests provide via the platform (including photos, descriptions and address and access details), from a report made without right or permission, from the agreement and work between owner and tradesperson, or from your breach of these terms or of applicable law, including reasonable costs of defence. This indemnity does not apply to the extent that the claim results from intent or wilful recklessness by Contratista, and does not affect the mandatory rights of consumers.","terms_19_h":"19. Termination by us","terms_19_p":"We may suspend or terminate an account for breach of these terms, non-payment, misuse or a legal obligation. Where reasonable, we warn you in advance and give you the chance to remedy it. On termination, you keep access for a reasonable period to export your data, except in cases of serious misuse.","terms_20_h":"20. Changes, governing law and disputes","terms_20_p":"We may update these terms; material changes are announced in advance via your dashboard or by email, stating the effective date. If you continue your use after that date, this counts as acceptance; if you disagree with a material change, you may cancel free of charge before the effective date and the old terms continue to apply to you until then. These terms are governed by Dutch law. For business customers, the competent court in the Netherlands has exclusive jurisdiction over disputes. If you are a consumer, the choice of law never deprives you of the mandatory consumer protection of the country where you live; you may bring a dispute before the court of your own country of residence or the Dutch court, and we will bring a claim against you only before the court of your country of residence. If you cannot resolve a dispute with us, you may also refer it to a competent consumer dispute-resolution body in your own EU member state; consumers in Spain can turn to the consumer offices (Oficinas Municipales de Información al Consumidor) and the consumer arbitration system (Sistema Arbitral de Consumo), and for cross-border disputes the European Consumer Centre can help.","terms_21_h":"21. Assignment and final provisions","terms_21_p":"You may not assign your rights or obligations under this agreement without our prior written consent. Contratista may, however, transfer the agreement to a group company or to a legal successor in the event of a merger, acquisition or transfer of (part of) the business; we inform you in advance, your rights under these terms and our privacy policy remain unchanged, and you may cancel in that case if you do not agree to the transfer. If a provision of these terms is void or unenforceable, the remaining provisions remain in full force and we replace the provision concerned with a valid one that comes as close as possible to the intended purpose. These terms, together with the privacy policy they refer to, form the entire agreement between you and Contratista and supersede earlier arrangements on the same subject. If at any time we do not exercise a right under these terms, or do not do so immediately, this does not constitute a waiver of that right.","legal_terms_mediation_title":"Mediation and liability","legal_terms_mediation_body":"Contratista is a mediation platform. The agreement to carry out work is formed directly between the owner and the tradesperson; Contratista is not a party to it. Contratista is not liable for the quality, execution or any damage of the work performed by the tradesperson. The guarantee on the work — {months} months on labour, with parts under the manufacturer's warranty — is provided by the tradesperson and is the tradesperson's obligation. This contractual guarantee is in addition to, and never limits, the mandatory statutory guarantee (garantía legal) that applies where the owner acts as a consumer; that statutory guarantee may be broader or longer and, in that case, prevails.","hero_chip_issue":"Leak under the sink","hero_chip_melding_meta":"New report · with photos","preview_open":"Open","preview_resolved":"Resolved","preview_avg":"Avg","preview_pro_name":"Carlos · plumber","preview_pro_meta":"4.8 ★ · 12 min away","preview_pro_travel_meta":"4.8 ★ · 12 min away","preview_assign":"Assign","app_nav_insights":"Insights","app_insights_title":"Portfolio insights","app_insights_subtitle":"Patterns across all your properties, before they escalate.","app_insights_defects_heading":"Recurring faults","app_insights_defect_meta":"{woningen} properties · {meldingen} reports · last 90 days","app_insights_assets_heading":"Replacement approaching","app_insights_asset_meta":"{kind} · {leeftijd} years (lifespan {levensduur}y)","app_insights_status_nadert":"nearing end of lifespan","app_insights_status_over":"past lifespan","app_insights_plan_action":"Schedule preventive maintenance","app_insights_empty_title":"No patterns yet","app_insights_empty_body":"Add appliances (brand + year) to your properties and we will flag replacements in time.","app_insights_planned":"Maintenance scheduled.","app_insights_err_woning":"That property is not on your account.","app_insights_err_input":"Incomplete data.","app_insights_err_create":"Scheduling failed. Please try again.","app_insights_woningen_label":"Properties","app_insights_empty_no_props":"Add a property first to see patterns.","back_home":"← Contratista","hr_doc_title":"Report a fault · Contratista","hr_wizard_h1":"Report a fault","hr_intro_h1":"Something broken at home?","hr_intro_sub":"Report it here. A photo and a few words are enough. No account needed.","hr_intro_cta":"Report a fault","hr_how_title":"How it works","hr_how_1":"Tell us what is wrong","hr_how_2":"Take a photo","hr_how_3":"Done — your host takes care of it","hr_privacy":"Only your host sees this report.","hr_privacy_link":"How we handle your data","hr_privacy_who":"Your host, the tradesperson who fixes the fault and Contratista see this report; an AI model helps with the diagnosis.","hr_step_you":"You","hr_step_photo":"Fault","hr_step_details":"Contact","hr_step_of":"Step {n} of 3","hr_s1_h2":"Who are you?","hr_s1_sub":"So your host knows who the report is from.","hr_s1_name_label":"Your name","hr_s1_name_ph":"E.g. John Smith","hr_s1_loc_label":"Where in the home?","hr_s1_loc_ph":"E.g. bathroom, first floor","hr_s1_loc_help":"Helps the tradesperson find it faster.","hr_s1_code_label":"Property code","hr_s1_code_ph":"E.g. K7P-9QR","hr_s1_code_help":"You’ll find this code on the letter or QR from your host.","hr_s1_cta":"Next: photos","hr_s2_h2":"Show us and tell us","hr_s2_sub":"A few photos from different angles help the most. Add a short note about what’s going on.","hr_s2_camera":"Take photo","hr_s2_gallery":"Choose from gallery","hr_s2_remove":"Remove photo {n} of {total}","hr_s2_photo_alt":"Photo {n} of {total}","hr_s2_photo_required":"At least one photo is needed to continue. The diagnosis works from images.","hr_s2_add_group":"Add photo","hr_s2_selected_list":"Selected photos","hr_s2_announce_selected":"{n} photos selected","hr_s2_announce_selected_one":"1 photo selected","hr_s2_announce_removed":"Photo removed. {n} remaining.","hr_s2_cta":"Next: contact","hr_s2_desc_label":"Tell us what happened","hr_s2_desc_ph":"E.g. The bathroom tap keeps dripping, even when fully closed.","hr_s2_desc_help":"Optional, but it helps our diagnosis a lot.","hr_s2_chip_1":"Since when?","hr_s2_chip_2":"How bad is it?","hr_s2_chip_3":"Tried anything?","hr_s2_chip_group":"Things to think about","hr_s2_chip_help":"Tap anything you want to add. Leave it empty and it stays out of your report.","hr_s2_chip_1_insert":"Started: ","hr_s2_chip_2_insert":"How bad: ","hr_s2_chip_3_insert":"Already tried: ","hr_s2_chip_1_ph":"E.g. since last night","hr_s2_chip_2_ph":"E.g. it only drips","hr_s2_chip_3_ph":"E.g. turned the tap off","hr_s3_h2":"How do we reach you?","hr_s3_ai":"We review your photos, make a diagnosis and arrange a vetted tradesperson.","hr_submit_notice":"By submitting, your report is processed by Contratista and the owner of this property to assess and repair the fault. An AI model analyses your photos and description. We keep your report for up to 24 months after completion; you can request deletion of your data.","hr_submit_recipients":"The tradesperson who takes on the job receives the diagnosis, your photos and the property context the work requires.","hr_submit_confirm":"By submitting, you confirm that you are entitled to make this report, that you took the photos yourself or may share them, and that you do not infringe anyone else’s rights or privacy.","hr_s3_cta":"Send","hr_s3_cta_loading":"Sending…","hr_captcha_bezig":"One moment, the security check is running. If a tick box appears, please tap it.","hr_captcha_verlopen":"The security check expired. We are fetching a new one automatically.","hr_captcha_geblokkeerd":"The security check could not be completed. This is usually caused by an ad blocker, a VPN or a restrictive wifi network. Turn those off or switch to mobile data.","hr_captcha_opnieuw":"Try again","hr_back":"Back","hr_leave_title":"Leave this page?","hr_leave_confirm":"Your report hasn’t been sent yet. Are you sure you want to leave this page? Your details and photos will be lost.","hr_leave_stay":"Stay","hr_leave_leave":"Leave","hr_err_incomplete":"Something went wrong. Please try again.","hr_err_retry":"Please try again in a minute.","hr_unknown_h1":"We don’t recognise this code.","hr_unknown_body":"The QR code looks expired or incorrect. Scan the code in the property again, or ask your host for a new one.","hr_unknown_read":"Code we read","hr_unknown_manual_label":"Enter the code manually","hr_unknown_cta":"Check","hr_done_doc_title":"Report sent · Contratista","hr_done_h1":"Thanks. We’re on it.","hr_done_body":"Your report has been received. We make a diagnosis and arrange a vetted tradesperson. You don’t need to do anything else.","hr_done_body_nofoto":"Your report has been received and passed on to your host. You don’t need to do anything else.","hr_done_h1_spoed":"Thanks. This is marked urgent.","hr_done_body_spoed":"Your report went through as urgent and your host has been alerted straight away. Keep to the steps you just read until someone arrives. If you can’t wait or it gets worse, call the emergency services or an emergency tradesperson right away.","hr_done_werk_title":"What we are doing right now","hr_done_werk_1":"Looking at your photos","hr_done_werk_2":"Assessing how serious it is","hr_done_werk_3":"Preparing advice for your host","hr_done_werk_klaar":"The outcome will be on your status page shortly. Your host has been notified automatically.","hr_done_nofoto_title":"Your host has been notified","hr_done_nofoto_body":"Tip: a photo says more than a description and speeds things up. You can add one from your status page.","hr_done_close":"You can safely close this window now.","hr_done_track_title":"Track your report","hr_done_track_sub":"We’ve also sent this link to your email address. Save it to check the status of your report at any time.","hr_done_track_cta":"Open status page","hr_done_track_copy":"Copy link","hr_done_track_copied":"Link copied","hr_done_track_share":"Share link","checkin_titel":"You're expected at this address","checkin_knop":"I'm on site","checkin_gelukt":"Arrival recorded","checkin_uitleg":"This records that you were here. Even if no one answers the door.","bezoek_geen_toegang":"Nobody answers the door","bezoek_geen_toegang_hulp":"Take a photo of the door. Then this will not count against your attendance.","bezoek_geen_toegang_toast":"Recorded. This does not count against your attendance.","bezoek_geen_toegang_onbewaakt":"I cannot get in","bezoek_geen_toegang_onbewaakt_hulp":"Take a photo of the door or the lockbox. Then this will not count against your attendance.","bezoek_geen_toegang_reden_hulp":"Optional. Briefly say what went wrong. The owner reads it and can sort it out.","bezoek_afmelden":"I can't make it","bezoek_afmelden_hulp":"Let us know now and we'll find a replacement straight away. This weighs far less than staying away.","bezoek_afmelden_toast":"Cancellation received. We're looking for a replacement.","bezoek_historie_titel":"Earlier visits","bezoek_historie_aangekomen":"Arrival recorded","bezoek_historie_reststaat":"State left behind","bezoek_historie_gedaan":"What was done","bezoek_historie_bevindingen":"Assessment findings","bezoek_afloop_uitgevoerd":"Visit completed","bezoek_afloop_geen_toegang":"Nobody answered","bezoek_afloop_afgemeld_monteur":"Tradesperson cancelled","bezoek_afloop_niet_verschenen":"No-show","bezoek_afloop_afgemeld_woningkant":"Cancelled from the property","woning_auto_vervangen":"Arrange a replacement for me","woning_auto_vervangen_hulp":"If a tradesperson doesn't turn up, we look for someone else straight away. For urgent work that happens immediately; otherwise you hear from us first and can stop it.","hr_open_banner_title":"You have an ongoing report","hr_open_banner_sub":"Pick up where you left off. View its status.","hr_open_banner_cta":"View status","hr_concept_title":"We saved your draft","hr_concept_sub":"Saved at {tijd}.","hr_concept_fotos_alle":"Your photos are back too.","hr_concept_fotos_deels":"{n} of your {total} photos came back. Please add the rest again.","hr_concept_fotos_weg":"Your photos did not fit in your device’s storage; please add them again.","hr_concept_verder":"Continue","hr_concept_weggooien":"Start over","hr_concept_weg_title":"Discard draft?","hr_concept_weg_body":"Your saved details and photos will be removed from this device. You will start with an empty form.","hr_concept_weg_ok":"Discard","hr_concept_weg_annuleer":"Keep","hr_prefill_note":"Filled in from your previous report on this device.","hr_prefill_clear":"Not me — clear","hr_prefill_clear_also_contact":"Also clears the email address and phone number in step 3.","hr_prefill_clear_also_name":"Also clears the name in step 1 and takes you back there.","hr_prefill_cleared":"Name and contact details cleared. Enter your own details below.","hr_contact_legend":"How we keep you posted","hr_contact_hint":"We need both your email address and phone number to send you updates and reach you about the repair.","hr_contact_email":"Email address","hr_contact_phone":"Phone number","hr_contact_email_ph":"you@example.com","hr_contact_phone_ph":"+34 612 345 678","hr_contact_required":"Please enter a valid email address and phone number so we can reach you.","hr_contact_email_invalid":"Please enter a valid email address.","hr_contact_phone_invalid":"Please enter a valid phone number (at least 6 digits).","hr_access_q":"When can someone be let in?","hr_access_day_vandaag":"Today","hr_access_day_morgen":"Tomorrow","hr_access_day_flexibel":"Flexible","hr_access_dp_ochtend":"Morning","hr_access_dp_middag":"Afternoon","hr_access_dp_avond":"Evening","hr_access_dp_flexibel":"Any time","hr_access_note_ph":"If you’re not there: where is the key? (e.g. neighbour at no. 4)","app_access_title":"Access / availability","hr_access_given_title":"The availability you gave","hr_triage_h1":"Is this urgent?","hr_triage_urgent":"Yes, this is urgent","hr_category_h1":"What’s going on?","hr_category_sub":"Pick the closest match.","hr_triage_sub":"Urgent = danger, damage that is getting worse, or a home you cannot live in like this — think no water, no power or no cooling in the heat.","hr_triage_water":"Water is leaking or spraying","hr_triage_power":"No power / sparks / burning smell from a socket","hr_triage_gas":"Gas smell or smoke","hr_triage_other":"Something else that is urgent","hr_triage_wait":"No — it can wait","hr_triage_continue":"Continue","hr_emg_intro":"Do this first. Then send your report — only then do we alert your host.","hr_emg_112":"If there is danger to life, call 112.","hr_emg_water_title":"Water emergency","hr_emg_water_1":"Turn off the main water valve (usually by the meter / in the meter cupboard).","hr_emg_water_2":"Lay down towels and move valuables out of the way.","hr_emg_water_3":"Take a photo if you safely can. It helps the tradesperson.","hr_emg_water_4":"Continue your report below so your host gets the details.","hr_emg_power_title":"Electrical emergency","hr_emg_power_1":"Switch off the main breaker in the fuse box.","hr_emg_power_2":"Do not touch wires, sockets or the fuse box with wet hands.","hr_emg_power_3":"Continue your report below. A certified electrician will be arranged.","hr_emg_gas_title":"Gas or smoke emergency","hr_emg_gas_1":"Open windows and leave the property.","hr_emg_gas_2":"Do not use switches, sockets or open flames.","hr_emg_gas_3":"From outside, continue your report so your host is alerted.","hr_emg_other_title":"Urgent fault","hr_emg_other_1":"Make the area safe if you can do so without risk.","hr_emg_other_2":"Continue your report below. We alert your host as soon as you send it.","pro_nav_section":"Work","pro_nav_dashboard":"Dashboard","pro_nav_requests":"Requests","pro_nav_jobs":"My jobs","pro_nav_availability":"Availability","pro_nav_profile":"Profile","pro_nav_calendar":"Calendar","pro_agenda_intro":"Your confirmed jobs and your own calendar in one view.","pro_agenda_today":"Today","pro_agenda_legend_job":"Job","pro_agenda_legend_busy":"Busy (own calendar)","pro_agenda_legend_done":"Completed","pro_agenda_done_title":"Work completed","pro_agenda_unplanned_title":"To be scheduled","pro_agenda_upcoming_title":"Upcoming jobs","pro_agenda_upcoming_empty":"No scheduled jobs yet.","pro_agenda_ical_title":"Connect my calendar","pro_agenda_ical_hint":"Paste an iCal link (Google, Apple or Outlook). Your busy days show as context; they don’t block jobs.","pro_agenda_ical_url":"iCal URL","pro_agenda_ical_label":"Name (optional)","pro_agenda_ical_add":"Connect","pro_agenda_ical_remove":"Disconnect","pro_agenda_ical_empty":"No calendar connected yet.","pro_agenda_ical_added":"Calendar connected.","pro_agenda_ical_removed":"Calendar disconnected.","pro_agenda_ical_sync_ok":"Synced · {n} events imported","pro_agenda_ical_sync_ok_one":"Synced · 1 event imported","pro_agenda_ical_sync_empty":"Synced · no events in this calendar","pro_agenda_ical_sync_unreachable":"Sync failed · this link could not be reached. Check the link.","pro_agenda_ical_sync_invalid":"Sync failed · this link returns no calendar data. Use the iCal export link (.ics).","pro_agenda_err_url":"Enter a valid, public https iCal link.","pro_agenda_err_state":"Something went wrong. Please try again.","pro_agenda_err_notfound":"This calendar no longer exists.","pro_apply_doc_title":"Become a tradesperson · Contratista","pro_apply_h1":"Become a tradesperson","pro_apply_lede":"Free to join. Our screening takes a look, a human decides.","pro_apply_step_label":"Step {n} of {total}","pro_apply_back":"Back","pro_apply_next":"Next","pro_apply_submit":"Submit application","pro_apply_submitting":"Submitting…","pro_join_lang_label":"Preferred language","upload_overlay_note":"Please keep this window open.","upload_overlay_report_title":"Uploading your photos…","upload_overlay_apply_title":"Submitting your application…","pro_apply_s1_title":"Who are you","pro_apply_s1_sub":"A few basics so we can reach you.","pro_apply_f_name":"Full name","pro_apply_f_company":"Company name (optional)","pro_apply_f_email":"Email","pro_apply_f_phone":"Phone (optional)","pro_apply_lang_note":"Your language: this is how you’ll receive requests and messages.","pro_apply_s2_title":"What you do","pro_apply_s2_sub":"Tell us what you’re good at.","pro_apply_trades_label":"Specialities","pro_trade_loodgieter":"Plumbing","pro_trade_elektra":"Electrical","pro_trade_cv":"Heating","pro_trade_dak":"Roofing","pro_trade_schilder":"Painting","pro_trade_algemeen":"General","pro_apply_region_label":"Region","pro_apply_radius_label":"Travel radius","pro_apply_radius_10":"10 km","pro_apply_radius_25":"25 km","pro_apply_radius_50":"50 km","pro_apply_rate_label":"Hourly rate","pro_apply_rate_suffix":"€/hour","pro_apply_callout_label":"Call-out fee (optional)","pro_apply_callout_suffix":"€","pro_apply_s3_title":"Show your papers","pro_apply_s3_sub":"Just your papers, then we’ll take a look. Only the proof of insurance is required.","pro_apply_doc_licence":"Driving licence / ID (recommended)","pro_apply_doc_insurance":"Proof of insurance (required)","pro_apply_doc_kvk":"Chamber of commerce / autónomo (recommended)","pro_apply_doc_reference":"References / certificates (optional)","pro_apply_doc_confidential":"These documents are reviewed confidentially by our screening.","pro_apply_doc_received":"already received","pro_apply_doc_add":"Add file","pro_apply_doc_gallery":"Choose file","pro_apply_doc_remove":"Remove document {n} of {total}","pro_apply_doc_group_tpl":"Add {doc}","pro_apply_doc_list_tpl":"Selected files — {doc}","pro_apply_doc_alt_tpl":"{doc} — file {n} of {total}","pro_apply_doc_selected_tpl":"{n} files selected — {doc}","pro_apply_doc_selected_one_tpl":"1 file selected — {doc}","pro_apply_doc_removed_tpl":"File removed — {doc}. {n} left.","pro_apply_s4_title":"Confirm","pro_apply_s4_sub":"Check your details and submit. All fields below are required.","pro_apply_sum_details":"Your details","pro_apply_sum_trades":"Specialities & region","pro_apply_sum_docs":"Documents","pro_apply_sum_edit":"Edit","pro_apply_sum_none":"Not provided","pro_apply_sum_docs_count":"{n} files attached","pro_apply_sum_docs_count_one":"1 file attached","pro_apply_consent_prefix":"I agree to the processing of my data for screening, and to the","pro_apply_screening_note":"Our screening takes a look. A human decides.","pro_apply_err_name":"Please enter your name.","pro_apply_err_email":"Please enter a valid email.","pro_apply_err_trades":"Pick at least one speciality.","pro_apply_err_region":"Enter your region.","pro_apply_err_insurance":"Proof of insurance is required.","pro_apply_err_consent":"Please accept the terms to continue.","pro_apply_err_opkomst":"Accept the attendance agreement to continue.","pro_apply_err_generic":"Something went wrong. Please try again.","pro_apply_err_already_approved":"You are already approved. Manage your details via your profile instead.","pro_apply_label_nif":"NIF/IVA number","pro_apply_label_address":"Business address","pro_apply_label_iban":"IBAN (for payment by the owner)","pro_apply_label_guarantee":"I provide a {months}-month guarantee on my labour; parts follow the manufacturer’s warranty. I understand this is a condition to join the pool.","pro_apply_err_nif":"Enter your NIF/IVA number.","pro_apply_err_address":"Enter your business address.","pro_apply_err_iban":"Enter a valid IBAN.","pro_apply_err_guarantee":"Accept the guarantee condition to continue.","pro_apply_err_hourly_rate":"Please enter a valid hourly rate.","pro_apply_err_hourly_rate_max":"That hourly rate looks too high. Enter a rate up to €{maxRate}/hour.","pro_status_doc_title":"Application status · Contratista","pro_status_pending_h1":"Under review","pro_status_paused_h1":"Your certification is paused","pro_status_paused_sub":"Your access to new jobs is temporarily paused. This can happen during a periodic review. You do not need to do anything right now — we will email you as soon as anything changes.","pro_status_docs_received_title":"Documents received","pro_status_docs_received_hint":"Something not right, or want to replace a document? Go to your profile.","pro_status_docs_received_q":"Something not right, or want to replace a document?","pro_status_docs_received_profile_cta":"Go to your profile","pro_status_docs_received_contact_cta":"Let us know","pro_status_doc_verified":"Checked","pro_status_doc_pending":"Being reviewed","pro_status_doc_kind_insurance":"Proof of insurance","pro_status_doc_kind_licence":"Driving licence / ID","pro_status_doc_kind_kvk":"Chamber of commerce / autónomo","pro_status_doc_kind_reference":"References / certificates","pro_status_doc_kind_other":"Document","pro_status_docs_title":"Documents requested","pro_status_docs_body":"To complete the review of your application, we need some additional documents from you.","pro_status_docs_cta":"Upload documents","pro_status_pending_sub":"We’re reviewing your application.","pro_status_eta":"Usually within two business days.","pro_status_tl_aria":"Application progress","pro_status_tl_submitted":"Application received","pro_status_tl_screening":"Automated screening","pro_status_tl_review":"Human review","pro_status_tl_welcome":"Welcome","pro_status_tl_done":"Done","pro_status_tl_current":"In progress","pro_status_tl_future":"Upcoming","pro_status_summary_title":"Your application","pro_status_sum_name":"Name","pro_status_sum_trades":"Specialities","pro_status_sum_region":"Region","pro_status_sum_rate":"Hourly rate","pro_status_contact_q":"Questions?","pro_status_contact_cta":"Contact us","pro_status_approved_h1":"Welcome aboard","pro_status_approved_sub":"Your profile is approved. You can start receiving requests.","pro_status_approved_cta":"Go to your dashboard","pro_status_rejected_h1":"Not a match this time","pro_status_rejected_sub":"You can add to your documents and submit again.","pro_status_rejected_reason":"Reason","pro_status_rejected_cta":"Update & resubmit","pro_dash_greet_morning":"Good morning, {name}","pro_dash_greet_afternoon":"Good afternoon, {name}","pro_dash_greet_evening":"Good evening, {name}","pro_dash_greet_plain":"Your work","pro_dash_requests":"Open requests","pro_dash_requests_none":"No open requests right now.","pro_notif_requests_one":"1 new request","pro_notif_requests_many":"{n} new requests","pro_notif_visit_today_one":"Today: 1 visit scheduled","pro_notif_visit_today_many":"Today: {n} visits scheduled","pro_notif_to_plan_one":"1 job is waiting for a time","pro_notif_to_plan_many":"{n} jobs are waiting for a time","pro_notif_fraud_one":"1 cost breakdown was flagged","pro_notif_fraud_many":"{n} cost breakdowns were flagged","pro_notif_payment_one":"Your money is on its way — confirm receipt","pro_notif_payment_many":"{n} payments on their way — confirm receipt","pro_dash_active":"Active jobs","pro_dash_active_none":"No active jobs.","pro_dash_view":"View","pro_dash_decline":"Decline","pro_dash_open":"Open","pro_dash_empty_title":"Nothing on your plate","pro_dash_empty_body":"We’ll let you know the moment work comes in.","pro_dash_empty_cta":"Check your availability","pro_requests_empty_title":"No open requests","pro_requests_empty_body":"As soon as a new request comes in, you’ll find it here.","pro_requests_none_search_title":"No requests match","pro_requests_none_search_body":"No request matches your search. Try a property name or a fault type.","pro_dash_stats":"Your week","pro_dash_earnings":"Earnings","pro_dash_earned":"Received","pro_dash_underway":"On its way","pro_dash_outstanding":"Outstanding ({n} invoices)","pro_dash_outstanding_one":"Outstanding (1 invoice)","pro_dash_outstanding_spec":"Outstanding ({n} cost breakdowns)","pro_dash_outstanding_spec_one":"Outstanding (1 cost breakdown)","pro_dash_stat_resolved":"Resolved this week","pro_dash_stat_acceptance":"Acceptance rate","pro_dash_stat_response":"Avg. response time","pro_dash_stat_response_submin":"< 1 min","pro_dash_stat_response_min":"{n} min","pro_dash_stat_response_hour":"{n} hr","pro_dash_stat_none":"No data yet","pro_dash_stat_awaiting_one":"+1 submitted — awaiting the owner","pro_dash_stat_awaiting":"+{n} submitted — awaiting the owner","pro_opkomst_titel":"Your attendance","pro_opkomst_uitleg":"The more often you turn up at the agreed time, the more jobs you get offered.","pro_opkomst_leeg":"No appointments yet. You start with a clean slate.","pro_opkomst_afspraken":"across {aantal} appointments","pro_opkomst_afspraak":"across {aantal} appointment","pro_opkomst_afspraken_one":"across 1 appointment","pro_status_accepted":"Accepted","pro_status_inprogress":"In progress","pro_sla_accept":"SLA","pro_sla_resolve":"SLA","pro_sla_hour":"h","pro_sla_minute":"m","pro_sla_overdue":"Overdue","pro_req_title":"Request","pro_req_translated":"Translated from {lang}","pro_req_translated_hint":"This request was translated into your language.","pro_lang_nl":"Dutch","pro_lang_en":"English","pro_lang_es":"Spanish","pro_req_photos":"Photos","pro_req_gallery":"Intake photos","pro_req_gallery_empty":"No photos provided.","pro_req_property":"The property","pro_req_access_locked":"Address & access shown once you accept","pro_route_open":"Directions","pro_route_aria":"Open this address in maps","pro_ics_download":"Add to my calendar","pro_ics_hint":"Downloads a calendar file (.ics) you can open in your own calendar.","pro_req_respond_hours":"{uren} hours left to respond","pro_req_respond_hour":"1 hour left to respond","pro_req_respond_soon":"Less than an hour left to respond","pro_req_respond_lapsed":"The response window has closed","pro_req_respond_hint":"Respond before {moment}. After that the request lapses automatically and the job goes to another tradesperson.","pro_req_respond_lapsed_hint":"You can still respond, but the request may lapse at any moment and go to another tradesperson.","pro_req_area_in":"In your work area","pro_req_area_out":"Outside your work area","pro_req_area_hint":"Based on the region in your profile, not on a measured distance.","pro_req_history":"Property history","pro_req_elektra_safety":"Electrical work — always treat as at least urgent and advise a certified electrician.","pro_req_ai_foot":"Guidance, not a final verdict.","pro_req_accept":"Accept","pro_req_decline":"Decline","pro_req_accepted":"Accepted — this job is yours","pro_req_open_job":"Open the job","pro_req_gone":"This request is no longer available.","pro_req_decline_title":"Decline this request","pro_req_decline_sub":"No problem. Let us know why, so we can find someone else.","pro_req_decline_confirm":"Decline","pro_req_decline_note_ph":"Tell us more (optional)","pro_req_decline_note_label":"Additional details (optional)","pro_req_reason_busy":"Too busy right now","pro_req_reason_region":"Outside my region","pro_req_reason_speciality":"Not my speciality","pro_req_reason_rate":"Rate doesn’t fit","pro_req_reason_other":"Other","pro_req_err_notfound":"Request not found.","pro_req_err_gone":"This request is no longer available.","pro_req_err_reason":"Please pick a reason.","pro_req_rate_label":"Your hourly rate","pro_req_rate_hint":"Your registered hourly rate — not the total job price. The final amount follows via the invoice.","pro_klus_title":"Job","pro_klus_tab_overview":"Overview","pro_klus_tab_chat":"Chat","pro_klus_tab_close":"Wrap up","pro_klus_tabs_aria":"Job sections","pro_klus_close_locked":"“{tab}” becomes available once the job is in progress.","pro_klus_cancelled_banner":"This job was reopened or cancelled by the owner.","pro_klus_translated":"Translated from {lang}","pro_klus_translated_hint":"The reporter’s description was translated into your language.","pro_klus_closed_done":"This job is completed. Below is a read-only summary of your work.","pro_klus_closed_invoiced":"Cost breakdown submitted. Read-only until the owner pays.","pro_klus_closed_photos":"After photos","pro_klus_closed_planned":"Scheduled appointment","pro_klus_closed_dates":"Work and payment","pro_klus_executed_at":"Work carried out","pro_klus_paid_at":"Payment registered","pro_klus_paid_pending":"Not marked as paid yet","pro_klus_appt":"Appointment","pro_klus_appt_owner_proposes":"The owner proposes","pro_klus_appt_date":"Date","pro_klus_appt_time":"Time","pro_klus_appt_propose":"Propose a time","pro_klus_appt_propose_other":"Propose another time","pro_klus_appt_confirm":"Confirm appointment","pro_klus_appt_confirmed":"Confirmed","pro_klus_appt_pending":"Waiting on the owner","pro_klus_appt_confirmed_toast":"Appointment confirmed.","pro_klus_appt_change":"Change appointment","pro_klus_appt_move":"Move","pro_klus_appt_move_hint":"Pick a new time. The guest and the owner are told the new time; the owner also sees your reason.","pro_klus_appt_move_reason":"Why are you moving it?","pro_klus_appt_move_reason_ph":"For example: previous job is running late, or an emergency came in.","pro_klus_appt_move_pick":"New time","pro_klus_appt_move_no_blocks":"There is no other time available before the deadline. Cancel if you truly cannot make it. We will look for a replacement.","pro_klus_appt_move_submit":"Move the appointment","pro_klus_appt_moved_toast":"Appointment moved. The guest and the owner have been notified.","pro_klus_appt_cancel":"Cancel appointment","pro_klus_appt_cancel_hint":"You hand the job back. We will look for a replacement; if we cannot find one, the owner takes it from there. Cancelling in time counts far less against you than not showing up.","pro_klus_appt_cancel_submit":"I cannot make it","pro_klus_afloop_title":"Visit did not go ahead","klus_verzet_systeem":"The tradesperson moved the visit to {moment}. Reason: {reden}","app_klus_verzet_titel":"Appointment moved","app_klus_verzet_tekst":"The tradesperson moved the visit. New time: {moment}.","app_klus_verzet_reden":"Reason given by the tradesperson","hr_verzet_titel":"New time","hr_verzet_tekst":"The visit has been moved. The new time is shown below.","pro_klus_appt_proposed_toast":"Your proposed time was sent.","appt_awaiting_tenant":"Awaiting confirmation from the guest","appt_tenant_declined":"Guest cannot make it — please propose a new time","pro_klus_access":"Access","pro_klus_access_hint":"Key-box code / contact for this property.","pro_klus_gast_tel_hint":"Urgent: call the guest to say you are on your way, or to ask them to shut off the mains. For this job only.","pro_klus_access_empty":"No access details on file for this property.","pro_klus_entry_unattended":"May enter unattended","pro_klus_entry_attended":"Someone must be present","pro_klus_werkbon":"Work order","pro_klus_werkbon_owner":"Owner","pro_klus_werkbon_address":"Address","pro_klus_werkbon_deadline":"Deadline","pro_klus_werkbon_no_deadline":"Not yet scheduled","pro_klus_diag":"Diagnosis summary","pro_klus_diag_full":"View the full request","pro_klus_diag_none":"No diagnosis available. Assess on site.","pro_klus_start":"Mark job as started","pro_klus_started_toast":"Job started. You can wrap it up when done.","pro_klus_goto_close":"Go to wrap up","pro_klus_visit_title":"Wrap up the visit","pro_klus_visit_done":"Job done","pro_klus_visit_pause":"Stepping out, I’ll be back","pro_klus_visit_pause_hint":"E.g. \"back around 3pm\" or \"continuing tomorrow\"","pro_klus_visit_pause_cta":"Confirm pause","pro_klus_visit_followup":"Follow-up visit on another day","pro_klus_visit_followup_cta":"Schedule follow-up","pro_klus_visit_followup_note":"What did you do on this visit? (optional)","pro_klus_visit_followup_note_ph":"E.g. \"sealed the leak, new pump ordered\"","pro_klus_visit_opname":"Assessment — repair follows later","pro_klus_visit_opname_cta":"Submit assessment","pro_klus_visit_paused_toast":"Pause recorded. The job stays in progress.","pro_klus_visit_followup_toast":"Follow-up visit scheduled.","pro_klus_visit_opname_toast":"Assessment submitted. Awaiting the owner’s approval.","pro_klus_visit_opname_toast_slot":"Assessment submitted and scheduled right away.","pro_klus_visit_opname_photos_skipped":"Note: {aantal} photo(s) were not saved. Add them again when you close the job.","pro_klus_residual_label":"What state are you leaving this in?","pro_klus_residual_gestabiliseerd":"Danger resolved / stabilised","pro_klus_residual_deels":"Partially fixed, no acute risk","pro_klus_residual_nog_actief":"Damage still active","pro_klus_opname_findings":"What did you find?","pro_klus_opname_estimate":"Estimated extra cost (excl. VAT)","pro_klus_opname_drempel":"Agreed price {baseline}. Stay under {grens} and you schedule the follow-up yourself right away. Go above it and the owner has to approve first.","pro_klus_opname_grens":"The limit applies to the estimated extra cost above and sits at {grens}, your hourly rate of {tarief} plus 25%. Up to and including that amount you schedule the follow-up yourself right away; above it, the owner has to approve first.","pro_klus_opname_photos":"Assessment photos (optional)","pro_klus_opname_slot_hint":"Time slot for the repair","pro_klus_opname_scope_hint":"The owner needs to approve this extra cost first. You can schedule the follow-up once they agree.","pro_klus_await_title":"Waiting for the owner’s approval","pro_klus_await_body":"Your assessment is with the owner. Until they decide, you can’t start or close this job.","pro_klus_await_next":"If they approve, the job comes back with a follow-up visit for you to schedule. You’ll be notified. If it stays quiet, we remind the owner automatically after 48 hours.","pro_klus_await_chat_cta":"Message the owner","pro_klus_err_residual":"Choose the remaining state.","pro_klus_err_findings":"Describe your findings.","pro_klus_err_estimate":"Enter a valid amount (0 or higher).","pro_klus_chat":"Messages","pro_klus_chat_moderated":"moderated · auto-translated","pro_klus_chat_empty":"Send the owner a message if anything is unclear.","pro_klus_chat_ph":"Type a message…","pro_klus_chat_translated":"Translated from","pro_klus_chat_messages":"Messages","pro_klus_chat_input":"Message input","pro_klus_chat_send":"Send message","pro_klus_close_title":"Wrap up the job","pro_klus_close_body":"Add after-photos, an itemised invoice and a short note.","pro_klus_close_cta":"Start wrap-up","pro_klus_err_state":"This action is no longer possible for this job.","pro_klus_err_appt":"Could not update the appointment. Please try again.","pro_klus_err_appt_empty":"Pick a date and a time.","pro_klus_err_empty":"Type a message first.","pro_klus_err_send":"Message not sent. Please try again.","pro_klus_err_notfound":"Job not found.","slots_invalid":"Something went wrong with the selected slots.","slots_count":"Please choose 2 or 3 time slots.","slots_incomplete":"Fill in a date and time for each slot.","slots_past":"Choose a slot in the future.","geen_tegenvoorstel":"There is no counter-proposal to confirm.","server":"Something went wrong. Please try again.","pro_afsluit_title":"Wrap up the job","pro_afsluit_step_photos":"Photos","pro_afsluit_step_invoice":"Invoice","pro_afsluit_step_note":"Notes","pro_afsluit_intake_h":"Photos from the report","pro_afsluit_intake_hint":"This is how the guest saw it. Take your after-photo from the same angle.","pro_afsluit_photos_h":"After-photos (required)","pro_afsluit_photos_hint":"At least 1 photo. Tip: same angle as the intake photo. It helps the before/after check.","pro_afsluit_camera":"Camera","pro_afsluit_gallery":"Gallery","pro_afsluit_invoice_h":"Invoice","pro_afsluit_desc":"Description","pro_afsluit_amount":"Amount (€)","pro_afsluit_hours":"Hours","pro_afsluit_rate":"Rate (€/h)","pro_afsluit_rate_locked":"The hourly rate comes from your profile. Change it there.","pro_afsluit_remove":"Remove line","pro_afsluit_remove_photo":"Remove photo {n} of {total}","pro_afsluit_add_material":"Material line","pro_afsluit_add_labour":"Labour line","pro_afsluit_callout":"Call-out fee","pro_afsluit_voorrij_auto":"Call-out fee — applied automatically","pro_afsluit_voorrij_uitleg":"You found a locked door {n} times on this report. From the second time onwards a fixed fee applies. It has been filled in for you and counts towards the total — no need to add a line yourself.","pro_afsluit_payment_note":"You settle payment directly with the owner. Contratista handles no money.","pro_afsluit_invoice_min":"The total must be above €0. Check the hours, amounts and rate. Negative values do not count.","pro_afsluit_regel_onvolledig":"A line only counts once it bills something. A material line needs a description and an amount above €0, a labour line needs hours above 0. Complete the highlighted line or remove it.","pro_afsluit_klant_fiscaal":"Client invoice details","pro_afsluit_klant_fiscaal_leeg":"The owner has not provided their invoice details (name, tax ID, address) yet. You can still submit. Ask the owner for these details for your own invoice.","pro_afsluit_iva_label":"IVA rate","pro_afsluit_iva_21":"21% (standard)","pro_afsluit_iva_10":"10% (home repair, >2 yrs)","pro_afsluit_iva_help":"Repairs/renovations of homes older than 2 years often qualify for 10% VAT, provided material costs stay below 40% of the base.","pro_afsluit_iva_10_verlaagd":"10% (reduced — private owner only)","pro_afsluit_iva_voorwaarden":"The reduced rate applies only if all three conditions are met at once (Ley 37/1992, art. 91.Uno.2.10º): the owner is a private individual who uses the dwelling privately and is not acting as a business; the dwelling was completed at least 2 years ago; and the materials you supply cost no more than 40% of the taxable base. If the owner rents the dwelling out commercially, they are acting as a business and 21% applies.","pro_afsluit_iva_10_let_op":"You are choosing the reduced rate. First make sure the owner really is a private individual: if the dwelling is rented out commercially, 21% is mandatory. The invoice is in your name, so the wrong rate comes back to you.","pro_afsluit_note_h":"What did you do?","pro_afsluit_note_ph":"Replaced the trap, re-sealed the connection, tested for leaks.","pro_afsluit_note_hint":"This and the photos feed the fraud check and the insurance report.","pro_afsluit_summary":"Summary","pro_afsluit_sum_photos":"After photos","pro_afsluit_next":"Next","pro_afsluit_submit":"Wrap up the job","pro_afsluit_submitting":"Wrapping up…","pro_afsluit_err_photos":"Add at least one after-photo.","pro_afsluit_err_invoice":"The invoice is empty. Add a line.","pro_afsluit_err_lines_max":"The invoice has too many lines. Combine materials into at most 200 lines.","pro_afsluit_err_note":"Tell us briefly what you did.","pro_afsluit_err_state":"This job can no longer be wrapped up.","pro_afsluit_err_upload":"Photo upload failed. Please try again.","pro_afsluit_err_submit":"Could not submit. Your details are kept, try again.","pro_afsluit_err_rate":"Your hourly rate is not set. Go to your profile to fill it in.","pro_jobs_filter_open":"Active","pro_jobs_filter_done":"Completed","pro_jobs_filter_all":"All","pro_jobs_filter_aria":"Filter jobs","pro_jobs_search_ph":"Search property / type","pro_jobs_empty_title":"No jobs yet","pro_jobs_empty_body":"Once you wrap up your first job, it shows up here.","pro_jobs_none_search_title":"No jobs match","pro_jobs_none_search_body":"Nothing here matches your search. Try a property name or a job type.","pro_jobs_none_search_clear":"Clear search","pro_jobs_none_open_title":"No active jobs","pro_jobs_none_open_body":"New work lands under Requests first. Accept one and it moves here.","pro_jobs_none_open_cta":"View your requests","pro_jobs_none_done_title":"Nothing completed yet","pro_jobs_none_done_body":"Once you wrap up a job, you’ll find it here with its cost breakdown.","pro_jobs_none_done_cta":"Show all jobs","pro_jobs_fraud_ok":"Fraud check: clear","pro_jobs_fraud_review":"Fraud check: needs review","pro_jobs_fraud_flag":"Fraud check: flagged","pro_jobs_fraud_why":"Why?","pro_jobs_fraud_reply":"Not right? Reply in the job message thread. Your explanation reaches the owner and us.","pro_jobs_fraud_dispute_q":"Not right? Tell us which property and which date it concerns, and we will review the flag again.","pro_jobs_fraud_dispute_cta":"Let us know","pro_klussen_settlement_wacht":"Payment on its way — confirm once received","pro_klussen_settlement_open":"Waiting for the owner to pay. Once they mark the payment, a “Payment received” button appears here.","pro_klussen_confirm_received":"Payment received","pro_klussen_settlement_voldaan":"Payment confirmed","pro_klussen_settlement_voldaan_op":"Payment confirmed on {datum}","pro_klussen_confirm_received_title":"Confirm the payment has arrived?","pro_klussen_confirm_received_body":"Only confirm if the amount is actually in your account. This closes the job for good and cannot be undone. If the money has not arrived, confirm nothing: if payment keeps failing to arrive, Contratista steps in after five working days.","pro_klussen_received_at":"Confirmed on {datum}","pro_klussen_err_received":"Could not confirm. Please retry","pro_klussen_err_state":"Action not allowed","pro_klussen_done_title":"Job completed — cost breakdown sent","pro_klussen_done_step1":"The owner has received your cost breakdown; an automatic check runs alongside it.","pro_klussen_done_step2":"The owner pays by bank transfer, straight into your account, outside the platform.","pro_klussen_done_step3":"Once the owner marks the payment, a “Payment received” button appears on this job. Use it to confirm the money has arrived.","pro_klussen_done_step4":"Upload your own invoice below. The owner needs it for their records.","pro_factura_upload_nudge":"Upload your official invoice (factura)","pro_klussen_factura_hint":"Your own tax invoice (in Spain: factura) as a PDF, max 10 MB. The owner needs it for their records. The Contratista cost breakdown is not a tax invoice. If it stays missing for more than {facturaDays} days, it counts against your position for new jobs.","pro_klussen_factura_hint_bestand":"Upload your own tax invoice (in Spain: factura) as a PDF, max 10 MB.","pro_klussen_factura_hint_verschil":"The owner needs it for their records: the Contratista cost breakdown is not a tax invoice.","pro_klussen_factura_hint_termijn":"If your invoice stays missing for more than {facturaDays} days, your position for new jobs drops.","pro_klussen_factura_uploading":"Uploading…","pro_klussen_factura_done":"Invoice uploaded","pro_klussen_factura_replace":"Replace your official invoice (factura)","pro_klussen_factura_view":"View the file","pro_klussen_factura_file_unknown":"File name unknown","pro_klussen_factura_delete":"Remove","pro_klussen_factura_delete_confirm":"Remove this factura?","pro_klussen_factura_delete_cancel":"Cancel","pro_klussen_factura_err_state":"Action not allowed","pro_klussen_factura_err_file":"Upload failed. Please try again","pro_klussen_factura_err_type":"Only PDF files are allowed","pro_klussen_factura_err_size":"File too large (max. 10 MB)","pro_factura_stand_titel":"Your invoices","pro_factura_stand_kop":"Your tax invoices","pro_factura_stand_schoon":"All submitted. No effect on your position.","pro_factura_stand_open":"{n} still to submit.","pro_factura_stand_open_mv":"{n} still to submit.","pro_factura_stand_geen":"Nothing to submit.","pro_factura_stand_uitleg":"After each completed job, upload your official factura under My jobs. Submitting late counts against your position for new jobs.","pro_factura_stand_meer":"… and {n} more under My jobs.","pro_factura_stand_boete":"{n} has been open for more than {facturaDays} days. Your position for new jobs now counts at {pct}%.","pro_factura_stand_boete_mv":"{n} have been open for more than {facturaDays} days. Your position for new jobs now counts at {pct}%.","pro_avail_global":"Available for new requests","pro_avail_global_sub":"Switch off while on holiday or taking a break. Current jobs keep running.","pro_avail_open_warn":"You still have {n} open request(s). They stay assigned to you.","pro_avail_week":"Weekly pattern","pro_avail_week_hint":"Adjust your weekly pattern. Tap the parts of the day you can work.","pro_avail_saving":"Saving…","pro_avail_saved":"Saved","pro_avail_err_save":"Not saved. Please try again.","pro_avail_exceptions":"Exceptions","pro_avail_exc_empty":"No exceptions. Away for a bit? Add one.","pro_avail_exc_add":"Add exception","pro_avail_exc_remove":"Remove exception","pro_avail_exc_date":"Date","pro_avail_exc_past":"Pick today or a later date. An exception in the past has no effect.","pro_avail_exc_type":"Type","pro_avail_exc_off":"Unavailable","pro_avail_exc_part":"Part of day only","pro_avail_exc_extra":"Extra availability","pro_avail_exc_parts":"Which parts of the day?","pro_avail_exc_parts_required":"Pick at least one part of the day. Otherwise the exception says nothing.","pro_avail_day_mo":"Mon","pro_avail_day_tu":"Tue","pro_avail_day_we":"Wed","pro_avail_day_th":"Thu","pro_avail_day_fr":"Fri","pro_avail_day_sa":"Sat","pro_avail_day_su":"Sun","pro_avail_part_morning":"Morning","pro_avail_part_afternoon":"Afternoon","pro_avail_part_evening":"Evening","pro_profile_new":"New","pro_profile_status_approved":"Approved","pro_profile_status_pending":"Pending","pro_profile_status_rejected":"Rejected","pro_profile_status_paused":"Paused","pro_profile_edit":"Edit","pro_profile_cancel":"Cancel","pro_profile_save":"Save","pro_profile_saved":"Saved.","pro_profile_err_save":"Could not save. Please try again.","pro_profile_err_iban":"That IBAN is not valid. Check the account number, or leave the field empty.","pro_profile_err_trades":"Pick at least one speciality.","pro_profile_err_rate":"Enter a valid hourly rate.","pro_profile_details":"Details","pro_profile_details_sub":"This is what the owner sees when choosing a tradesperson, and how they reach you around the appointment.","pro_profile_phone_ph":"+34 600 000 000","pro_profile_phone_help":"We only use this around an appointment. Never shown publicly.","pro_profile_intro_label":"Short introduction","pro_profile_intro_ph":"For example: 15 years as a plumber on the Costa del Sol. I work fast and leave the home clean.","pro_profile_intro_help":"A few sentences in your own words. Keep it short. The owner reads this next to two or three other tradespeople.","pro_profile_err_phone":"That phone number is not valid. Use digits, spaces and optionally +, - or brackets.","pro_profile_err_intro":"Your introduction is too long. Keep it to a few sentences.","pro_profile_photo_title":"Profile photo","pro_profile_photo_sub":"A face with the name builds trust with the owner. Optional.","pro_profile_photo_alt":"Your profile photo","pro_profile_photo_upload":"Add photo","pro_profile_photo_replace":"Replace photo","pro_profile_photo_delete":"Remove photo","pro_profile_photo_delete_confirm":"Remove photo?","pro_profile_photo_camera":"Take a photo","pro_profile_photo_gallery":"Choose from gallery","pro_profile_photo_saved":"Profile photo saved.","pro_profile_photo_removed":"Profile photo removed.","pro_profile_photo_err_file":"Could not save that photo. Choose an image of 2 MB or less.","pro_profile_photo_uploading":"Uploading photo…","pro_profile_photo_uploading_note":"One moment. Do not close this screen.","pro_profile_export_title":"Take your data with you","pro_profile_export_body":"Download everything we hold about you as a PDF: your profile, your jobs, your invoices, your documents and your reviews.","pro_profile_export_cta":"Export my data","pro_profile_export_json_cta":"Export machine-readable (JSON)","pro_profile_export_json_hint":"The PDF is a readable summary. The JSON file holds everything: your professional profile, rate and service area, your jobs with appointments, visits and messages, your payment requests and your reviews, plus download links to your documents and your own photos that stay valid for 24 hours. Details about the owner and the guest are left out, and so is the lockbox code. With a lot of work behind you the export stops at 200 jobs and 500 files, and says so inside the file.","pro_export_pdf_title":"Tradesperson data export","pro_export_pdf_phone":"Phone","pro_export_pdf_company":"Company name","pro_export_pdf_work":"Work & rate","pro_export_pdf_jobs":"Jobs","pro_export_pdf_avg_score":"Average rating","pro_rate_per_hour":"€{rate}/hr","pro_rate_per_hour_amount":"{bedrag}/hr","pro_account_err_delete":"Could not delete your account. Please try again.","pro_profile_work_sub":"This decides which requests you receive.","pro_profile_language":"Language","pro_profile_language_sub":"Your requests and chat are translated into this language.","pro_profile_payment":"Payment details","pro_profile_payment_sub":"Your IBAN appears on the invoice so the owner can pay you.","pro_profile_iban":"IBAN","pro_profile_iban_ph":"ES00 0000 0000 0000 0000 0000","pro_profile_iban_none":"Not set yet","pro_profiel_company_label":"Company name (optional)","pro_profiel_company_help":"Only if you invoice under a company name (SL). Sole traders leave this blank.","pro_profiel_rate_sub":"This rate is what the owner sees in your offer, and what your labour is settled at. Enter it excluding IVA.","pro_profiel_rate_fact_payer":"The owner pays you directly by bank transfer, into your own IBAN, outside the platform.","pro_profiel_rate_fact_iva":"IVA goes on top of your hours and materials. You pick the rate yourself when you close the job; you charge it and you remit it.","pro_profiel_rate_fact_nocommission":"Contratista keeps nothing back: no commission on your work and no membership fee for tradespeople.","pro_profiel_rate_help":"Excluding IVA, and per hour, not the price of the whole job. Without a rate you cannot close a job.","pro_profile_email_title":"Change email address","pro_profile_email_desc":"You sign in with this address. After saving we send a confirmation link to your new address; the change only takes effect once you confirm it.","pro_profile_email_current":"Current email address","pro_profile_email_new":"New email address","pro_profile_email_pw_label":"Current password","pro_profile_email_submit":"Send confirmation link","pro_profile_email_sent":"We sent a confirmation link to your new address. Click it to complete the change.","pro_profile_email_changed":"Your email address has been changed.","pro_profile_email_err_pw":"That password is incorrect.","pro_profile_email_err_invalid":"Enter a valid email address.","pro_profile_email_err_same":"That is already your current email address.","pro_profile_email_err_rate":"Too many attempts. Try again in a minute.","pro_profile_email_err_generic":"Something went wrong. Please try again later.","pro_profile_email_err_callback":"The confirmation link is invalid or expired. Request a new change.","pro_profile_reviews":"Reviews","pro_profile_reviews_empty":"No reviews yet. They appear here after your first completed job.","pro_profile_reviews_none":"No reviews yet. As soon as an owner leaves a review after a job, it appears here.","pro_profile_review_owner":"Owner","app_rating_aria":"{value} out of 5 stars","app_rating_count_aria":"{value} out of 5 stars, {count} reviews","pro_profile_documents":"Documents","pro_profile_doc_verified":"Verified","pro_profile_doc_pending":"Under review","pro_profile_doc_expires":"Expires","pro_profile_doc_renew":"Renew insurance","pro_profile_doc_renew_note":"Keep your proof of insurance current. An expired one can pause matching.","pro_profile_doc_missing":"Missing","pro_profile_doc_upload":"Upload","pro_profile_doc_replace":"Replace","pro_profile_doc_delete":"Remove","pro_profile_doc_cancel":"Cancel","pro_profile_doc_delete_confirm":"Remove this document?","pro_profile_doc_reverify_note":"A new or replaced document goes through vetting again.","pro_profile_doc_saved":"Document saved.","pro_profile_doc_removed":"Document removed.","pro_profile_doc_insurance_required":"Your proof of insurance is required and cannot be removed.","pro_profile_doc_err_kind":"Unknown document type.","pro_profile_doc_err_file":"Invalid file (PDF or image, max 10 MB).","pro_profile_ins_expired":"Your proof of insurance has expired. Upload a new one.","pro_profile_account":"Account","pro_profile_delete_title":"Delete account","pro_profile_delete_body":"Permanently removes your tradesperson account and personal data (GDPR).","pro_profile_delete_cta":"Delete my account","pro_profile_delete_intro":"This cannot be undone. Type the word below to confirm.","pro_profile_delete_label":"Type","pro_profile_delete_final":"Delete permanently","pro_profile_delete_confirm_err":"Type the confirmation word exactly.","feat_page_eyebrow":"Features","feat_page_h1":"Everything you need to resolve faults remotely.","feat_page_sub":"From report to payout: five components that handle the whole journey together.","feat_page_cta":"{offer}","feat_qr_title":"Report by QR","feat_qr_body":"Every property has a QR code. Your guest reports a fault with photos and a short description. No account needed. You instantly have context: what, where, and how serious.","feat_qr_b1":"No app or account for the guest","feat_qr_b2":"Photos and description in one scan","feat_qr_b3":"Straight into your language","feat_diag_title":"Photo diagnosis & severity","feat_diag_body":"Contratista assesses the photos, determines the severity and what is needed. So you know immediately whether it can wait or is urgent — without having to judge from a distance yourself.","feat_diag_b1":"Severity rating (critical → cosmetic)","feat_diag_b2":"Assessment of the work required","feat_diag_b3":"Instantly, not after days of back and forth","feat_match_title":"Vetted tradesperson matching","feat_match_body":"From a locally vetted pool, you assign the right tradesperson with one click, matched by region, rating and rate. The tradesperson receives all context and photos.","feat_match_b1":"Vetted tradespeople","feat_match_b2":"Matched by region, rating and rate","feat_match_b3":"One click to assign","feat_invoice_title":"Automatic invoice check","feat_invoice_body":"Before and after photos, materials and labour hours are checked against the job. If something does not add up, it is flagged. So you never have to blindly approve a bill from Spain.","feat_invoice_b1":"Before/after photos alongside the invoice","feat_invoice_b2":"Materials and hours checked","feat_invoice_b3":"You approve — or you do not","feat_report_title":"Insurance report","feat_report_body":"After every resolved job, Contratista generates a clean PDF report with photos, costs and work carried out, useful for your insurer, your records or the next owner.","feat_report_b1":"Automatic after every job","feat_report_b2":"Photos, costs and work bundled","feat_report_b3":"Ready for insurer/records","feat_mock_monteur_name":"Miguel Torres","feat_mock_monteur_specialty":"Plumber","feat_mock_monteur_region":"Marbella · 8 km","feat_mock_monteur_score":"4.9","feat_mock_monteur_meta":"128 reviews","feat_mock_monteur_rate":"€45/hr","feat_mock_assign":"Assign","feat_mock_inv_title":"Invoice #2041","feat_mock_inv_material":"Materials — trap + seal","feat_mock_inv_material_amt":"€38.50","feat_mock_inv_labor":"Labour — 1.5 h","feat_mock_inv_labor_amt":"€67.50","feat_mock_inv_total":"Total","feat_mock_inv_total_amt":"€106.00","feat_mock_fraud_title":"Amounts match the job","feat_mock_fraud_low":"Low risk","feat_mock_report_eyebrow":"Insurance report","feat_mock_report_title":"Leak — Villa Almendro","feat_mock_report_line1":"Diagnosis, before/after photos and invoice bundled","feat_mock_report_line2":"Ready to submit","feat_mock_report_ready":"Ready","feat_mock_report_download":"Download PDF","feat_page_cta_title":"Ready to hand off the whole journey?","feat_page_cta_sub":"Set up your first property in a few minutes. {days} days free.","hr_status_doc_title":"Your report — Contratista","hr_status_h1":"Your report status","hr_status_diagnosis":"Our diagnosis","hr_status_diagnosis_past":"Our diagnosis when you reported it","hr_status_diagnosis_past_note":"This is what we saw on {datum}, when you reported it. The work has since been completed.","hr_status_translating":"Translating…","hr_advice_title":"What you can do right now","hr_advice_danger_title":"Get yourself to safety first","hr_advice_note":"Not sure, or does it feel unsafe? Do not do anything yourself and wait for the tradesperson.","hr_advice_gas_1":"Open windows if you can do so on your way out, and leave the property.","hr_advice_gas_2":"Do not use switches, sockets or any open flame.","hr_advice_gas_3":"Call 112 (or your local emergency number) from outside.","hr_advice_elektra_1":"Stop using that socket, switch or appliance.","hr_advice_elektra_2":"Do not touch wiring or the fuse box, and never with wet hands.","hr_advice_elektra_3":"Sparks, smoke or a burning smell? Leave the property and call 112.","hr_advice_water_1":"Close the tap, or the main stopcock if you know where it is (usually near the meter).","hr_advice_water_2":"Move your belongings away from the water and put down towels.","hr_advice_water_3":"Do not use sockets or appliances near the water.","hr_advice_water_4":"Open a window and keep the door to other rooms closed so it can dry out.","hr_advice_ketel_1":"Switch the boiler off if there is a single button for it, and avoid hot water until the tradesperson has been.","hr_advice_ketel_2":"Do not top up the pressure or bleed anything yourself: that is part of the repair.","hr_advice_ketel_3":"Smell gas? Open windows, leave the property and call 112.","hr_advice_afvoer_1":"Use the drain, toilet or shower as little as possible until the tradesperson has been.","hr_advice_afvoer_2":"Do not use drain unblocker: it makes the job more dangerous and usually more expensive.","hr_advice_afvoer_3":"Open a window and keep the door to other rooms closed.","hr_advice_structureel_1":"Stay away from the damaged spot and do not leave anything you need underneath it.","hr_advice_structureel_2":"Is material coming loose or falling down? Do not use that room and keep the door closed.","hr_advice_structureel_3":"Open a window if damp is involved, so the room can dry out.","hr_status_appt_title":"Appointment","hr_status_appt_confirm":"Confirm appointment","hr_status_appt_decline":"Decline","hr_status_appt_decline_reason":"Optional: reason for declining","hr_status_appt_confirmed":"Appointment confirmed. We'll see you then.","hr_status_appt_declined":"You declined this time. A new appointment is being arranged.","hr_status_bewijs_title":"What was done","hr_status_bewijs_lede":"The tradesperson took these photos after finishing. Have a look before you answer below.","hr_status_bewijs_lede_answered":"The tradesperson took these photos after finishing.","hr_status_bewijs_alt":"Photo {n} of the completed work","hr_status_bewijs_zoom_hint":"Tap a photo to view it full size.","hr_status_foto_zoom_label":"Enlarge: {alt}","hr_status_resolve_title":"Is the fault resolved?","hr_status_resolve_yes":"Yes, it's resolved","hr_status_resolve_no":"No, still a problem","hr_status_resolve_yes_loading":"Sending…","hr_status_resolve_no_loading":"Sending…","hr_status_ref":"Reference","hr_status_ref_hint":"Quote this reference if you call or email about it.","hr_status_updated":"Updated at {tijd}","hr_status_refresh":"Refresh","hr_status_refreshing":"Refreshing…","hr_status_resolve_thanks":"Thank you for your feedback. We've noted it.","hr_status_resolve_next":"There is nothing more for you to do. If the problem comes back, scan the QR code in the property again and report it.","hr_status_resolve_disputed_ack":"Thanks for letting us know. We've flagged this to your host so it can be looked at again.","hr_status_resolve_confirmed_ack":"Good to hear. We’ve recorded your report as resolved.","hr_status_own_report":"Your original report","hr_status_unknown_h1":"We don’t recognise this link.","hr_status_unknown_body":"The link may not have been copied in full, or it’s no longer valid. Open it again from your confirmation, or ask your host to resend it.","hr_status_unknown_cta":"Report a new fault","hr_status_unknown_hint":"All you need is the code on the QR card in the property.","hr_phase_received":"Received","hr_phase_assigned":"Tradesperson arranged","hr_phase_inprogress":"Repair in progress","hr_phase_done":"Completed","hr_next_title":"What happens now","hr_next_received":"Your report is with your host. They are lining up a tradesperson.","hr_next_assigned":"A tradesperson has been arranged. As soon as the time is set, you will read it here.","hr_next_inprogress":"The tradesperson is working on the repair.","hr_next_done":"The repair is finished.","hr_next_done_confirm":"The repair is finished. One thing left: let us know below whether that resolved the fault.","hr_next_done_disputed":"Your host is taking another look at your report.","hr_next_severity":"Urgency","hr_next_deadline":"To be resolved by {datum}","hr_add_title":"Anything to add?","hr_add_lede":"Noticed something new, or has something changed? Send a message or an extra photo. It goes to this same report, so there is no need to file another one.","hr_add_cta":"Add something","hr_add_body_label":"What would you like to tell us?","hr_add_body_ph":"E.g. it is now leaking into the hallway too","hr_add_photos_label":"Extra photos (max {n})","hr_add_submit":"Send","hr_add_submitting":"Sending…","hr_add_done":"Thank you. Your update is on the report and your host has been notified.","hr_add_left":"You can add something here {n} more times.","hr_add_list_title":"What you added later","hr_add_list_photos":"{n} photos included","hr_add_list_photo":"1 photo included","hr_add_err_empty":"Write a message or choose a photo.","hr_add_err_big":"This photo is too large. Please choose one of up to 5 MB.","hr_add_err_max":"You have already sent the maximum number of updates here. Please contact your host if there is anything else.","hr_status_alerted":"This is flagged as urgent. We alerted your host right away.","hr_status_cancelled":"This report has been cancelled. No further action is needed.","hr_status_err_no_appt":"This appointment can no longer be responded to. Refresh the page for the current status.","hr_status_err_link":"That did not work. This status link is no longer valid. Please contact your host.","hr_plan_pick_time":"Choose a time","hr_plan_option":"Option","hr_plan_none_fit":"None of these work","hr_plan_counter_submit":"Propose my time","hr_plan_confirmed":"Appointment confirmed","hr_plan_owner_arranges":"Your host is planning a time","hr_announce_body":"The tradesperson will come by on {date} {time}.","hr_announce_in_progress":"The tradesperson arrived on {date} {time}. The repair is under way.","hr_announce_visited":"The tradesperson came by on {date} {time}.","hr_announce_replanning":"The visit is being rescheduled. You will hear from us as soon as the new time is set.","hr_entry_hint_present":"Please make sure you are home at this time so the tradesperson can get in.","hr_entry_hint_lockbox":"The tradesperson lets himself in with the key from the lockbox. You do not need to be home.","hr_entry_hint_keypickup":"The tradesperson collects the key from your host. You do not need to be home.","hr_entry_hint_owner":"Your host will be there to let the tradesperson in. You do not need to be home.","hr_brake_cta":"This time does not work for me","hr_brake_reason_label":"Tell us briefly why (optional)","hr_brake_reason_ph":"E.g. I will not be home then","hr_brake_submit":"Send","hr_brake_done":"Thanks. We will have your host plan a new time.","hr_plan_counter_date":"Date","hr_plan_counter_time":"Time","hr_reject_reason_label":"Why do none of these fit?","hr_reject_reason_ph":"E.g. I work all that week","hr_reject_submit":"None of these fit","hr_reject_submitted":"Thanks. We'll ask the tradesperson for a new time.","hr_entry_title":"How will the tradesperson get in?","hr_entry_unattended":"The tradesperson may enter when I am not home","hr_pro_card_name":"Your tradesperson: {name}","hr_pro_card_vetted":"Vetted on admission: papers, insurance and references checked.","hr_pro_card_vetted_scope":"Vetted on admission: papers and insurance checked.","hr_today_banner":"Your tradesperson is coming today.","hr_visit_paused":"The tradesperson is picking up parts and will come back.","hr_opname_pending":"The tradesperson has assessed the situation. Your host is reviewing next steps.","hr_err_slot_invalid":"The chosen time slot is not valid. Refresh the page and try again.","hr_err_slot_bezet":"This time is no longer free, pick another.","hr_err_notfound":"Report not found.","hr_err_state":"This action is not available right now.","wissel_huurder_titel":"A new time for your appointment","wissel_huurder_tekst":"Your appointment is now on {datum} at {tijd}. There is nothing you need to do.","wissel_eigenaar_titel":"We have arranged a replacement","wissel_eigenaar_tekst":"{naam} is taking the job over on {datum}. There is nothing you need to do.","wissel_veto_knop":"Don't replace after all","geenvervanger_titel":"No replacement has been arranged","geenvervanger_geen_reserve":"{naam} is not coming on {datum} and no other tradesperson was available. The job is still in their name; nothing further will happen on its own.","geenvervanger_geen_mandaat":"{naam} is not coming on {datum}. Automatic replacement is switched off for this property, so we have left the job with them.","geenvervanger_actie":"Open the job","geenvervanger_mandaat_actie":"Property settings","fo_eyebrow":"For owners · Costa del Sol","fo_h1":"Your property keeps running, even when you're not there.","fo_sub":"A guest reports a fault with one scan. Contratista delivers the diagnosis, vetted tradesperson options and the invoice check. You choose and stay in control. From wherever you are.","fo_cta_primary":"{offer}","fo_cta_secondary":"See how it works","fo_note_1":"{days} days free","fo_note_2":"No commission on repairs","fo_note_3":"You stay in control","fo_pain_title":"Renting out from afar shouldn’t cost you this much worry.","fo_pain_1_title":"Unknown tradespeople","fo_pain_1_body":"Who do you send to your property when you're 1,500 km away? One bad job and your guest — and your review — pay the price.","fo_pain_2_title":"Language barrier","fo_pain_2_body":"Explaining a fault in Spanish, from your phone, while your guest waits. Time you don't have.","fo_pain_3_title":"Invoice doubt","fo_pain_3_body":"€380 for a \"repair\" you couldn't see happening. Is that right? You have no way to check.","fo_steps_title":"From report to resolved, in four steps.","fo_step_1_title":"Guest scans the QR","fo_step_1_body":"Every property has a QR code. Your guest reports with photos and a description. No account needed.","fo_step_2_title":"Diagnosis & severity","fo_step_2_body":"Contratista assesses the photos, determines the severity and what is needed. Immediately, in your language.","fo_step_3_title":"Vetted tradesperson assigned","fo_step_3_body":"From our vetted local pool. One click and the tradesperson has all the context.","fo_step_4_title":"Resolved & closed","fo_step_4_body":"Check before/after photos and invoice, approve, done. You pay the tradesperson directly. Contratista never holds your money.","fo_feat_title":"Everything handled, nothing left to chance.","fo_feat_1_title":"Vetted tradesperson pool","fo_feat_1_body":"No random tradesperson; vetted on craftsmanship, rate and region.","fo_feat_2_title":"Invoice check","fo_feat_2_body":"Before/after photos, materials and hours checked against the job. Overcharging gets spotted.","fo_feat_3_title":"Insurance report","fo_feat_3_body":"After each job a clean PDF for your insurer or your records.","fo_feat_4_title":"Multilingual","fo_feat_4_body":"You, your guest and the tradesperson: each in their own language (NL/EN/ES).","fo_trust_1":"Vetted pool","fo_trust_2":"Invoice check","fo_trust_3":"Insurance report","fo_trust_4":"GDPR / EEA data","fo_trust_5":"{months}-month guarantee on labour","fo_promise_main":"Something breaks and you're 1,500 kilometres away. All you can do is hope whoever you send is honest.","fo_promise_sub":"That's what we're solving for owners on the Costa del Sol, the region where we start.","fo_promise_note":"And honestly: that vetted pool is still growing. You can register anywhere. Everything works as normal, and your trial only starts once the pool is live in your region. Until then the platform is free, and you can add the tradesperson you already trust in the meantime.","fo_pricing_title":"One subscription, no commission on repairs.","fo_pricing_sub":"{days} days free. You only pay after that, and you can cancel anytime.","fo_pricing_trust":"And we never hold your money. Repair money goes straight from you to the tradesperson. No platform account in between, nothing held back, no commission.","fo_pricing_cta":"See the pricing","fo_faq_title":"Frequently asked questions","fo_faq_1_q":"Does my guest need an account?","fo_faq_1_a":"No. The guest scans the QR and reports directly: name, photos, description. Nothing else.","fo_faq_2_q":"Who pays the tradesperson?","fo_faq_2_a":"You pay the tradesperson directly. Contratista holds no money and takes no commission. We provide the diagnosis, the invoice check and the record.","fo_faq_3_q":"What if I don't trust the invoice?","fo_faq_3_a":"Every invoice is checked against before/after photos, materials and hours. Still not sure? Then you don't approve it.","fo_faq_4_q":"Does this work outside the Costa del Sol?","fo_faq_4_a":"We start there and expand, region by region. Outside our current area? Let us know.","fo_final_title":"Ready to put your property on autopilot?","fo_final_cta":"{offer}","sec_eyebrow":"Trust & security","sec_h1":"Your data and that of your guests, handled with care.","sec_sub":"Photos, payment details and personal data flow through Contratista. We treat them with the rigour you cannot apply remotely.","sec_pillar_1_title":"Encrypted","sec_pillar_1_body":"Data encrypted in transit and at rest.","sec_pillar_2_title":"GDPR-compliant","sec_pillar_2_body":"Processing in accordance with European privacy law.","sec_pillar_3_title":"EEA data residency","sec_pillar_3_body":"Storage within the EEA (Supabase, Frankfurt).","sec_pillar_4_title":"Access control","sec_pillar_4_body":"Only those who need access get it: owner, tradesperson and guest stay separate.","sec_flow_title":"What we store, and why.","sec_flow_body":"Fault photos and descriptions to diagnose and carry out the job. Payment details are handled by Stripe — we never store card data. Guest personal data is kept to the minimum.","sec_compliance_title":"Compliance","sec_compliance_avg":"GDPR","sec_compliance_stripe":"Payments via Stripe (PCI-DSS)","sec_compliance_dpa":"Data processing agreement available","sec_contact_title":"Question about security?","sec_contact_body":"Read our privacy policy or get in touch. Rather just get going? Your first property is set up in a few minutes.","sec_contact_privacy":"Privacy policy","sec_contact_cta":"Contact","faq_eyebrow":"Frequently asked questions","faq_h1":"Everything you want to know, in one place.","faq_grp_start":"Getting started","faq_q1":"How do I get started?","faq_a1":"Create an account, add your first property and download the QR code. Hang it up in your home. Done.","faq_q2":"Do I need any technical knowledge?","faq_a2":"No. If you can approve a photo on your phone, you can use Contratista.","faq_q11":"What happens after my trial, and how do I cancel?","faq_a11":"When your trial ends, your chosen plan simply continues. You can cancel or switch plans anytime in your subscription settings — you keep access until the end of the paid period. No long contracts.","faq_q16":"Does it work for multiple properties?","faq_a16":"Yes. You pay per property, so you add exactly as many as you manage. Up to {maxWoningen} properties you arrange everything yourself; beyond that we put together a custom price. Every property gets its own QR card and its own history.","faq_grp_guests":"For your guests","faq_q3":"Does my guest need an account?","faq_a3":"No. Scan, add photos and a description, plus contact details so your guest stays informed. No account.","faq_q4":"What language does my guest report in?","faq_a4":"Their own: NL, EN or ES. You and the tradesperson see it in yours.","faq_q14":"How quickly is a report acted on?","faq_a14":"Every report gets a severity assessment, and the repair deadline follows from it: critical faults are scheduled first, cosmetic ones can wait. You see the deadline with each report.","faq_grp_pros":"Tradespeople & matching","faq_q5":"Who are the tradespeople?","faq_a5":"A pre-vetted local pool, selected for craft, rate and region.","faq_q6":"Do I choose the tradesperson myself?","faq_a6":"You assign with one tap from the suggested matches. You stay in control.","faq_q12":"What if there’s no tradesperson in my region yet?","faq_a12":"We build the pool region by region. Honestly, it is still growing. Registration is open everywhere: everything works as normal, and your trial only starts once the vetted pool is live in your region. Until then the platform is free, and you can add your own tradesperson in the meantime.","faq_q13":"How are liability and insurance handled?","faq_a13":"Every tradesperson is screened before joining and provides insurance documents as part of vetting. Contratista mediates: the work agreement is between you and the tradesperson, and every job ends with a documented record you can use with your insurer.","faq_q17":"What if the repair goes wrong later?","faq_a17":"Every tradesperson in the pool gives a {months}-month guarantee on their labour; parts are covered by the manufacturer’s warranty. That is a condition of joining, not an extra you have to negotiate. And the full record — photos, diagnosis, invoice — stays with the property, so you always have the evidence to fall back on.","faq_grp_pay":"Payments","faq_q7":"How is the tradesperson paid?","faq_a7":"Directly by you, outside Contratista. You approve the checked invoice and pay the tradesperson directly. We never sit between the money.","faq_q8":"Do I pay commission on repairs?","faq_a8":"No. You pay a fixed subscription; no commission on the jobs themselves.","faq_q15":"How does paying for a repair work?","faq_a15":"The tradesperson submits a cost breakdown of hours and materials through the platform. You approve it and pay the tradesperson directly by bank — no hidden fees, no commission on top.","faq_grp_data":"Data & privacy","faq_q9":"Where is my data stored?","faq_a9":"Within the EEA (Frankfurt). See our security page for details.","faq_q10":"What happens to the photos?","faq_a10":"They are used for diagnosis, execution and the insurance report. Nothing more.","faq_cta_title":"Ready to start?","faq_cta_body":"Set up your first property in a few minutes. Question still not answered? We're happy to help.","faq_cta_button":"Get in touch","uitn_eyebrow":"Invitation","uitn_titel":"{vakman} now works through Contratista","uitn_lede":"Your guests report a fault with photos. You see straight away what is wrong and roughly what it should cost. And your tradesperson knows what to bring before setting off.","uitn_punt_1":"A QR code in the property, your guest reports without an account","uitn_punt_2":"Photos, severity and a cost range with every report","uitn_punt_3":"The invoice beside the report, so you can see whether it adds up","uitn_cta":"Create an account","uitn_klein":"No credit card needed.","uitn_voet":"{vakman} shared this link. You create your own account; {vakman} will appear in it as your tradesperson, and you can add others yourself later.","cookie_banner_aria":"Cookie notice","cookie_banner_msg":"We use functional cookies to keep the platform running. With your permission we also use analytics cookies to improve the service and marketing cookies to measure which adverts work.","cookie_banner_accept":"Accept","cookie_banner_reject":"Reject","cookie_banner_settings":"Cookie settings","cookie_banner_title":"This website uses cookies","cookie_banner_accept_selection":"Allow selection","cookie_banner_allow_all":"Allow all","cookie_banner_details":"Show details","cookie_cat_functional_short":"Necessary","cookie_cat_analytics_short":"Statistics","cookie_cat_marketing_short":"Marketing","cookie_cat_consent_required":"Only with your consent","cookie_prefs_title":"Cookie preferences","cookie_prefs_intro":"Choose which cookies you allow. Functional cookies are always on because the platform needs them.","cookie_prefs_always_on":"Always on","cookie_prefs_toggle_analytics":"Allow analytics cookies","cookie_prefs_toggle_marketing":"Allow marketing cookies","cookie_prefs_accept_all":"Accept all","cookie_prefs_save":"Save choices","cookie_prefs_reject_all":"Reject all","cookie_prefs_close":"Close","cookie_prefs_manage":"Manage preferences","legal_cookies_title":"Cookie Policy","legal_cookies_intro":"This page explains which cookies Contratista uses and why. Functional cookies are always active; you can choose whether to allow analytics cookies. We keep your cookie preference for up to 24 months and ask for it again after that.","legal_cookies_lead":"This page explains which cookies Contratista uses and why. Functional cookies are always active; you choose whether to allow analytics cookies and marketing cookies. Without your consent we place neither, and we send nothing to an advertising platform from our own server either. We keep your cookie preference for up to 24 months and ask for it again after that.","legal_withdrawal_title":"Model withdrawal form","legal_withdrawal_desc":"The model form consumers can use to withdraw from their Contratista subscription within the 14-day cooling-off period.","legal_withdrawal_intro":"Are you a consumer and would you like to withdraw from your subscription within the 14-day cooling-off period? You can do so by any unambiguous statement — you do not have to use this form, but you may. Fill it in and send it to us; we will confirm receipt. See also the right of withdrawal in our terms of service.","legal_withdrawal_form":"To Contratista, Wilhelminastraat 54, Vlaardingen, the Netherlands — info@contratista.eu:\n\nI hereby give notice that I withdraw from our contract for the supply of the following service:\n\n— Service: Contratista subscription\n— Ordered on:\n— Name:\n— Address:\n— Email address of the account:\n— Date:\n— Signature (only if this form is submitted on paper):","legal_withdrawal_howto":"Send the completed form — or your own unambiguous statement — by email to info@contratista.eu or via the contact page. If you withdraw within the cooling-off period after having expressly requested immediate performance, you pay pro rata for the part we have already provided.","cookie_cat_functional_title":"Functional cookies","cookie_cat_functional_body":"These cookies are necessary for the platform to work and cannot be disabled. We set: login and session cookies to keep you signed in (Supabase, sb-…-auth-token, for the duration of the session); a language-preference cookie (locale, about a year); a cookie that remembers your cookie choice (ct_cookie_consent, up to 24 months); a technical session cookie that lets us trace faults and see where visitors drop off, without tracking who you are (ct_sid, 30 days); and security cookies against bot abuse of forms (Cloudflare Turnstile). For administrators, a session cookie for secure account management may be set temporarily (mfa_trust, imp_as). All these cookies are placed by Contratista or by the named service provider on our behalf.","cookie_cat_analytics_title":"Analytics cookies","cookie_cat_analytics_body":"These cookies help us understand how visitors use the platform so we can improve it, and are only set after you have given consent. We currently use Vercel Analytics in anonymised form; no personal data is sold and your data is not used for advertising. You can withdraw your consent at any time via the cookie settings.","cookie_cat_marketing_title":"Marketing cookies","cookie_cat_marketing_body":"These cookies let us measure which adverts lead to a sign-up, so we do not waste our advertising budget. They are only placed after you give permission. We use the Meta pixel (Facebook and Instagram): it sets cookies (_fbp, _fbc) and tells Meta Platforms Ireland Limited that you visited the site or created an account. When you sign up we also send an encrypted (hashed) version of your email address so Meta can match the sign-up to an advert; your address itself never leaves our server in readable form. If you refuse this category we send nothing to Meta, not even from our own server. You can withdraw your permission at any time via the cookie settings.","footer_cookies":"Cookie settings","error_404_title":"Page not found","error_404_body":"This page doesn’t exist, or it has moved.","error_generic_title":"Something went wrong","error_generic_body":"An unexpected error occurred. Please try again in a moment.","error_back_home":"Back to home","error_back_dashboard":"Back to your dashboard","demo_qr_scan_hint":"Scan me","demo_qr_caption":"Every property carries a QR like this","own_pro_eyebrow":"Your own tradespeople","own_pro_title":"Trusted tradesperson? Bring them along.","own_pro_body":"Alongside our vetted pool, you can also deploy your own trusted tradespeople, no friction, no commission. They work directly for you; we handle the paperwork.","own_pro_point_1":"No commission, you and your tradesperson settle it directly","own_pro_point_2":"Invoice check and insurance report apply to your own tradespeople too","own_pro_point_3":"Manage your tradespeople in one place, alongside the vetted pool","own_pro_cta":"See how it works","own_pro_home_line":"Send the tradesperson you already trust. No commission, and the invoice gets checked all the same.","app_report_pdf_title":"Insurance Report","app_report_pdf_property":"Property","app_report_pdf_name":"Name","app_report_pdf_address":"Address","app_report_pdf_defect":"Fault","app_report_pdf_summary":"Summary","app_report_pdf_severity":"Severity","app_report_pdf_closed":"Closed on","app_report_pdf_diagnose":"Diagnosis","app_report_pdf_invoice":"Invoice","app_report_pdf_total":"Total","app_report_pdf_fraude":"Invoice check","app_report_pdf_verdict":"Verdict","app_report_pdf_region":"Region","app_report_pdf_type":"Type","app_report_pdf_defecttype":"Fault type","app_report_pdf_what_i_see":"What we see","app_report_pdf_cause":"Likely cause","app_report_pdf_est_labour":"Estimated labour","app_report_pdf_est_cost":"Estimated cost","app_report_pdf_est_cost_excl":"Estimated cost (excl. IVA)","app_report_pdf_deviation":"Cost deviation (excl. IVA)","app_report_pdf_vs":"vs","app_report_pdf_photo_before":"Before","app_report_pdf_photo_after":"After","app_report_finding_info":"Info","app_report_finding_waarschuwing":"Warning","app_report_finding_kritiek":"Critical","app_report_pdf_note":"Tradesperson note","app_report_pdf_photos_before":"Photos before","app_report_pdf_photos_after":"Photos after","app_report_pdf_filename":"insurance-report","app_report_share_ok":"Report sent to your email.","app_report_share_err":"Could not send. Please try again.","app_woning_cal_title":"Booking calendars (occupancy)","app_woning_cal_hint":"Paste the iCal link from Airbnb/Booking/Vrbo per property so that repairs are scheduled around your guests.","app_woning_cal_url":"iCal link","app_woning_cal_label":"Name (e.g. Airbnb)","app_woning_cal_label_ph":"Airbnb","app_woning_cal_add":"Add calendar","app_woning_cal_remove":"Remove","app_woning_cal_err_url":"Please enter a valid iCal link (https://…).","app_woning_cal_err_notfound":"Calendar not found.","app_woning_cal_empty":"No calendar linked yet.","app_woning_cal_sync_ok":"Synced · {n} bookings imported","app_woning_cal_sync_ok_one":"Synced · 1 booking imported","app_woning_cal_sync_empty":"Synced · no bookings in this calendar","app_woning_cal_sync_unreachable":"Sync failed · this link could not be reached. Check the link.","app_woning_cal_sync_invalid":"Sync failed · this link returns no calendar data. Use the iCal export link (.ics).","app_cal_entries_title":"Your calendar","app_cal_add":"Add","app_cal_kind":"Type","app_cal_kind_bezet":"Booked","app_cal_kind_note":"Note","app_cal_start":"From","app_cal_end":"Until","app_cal_label":"Description","app_cal_label_ph":"E.g. direct booking","app_cal_save":"Save","app_cal_cancel":"Cancel","app_cal_delete":"Delete","app_cal_prev_month":"Previous month","app_cal_next_month":"Next month","app_cal_legend_note":"Note","app_cal_legend_bezet_ical":"Booked (iCal)","app_cal_legend_bezet_own":"Blocked (you)","app_cal_legend_vrij":"Free","app_cal_bookings_title":"Bookings","app_cal_notes_title":"Notes","app_cal_source_ical":"iCal","app_cal_booking_own":"blocked by you","app_cal_booking_untitled":"Booked","app_cal_empty":"No calendar items yet.","app_cal_err_dates":"Choose an end date that is not before the start date.","app_beoordeel_title":"Rate the tradesperson","app_beoordeel_intro":"How did the job go? Your rating helps maintain quality.","app_beoordeel_score":"Score","app_beoordeel_comment":"Comment (optional)","app_beoordeel_submit":"Submit rating","app_beoordeel_link":"Rate the tradesperson","app_beoordeel_err_score":"Please choose a score from 1 to 5 stars.","app_beoordeel_err_state":"This job cannot be rated yet.","app_beoordeel_done":"Thank you for your rating.","alt_hero_villa":"An Andalusian villa with a pool in warm evening light on the Costa del Sol","alt_owners_terrace":"A villa terrace with Moorish arches, olive trees and a sea view on the Costa del Sol","alt_qr_card":"A Contratista QR card on the wall inside a Spanish villa","alt_pro_hero":"A vetted Contratista tradesperson in a Spanish villa","alt_auth_living":"A serene Spanish villa living room with a sea view","alt_auth_pro":"A tradesperson at work in a Spanish villa","prop_edit_title":"Edit property","prop_links_title":"Links","prop_reports_title":"Recent reports","prop_reports_empty":"No reports yet.","prop_field_country":"Country","prop_field_type":"Type","prop_field_access":"Access info","prop_field_access_ph":"Leave empty to keep unchanged","prop_field_qr":"QR code","prop_save":"Save","prop_archive":"Archive","prop_restore":"Restore","prop_archive_title":"Archive property?","prop_archive_body":"The property will be hidden but not deleted. Provide a reason.","prop_toast_saved":"Changes saved.","prop_toast_archived":"Property archived.","prop_toast_restored":"Property restored.","prop_err":"Something went wrong. Please try again.","admin_nav_settings":"Settings","set_tab_account":"My account","set_tab_platform":"Platform","set_tab_pool":"Pool & regions","set_tab_notifications":"Notifications","set_tab_flags":"Feature flags","set_tab_automation":"Automation","set_auto_title":"Scheduled tasks (crons)","set_auto_intro":"Overview of the automated tasks and their last run. Empty = not run yet (check the Vercel plan).","set_auto_lastrun":"Last run","set_auto_never":"Not run yet","set_auto_unscheduled":"Built · not scheduled (Hobby)","set_cron_daily":"Daily tasks (reminders, SLA, portfolio)","set_cron_trial":"Daily 07:00 — trial reminders and expiry emails","set_cron_cleanup":"Daily 03:30 — clean up unconfirmed accounts","set_cron_portfolio":"Monthly (1st) — portfolio overview to owners","set_cron_offer":"Offer-SLA: nudge the owner when no acceptance (daily)","set_cron_payment":"Payment reminders to owners","set_notif_group_account":"Account","set_notif_group_tenant":"Guest emails","set_notif_group_owner":"Owner emails","set_notif_group_pro":"Tradesperson emails","set_notif_pro_vetting":"Application outcome (approved / rejected / documents requested)","set_notif_owner_new_report":"New guest report (non-urgent)","set_notif_owner_brake":"Guest emergency brake","set_notif_owner_addition":"Guest added to a report","set_notif_owner_no_availability":"No availability before the deadline","set_notif_owner_no_replacement":"No replacement arranged","set_flags_title":"Feature flags","set_flag_data_export":"Data export (GDPR)","set_flag_mfa_owner":"Require 2FA for property owners","set_flag_mfa_pro":"Require 2FA for tradespeople","mfa_reset_title":"Reset two-factor?","mfa_reset_body":"This removes every second factor, trusted device and recovery code from this account. The user has to set up 2FA again. Give a reason — it is recorded.","mfa_reset_no_reason":"Give a reason for the reset.","prop_access_lives_on_report":"Access is set per report, not per property: the owner provides the key-box code or contact person when assigning a tradesperson.","klus_geen_toegang_systeem":"The tradesperson found a closed door: nobody answered. The planned time has lapsed. A new time will be arranged.","klus_geen_toegang_onbewaakt_systeem":"The tradesperson could not get into the property: the lockbox or the key did not give access. The planned time has lapsed. A new time will be arranged.","mfa_card_title":"Two-factor authentication","mfa_state_on":"Enabled. Your account has an extra layer of security.","mfa_state_off":"Disabled.","mfa_enable_btn":"Enable","mfa_disable_btn":"Disable","mfa_required_locked":"Required for this account. Cannot be turned off.","mfa_required_notice":"Two-factor authentication is required for this account. Set it up below. The rest of the portal stays locked until you do.","mfa_enroll_scan":"Scan this QR code with your authenticator app, then enter the code.","mfa_qr_alt":"QR code for authenticator setup","mfa_secret_label":"Manual key","mfa_code_label":"Code","mfa_confirm_btn":"Confirm","mfa_challenge_title":"Verify your sign-in","mfa_challenge_intro":"Enter the 6-digit code from your authenticator app.","mfa_trust_device":"Trust this device for 30 days","mfa_verify_btn":"Verify","mfa_verify_loading":"Verifying…","mfa_error_invalid":"Invalid or expired code. Please try again.","mfa_error_code_format":"Enter the 6 digits from your app.","mfa_error_rate_limited":"Too many attempts. Please wait and try again.","mfa_recovery_title":"Recovery codes","mfa_recovery_intro":"Save these codes somewhere safe. They are shown only once. Each code can be used one time to sign in if you lose access to your authenticator app.","mfa_recovery_copy_btn":"Copy codes","mfa_recovery_copied":"Copied","mfa_recovery_download_btn":"Download","mfa_recovery_pending":"Recovery codes are not available yet. They will appear here soon.","mfa_recovery_alt_link":"Use a recovery code","mfa_recovery_back_link":"Use your authenticator app instead","mfa_recovery_code_label":"Recovery code","mfa_recovery_challenge_intro":"Enter one of your recovery codes. It works once and removes two-factor authentication from your account, so you can set it up again.","mfa_error_recovery_invalid":"Invalid or already used recovery code.","mfa_reset_btn":"Reset 2FA","mfa_reset_no_user":"No user selected.","auth_already_sub":"You are already signed in as {email}.","auth_already_cta":"Go to your portal","auth_already_logout":"Sign out and use another account","auth_already_pro_note":"You already have an account, so a second application isn’t needed. You can follow an application in progress from your portal.","mfa_recovery_left":"{n} of {total} recovery codes still unused.","mfa_recovery_none_left":"No recovery codes left. Generate a new set.","mfa_recovery_regenerate_btn":"Generate new codes","mfa_recovery_regenerate_hint":"Your old codes stop working immediately. You will see the new set exactly once. Save or download it right away.","mfa_devices_title":"Trusted devices","mfa_devices_intro":"On these devices the second step is skipped for 30 days. Don’t recognise one, or lost a device? Revoke its trust — the second step is required there again on the next visit.","mfa_devices_empty":"No trusted devices. The second step is asked everywhere.","mfa_device_unknown":"Unknown device","mfa_device_current":"This device","mfa_device_current_hint":"For the device you are using right now, trust ends immediately. If you were not asked for the second step when you signed in, you will be asked straight away.","mfa_device_trusted_at":"Trusted on {date}","mfa_device_expires_at":"expires {date}","mfa_device_revoke_btn":"Revoke","mfa_device_revoke_confirm_title":"Revoke trust?","mfa_device_revoke_confirm_body":"On {device} the second step is required again on the next visit. Your current session stays as it is.","mfa_device_revoke_confirm_body_current":"You are using {device} right now. Trust ends immediately. If you were not asked for the second step when you signed in, you will be asked now and you will leave this page. Save your changes first.","mfa_devices_revoke_all_btn":"Revoke all devices","mfa_devices_revoke_all_confirm_title":"Revoke all devices?","mfa_devices_revoke_all_confirm_body":"On all your trusted devices the second step is required again on the next visit. Your current session stays as it is.","mfa_devices_revoke_all_confirm_body_current":"The second step becomes required again on all your trusted devices, including this one. If you were not asked for the second step when you signed in, you will be asked now and you will leave this page. Save your changes first.","set_account_title":"My account","set_account_name":"Name","set_account_locale":"Language","set_account_locale_active":"This portal is currently shown in {lang}, your most recent language choice. Save to switch it to your account language.","set_account_password":"Change password","set_account_logout":"Log out","set_save":"Save","set_soon":"Configured in this section","set_toast_saved":"Saved.","set_err":"Something went wrong. Please try again.","set_platform_title":"Platform settings","set_platform_trial":"Trial duration (days)","set_platform_grace":"Grace period at pool go-live (days)","set_platform_grace_hint":"How long owners who joined for free during the pool build-up keep access to activate their trial via the payment page.","set_platform_plan":"Default plan","set_platform_maintenance":"Maintenance mode","set_platform_owner_registration":"Owner registration open","set_platform_pro_registration":"Tradesperson registration open","set_pool_title":"Pool & regions","set_pool_sla":"SLA deadlines (hours)","set_sla_accept":"accept","set_sla_afronden":"resolve","set_pool_regions":"Regions","set_region_hint":"Choose which regions are active. “Pool live” opens tradesperson matching for that region.","set_region_active":"Active","set_region_poollive":"Pool live","admin_account_locked":"Account locked","admin_flag":"Flag","set_pool_trades":"Trades","set_notif_title":"Notifications & email","set_notif_sender":"Sender address","set_notif_new_report":"Email on new report","set_notif_job_assigned":"Email on assignment","set_notif_invoice":"Email on submitted invoice","set_notif_welcome":"Welcome email","set_notif_trial_started":"Activate trial + grace reminder (owner)","set_notif_alert_esc":"Admin alert on escalation","set_notif_alert_fraud":"Admin alert on fraud","set_notif_emails":"System emails","set_notif_sender_ph":"Empty = default sender","set_notif_receipt":"Guest receipt confirmation","set_notif_appt":"Guest appointment confirmation","set_notif_done":"Guest job completion","set_notif_job":"Tradesperson job assignment","set_notif_report":"Owner insurance report","set_notif_urgent":"Owner urgent alert","set_notif_slots_offered":"Slots offered (guest)","set_notif_counter_proposal":"Counter proposal (tradesperson)","set_notif_appointment_confirmed":"Appointment confirmed (guest)","set_notif_admin":"Admin alerts","maint_title":"Down for maintenance","maint_body":"We'll be right back. The platform is briefly offline for maintenance.","blocked_title":"Account paused","blocked_body":"This account is currently paused and has no access to the platform. If you believe this is a mistake, get in touch via the contact page.","blocked_logout":"Log out","meld_title":"Report a fault","meld_intro":"Enter the property code shown on your QR card.","meld_label":"Property code","meld_ph":"E.g. K7P-9QR","meld_submit":"Continue","meld_err_invalid":"Enter a valid property code: 6 characters, like K7P-9QR (the hyphen doesn’t count).","meld_help_title":"Where do I find the code?","meld_help_body":"The code is on the QR card in the property.","meld_help_link":"See how reporting works","price_estimate_label":"Estimate","price_estimate_hint":"Estimate, not a fixed price. The final amount follows via the invoice.","price_estimate_info_aria":"More about this estimate","terms_owner_label":"I assign this job to the selected tradesperson(s) and agree to the platform terms. Contratista only mediates and is not responsible for the work carried out. The price shown is an estimate, not a fixed price.","guarantee_info":"The tradesperson provides a {months}-month guarantee on their labour. Parts are covered by the manufacturer’s warranty.","terms_pro_label":"I accept this job and provide a {months}-month guarantee on my labour; parts follow the manufacturer’s warranty. I agree to the platform terms.","terms_platform_link":"Read the platform terms","terms_required_err":"Tick the agreement to continue.","assign_multi_hint":"Send to multiple tradespeople for a faster response (max 3).","assign_single_hint":"Right now this is the only vetted tradesperson matching this report’s trade and region.","assign_entry_title":"How does the tradesperson get in?","assign_entry_gast":"The guest lets them in","assign_entry_iemand":"Someone else lets them in","assign_entry_iemand_hint":"You or a contact person opens up. Put name + phone below. The tradesperson sees this.","assign_entry_wie_ph":"E.g. Ana (cleaner) +34 600 123 456","assign_entry_kluis_label":"Lockbox code","assign_entry_kluis_ph":"E.g. 3456","assign_access_kluis_required_err":"Enter the lockbox code.","assign_access_wie_required_err":"Fill in who lets them in — name and phone number.","assign_min_err":"Select at least one tradesperson.","offer_also_sent":"This request has also been sent to other tradespeople.","offer_others_none":"This request is with you alone.","offer_others_one":"This request is also with one other tradesperson.","offer_others_many":"This request is also with {n} other tradespeople.","offer_taken_title":"This job has already been taken","offer_taken_body":"Another tradesperson has accepted this job.","offer_expired_title":"This offer has expired","offer_expired_body":"The response window closed before the job was accepted. Respond quickly to new requests to catch more jobs.","offer_status_invited":"Invited","offer_status_declined":"Declined","offer_status_accepted":"Accepted","offer_status_lapsed":"Lapsed","escalation_owner_title":"Not picked up","escalation_owner_body":"None of the tradespeople contacted have accepted the job. Send a new round.","escalation_owner_cta":"Send new round","pro_plan_title":"Choose a day","pro_plan_deadline":"By","pro_plan_none":"No available days within the deadline. The owner has been asked to add availability.","pro_plan_confirm":"Confirm day","pro_plan_err_day":"Choose a valid available day.","pro_plan_err_notfound":"Job not found.","pro_plan_err_state":"The job is not in the right state to be scheduled.","invoice_pdf_title":"Payment request","invoice_pdf_page_note":"Payment request, not a fiscal invoice","invoice_pdf_from":"From","invoice_pdf_to":"To","invoice_pdf_name":"Name","invoice_pdf_property":"Property","invoice_pdf_company":"Company","invoice_pdf_address":"Address","invoice_pdf_nif":"NIF/VAT","invoice_pdf_iban":"IBAN","invoice_pdf_meta":"Invoice details","invoice_pdf_number":"Payment request no.","invoice_pdf_date":"Date","invoice_pdf_due":"Payment due","invoice_pdf_disclaimer":"This payment request is issued on behalf of the tradesperson. It is not a fiscal invoice: you receive the official factura directly from them.","invoice_pdf_lines":"Line items","invoice_pdf_lines_unspecified":"Work carried out (not itemised)","invoice_pdf_labour":"Labour","invoice_pdf_hour_unit":"hr","invoice_pdf_material":"Material","invoice_pdf_totals":"Totals","invoice_pdf_subtotal":"Subtotal","invoice_pdf_iva":"VAT","invoice_pdf_iva_unknown":"The tradesperson did not provide an IVA breakdown. This payment request therefore shows the total amount only; the IVA rate is stated on their official factura.","invoice_pdf_total":"Total","invoice_pdf_download":"Download payment request (PDF)","invoice_pdf_filename":"payment-request","invoice_pdf_col_description":"Description","invoice_pdf_col_amount":"Amount","invoice_pdf_pay":"Payment","invoice_pdf_pay_amount":"Amount due","invoice_pdf_pay_to":"Payee","invoice_pdf_pay_reference":"Payment reference","invoice_pdf_pay_direct":"Transfer the amount directly to the tradesperson. Contratista does not process payments and is not a party to this transaction.","invoice_pdf_pay_no_iban":"The tradesperson has not provided an IBAN yet. Ask them for their account number before paying.","invoice_pdf_work":"Work carried out","invoice_pdf_check":"Automated check","invoice_pdf_check_result":"Result","invoice_pdf_check_laag":"No discrepancies found","invoice_pdf_check_medium":"Points to review found","invoice_pdf_check_hoog":"Discrepancies found","invoice_pdf_check_note":"Contratista automatically compares every payment request against the diagnosis, the before and after photos and the line items submitted. The outcome is advice, not an approval: the decision to pay remains yours.","quote_pdf_title":"Cost estimate","quote_pdf_number":"Reference","quote_pdf_date":"Agreed on","quote_pdf_job":"Job","quote_pdf_property":"Property","quote_pdf_address":"Address","quote_pdf_region":"Region","quote_pdf_defect":"Report","quote_pdf_defect_none":"The guest left no description with this report.","quote_pdf_defect_from_diagnose":"The guest left no description. Determined from the photos: {summary}","quote_pdf_pro":"Tradesperson","quote_pdf_owner":"Client","quote_pdf_owner_heading":"Owner","quote_pdf_costs":"Costs","quote_pdf_estimate":"Guide price","quote_pdf_estimate_note":"This is a guide price based on the diagnosis, not a fixed price. The final settlement follows after completion as a payment request, with the actual hours and materials.","quote_pdf_no_estimate":"No guide price was given. The tradesperson will settle the actual hours and materials after the work.","quote_pdf_hourly_rate":"Hourly rate","quote_pdf_hourly_rate_note":"The diagnosis did not produce a guide price. The final amount follows from the actual hours at this rate plus materials, via the payment request after completion.","quote_pdf_iva_note":"All amounts above exclude IVA. The payment request after completion adds the applicable IVA rate on top.","quote_pdf_guarantee":"Guarantee","quote_pdf_guarantee_labour":"{months}-month guarantee on labour.","quote_pdf_guarantee_material":"Materials and parts are covered by the manufacturer warranty.","quote_pdf_agreement":"Agreement","quote_pdf_owner_accepted":"Owner agreed on","quote_pdf_pro_accepted":"Tradesperson agreed on","quote_pdf_terms_version":"Terms","quote_pdf_terms_version_dated":"version of {date}","quote_pdf_terms_note":"Both parties agreed to the platform terms as they applied on the date of agreement. The current text is available at {url}.","quote_pdf_disclaimer":"You pay the tradesperson directly. Contratista mediates and does not handle any money.","quote_pdf_download":"Download cost estimate (PDF)","quote_pdf_filename":"cost-estimate","app_export_pdf_category":"Category","plan_confirm_slot":"Confirm appointment","plan_slot_option":"Option","plan_none_fit":"None of these times work — send a counter proposal","plan_accept_counter":"Accept counter proposal","plan_reoffer":"Offer other times","plan_urgent_window":"Guest preferred window:","plan_status_voorgesteld":"Slots offered — awaiting choice","plan_status_tegenvoorstel":"Counter proposal received","plan_status_bevestigd":"Appointment confirmed","pro_klus_fix_deadline":"This job must be completed by {datum}.","pro_klus_appt_await_opname":"Your assessment is with the owner. Once they approve, you pick the follow-up time here.","pro_klus_followup_plan":"The owner approved. Pick the follow-up time, by {datum} at the latest.","pro_klus_blocks_pick":"Pick a time for your visit","pro_klus_blocks_pick_hint":"Your chosen slot is confirmed as the appointment right away.","pro_klus_block_vacant":"Nobody home — ideal","pro_klus_block_other":"Guest may be at home","pro_klus_daypart_ochtend":"Morning","pro_klus_daypart_middag":"Afternoon","pro_klus_daypart_avond":"Evening","slot_when_ochtend":"in the morning","slot_when_middag":"in the afternoon","slot_when_avond":"in the evening","slot_when_clock":"at {time}","pro_klus_tenant_pref":"Guest preference","pro_klus_err_slot":"That time is past the deadline. Pick an earlier time.","pro_klus_err_reason":"Add a reason. The owner and the guest need to know why it is moving.","pro_klus_err_same_slot":"That is the time already booked. Pick a different one.","demo_titel":"Try the diagnosis on your own photo","demo_intro":"Upload a photo of something broken. No account needed.","demo_intro_app":"Upload a photo of something broken.","demo_knop_diagnose":"Run the diagnosis","demo_foto_kies":"Choose a photo","demo_desc_label":"Tell us what happened","demo_desc_ph":"E.g. The bathroom tap keeps dripping, even when fully closed.","demo_desc_help":"Optional, but it helps the diagnosis a lot.","demo_monteur_illustratief":"In your account, you would see 2-3 vetted tradespeople here with rate and score.","demo_monteur_illustratief_app":"This is a trial diagnosis. On a real guest report, 2-3 vetted tradespeople appear here with rate and score.","demo_cta_trial":"{offer}","demo_volgende_lead_prospect":"This report came out of one photo. With your own account, your guests send reports like this in themselves.","demo_ongeldig":"This demo link is not valid.","demo_verlopen":"This demo link has expired.","demo_state_lead":"You can try it yourself: create an account, upload a photo and see what comes out.","demo_state_hoe":"See how it works first","demo_gedaan_eerder":"You have already used this demo. Start your free trial to access the full platform.","demo_err_geen_foto":"Please add a photo.","demo_err_te_groot":"That photo is too large. Please use a smaller image.","demo_err_ai":"The diagnosis could not be completed. Please try again.","demo_err_ongeldig":"This demo link can no longer be used.","demo_aria_monteurs":"Illustrative tradespeople","demo_aria_taal":"Choose language","demo_status_bezig":"Running the diagnosis…","demo_status_klaar":"The diagnosis is ready.","demo_aanvraag_titel":"Try the demo","demo_aanvraag_intro":"Enter your first name and email and you get your personal demo link right away. One demo per person, valid for 30 days.","demo_aanvraag_naam":"First name","demo_aanvraag_email":"Email address","demo_aanvraag_knop":"Start my demo","demo_aanvraag_bezig":"Starting…","demo_aanvraag_privacy":"We only use your email for your demo link.","demo_aanvraag_vol_titel":"The demo is full for this month","demo_aanvraag_vol_tekst":"Come back next month, or see how Contratista works in the meantime.","demo_aanvraag_vol_cta":"Visit the site","demo_aanvraag_gedaan_titel":"You have already done the demo","demo_aanvraag_gedaan_tekst":"The demo is one per person. See how Contratista works for your property on the site.","demo_aanvraag_gedaan_cta":"Visit the site","demo_aanvraag_err_invoer":"Enter your first name and a valid email address.","demo_aanvraag_err_captcha":"The security check did not pass. Please try again.","demo_aanvraag_err_vol":"The demo is full for this month.","demo_aanvraag_err_druk":"Too many requests in a row. Please wait a moment and try again.","demo_onboarding_titel":"Try the diagnosis now","demo_onboarding_tekst":"Upload a photo of something broken and watch the diagnosis appear within seconds, before you add your first property.","demo_app_titel":"Try the diagnosis","demo_app_terug":"Dashboard","demo_app_foto_alt":"Chosen photo","demo_app_resultaat_label":"Diagnosis result","demo_app_kostenraming":"Cost estimate","demo_rapport_titel":"Diagnosis report","demo_rapport_wat_ik_zie":"What I see","demo_rapport_oorzaak":"Likely cause","demo_rapport_materialen":"Materials needed","demo_rapport_mat_naam":"Material","demo_rapport_mat_spec":"Specification","demo_rapport_mat_kosten":"Cost","demo_rapport_arbeid":"Estimated labour","demo_rapport_uur_suffix":"h","demo_rapport_conclusie":"Summary","demo_ernst_kritiek":"Critical","demo_ernst_urgent":"Urgent","demo_ernst_normaal":"Normal","demo_ernst_cosmetisch":"Cosmetic","demo_ernst_geen_defect":"No fault","demo_app_nog_een":"Run another diagnosis","demo_app_volgende_lead":"This report came out of one photo. Add a property and your guests send reports like this in themselves.","demo_app_volgende_lead_woningen":"When a guest reports something, this report lands in your dashboard on its own. Put up your property code and it runs.","demo_app_volgende_cta_woningen":"Go to your properties","demo_quotum_op":"You have used all 3 trial diagnoses.","demo_quotum_op_body":"Add your first property to start receiving real guest reports.","demo_quotum_nudge":"You have used all your trial diagnoses. Add a property to start using the full platform.","demo_resterend":"{n} trial diagnoses left","afmelden_titel":"Unsubscribe from demo emails","afmelden_uitleg":"Would you like to stop receiving demo emails from Contratista at {email}?","afmelden_knop":"Yes, unsubscribe me","afmelden_klaar_titel":"You are unsubscribed","afmelden_klaar_uitleg":"You will no longer receive demo emails from us. Emails about an ongoing report or your account will still arrive.","afmelden_onbekend_titel":"This link no longer works","afmelden_onbekend_uitleg":"The link has expired or was already used. To unsubscribe anyway, email {email}.","vb_pagina_titel":"A real report","vb_eyebrow":"Costa del Sol","vb_titel":"A guest sent six words and a blurry photo.","vb_lede":"Two minutes later, this is what the owner had.","vb_inzending_label":"What the guest sent","vb_rapport_label":"What came back","vb_bewijs_kop":"What happens next","vb_bewijs_factuur":"Every invoice is checked against the photos, the parts and the hours, your own tradesperson’s too.","vb_bewijs_gratis":"Free while we build our vetted pool on the Costa del Sol. Send the tradesperson you already trust in the meantime.","vb_cta":"Start free","vb_cta_noot":"Add a property, put up the code, and you are running. Cancel anytime.","offer_banner_label":"Current offer","offer_banner_lead":"Free while we build our vetted pool.","offer_banner_body":"Everything works today. Add the tradespeople you already trust.","offer_banner_cta":"Sign up free →","offer_banner_pro_lead":"We’re building our vetted pool right now.","offer_banner_pro_body":"Apply and you’re in from the start. Jobs arrive scoped, with photos.","offer_banner_pro_cta":"Apply as a tradesperson →","offer_word_free":"Start free","offer_word_trial":"Start free trial","cta_sub_building":"Set up your first property in minutes. Free while we build our vetted pool.","pricing_lede_building":"Free while we build our vetted pool in your area. After that you pay per property, and the more properties the lower the rate. Repairs are paid straight to the tradesperson; Contratista never takes a cut.","pricing_footnote_building":"Free while we build our vetted pool. No credit card needed to start. Repairs are paid directly to the tradesperson. Contratista never takes a commission.","about_cta_p_building":"Set up your first property in minutes. Free while we build our vetted pool.","register_plan_trial_building":"Free while we build our pool","fo_note_1_building":"Free while we build our pool","fo_pricing_sub_building":"Free while we build our vetted pool. Your trial only starts once the pool is live in your region, and you can cancel anytime.","feat_page_cta_sub_building":"Set up your first property in a few minutes. Free while we build our vetted pool.","schil_welkom_titel":"You're in.","schil_welkom_regel":"From now on it opens straight from your home screen. Reports, properties and your tradespeople within reach.","schil_offline":"You're offline. You're seeing what loaded last.","offline_dossier_kop":"Your jobs","offline_dossier_bijgewerkt":"Last opened while you still had a connection.","common_or":"or","zoek_groep_pand":"Properties","brein_metriek_pandrisico":"risk {risico}{defectSuffix}","brein_loop_pandrisico":"Property risk","brein_event_pandrisico":"Property risk updated for {pand}","app_onboard_cl_groet":"Welcome, {naam}","app_onboard_cl_s2_sub":"One property, one QR code. Takes a minute.","app_onboard_cl_s2_cta":"Add property","app_onboard_cl_s3_bezig":"Downloading…","app_onboard_cl_s3_fout":"The download did not work. We are opening the card in a new screen.","app_new_region_buiten":"We are not there yet. Contratista currently works in {regios}. So a QR code for this address would have nobody to pick it up.","app_meld_status_hoe":"Show me how","app_meld_status_terugvinden":"Need it later? Find it under More › Add to home screen.","app_start_s1_sub":"Three steps, and you do not have to be there for any of them.","app_qr_naar_pand":"Fill in","app_maint_empty_nopand_title":"Add a property first","app_maint_empty_nopand_body":"Maintenance belongs to a property. Once you have added one, you can schedule tasks here.","app_maint_empty_nopand_cta":"Add property","pricing_per_yr":"/yr","pricing_yearly_equiv":"≈ {price}/mo VAT incl. · billed annually","pricing_billed_yearly":"billed annually","pricing_per_mo_eq":"billed yearly","app_insights_panden_label":"Properties","app_pand_cal_title":"Booking calendars (occupancy)","app_pand_cal_hint":"Paste the iCal link from Airbnb/Booking/Vrbo per property so that repairs are scheduled around your guests.","app_pand_cal_url":"iCal link","app_pand_cal_label":"Name (e.g. Airbnb)","app_pand_cal_label_ph":"Airbnb","app_pand_cal_add":"Add calendar","app_pand_cal_remove":"Remove","app_pand_cal_err_url":"Please enter a valid iCal link (https://…).","app_pand_cal_err_notfound":"Calendar not found.","app_pand_cal_empty":"No calendar linked yet.","app_pand_cal_sync_ok":"Synced · {n} bookings imported","app_pand_cal_sync_ok_one":"Synced · 1 booking imported","app_pand_cal_sync_empty":"Synced · no bookings in this calendar","app_pand_cal_sync_unreachable":"Sync failed · this link could not be reached. Check the link.","app_pand_cal_sync_invalid":"Sync failed · this link returns no calendar data. Use the iCal export link (.ics).","demo_app_volgende_lead_panden":"When a guest reports something, this report lands in your dashboard on its own. Put up your property code and it runs.","demo_app_volgende_cta_panden":"Go to your properties","voorbeeld_rapport_zie":"Standing water in the base of the sink cabinet, with a visible drip at the compression fitting on the cold feed. The chipboard base has darkened and swollen along the front edge, which indicates the leak has been running for days rather than hours.","voorbeeld_rapport_oorzaak":"A loosened or perished compression joint on the cold supply. The swelling of the cabinet base suggests slow, continuous seepage rather than a sudden failure.","voorbeeld_rapport_samenvatting":"An active water leak that has been running long enough to damage the cabinet. Not an emergency, but it should not wait for the next changeover: left alone, seepage of this kind reaches the floor structure and the room below.","voorbeeld_mat_1_naam":"Compression fitting 15 mm","voorbeeld_mat_1_spec":"brass, with new olive","voorbeeld_mat_2_naam":"Flexible tap connector","voorbeeld_mat_3_naam":"PTFE tape"}