<?xml version="1.0" encoding="UTF-8"?>
<ns0:definitions xmlns:ns0="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:ns1="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:ns2="http://www.omg.org/spec/DD/20100524/DC" xmlns:ns3="http://www.omg.org/spec/DD/20100524/DI" id="Definitions_HotelNational_P02" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="5.46.1">
  <ns0:message id="Message_OTA_CorrectionRequest" name="Correction request" />
  <ns0:message id="Message_OTA_StatusUpdate" name="OTA status update" />
  <ns0:message id="Message_OTA_BookingPayload" name="OTA booking payload" />
  <ns0:collaboration id="Collaboration_HotelNational_P02">
    <ns0:participant id="Participant_HotelNational" name="Hotel National Zermatt" processRef="Process_HotelNational_P02" />
    <ns0:participant id="Participant_OTA" name="OTA / Travel Agent" processRef="Process_OTA_P02" />
    <ns0:messageFlow id="Msg_P02_Payload" name="booking payload" sourceRef="Task_OTA_P02_SendPayload" targetRef="Event_P02_StartImport" />
    <ns0:messageFlow id="Msg_P02_Status" name="booking status" sourceRef="Task_P02_SendStatusUpdate" targetRef="Event_OTA_P02_ReceiveStatus" />
    <ns0:messageFlow id="Msg_P02_Correction" name="correction request" sourceRef="Task_P02_RequestCorrection" targetRef="Event_OTA_P02_ReceiveCorrection" />
  </ns0:collaboration>
  <ns0:process id="Process_HotelNational_P02" name="Hotel National Zermatt" isExecutable="false">
    <ns0:laneSet id="LaneSet_Process_HotelNational_P02">
      <ns0:lane id="Lane_Reservations" name="Reservations">
        <ns0:flowNodeRef>Task_P02_ParsePayload</ns0:flowNodeRef>
        <ns0:flowNodeRef>Gateway_P02_MappingValid</ns0:flowNodeRef>
        <ns0:flowNodeRef>Event_P02_StartImport</ns0:flowNodeRef>
        <ns0:flowNodeRef>Gateway_0sloxr2</ns0:flowNodeRef>
        <ns0:flowNodeRef>Task_P02_ManualMappingFix</ns0:flowNodeRef>
        <ns0:flowNodeRef>Gateway_P02_PolicyCompliant</ns0:flowNodeRef>
        <ns0:flowNodeRef>Task_P02_RequestCorrection</ns0:flowNodeRef>
        <ns0:flowNodeRef>Event_P02_EndPending</ns0:flowNodeRef>
        <ns0:flowNodeRef>Task_P02_CreateReservation</ns0:flowNodeRef>
        <ns0:flowNodeRef>Task_P02_SendStatusUpdate</ns0:flowNodeRef>
        <ns0:flowNodeRef>Event_P02_EndConfirmed</ns0:flowNodeRef>
      </ns0:lane>
      <ns0:lane id="Lane_Finance" name="Finance">
        <ns0:flowNodeRef>Task_P02_ReconcileCommissionTax</ns0:flowNodeRef>
      </ns0:lane>
    </ns0:laneSet>
    <ns0:serviceTask id="Task_P02_ParsePayload" name="Parse and map OTA payload" />
    <ns0:exclusiveGateway id="Gateway_P02_MappingValid" name="Mapping valid?" />
    <ns0:sequenceFlow id="Flow_P02_Start_Parse" sourceRef="Event_P02_StartImport" targetRef="Task_P02_ParsePayload" />
    <ns0:sequenceFlow id="Flow_P02_Parse_MapGw" sourceRef="Task_P02_ParsePayload" targetRef="Gateway_P02_MappingValid" />
    <ns0:sequenceFlow id="Flow_P02_Map_No" name="no" sourceRef="Gateway_P02_MappingValid" targetRef="Task_P02_ManualMappingFix" />
    <ns0:sequenceFlow id="Flow_P02_MapFix_to_PolicyGw" sourceRef="Task_P02_ManualMappingFix" targetRef="Gateway_0sloxr2" />
    <ns0:sequenceFlow id="Flow_P02_Map_Yes" name="yes" sourceRef="Gateway_P02_MappingValid" targetRef="Gateway_0sloxr2" />
    <ns0:sequenceFlow id="Flow_P02_Policy_No" name="no" sourceRef="Gateway_P02_PolicyCompliant" targetRef="Task_P02_RequestCorrection" />
    <ns0:sequenceFlow id="Flow_P02_Correction_to_End" sourceRef="Task_P02_RequestCorrection" targetRef="Event_P02_EndPending" />
    <ns0:sequenceFlow id="Flow_P02_Policy_Yes" name="yes" sourceRef="Gateway_P02_PolicyCompliant" targetRef="Task_P02_CreateReservation" />
    <ns0:sequenceFlow id="Flow_P02_Create_to_Reconcile" sourceRef="Task_P02_CreateReservation" targetRef="Task_P02_ReconcileCommissionTax" />
    <ns0:sequenceFlow id="Flow_P02_Reconcile_to_Status" sourceRef="Task_P02_ReconcileCommissionTax" targetRef="Task_P02_SendStatusUpdate" />
    <ns0:sequenceFlow id="Flow_P02_Status_to_End" sourceRef="Task_P02_SendStatusUpdate" targetRef="Event_P02_EndConfirmed" />
    <ns0:startEvent id="Event_P02_StartImport" name="OTA booking received">
      <ns0:messageEventDefinition messageRef="Message_OTA_BookingPayload" />
    </ns0:startEvent>
    <ns0:exclusiveGateway id="Gateway_0sloxr2">
      <ns0:incoming>Flow_P02_Map_Yes</ns0:incoming>
      <ns0:incoming>Flow_P02_MapFix_to_PolicyGw</ns0:incoming>
      <ns0:outgoing>Flow_0ilj791</ns0:outgoing>
    </ns0:exclusiveGateway>
    <ns0:sequenceFlow id="Flow_0ilj791" sourceRef="Gateway_0sloxr2" targetRef="Gateway_P02_PolicyCompliant" />
    <ns0:userTask id="Task_P02_ManualMappingFix" name="Manual mapping correction" />
    <ns0:exclusiveGateway id="Gateway_P02_PolicyCompliant" name="Rate/cancel policy compliant?">
      <ns0:incoming>Flow_0ilj791</ns0:incoming>
    </ns0:exclusiveGateway>
    <ns0:sendTask id="Task_P02_RequestCorrection" name="Request OTA correction" messageRef="Message_OTA_CorrectionRequest" />
    <ns0:endEvent id="Event_P02_EndPending" name="Pending correction" />
    <ns0:userTask id="Task_P02_CreateReservation" name="Create provisional reservation" />
    <ns0:userTask id="Task_P02_ReconcileCommissionTax" name="Reconcile commission, tax, and net rate" />
    <ns0:sendTask id="Task_P02_SendStatusUpdate" name="Send status update to OTA" messageRef="Message_OTA_StatusUpdate" />
    <ns0:endEvent id="Event_P02_EndConfirmed" name="Booking imported" />
  </ns0:process>
  <ns0:process id="Process_OTA_P02" name="OTA / Travel Agent" isExecutable="false">
    <ns0:sendTask id="Task_OTA_P02_SendPayload" name="Send booking payload" messageRef="Message_OTA_BookingPayload" />
    <ns0:intermediateCatchEvent id="Event_OTA_P02_ReceiveStatus" name="Receive booking status">
      <ns0:messageEventDefinition messageRef="Message_OTA_StatusUpdate" />
    </ns0:intermediateCatchEvent>
    <ns0:startEvent id="Event_OTA_P02_StartSend" name="Send booking" />
    <ns0:intermediateCatchEvent id="Event_OTA_P02_ReceiveCorrection" name="Receive correction request">
      <ns0:messageEventDefinition messageRef="Message_OTA_CorrectionRequest" />
    </ns0:intermediateCatchEvent>
    <ns0:endEvent id="Event_OTA_P02_End" name="OTA follow-up" />
    <ns0:sequenceFlow id="Flow_OTA_P02_Start_Send" sourceRef="Event_OTA_P02_StartSend" targetRef="Task_OTA_P02_SendPayload" />
    <ns0:sequenceFlow id="Flow_OTA_P02_Send_Status" sourceRef="Task_OTA_P02_SendPayload" targetRef="Event_OTA_P02_ReceiveStatus" />
    <ns0:sequenceFlow id="Flow_OTA_P02_Status_Correction" sourceRef="Event_OTA_P02_ReceiveStatus" targetRef="Event_OTA_P02_ReceiveCorrection" />
    <ns0:sequenceFlow id="Flow_OTA_P02_Correction_End" sourceRef="Event_OTA_P02_ReceiveCorrection" targetRef="Event_OTA_P02_End" />
  </ns0:process>
  <ns1:BPMNDiagram id="BPMNDiagram_1">
    <ns1:BPMNPlane id="BPMNPlane_1" bpmnElement="Collaboration_HotelNational_P02">
      <ns1:BPMNShape id="Shape_Participant_HotelNational" bpmnElement="Participant_HotelNational" isHorizontal="true">
        <ns2:Bounds x="180" y="100" width="1820" height="410" />
      </ns1:BPMNShape>
      <ns1:BPMNShape id="Shape_Lane_Finance" bpmnElement="Lane_Finance" isHorizontal="true">
        <ns2:Bounds x="210" y="370" width="1790" height="140" />
      </ns1:BPMNShape>
      <ns1:BPMNShape id="Shape_Lane_Reservations" bpmnElement="Lane_Reservations" isHorizontal="true">
        <ns2:Bounds x="210" y="100" width="1790" height="270" />
      </ns1:BPMNShape>
      <ns1:BPMNShape id="Shape_Task_P02_ParsePayload" bpmnElement="Task_P02_ParsePayload">
        <ns2:Bounds x="500" y="150" width="100" height="80" />
      </ns1:BPMNShape>
      <ns1:BPMNShape id="Shape_Gateway_P02_MappingValid" bpmnElement="Gateway_P02_MappingValid" isMarkerVisible="true">
        <ns2:Bounds x="730" y="175" width="50" height="50" />
        <ns1:BPMNLabel>
          <ns2:Bounds x="718" y="151" width="74" height="14" />
        </ns1:BPMNLabel>
      </ns1:BPMNShape>
      <ns1:BPMNShape id="Shape_Event_P02_StartImport" bpmnElement="Event_P02_StartImport">
        <ns2:Bounds x="300" y="172" width="36" height="36" />
        <ns1:BPMNLabel>
          <ns2:Bounds x="286" y="134.5" width="63" height="27" />
        </ns1:BPMNLabel>
      </ns1:BPMNShape>
      <ns1:BPMNShape id="Gateway_0sloxr2_di" bpmnElement="Gateway_0sloxr2" isMarkerVisible="true">
        <ns2:Bounds x="945" y="175" width="50" height="50" />
      </ns1:BPMNShape>
      <ns1:BPMNShape id="Shape_Task_P02_ManualMappingFix" bpmnElement="Task_P02_ManualMappingFix">
        <ns2:Bounds x="820" y="240" width="100" height="80" />
      </ns1:BPMNShape>
      <ns1:BPMNShape id="Shape_Gateway_P02_PolicyCompliant" bpmnElement="Gateway_P02_PolicyCompliant" isMarkerVisible="true">
        <ns2:Bounds x="1055" y="175" width="50" height="50" />
        <ns1:BPMNLabel>
          <ns2:Bounds x="1037" y="137.5" width="85" height="27" />
        </ns1:BPMNLabel>
      </ns1:BPMNShape>
      <ns1:BPMNShape id="Shape_Task_P02_RequestCorrection" bpmnElement="Task_P02_RequestCorrection">
        <ns2:Bounds x="1150" y="260" width="100" height="80" />
      </ns1:BPMNShape>
      <ns1:BPMNShape id="Shape_Event_P02_EndPending" bpmnElement="Event_P02_EndPending">
        <ns2:Bounds x="1302" y="282" width="36" height="36" />
        <ns1:BPMNLabel>
          <ns2:Bounds x="1296" y="318" width="49" height="27" />
        </ns1:BPMNLabel>
      </ns1:BPMNShape>
      <ns1:BPMNShape id="Shape_Task_P02_CreateReservation" bpmnElement="Task_P02_CreateReservation">
        <ns2:Bounds x="1380" y="160" width="100" height="80" />
      </ns1:BPMNShape>
      <ns1:BPMNShape id="Shape_Task_P02_ReconcileCommissionTax" bpmnElement="Task_P02_ReconcileCommissionTax">
        <ns2:Bounds x="1380" y="390" width="100" height="80" />
      </ns1:BPMNShape>
      <ns1:BPMNShape id="Shape_Task_P02_SendStatusUpdate" bpmnElement="Task_P02_SendStatusUpdate">
        <ns2:Bounds x="1660" y="160" width="100" height="80" />
      </ns1:BPMNShape>
      <ns1:BPMNShape id="Shape_Event_P02_EndConfirmed" bpmnElement="Event_P02_EndConfirmed">
        <ns2:Bounds x="1882" y="182" width="36" height="36" />
        <ns1:BPMNLabel>
          <ns2:Bounds x="1857" y="218" width="86" height="14" />
        </ns1:BPMNLabel>
      </ns1:BPMNShape>
      <ns1:BPMNEdge id="Edge_Flow_P02_Start_Parse" bpmnElement="Flow_P02_Start_Parse">
        <ns3:waypoint x="336" y="190" />
        <ns3:waypoint x="500" y="190" />
      </ns1:BPMNEdge>
      <ns1:BPMNEdge id="Edge_Flow_P02_Parse_MapGw" bpmnElement="Flow_P02_Parse_MapGw">
        <ns3:waypoint x="600" y="190" />
        <ns3:waypoint x="600" y="200" />
        <ns3:waypoint x="730" y="200" />
      </ns1:BPMNEdge>
      <ns1:BPMNEdge id="Edge_Flow_P02_Map_No" bpmnElement="Flow_P02_Map_No">
        <ns3:waypoint x="755" y="225" />
        <ns3:waypoint x="755" y="280" />
        <ns3:waypoint x="820" y="280" />
        <ns1:BPMNLabel>
          <ns2:Bounds x="764" y="244" width="13" height="14" />
        </ns1:BPMNLabel>
      </ns1:BPMNEdge>
      <ns1:BPMNEdge id="Edge_Flow_P02_MapFix_to_PolicyGw" bpmnElement="Flow_P02_MapFix_to_PolicyGw">
        <ns3:waypoint x="920" y="280" />
        <ns3:waypoint x="970" y="280" />
        <ns3:waypoint x="970" y="225" />
      </ns1:BPMNEdge>
      <ns1:BPMNEdge id="Edge_Flow_P02_Map_Yes" bpmnElement="Flow_P02_Map_Yes">
        <ns3:waypoint x="780" y="200" />
        <ns3:waypoint x="945" y="200" />
        <ns1:BPMNLabel>
          <ns2:Bounds x="919" y="175" width="18" height="14" />
        </ns1:BPMNLabel>
      </ns1:BPMNEdge>
      <ns1:BPMNEdge id="Edge_Flow_P02_Policy_No" bpmnElement="Flow_P02_Policy_No">
        <ns3:waypoint x="1080" y="225" />
        <ns3:waypoint x="1080" y="300" />
        <ns3:waypoint x="1150" y="300" />
        <ns1:BPMNLabel>
          <ns2:Bounds x="1089" y="253" width="13" height="14" />
        </ns1:BPMNLabel>
      </ns1:BPMNEdge>
      <ns1:BPMNEdge id="Edge_Flow_P02_Correction_to_End" bpmnElement="Flow_P02_Correction_to_End">
        <ns3:waypoint x="1250" y="300" />
        <ns3:waypoint x="1302" y="300" />
      </ns1:BPMNEdge>
      <ns1:BPMNEdge id="Edge_Flow_P02_Policy_Yes" bpmnElement="Flow_P02_Policy_Yes">
        <ns3:waypoint x="1105" y="200" />
        <ns3:waypoint x="1380" y="200" />
        <ns1:BPMNLabel>
          <ns2:Bounds x="1124" y="195" width="18" height="14" />
        </ns1:BPMNLabel>
      </ns1:BPMNEdge>
      <ns1:BPMNEdge id="Edge_Flow_P02_Create_to_Reconcile" bpmnElement="Flow_P02_Create_to_Reconcile">
        <ns3:waypoint x="1430" y="240" />
        <ns3:waypoint x="1430" y="390" />
      </ns1:BPMNEdge>
      <ns1:BPMNEdge id="Edge_Flow_P02_Reconcile_to_Status" bpmnElement="Flow_P02_Reconcile_to_Status">
        <ns3:waypoint x="1480" y="430" />
        <ns3:waypoint x="1570" y="430" />
        <ns3:waypoint x="1570" y="200" />
        <ns3:waypoint x="1660" y="200" />
      </ns1:BPMNEdge>
      <ns1:BPMNEdge id="Edge_Flow_P02_Status_to_End" bpmnElement="Flow_P02_Status_to_End">
        <ns3:waypoint x="1760" y="200" />
        <ns3:waypoint x="1882" y="200" />
      </ns1:BPMNEdge>
      <ns1:BPMNEdge id="Flow_0ilj791_di" bpmnElement="Flow_0ilj791">
        <ns3:waypoint x="995" y="200" />
        <ns3:waypoint x="1055" y="200" />
      </ns1:BPMNEdge>
      <ns1:BPMNShape id="Shape_Participant_OTA" bpmnElement="Participant_OTA" isHorizontal="true">
        <ns2:Bounds x="180" y="580" width="1820" height="250" />
      </ns1:BPMNShape>
      <ns1:BPMNShape id="Shape_Task_OTA_P02_SendPayload" bpmnElement="Task_OTA_P02_SendPayload">
        <ns2:Bounds x="500" y="630" width="100" height="80" />
      </ns1:BPMNShape>
      <ns1:BPMNShape id="Shape_Event_OTA_P02_ReceiveStatus" bpmnElement="Event_OTA_P02_ReceiveStatus">
        <ns2:Bounds x="840" y="670" width="36" height="36" />
        <ns1:BPMNLabel>
          <ns2:Bounds x="817" y="632.5" width="82" height="27" />
        </ns1:BPMNLabel>
      </ns1:BPMNShape>
      <ns1:BPMNShape id="Shape_Event_OTA_P02_StartSend" bpmnElement="Event_OTA_P02_StartSend">
        <ns2:Bounds x="362" y="652" width="36" height="36" />
        <ns1:BPMNLabel>
          <ns2:Bounds x="346" y="688" width="68" height="14" />
        </ns1:BPMNLabel>
      </ns1:BPMNShape>
      <ns1:BPMNShape id="Shape_Event_OTA_P02_ReceiveCorrection" bpmnElement="Event_OTA_P02_ReceiveCorrection">
        <ns2:Bounds x="1182" y="670" width="36" height="36" />
        <ns1:BPMNLabel>
          <ns2:Bounds x="1088.5" y="636" width="89" height="27" />
        </ns1:BPMNLabel>
      </ns1:BPMNShape>
      <ns1:BPMNShape id="Shape_Event_OTA_P02_End" bpmnElement="Event_OTA_P02_End">
        <ns2:Bounds x="1302" y="670" width="36" height="36" />
        <ns1:BPMNLabel>
          <ns2:Bounds x="1286" y="706" width="69" height="14" />
        </ns1:BPMNLabel>
      </ns1:BPMNShape>
      <ns1:BPMNEdge id="Edge_Flow_OTA_P02_Start_Send" bpmnElement="Flow_OTA_P02_Start_Send">
        <ns3:waypoint x="398" y="670" />
        <ns3:waypoint x="500" y="670" />
      </ns1:BPMNEdge>
      <ns1:BPMNEdge id="Edge_Flow_OTA_P02_Send_Status" bpmnElement="Flow_OTA_P02_Send_Status">
        <ns3:waypoint x="600" y="670" />
        <ns3:waypoint x="600" y="688" />
        <ns3:waypoint x="840" y="688" />
      </ns1:BPMNEdge>
      <ns1:BPMNEdge id="Edge_Flow_OTA_P02_Status_Correction" bpmnElement="Flow_OTA_P02_Status_Correction">
        <ns3:waypoint x="876" y="688" />
        <ns3:waypoint x="1182" y="688" />
      </ns1:BPMNEdge>
      <ns1:BPMNEdge id="Edge_Flow_OTA_P02_Correction_End" bpmnElement="Flow_OTA_P02_Correction_End">
        <ns3:waypoint x="1218" y="688" />
        <ns3:waypoint x="1302" y="688" />
      </ns1:BPMNEdge>
      <ns1:BPMNEdge id="Edge_Msg_P02_Payload" bpmnElement="Msg_P02_Payload">
        <ns3:waypoint x="550" y="630" />
        <ns3:waypoint x="550" y="420" />
        <ns3:waypoint x="318" y="420" />
        <ns3:waypoint x="318" y="208" />
        <ns1:BPMNLabel>
          <ns2:Bounds x="379" y="443" width="81" height="14" />
        </ns1:BPMNLabel>
      </ns1:BPMNEdge>
      <ns1:BPMNEdge id="Edge_Msg_P02_Status" bpmnElement="Msg_P02_Status">
        <ns3:waypoint x="1710" y="240" />
        <ns3:waypoint x="1710" y="780" />
        <ns3:waypoint x="858" y="780" />
        <ns3:waypoint x="858" y="706" />
        <ns1:BPMNLabel>
          <ns2:Bounds x="1690" y="500" width="71" height="14" />
        </ns1:BPMNLabel>
      </ns1:BPMNEdge>
      <ns1:BPMNEdge id="Edge_Msg_P02_Correction" bpmnElement="Msg_P02_Correction">
        <ns3:waypoint x="1200" y="340" />
        <ns3:waypoint x="1200" y="670" />
        <ns1:BPMNLabel>
          <ns2:Bounds x="1171" y="496" width="89" height="14" />
        </ns1:BPMNLabel>
      </ns1:BPMNEdge>
    </ns1:BPMNPlane>
  </ns1:BPMNDiagram>
</ns0:definitions>
