﻿<?xml version="1.0" encoding="utf-8"?>
<!--
  DVR Time Traveler — iOS Managed App Configuration Schema
  =========================================================
  AppConfig Community format — compatible with Apple Business Manager,
  Jamf Pro, Microsoft Intune, Mosyle, Kandji, Workspace ONE, etc.

  This file is hosted at:
    https://sdtech.app/apps/dvr-tt/AppConfig.xml

  IT administrators can import it directly from that URL into their MDM
  console, or download and upload it manually. Administrators will see
  labeled, grouped configuration fields in their preferred language
  (English or French).

  Bundle ID  : com.sdtech.dvrtt
  App Name   : DVR Time Traveler
  Schema ver : 1
-->
<managedAppConfiguration>
  <version>1</version>
  <bundleId>com.sdtech.dvrtt</bundleId>

  <!-- ── Key type declarations (used by the app runtime) ── -->
  <dict>

    <!-- Enterprise Licensing -->
    <string keyName="enterprise_license_key">
      <defaultValue><value/></defaultValue>
    </string>
    <string keyName="organization_name">
      <defaultValue><value/></defaultValue>
    </string>

    <!-- Feature Control -->
    <boolean keyName="disable_notes_feature">
      <defaultValue><value>false</value></defaultValue>
    </boolean>
    <boolean keyName="disable_patterns_feature">
      <defaultValue><value>false</value></defaultValue>
    </boolean>
    <boolean keyName="disable_in_app_purchases">
      <defaultValue><value>true</value></defaultValue>
    </boolean>

    <!-- Logo Management -->
    <boolean keyName="logo_position_locked">
      <defaultValue><value>false</value></defaultValue>
    </boolean>
    <string keyName="logo_position_value">
      <defaultValue><value>left</value></defaultValue>
    </string>

    <!-- Report Language -->
    <boolean keyName="report_language_locked">
      <defaultValue><value>false</value></defaultValue>
    </boolean>
    <string keyName="report_language_value">
      <defaultValue><value/></defaultValue>
    </string>

    <!-- Support -->
    <string keyName="custom_support_email">
      <defaultValue><value/></defaultValue>
    </string>
    <string keyName="custom_support_url">
      <defaultValue><value/></defaultValue>
    </string>

    <!-- Deployment -->
    <string keyName="deployment_notes">
      <defaultValue><value/></defaultValue>
    </string>

  </dict>

  <!-- ── Admin console presentation (EN + FR) ── -->
  <presentation defaultLocale="en-US">

    <!-- ═══════════════════════════════════════════════
         GROUP 1 — Enterprise Licensing
         ═══════════════════════════════════════════════ -->
    <fieldGroup>
      <name>
        <language value="en-US">Enterprise Licensing</language>
        <language value="fr-FR">Licences entreprise</language>
      </name>

      <field keyName="enterprise_license_key">
        <label>
          <language value="en-US">Enterprise License Key</language>
          <language value="fr-FR">Clé de licence entreprise</language>
        </label>
        <description>
          <language value="en-US">Enter the enterprise license key provided by your software vendor. The app validates and activates the license on each enrolled device.</language>
          <language value="fr-FR">Saisissez la clé de licence entreprise fournie par votre revendeur logiciel. L'application valide et active la licence sur chaque appareil inscrit.</language>
        </description>
        <ui-type>singleEntryField</ui-type>
      </field>

      <field keyName="organization_name">
        <label>
          <language value="en-US">Organization Name</language>
          <language value="fr-FR">Nom de l'organisation</language>
        </label>
        <description>
          <language value="en-US">Display name for your organization shown inside the app (e.g. "Montreal Police Department"). Visible to officers on the subscription screen.</language>
          <language value="fr-FR">Nom d'affichage de l'organisation visible dans l'application (ex. : « Service de police de Montréal »). Visible par les agents sur l'écran d'abonnement.</language>
        </description>
        <ui-type>singleEntryField</ui-type>
      </field>
    </fieldGroup>

    <!-- ═══════════════════════════════════════════════
         GROUP 2 — Feature Control
         ═══════════════════════════════════════════════ -->
    <fieldGroup>
      <name>
        <language value="en-US">Feature Control</language>
        <language value="fr-FR">Contrôle des fonctionnalités</language>
      </name>

      <field keyName="disable_notes_feature">
        <label>
          <language value="en-US">Disable Notes Feature</language>
          <language value="fr-FR">Désactiver la fonction Notes</language>
        </label>
        <description>
          <language value="en-US">When enabled, officers cannot create, view, or export case notes. The Notes tab will be hidden and locked.</language>
          <language value="fr-FR">Lorsqu'activé, les agents ne peuvent pas créer, consulter ou exporter des notes d'enquête. L'onglet Notes sera masqué et verrouillé.</language>
        </description>
        <ui-type>checkbox</ui-type>
      </field>

      <field keyName="disable_patterns_feature">
        <label>
          <language value="en-US">Disable Passwords &amp; Patterns Feature</language>
          <language value="fr-FR">Désactiver la fonction Mots de passe et schémas</language>
        </label>
        <description>
          <language value="en-US">When enabled, officers cannot access the password and pattern analysis module. The Patterns tab will be hidden and locked.</language>
          <language value="fr-FR">Lorsqu'activé, les agents ne peuvent pas accéder au module d'analyse des mots de passe et des schémas. L'onglet Schémas sera masqué et verrouillé.</language>
        </description>
        <ui-type>checkbox</ui-type>
      </field>

      <field keyName="disable_in_app_purchases">
        <label>
          <language value="en-US">Disable In-App Purchases</language>
          <language value="fr-FR">Désactiver les achats intégrés</language>
        </label>
        <description>
          <language value="en-US">Hides all subscription purchase options. Enabled by default for MDM-managed devices. Set to false only if your agency uses individual store purchases.</language>
          <language value="fr-FR">Masque toutes les options d'achat d'abonnement. Activé par défaut sur les appareils gérés par MDM. Définissez à false uniquement si votre agence utilise des achats individuels sur l'App Store.</language>
        </description>
        <ui-type>checkbox</ui-type>
      </field>
    </fieldGroup>

    <!-- ═══════════════════════════════════════════════
         GROUP 3 — Logo Management
         ═══════════════════════════════════════════════ -->
    <fieldGroup>
      <name>
        <language value="en-US">Logo Management</language>
        <language value="fr-FR">Gestion du logo</language>
      </name>

      <field keyName="logo_position_locked">
        <label>
          <language value="en-US">Lock Logo Position</language>
          <language value="fr-FR">Verrouiller la position du logo</language>
        </label>
        <description>
          <language value="en-US">When enabled, officers cannot change the logo position in PDF reports. Combine with "Logo Position" to set the enforced value.</language>
          <language value="fr-FR">Lorsqu'activé, les agents ne peuvent pas modifier la position du logo dans les rapports PDF. À combiner avec « Position du logo » pour définir la valeur imposée.</language>
        </description>
        <ui-type>checkbox</ui-type>
      </field>

      <field keyName="logo_position_value">
        <label>
          <language value="en-US">Logo Position</language>
          <language value="fr-FR">Position du logo</language>
        </label>
        <description>
          <language value="en-US">Enforced logo position in PDF reports. Requires "Lock Logo Position" to be enabled. Accepted values: left, right.</language>
          <language value="fr-FR">Position du logo imposée dans les rapports PDF. Nécessite que « Verrouiller la position du logo » soit activé. Valeurs acceptées : left, right.</language>
        </description>
        <ui-type>select</ui-type>
        <options>
          <option>
            <value>left</value>
            <label>
              <language value="en-US">Left</language>
              <language value="fr-FR">Gauche</language>
            </label>
          </option>
          <option>
            <value>right</value>
            <label>
              <language value="en-US">Right</language>
              <language value="fr-FR">Droite</language>
            </label>
          </option>
        </options>
      </field>
    </fieldGroup>

    <!-- ═══════════════════════════════════════════════
         GROUP 4 — Report Language
         ═══════════════════════════════════════════════ -->
    <fieldGroup>
      <name>
        <language value="en-US">Report Language</language>
        <language value="fr-FR">Langue des rapports</language>
      </name>

      <field keyName="report_language_locked">
        <label>
          <language value="en-US">Lock Report Language</language>
          <language value="fr-FR">Verrouiller la langue des rapports</language>
        </label>
        <description>
          <language value="en-US">When enabled, officers cannot change the language used in PDF reports. Combine with "Report Language" to specify the enforced language.</language>
          <language value="fr-FR">Lorsqu'activé, les agents ne peuvent pas modifier la langue des rapports PDF. À combiner avec « Langue des rapports » pour spécifier la langue imposée.</language>
        </description>
        <ui-type>checkbox</ui-type>
      </field>

      <field keyName="report_language_value">
        <label>
          <language value="en-US">Report Language</language>
          <language value="fr-FR">Langue des rapports</language>
        </label>
        <description>
          <language value="en-US">Language enforced for all PDF reports. Requires "Lock Report Language" to be enabled. Leave empty to follow the app interface language.</language>
          <language value="fr-FR">Langue imposée pour tous les rapports PDF. Nécessite que « Verrouiller la langue des rapports » soit activé. Laisser vide pour suivre la langue de l'interface.</language>
        </description>
        <ui-type>select</ui-type>
        <options>
          <option>
            <value>en</value>
            <label>
              <language value="en-US">English</language>
              <language value="fr-FR">Anglais (English)</language>
            </label>
          </option>
          <option>
            <value>fr</value>
            <label>
              <language value="en-US">French (Français)</language>
              <language value="fr-FR">Français</language>
            </label>
          </option>
          <option>
            <value>es</value>
            <label>
              <language value="en-US">Spanish (Español)</language>
              <language value="fr-FR">Espagnol (Español)</language>
            </label>
          </option>
          <option>
            <value>ar</value>
            <label>
              <language value="en-US">Arabic (العربية)</language>
              <language value="fr-FR">Arabe (العربية)</language>
            </label>
          </option>
          <option>
            <value>de</value>
            <label>
              <language value="en-US">German (Deutsch)</language>
              <language value="fr-FR">Allemand (Deutsch)</language>
            </label>
          </option>
          <option>
            <value>it</value>
            <label>
              <language value="en-US">Italian (Italiano)</language>
              <language value="fr-FR">Italien (Italiano)</language>
            </label>
          </option>
        </options>
      </field>
    </fieldGroup>

    <!-- ═══════════════════════════════════════════════
         GROUP 5 — Support
         ═══════════════════════════════════════════════ -->
    <fieldGroup>
      <name>
        <language value="en-US">Support</language>
        <language value="fr-FR">Assistance</language>
      </name>

      <field keyName="custom_support_email">
        <label>
          <language value="en-US">Custom Support Email</language>
          <language value="fr-FR">Adresse e-mail d'assistance personnalisée</language>
        </label>
        <description>
          <language value="en-US">Support email address displayed to officers in the app (e.g. "support@police.ca"). Replaces the default vendor support address.</language>
          <language value="fr-FR">Adresse e-mail d'assistance affichée aux agents dans l'application (ex. : « support@police.ca »). Remplace l'adresse d'assistance par défaut du revendeur.</language>
        </description>
        <ui-type>singleEntryField</ui-type>
      </field>

      <field keyName="custom_support_url">
        <label>
          <language value="en-US">Custom Support URL</language>
          <language value="fr-FR">URL d'assistance personnalisée</language>
        </label>
        <description>
          <language value="en-US">Support URL displayed to officers in the app (e.g. internal helpdesk portal). Replaces the default vendor support link.</language>
          <language value="fr-FR">URL d'assistance affichée aux agents dans l'application (ex. : portail d'assistance interne). Remplace le lien d'assistance par défaut du revendeur.</language>
        </description>
        <ui-type>singleEntryField</ui-type>
      </field>
    </fieldGroup>

    <!-- ═══════════════════════════════════════════════
         GROUP 6 — Deployment
         ═══════════════════════════════════════════════ -->
    <fieldGroup>
      <name>
        <language value="en-US">Deployment</language>
        <language value="fr-FR">Déploiement</language>
      </name>

      <field keyName="deployment_notes">
        <label>
          <language value="en-US">Deployment Notes</language>
          <language value="fr-FR">Notes de déploiement</language>
        </label>
        <description>
          <language value="en-US">Internal notes about this deployment configuration. Not visible to officers. Use for documenting rollout details, ticket numbers, or approver information.</language>
          <language value="fr-FR">Notes internes sur cette configuration de déploiement. Non visibles par les agents. À utiliser pour documenter les détails du déploiement, numéros de tickets ou informations sur l'approbateur.</language>
        </description>
        <ui-type>multilineField</ui-type>
      </field>
    </fieldGroup>

  </presentation>
</managedAppConfiguration>
