<?xml version="1.0" encoding="UTF-8"?>
<ApprovalProcess xmlns="http://soap.sforce.com/2006/04/metadata">
    <active>true</active>
    <allowRecall>true</allowRecall>
    <allowedSubmitters>
        <type>allInternalUsers</type>
    </allowedSubmitters>
    <allowedSubmitters>
        <type>owner</type>
    </allowedSubmitters>
    <approvalPageFields>
        <field>Account</field>
        <field>Name</field>
        <field>RecordType</field>
        <field>Contact</field>
        <field>Service_Start_Date__c</field>
        <field>Service_End_Date__c</field>
        <field>Product_Family__c</field>
        <field>Payment_Term__c</field>
        <field>Payment_Type__c</field>
        <field>Discount__c</field>
        <field>NetFees__c</field>
        <field>ExpirationDate</field>
        <field>Other_Nonstandard_Terms_and_Conditions__c</field>
    </approvalPageFields>
    <approvalStep>
        <allowDelegate>true</allowDelegate>
        <assignedApprover>
            <approver>
                <name>10000000-0000-0000-0000-000000000001</name>
                <type>user</type>
            </approver>
            <!-- Original approvers preserved from Salesforce export:
            <approver>
                <name>kevin.lu@pingcap.com</name>
                <type>user</type>
            </approver>
            -->
            <whenMultipleApprovers>FirstResponse</whenMultipleApprovers>
        </assignedApprover>
        <label>Business Operation</label>
        <name>Business_Operation</name>
    </approvalStep>
    <approvalStep>
        <allowDelegate>false</allowDelegate>
        <assignedApprover>
            <approver>
                <name>10000000-0000-0000-0000-000000000001</name>
                <type>user</type>
            </approver>
            <!-- Original approvers preserved from Salesforce export:
            <approver>
                <name>kevin.lu@pingcap.com</name>
                <type>user</type>
            </approver>
            <approver>
                <name>lu.wang@pingcap.com</name>
                <type>user</type>
            </approver>
            -->

            <whenMultipleApprovers>FirstResponse</whenMultipleApprovers>
        </assignedApprover>
        <label>Channel Management Approval</label>
        <name>Channel_Management_Approval</name>
        <rejectBehavior>
            <type>RejectRequest</type>
        </rejectBehavior>
    </approvalStep>
    <approvalStep>
        <allowDelegate>false</allowDelegate>
        <assignedApprover>
            <approver>
                <name>10000000-0000-0000-0000-000000000001</name>
                <type>user</type>
            </approver>
            <!-- Original approvers preserved from Salesforce export:
            <approver>
                <name>stephan.debray@pingcap.com</name>
                <type>user</type>
            </approver>
            -->
            <whenMultipleApprovers>FirstResponse</whenMultipleApprovers>
        </assignedApprover>
        <entryCriteria>
            <booleanFilter>1 OR 2 OR (3 AND 7) OR (4 AND 8) OR (5 AND 9) OR (6 AND 10) OR (11 AND 12) OR 13 OR (14 AND 15)</booleanFilter>
            <criteriaItems>
                <field>Quote.Is_Standard_OP_Payment_Frequency__c</field>
                <operation>equals</operation>
                <value>False</value>
            </criteriaItems>
            <criteriaItems>
                <field>Quote.Other_Nonstandard_Terms_and_Conditions__c</field>
                <operation>notEqual</operation>
            </criteriaItems>
            <criteriaItems>
                <field>Quote.Product_Name__c</field>
                <operation>contains</operation>
                <value>Pilot Subscription</value>
            </criteriaItems>
            <criteriaItems>
                <field>Quote.Product_Name__c</field>
                <operation>contains</operation>
                <value>Standard Subscription</value>
            </criteriaItems>
            <criteriaItems>
                <field>Quote.Product_Name__c</field>
                <operation>contains</operation>
                <value>Enterprise Subscription</value>
            </criteriaItems>
            <criteriaItems>
                <field>Quote.Product_Name__c</field>
                <operation>contains</operation>
                <value>Premium Subscription</value>
            </criteriaItems>
            <criteriaItems>
                <field>Quote.Need_Sales_Leader_Approval_Pilot__c</field>
                <operation>equals</operation>
                <value>Y</value>
            </criteriaItems>
            <criteriaItems>
                <field>Quote.Need_Sales_Leader_Approval_Standard__c</field>
                <operation>equals</operation>
                <value>Y</value>
            </criteriaItems>
            <criteriaItems>
                <field>Quote.Need_Sales_Leader_Approval_Enterprise__c</field>
                <operation>equals</operation>
                <value>Y</value>
            </criteriaItems>
            <criteriaItems>
                <field>Quote.Need_Sales_Leader_Approval_Premium__c</field>
                <operation>equals</operation>
                <value>Y</value>
            </criteriaItems>
            <criteriaItems>
                <field>Quote.Product_Family__c</field>
                <operation>contains</operation>
                <value>Services</value>
            </criteriaItems>
            <criteriaItems>
                <field>Quote.Need_Sales_Leader_Approval_Service__c</field>
                <operation>equals</operation>
                <value>Y</value>
            </criteriaItems>
            <criteriaItems>
                <field>Quote.Payment_Term__c</field>
                <operation>notEqual</operation>
                <value>30</value>
            </criteriaItems>
            <criteriaItems>
                <field>Quote.TCV_Amount_USD__c</field>
                <operation>greaterOrEqual</operation>
                <value>5000000</value>
            </criteriaItems>
            <criteriaItems>
                <field>Quote.Average_Discount__c</field>
                <operation>greaterOrEqual</operation>
                <value>90</value>
            </criteriaItems>
        </entryCriteria>
        <ifCriteriaNotMet>ApproveRecord</ifCriteriaNotMet>
        <label>Sales Leader Approval</label>
        <name>Sales_Leader_Approval</name>
        <rejectBehavior>
            <type>RejectRequest</type>
        </rejectBehavior>
    </approvalStep>
    <approvalStep>
        <allowDelegate>false</allowDelegate>
        <assignedApprover>
            <approver>
                <name>10000000-0000-0000-0000-000000000001</name>
                <type>user</type>
            </approver>
            <!-- Original approvers preserved from Salesforce export:
            <approver>
                <name>alfred.wang@pingcap.com</name>
                <type>user</type>
            </approver>
            -->
            <whenMultipleApprovers>FirstResponse</whenMultipleApprovers>
        </assignedApprover>
        <label>DMT2 Approval</label>
        <name>DMT2_Approval</name>
        <rejectBehavior>
            <type>RejectRequest</type>
        </rejectBehavior>
    </approvalStep>
    <approvalStep>
        <allowDelegate>false</allowDelegate>
        <assignedApprover>
            <approver>
                <name>10000000-0000-0000-0000-000000000001</name>
                <type>user</type>
            </approver>
            <!-- Original approvers preserved from Salesforce export:
            <approver>
                <name>liang.yang@pingcap.com</name>
                <type>user</type>
            </approver>
            -->
            <whenMultipleApprovers>Unanimous</whenMultipleApprovers>
        </assignedApprover>
        <entryCriteria>
            <booleanFilter>1 OR 2 OR (3 AND 7) OR (4 AND 8) OR (5 AND 9) OR (6 AND 10) OR (11 AND 12) OR 13 OR (14 AND 15)</booleanFilter>
            <criteriaItems>
                <field>Quote.Is_Standard_OP_Payment_Frequency__c</field>
                <operation>equals</operation>
                <value>False</value>
            </criteriaItems>
            <criteriaItems>
                <field>Quote.Other_Nonstandard_Terms_and_Conditions__c</field>
                <operation>notEqual</operation>
            </criteriaItems>
            <criteriaItems>
                <field>Quote.Product_Name__c</field>
                <operation>contains</operation>
                <value>Pilot Subscription</value>
            </criteriaItems>
            <criteriaItems>
                <field>Quote.Product_Name__c</field>
                <operation>contains</operation>
                <value>Standard Subscription</value>
            </criteriaItems>
            <criteriaItems>
                <field>Quote.Product_Name__c</field>
                <operation>contains</operation>
                <value>Enterprise Subscription</value>
            </criteriaItems>
            <criteriaItems>
                <field>Quote.Product_Name__c</field>
                <operation>contains</operation>
                <value>Premium Subscription</value>
            </criteriaItems>
            <criteriaItems>
                <field>Quote.Need_RGM_Approval_Pilot__c</field>
                <operation>equals</operation>
                <value>Y</value>
            </criteriaItems>
            <criteriaItems>
                <field>Quote.Need_RGM_Approval_Standard__c</field>
                <operation>equals</operation>
                <value>Y</value>
            </criteriaItems>
            <criteriaItems>
                <field>Quote.Need_RGM_Approval_Enterprise__c</field>
                <operation>equals</operation>
                <value>Y</value>
            </criteriaItems>
            <criteriaItems>
                <field>Quote.Need_RGM_Approval_Premium__c</field>
                <operation>equals</operation>
                <value>Y</value>
            </criteriaItems>
            <criteriaItems>
                <field>Quote.Product_Family__c</field>
                <operation>contains</operation>
                <value>Services</value>
            </criteriaItems>
            <criteriaItems>
                <field>Quote.Need_RGM_Approval_Service__c</field>
                <operation>equals</operation>
                <value>Y</value>
            </criteriaItems>
            <criteriaItems>
                <field>Quote.Payment_Term__c</field>
                <operation>notEqual</operation>
                <value>30</value>
            </criteriaItems>
            <criteriaItems>
                <field>Quote.TCV_Amount_USD__c</field>
                <operation>greaterOrEqual</operation>
                <value>5000000</value>
            </criteriaItems>
            <criteriaItems>
                <field>Quote.Average_Discount__c</field>
                <operation>greaterOrEqual</operation>
                <value>90</value>
            </criteriaItems>
        </entryCriteria>
        <ifCriteriaNotMet>ApproveRecord</ifCriteriaNotMet>
        <label>RGM Approval</label>
        <name>RGM_Approval</name>
        <rejectBehavior>
            <type>RejectRequest</type>
        </rejectBehavior>
    </approvalStep>
    <approvalStep>
        <allowDelegate>false</allowDelegate>
        <assignedApprover>
            <approver>
                <name>10000000-0000-0000-0000-000000000001</name>
                <type>user</type>
            </approver>
            <!-- Original approvers preserved from Salesforce export:
            <approver>
                <name>huimin.li@pingcap.com</name>
                <type>user</type>
            </approver>
            -->
            <whenMultipleApprovers>FirstResponse</whenMultipleApprovers>
        </assignedApprover>
        <label>Finance Head Approval</label>
        <name>Finance_Head_Approval</name>
        <rejectBehavior>
            <type>RejectRequest</type>
        </rejectBehavior>
    </approvalStep>
    <approvalStep>
        <allowDelegate>false</allowDelegate>
        <assignedApprover>
            <approver>
                <name>10000000-0000-0000-0000-000000000001</name>
                <type>user</type>
            </approver>
            <!-- Original approvers preserved from Salesforce export:
            <approver>
                <name>liuqi@pingcap.com</name>
                <type>user</type>
            </approver>
            -->
            <whenMultipleApprovers>FirstResponse</whenMultipleApprovers>
        </assignedApprover>
        <entryCriteria>
            <booleanFilter>(1 AND 2) OR 3</booleanFilter>
            <criteriaItems>
                <field>Quote.TCV_Amount_USD__c</field>
                <operation>greaterOrEqual</operation>
                <value>5000000</value>
            </criteriaItems>
            <criteriaItems>
                <field>Quote.Average_Discount__c</field>
                <operation>greaterOrEqual</operation>
                <value>90</value>
            </criteriaItems>
            <criteriaItems>
                <field>Quote.Escalate_to_CEO_Approval__c</field>
                <operation>equals</operation>
                <value>True</value>
            </criteriaItems>
        </entryCriteria>
        <label>CEO Approval</label>
        <name>CEO_Approval</name>
        <rejectBehavior>
            <type>RejectRequest</type>
        </rejectBehavior>
    </approvalStep>
    <emailTemplate>unfiled$public/Quote_for_approval</emailTemplate>
    <enableMobileDeviceAccess>false</enableMobileDeviceAccess>
    <entryCriteria>
        <booleanFilter>1 AND 2 AND (3 OR 4 OR 5)</booleanFilter>
        <criteriaItems>
            <field>Opportunity.Region__c</field>
            <operation>equals</operation>
            <value>NA</value>
        </criteriaItems>
        <criteriaItems>
            <field>Quote.Product_Family__c</field>
            <operation>notContain</operation>
            <value>Cloud</value>
        </criteriaItems>
        <criteriaItems>
            <field>Quote.Rebate_Fee_Rate__c</field>
            <operation>greaterThan</operation>
            <value>0</value>
        </criteriaItems>
        <criteriaItems>
            <field>Quote.Referral_Fee_Rate__c</field>
            <operation>greaterThan</operation>
            <value>5</value>
        </criteriaItems>
        <criteriaItems>
            <field>Quote.Partner_Margin__c</field>
            <operation>greaterThan</operation>
            <value>0</value>
        </criteriaItems>
    </entryCriteria>
    <finalApprovalActions>
        <action>
            <name>Approved</name>
            <type>FieldUpdate</type>
        </action>
        <action>
            <name>statusapproved</name>
            <type>FieldUpdate</type>
        </action>
        <action>
            <name>To_cc_someone_that_a_Quote_is_approved_NA</name>
            <type>Alert</type>
        </action>
    </finalApprovalActions>
    <finalApprovalRecordLock>true</finalApprovalRecordLock>
    <finalRejectionActions>
        <action>
            <name>rejected</name>
            <type>FieldUpdate</type>
        </action>
        <action>
            <name>statusrejected</name>
            <type>FieldUpdate</type>
        </action>
        <action>
            <name>To_cc_someone_that_a_Quote_is_rejected_NA</name>
            <type>Alert</type>
        </action>
    </finalRejectionActions>
    <finalRejectionRecordLock>false</finalRejectionRecordLock>
    <initialSubmissionActions>
        <action>
            <name>Inprocess</name>
            <type>FieldUpdate</type>
        </action>
        <action>
            <name>Inreview</name>
            <type>FieldUpdate</type>
        </action>
        <action>
            <name>To_cc_someone_that_a_Quote_is_submitted</name>
            <type>Alert</type>
        </action>
    </initialSubmissionActions>
    <label>NA OP Service Partner 250502</label>
    <nextAutomatedApprover>
        <useApproverFieldOfRecordOwner>false</useApproverFieldOfRecordOwner>
        <userHierarchyField>Manager</userHierarchyField>
    </nextAutomatedApprover>
    <processOrder>11</processOrder>
    <recallActions>
        <action>
            <name>pending</name>
            <type>FieldUpdate</type>
        </action>
    </recallActions>
    <recordEditability>AdminOrCurrentApprover</recordEditability>
    <showApprovalHistory>true</showApprovalHistory>
</ApprovalProcess>
