<?xml version="1.0" encoding="UTF-8"?>
<OfficeApp xmlns="http://schemas.microsoft.com/office/appforoffice/1.1"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:bt="http://schemas.microsoft.com/office/officeappbasictypes/1.0"
           xsi:type="MailApp">

  <Id>6fbcf8fe-d6fd-4797-a886-fed162e00af1</Id>
  <Version>1.3.0.0</Version>
  <ProviderName>MWSOFT</ProviderName>
  <DefaultLocale>de-DE</DefaultLocale>
  <DisplayName DefaultValue="TravelTime"/>
  <Description DefaultValue="Erstellt automatisch Pufferzeiten vor/nach Terminen und plant Reisezeiten mit Azure Maps."/>

  <IconUrl DefaultValue="https://nimbus-erleben.de/assets/icon-80.png"/>
  <HighResolutionIconUrl DefaultValue="https://nimbus-erleben.de/assets/icon-80.png"/>
  <SupportUrl DefaultValue="https://nimbus-erleben.de/support"/>

  <AppDomains>
    <AppDomain>https://nimbus-erleben.de</AppDomain>
  </AppDomains>

  <Requirements>
    <Sets DefaultMinVersion="1.5">
      <Set Name="Mailbox"/>
    </Sets>
  </Requirements>

  <FormSettings>
    <Form xsi:type="ItemRead">
      <DesktopSettings>
        <SourceLocation DefaultValue="https://nimbus-erleben.de/taskpane.html"/>
        <RequestedHeight>400</RequestedHeight>
      </DesktopSettings>
    </Form>
  </FormSettings>

  <Permissions>ReadWriteItem</Permissions>

  <Rule xsi:type="RuleCollection" Mode="Or">
    <Rule xsi:type="ItemIs" ItemType="Appointment" FormType="Read"/>
    <Rule xsi:type="ItemIs" ItemType="Appointment" FormType="Edit"/>
  </Rule>

  <DisableEntityHighlighting>false</DisableEntityHighlighting>

  <!-- VersionOverrides V1_0 (Fallback ohne LaunchEvent) -->
  <VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides"
                    xsi:type="VersionOverridesV1_0">
    <Requirements>
      <bt:Sets DefaultMinVersion="1.5">
        <bt:Set Name="Mailbox"/>
      </bt:Sets>
    </Requirements>
    <Hosts>
      <Host xsi:type="MailHost">
        <DesktopFormFactor>
          <FunctionFile resid="FunctionFile.Url"/>
          <ExtensionPoint xsi:type="AppointmentAttendeeCommandSurface">
            <OfficeTab id="TabDefault">
              <Group id="BufferGroup.attendee.v10">
                <Label resid="GroupLabel"/>
                <Control xsi:type="Button" id="BufferBeforeButton.attendee.v10">
                  <Label resid="BufferBeforeButton.Label"/>
                  <Supertip><Title resid="BufferBeforeButton.Label"/><Description resid="BufferBeforeButton.Tooltip"/></Supertip>
                  <Icon><bt:Image size="16" resid="Icon.16x16"/><bt:Image size="32" resid="Icon.32x32"/><bt:Image size="80" resid="Icon.80x80"/></Icon>
                  <Action xsi:type="ShowTaskpane"><SourceLocation resid="Taskpane.Url"/></Action>
                </Control>
                <Control xsi:type="Button" id="BufferAfterButton.attendee.v10">
                  <Label resid="BufferAfterButton.Label"/>
                  <Supertip><Title resid="BufferAfterButton.Label"/><Description resid="BufferAfterButton.Tooltip"/></Supertip>
                  <Icon><bt:Image size="16" resid="Icon.16x16"/><bt:Image size="32" resid="Icon.32x32"/><bt:Image size="80" resid="Icon.80x80"/></Icon>
                  <Action xsi:type="ShowTaskpane"><SourceLocation resid="Taskpane.Url"/></Action>
                </Control>
                <Control xsi:type="Button" id="TravelButton.attendee.v10">
                  <Label resid="TravelButton.Label"/>
                  <Supertip><Title resid="TravelButton.Label"/><Description resid="TravelButton.Tooltip"/></Supertip>
                  <Icon><bt:Image size="16" resid="Icon.16x16"/><bt:Image size="32" resid="Icon.32x32"/><bt:Image size="80" resid="Icon.80x80"/></Icon>
                  <Action xsi:type="ShowTaskpane"><SourceLocation resid="Taskpane.Url"/></Action>
                </Control>
                <Control xsi:type="Button" id="SettingsButton.attendee.v10">
                  <Label resid="SettingsButton.Label"/>
                  <Supertip><Title resid="SettingsButton.Label"/><Description resid="SettingsButton.Tooltip"/></Supertip>
                  <Icon><bt:Image size="16" resid="Icon.16x16"/><bt:Image size="32" resid="Icon.32x32"/><bt:Image size="80" resid="Icon.80x80"/></Icon>
                  <Action xsi:type="ShowTaskpane"><SourceLocation resid="Settings.Url"/></Action>
                </Control>
              </Group>
            </OfficeTab>
          </ExtensionPoint>
          <ExtensionPoint xsi:type="AppointmentOrganizerCommandSurface">
            <OfficeTab id="TabDefault">
              <Group id="BufferGroup.organizer.v10">
                <Label resid="GroupLabel"/>
                <Control xsi:type="Button" id="BufferBeforeButton.organizer.v10">
                  <Label resid="BufferBeforeButton.Label"/>
                  <Supertip><Title resid="BufferBeforeButton.Label"/><Description resid="BufferBeforeButton.Tooltip"/></Supertip>
                  <Icon><bt:Image size="16" resid="Icon.16x16"/><bt:Image size="32" resid="Icon.32x32"/><bt:Image size="80" resid="Icon.80x80"/></Icon>
                  <Action xsi:type="ShowTaskpane"><SourceLocation resid="Taskpane.Url"/></Action>
                </Control>
                <Control xsi:type="Button" id="BufferAfterButton.organizer.v10">
                  <Label resid="BufferAfterButton.Label"/>
                  <Supertip><Title resid="BufferAfterButton.Label"/><Description resid="BufferAfterButton.Tooltip"/></Supertip>
                  <Icon><bt:Image size="16" resid="Icon.16x16"/><bt:Image size="32" resid="Icon.32x32"/><bt:Image size="80" resid="Icon.80x80"/></Icon>
                  <Action xsi:type="ShowTaskpane"><SourceLocation resid="Taskpane.Url"/></Action>
                </Control>
                <Control xsi:type="Button" id="TravelButton.organizer.v10">
                  <Label resid="TravelButton.Label"/>
                  <Supertip><Title resid="TravelButton.Label"/><Description resid="TravelButton.Tooltip"/></Supertip>
                  <Icon><bt:Image size="16" resid="Icon.16x16"/><bt:Image size="32" resid="Icon.32x32"/><bt:Image size="80" resid="Icon.80x80"/></Icon>
                  <Action xsi:type="ShowTaskpane"><SourceLocation resid="Taskpane.Url"/></Action>
                </Control>
                <Control xsi:type="Button" id="SettingsButton.organizer.v10">
                  <Label resid="SettingsButton.Label"/>
                  <Supertip><Title resid="SettingsButton.Label"/><Description resid="SettingsButton.Tooltip"/></Supertip>
                  <Icon><bt:Image size="16" resid="Icon.16x16"/><bt:Image size="32" resid="Icon.32x32"/><bt:Image size="80" resid="Icon.80x80"/></Icon>
                  <Action xsi:type="ShowTaskpane"><SourceLocation resid="Settings.Url"/></Action>
                </Control>
              </Group>
            </OfficeTab>
          </ExtensionPoint>
        </DesktopFormFactor>
      </Host>
    </Hosts>
    <Resources>
      <bt:Images>
        <bt:Image id="Icon.16x16" DefaultValue="https://nimbus-erleben.de/assets/icon-16.png"/>
        <bt:Image id="Icon.32x32" DefaultValue="https://nimbus-erleben.de/assets/icon-32.png"/>
        <bt:Image id="Icon.80x80" DefaultValue="https://nimbus-erleben.de/assets/icon-80.png"/>
      </bt:Images>
      <bt:Urls>
        <bt:Url id="FunctionFile.Url" DefaultValue="https://nimbus-erleben.de/function-file.html"/>
        <bt:Url id="Taskpane.Url" DefaultValue="https://nimbus-erleben.de/taskpane.html"/>
        <bt:Url id="Settings.Url" DefaultValue="https://nimbus-erleben.de/settings.html"/>
      </bt:Urls>
      <bt:ShortStrings>
        <bt:String id="GroupLabel" DefaultValue="Pufferzeit"/>
        <bt:String id="BufferBeforeButton.Label" DefaultValue="Puffer VOR"/>
        <bt:String id="BufferAfterButton.Label" DefaultValue="Puffer NACH"/>
        <bt:String id="TravelButton.Label" DefaultValue="Reise planen"/>
        <bt:String id="SettingsButton.Label" DefaultValue="Einstellungen"/>
      </bt:ShortStrings>
      <bt:LongStrings>
        <bt:String id="BufferBeforeButton.Tooltip" DefaultValue="Erstellt eine Pufferzeit vor diesem Termin."/>
        <bt:String id="BufferAfterButton.Tooltip" DefaultValue="Erstellt eine Pufferzeit nach diesem Termin."/>
        <bt:String id="TravelButton.Tooltip" DefaultValue="Berechnet die Reisezeit via Azure Maps."/>
        <bt:String id="SettingsButton.Tooltip" DefaultValue="TravelTime Einstellungen oeffnen."/>
      </bt:LongStrings>
    </Resources>

    <!-- VersionOverrides V1_1 mit LaunchEvent fuer Auto-Puffer -->
    <VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides/1.1"
                      xsi:type="VersionOverridesV1_1">
      <Requirements>
        <bt:Sets DefaultMinVersion="1.10">
          <bt:Set Name="Mailbox"/>
        </bt:Sets>
      </Requirements>
      <Hosts>
        <Host xsi:type="MailHost">

          <!-- Runtimes MUSS vor DesktopFormFactor stehen -->
          <Runtimes>
            <!-- Outlook Web: HTML-Datei -->
            <Runtime resid="WebViewRuntime.Url">
              <!-- Outlook Desktop: JavaScript-Datei -->
              <Override type="javascript" resid="JSRuntime.Url"/>
            </Runtime>
          </Runtimes>

          <DesktopFormFactor>
            <FunctionFile resid="FunctionFile.Url"/>

            <!-- LaunchEvent MUSS vor CommandSurface ExtensionPoints stehen -->
            <ExtensionPoint xsi:type="LaunchEvent">
              <LaunchEvents>
                <LaunchEvent Type="OnNewAppointmentOrganizer"
                             FunctionName="onNewAppointmentComposeHandler"/>
              </LaunchEvents>
              <SourceLocation resid="WebViewRuntime.Url"/>
            </ExtensionPoint>

            <ExtensionPoint xsi:type="AppointmentAttendeeCommandSurface">
              <OfficeTab id="TabDefault">
                <Group id="BufferGroup.attendee.v11">
                  <Label resid="GroupLabel"/>
                  <Control xsi:type="Button" id="BufferBeforeButton.attendee.v11">
                    <Label resid="BufferBeforeButton.Label"/>
                    <Supertip><Title resid="BufferBeforeButton.Label"/><Description resid="BufferBeforeButton.Tooltip"/></Supertip>
                    <Icon><bt:Image size="16" resid="Icon.16x16"/><bt:Image size="32" resid="Icon.32x32"/><bt:Image size="80" resid="Icon.80x80"/></Icon>
                    <Action xsi:type="ShowTaskpane"><SourceLocation resid="Taskpane.Url"/></Action>
                  </Control>
                  <Control xsi:type="Button" id="BufferAfterButton.attendee.v11">
                    <Label resid="BufferAfterButton.Label"/>
                    <Supertip><Title resid="BufferAfterButton.Label"/><Description resid="BufferAfterButton.Tooltip"/></Supertip>
                    <Icon><bt:Image size="16" resid="Icon.16x16"/><bt:Image size="32" resid="Icon.32x32"/><bt:Image size="80" resid="Icon.80x80"/></Icon>
                    <Action xsi:type="ShowTaskpane"><SourceLocation resid="Taskpane.Url"/></Action>
                  </Control>
                  <Control xsi:type="Button" id="TravelButton.attendee.v11">
                    <Label resid="TravelButton.Label"/>
                    <Supertip><Title resid="TravelButton.Label"/><Description resid="TravelButton.Tooltip"/></Supertip>
                    <Icon><bt:Image size="16" resid="Icon.16x16"/><bt:Image size="32" resid="Icon.32x32"/><bt:Image size="80" resid="Icon.80x80"/></Icon>
                    <Action xsi:type="ShowTaskpane"><SourceLocation resid="Taskpane.Url"/></Action>
                  </Control>
                  <Control xsi:type="Button" id="SettingsButton.attendee.v11">
                    <Label resid="SettingsButton.Label"/>
                    <Supertip><Title resid="SettingsButton.Label"/><Description resid="SettingsButton.Tooltip"/></Supertip>
                    <Icon><bt:Image size="16" resid="Icon.16x16"/><bt:Image size="32" resid="Icon.32x32"/><bt:Image size="80" resid="Icon.80x80"/></Icon>
                    <Action xsi:type="ShowTaskpane"><SourceLocation resid="Settings.Url"/></Action>
                  </Control>
                </Group>
              </OfficeTab>
            </ExtensionPoint>

            <ExtensionPoint xsi:type="AppointmentOrganizerCommandSurface">
              <OfficeTab id="TabDefault">
                <Group id="BufferGroup.organizer.v11">
                  <Label resid="GroupLabel"/>
                  <Control xsi:type="Button" id="BufferBeforeButton.organizer.v11">
                    <Label resid="BufferBeforeButton.Label"/>
                    <Supertip><Title resid="BufferBeforeButton.Label"/><Description resid="BufferBeforeButton.Tooltip"/></Supertip>
                    <Icon><bt:Image size="16" resid="Icon.16x16"/><bt:Image size="32" resid="Icon.32x32"/><bt:Image size="80" resid="Icon.80x80"/></Icon>
                    <Action xsi:type="ShowTaskpane"><SourceLocation resid="Taskpane.Url"/></Action>
                  </Control>
                  <Control xsi:type="Button" id="BufferAfterButton.organizer.v11">
                    <Label resid="BufferAfterButton.Label"/>
                    <Supertip><Title resid="BufferAfterButton.Label"/><Description resid="BufferAfterButton.Tooltip"/></Supertip>
                    <Icon><bt:Image size="16" resid="Icon.16x16"/><bt:Image size="32" resid="Icon.32x32"/><bt:Image size="80" resid="Icon.80x80"/></Icon>
                    <Action xsi:type="ShowTaskpane"><SourceLocation resid="Taskpane.Url"/></Action>
                  </Control>
                  <Control xsi:type="Button" id="TravelButton.organizer.v11">
                    <Label resid="TravelButton.Label"/>
                    <Supertip><Title resid="TravelButton.Label"/><Description resid="TravelButton.Tooltip"/></Supertip>
                    <Icon><bt:Image size="16" resid="Icon.16x16"/><bt:Image size="32" resid="Icon.32x32"/><bt:Image size="80" resid="Icon.80x80"/></Icon>
                    <Action xsi:type="ShowTaskpane"><SourceLocation resid="Taskpane.Url"/></Action>
                  </Control>
                  <Control xsi:type="Button" id="SettingsButton.organizer.v11">
                    <Label resid="SettingsButton.Label"/>
                    <Supertip><Title resid="SettingsButton.Label"/><Description resid="SettingsButton.Tooltip"/></Supertip>
                    <Icon><bt:Image size="16" resid="Icon.16x16"/><bt:Image size="32" resid="Icon.32x32"/><bt:Image size="80" resid="Icon.80x80"/></Icon>
                    <Action xsi:type="ShowTaskpane"><SourceLocation resid="Settings.Url"/></Action>
                  </Control>
                </Group>
              </OfficeTab>
            </ExtensionPoint>

          </DesktopFormFactor>
        </Host>
      </Hosts>

      <Resources>
        <bt:Images>
          <bt:Image id="Icon.16x16" DefaultValue="https://nimbus-erleben.de/assets/icon-16.png"/>
          <bt:Image id="Icon.32x32" DefaultValue="https://nimbus-erleben.de/assets/icon-32.png"/>
          <bt:Image id="Icon.80x80" DefaultValue="https://nimbus-erleben.de/assets/icon-80.png"/>
        </bt:Images>
        <bt:Urls>
          <bt:Url id="FunctionFile.Url" DefaultValue="https://nimbus-erleben.de/function-file.html"/>
          <bt:Url id="WebViewRuntime.Url" DefaultValue="https://nimbus-erleben.de/function-file.html"/>
          <bt:Url id="JSRuntime.Url" DefaultValue="https://nimbus-erleben.de/launchevent.js"/>
          <bt:Url id="Taskpane.Url" DefaultValue="https://nimbus-erleben.de/taskpane.html"/>
          <bt:Url id="Settings.Url" DefaultValue="https://nimbus-erleben.de/settings.html"/>
        </bt:Urls>
        <bt:ShortStrings>
          <bt:String id="GroupLabel" DefaultValue="Pufferzeit"/>
          <bt:String id="BufferBeforeButton.Label" DefaultValue="Puffer VOR"/>
          <bt:String id="BufferAfterButton.Label" DefaultValue="Puffer NACH"/>
          <bt:String id="TravelButton.Label" DefaultValue="Reise planen"/>
          <bt:String id="SettingsButton.Label" DefaultValue="Einstellungen"/>
        </bt:ShortStrings>
        <bt:LongStrings>
          <bt:String id="BufferBeforeButton.Tooltip" DefaultValue="Erstellt eine Pufferzeit vor diesem Termin."/>
          <bt:String id="BufferAfterButton.Tooltip" DefaultValue="Erstellt eine Pufferzeit nach diesem Termin."/>
          <bt:String id="TravelButton.Tooltip" DefaultValue="Berechnet die Reisezeit via Azure Maps."/>
          <bt:String id="SettingsButton.Tooltip" DefaultValue="TravelTime Einstellungen oeffnen."/>
        </bt:LongStrings>
      </Resources>

      <WebApplicationInfo>
        <Id>6fbcf8fe-d6fd-4797-a886-fed162e00af1</Id>
        <Resource>api://nimbus-erleben.de/6fbcf8fe-d6fd-4797-a886-fed162e00af1</Resource>
        <Scopes>
          <Scope>profile</Scope>
          <Scope>openid</Scope>
          <Scope>offline_access</Scope>
          <Scope>Calendars.ReadWrite</Scope>
        </Scopes>
      </WebApplicationInfo>

    </VersionOverrides> <!-- Ende V1_1 -->

  </VersionOverrides> <!-- Ende V1_0 -->

</OfficeApp>
