<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="https://www.omg.org/spec/DMN/20191111/MODEL/" id="Definitions_P04_PackageViability" name="P04 Package Viability Gate" namespace="http://hotel-national-zermatt/dmn">
  <decision id="Decision_P04_PackageViability" name="Package viability decision">
    <decisionTable id="DecisionTable_P04_PackageViability" hitPolicy="FIRST">
      <input id="Input_P04_Margin" label="Expected margin percent">
        <inputExpression id="InputExpression_P04_Margin" typeRef="number">
          <text>expectedMarginPercent</text>
        </inputExpression>
      </input>
      <input id="Input_P04_MinLOS" label="Minimum length of stay feasible">
        <inputExpression id="InputExpression_P04_MinLOS" typeRef="boolean">
          <text>minStayFeasible</text>
        </inputExpression>
      </input>
      <input id="Input_P04_Blackout" label="Blackout conflicts">
        <inputExpression id="InputExpression_P04_Blackout" typeRef="boolean">
          <text>blackoutConflict</text>
        </inputExpression>
      </input>
      <output id="Output_P04_Decision" label="Decision" name="decision" typeRef="string" />
      <output id="Output_P04_Reason" label="Reason" name="reason" typeRef="string" />

      <rule id="Rule_P04_Approve">
        <inputEntry id="Rule_P04_Approve_Margin"><text>&gt;= 24</text></inputEntry>
        <inputEntry id="Rule_P04_Approve_MinLOS"><text>true</text></inputEntry>
        <inputEntry id="Rule_P04_Approve_Blackout"><text>false</text></inputEntry>
        <outputEntry id="Rule_P04_Approve_Decision"><text>"approve"</text></outputEntry>
        <outputEntry id="Rule_P04_Approve_Reason"><text>"meets margin and operational constraints"</text></outputEntry>
      </rule>

      <rule id="Rule_P04_Rework">
        <inputEntry id="Rule_P04_Rework_Margin"><text>&lt; 24</text></inputEntry>
        <inputEntry id="Rule_P04_Rework_MinLOS"><text>-</text></inputEntry>
        <inputEntry id="Rule_P04_Rework_Blackout"><text>-</text></inputEntry>
        <outputEntry id="Rule_P04_Rework_Decision"><text>"rework"</text></outputEntry>
        <outputEntry id="Rule_P04_Rework_Reason"><text>"insufficient expected margin"</text></outputEntry>
      </rule>

      <rule id="Rule_P04_BlackoutConflict">
        <inputEntry id="Rule_P04_BlackoutConflict_Margin"><text>-</text></inputEntry>
        <inputEntry id="Rule_P04_BlackoutConflict_MinLOS"><text>-</text></inputEntry>
        <inputEntry id="Rule_P04_BlackoutConflict_Blackout"><text>true</text></inputEntry>
        <outputEntry id="Rule_P04_BlackoutConflict_Decision"><text>"rework"</text></outputEntry>
        <outputEntry id="Rule_P04_BlackoutConflict_Reason"><text>"blackout or peak-date conflict"</text></outputEntry>
      </rule>

      <rule id="Rule_P04_MinLOSFail">
        <inputEntry id="Rule_P04_MinLOSFail_Margin"><text>-</text></inputEntry>
        <inputEntry id="Rule_P04_MinLOSFail_MinLOS"><text>false</text></inputEntry>
        <inputEntry id="Rule_P04_MinLOSFail_Blackout"><text>false</text></inputEntry>
        <outputEntry id="Rule_P04_MinLOSFail_Decision"><text>"rework"</text></outputEntry>
        <outputEntry id="Rule_P04_MinLOSFail_Reason"><text>"minimum-stay rule not operationally feasible"</text></outputEntry>
      </rule>
    </decisionTable>
  </decision>
</definitions>
