Skip to content

Instantly share code, notes, and snippets.

@agehlot
Created November 9, 2022 15:55
Show Gist options
  • Save agehlot/6f6161c8b67e65afb89dc0448d2ea5a3 to your computer and use it in GitHub Desktop.
Save agehlot/6f6161c8b67e65afb89dc0448d2ea5a3 to your computer and use it in GitHub Desktop.
Sitecore decision model sample to calculate offers on the basis of email address and search event.
<definitions xmlns="http://www.omg.org/spec/DMN/20151101/dmn.xsd" xmlns:biodi="http://bpmn.io/schema/dmn/biodi/1.0" xmlns:camunda="http://camunda.org/schema/1.0/dmn" namespace="http://camunda.org/schema/1.0/dmn" name="definitions" id="definitions"><decision id="a9ec2391-a481-4311-873d-f128c794c58e" name="heroImg"><extensionElements><biodi:bounds x="10" y="10" width="200" height="73.3"/><biodi:edge source="adcc5777-dbb3-46d6-9289-90c408a140ee"/></extensionElements><informationRequirement><requiredDecision href="#adcc5777-dbb3-46d6-9289-90c408a140ee"/></informationRequirement><decisionTable hitPolicy="FIRST"><input id="string65da1e2a-8111-444e-a2d1-bbf66ba1fc6a" label="Persona" camunda:inputVariable=""><inputExpression typeRef="string"><text>persona</text></inputExpression></input><output id="stringa13b850c-f2be-4201-8c8c-3075dc0afe38" label="Img" name="heroImg" typeRef="string"/><rule id="heroImg_0"><inputEntry id="input6b38cbc1-9142-410e-a812-785ed03b747f"><text><![CDATA["family-kids"]]></text></inputEntry><outputEntry id="outpute0860e73-9660-49ed-aabf-d79e4e060a09"><text><![CDATA["https://i.ibb.co/5TCxZ0t/Praias-Familias-Lagos-2-copy.jpg"]]></text></outputEntry></rule><rule id="heroImg_1"><inputEntry id="input381d319b-263d-4330-8ecc-870d0535a9cf"><text><![CDATA["family-teens"]]></text></inputEntry><outputEntry id="outputc18b8423-1ed2-4655-9265-1600f00be12e"><text><![CDATA["https://i.ibb.co/fMS8Rdf/teens-family.jpg"]]></text></outputEntry></rule><rule id="heroImg_2"><inputEntry id="input3bbb9f69-5832-4b2e-a486-e7562305ad20"><text><![CDATA["couple-over40"]]></text></inputEntry><outputEntry id="output4df00eff-af44-4735-a9a1-ae21217bf94b"><text><![CDATA["https://i.ibb.co/wszw3pY/couple-beach.jpg"]]></text></outputEntry></rule><rule id="heroImg_3"><inputEntry id="inputb6793938-1a56-4c11-bf3b-d30d02e6b690"><text><![CDATA["couple-under40"]]></text></inputEntry><outputEntry id="outputd3e417f5-3efd-4e0f-9d7e-2500483b318e"><text><![CDATA["https://i.ibb.co/kSTZ2XN/young-couple.jpg"]]></text></outputEntry></rule><rule id="heroImg_4"><inputEntry id="input8979b623-fa1a-47f1-89c1-340c65765878"><text><![CDATA[]]></text></inputEntry><outputEntry id="output669a9556-d6b5-49b6-a911-d0d7a3b253c5"><text><![CDATA["https://i.ibb.co/m6xKWnL/default-beach.jpg"]]></text></outputEntry></rule></decisionTable></decision><decision id="e8e614e8-0539-4f8a-8a7b-b643401fd9e5" name="heroTxtPart1"><extensionElements><biodi:bounds x="260" y="10" width="200" height="73.3"/><biodi:edge source="de9b3988-7880-4ddb-b26b-1c94bf03f8c8"/></extensionElements><informationRequirement><requiredDecision href="#de9b3988-7880-4ddb-b26b-1c94bf03f8c8"/></informationRequirement><decisionTable hitPolicy="FIRST"><input id="date54d9796e-4b9a-4799-bc7d-5db127bf81cb" label="Search Date" camunda:inputVariable=""><inputExpression typeRef="date"><text>searchDate</text></inputExpression></input><output id="stringeee6bef6-1a9d-4371-b30f-2ad7a853011b" label="String" name="String" typeRef="string"/><rule id="heroTxtPart1_0"><inputEntry id="input1b7e2c83-a704-4d44-8ba6-5b6fb60789f1"><text>[date and time("2022-05-31T18:00:00")..date and time("2022-09-29T18:00:00")]</text></inputEntry><outputEntry id="outputfc439896-7716-4947-8922-7fb817485e4f"><text><![CDATA["Last Minute Summer Holiday Offers from "]]></text></outputEntry></rule><rule id="heroTxtPart1_1"><inputEntry id="input032ea7ee-bed2-474f-b5b5-8ef51a6162c4"><text>[date and time("2022-09-30T18:00:00")..date and time("2023-02-27T17:00:00")]</text></inputEntry><outputEntry id="output4fd39663-c0f0-4795-8463-faeb52710967"><text><![CDATA["Winter Sun Offers from "]]></text></outputEntry></rule><rule id="heroTxtPart1_2"><inputEntry id="input09282c15-6fef-41bb-914f-480fd0f9c6b9"><text>&gt; date and time("2023-02-28T17:00:00")</text></inputEntry><outputEntry id="output060365cd-17a1-4b53-bead-317f45feced2"><text><![CDATA["Early Bird 2023 Holidays from "]]></text></outputEntry></rule><rule id="heroTxtPart1_3"><inputEntry id="input206b7ddc-77ca-4506-9733-2051325dcb6c"><text/></inputEntry><outputEntry id="outputbf09bf8d-4ac2-4fb6-b2b1-d58c5749a044"><text><![CDATA["Check out our latest Holiday Offers"]]></text></outputEntry></rule></decisionTable></decision><decision id="dbe045d1-a147-4fd5-9350-fe27f74d3ca0" name="heroTxtPart2"><extensionElements><biodi:bounds x="510" y="10" width="200" height="73.3"/><biodi:edge source="eb1d95aa-0042-463b-9fe8-5a915aaa965f"/></extensionElements><informationRequirement><requiredDecision href="#eb1d95aa-0042-463b-9fe8-5a915aaa965f"/></informationRequirement><decisionTable hitPolicy="FIRST"><input id="string72821927-b0c5-4534-b2a7-2e0b10c5223f" label="Search Origin" camunda:inputVariable=""><inputExpression typeRef="string"><text>searchOrigin</text></inputExpression></input><output id="string159aaa85-d7df-4ef1-8605-6682b8376fb6" label="string2" name="string2" typeRef="string"/><rule id="heroTxtPart2_0"><inputEntry id="input71a320fc-adc7-437d-8952-6cd96460620e"><text><![CDATA["EDI", "GLW"]]></text></inputEntry><outputEntry id="output773c5726-fea3-481c-80c4-9e9b914a0fb1"><text><![CDATA["Scotland"]]></text></outputEntry></rule><rule id="heroTxtPart2_1"><inputEntry id="inputed63225a-07bd-4ac5-90b3-567affc7b874"><text><![CDATA["EMA", "BHM"]]></text></inputEntry><outputEntry id="output559eb57c-2efd-438c-bc23-df127ae492c2"><text><![CDATA["the Midlands"]]></text></outputEntry></rule><rule id="heroTxtPart2_2"><inputEntry id="input8be5a04a-0f63-4434-8e4f-e9f6223ae281"><text><![CDATA["STN", "LGW"]]></text></inputEntry><outputEntry id="output8d3ff766-86bc-4eef-8876-f2be3265681c"><text><![CDATA["London"]]></text></outputEntry></rule><rule id="heroTxtPart2_3"><inputEntry id="input0cf24a24-82a0-4423-8fe1-885c549a190c"><text><![CDATA["BFS"]]></text></inputEntry><outputEntry id="output31e89ada-c263-4d78-b561-de275fa2d05c"><text><![CDATA["Northern Ireland"]]></text></outputEntry></rule><rule id="heroTxtPart2_4"><inputEntry id="input2f156263-38d0-469d-a2bb-f350d7b8c4bb"><text><![CDATA[]]></text></inputEntry><outputEntry id="outputad4c3e9a-531e-4cab-8bd4-bc319b193c48"><text><![CDATA[" "]]></text></outputEntry></rule></decisionTable></decision><inputData id="c6dfd135-fc93-4fa7-b5d6-95a8b51fb7de" name="Sessions"><extensionElements><biodi:bounds x="385" y="459" width="200" height="73.3"/></extensionElements></inputData><inputData id="be1a45e1-53e2-44a7-9f50-ffa59b82f13b" name="Guest"><extensionElements><biodi:bounds x="10" y="459" width="200" height="73.3"/></extensionElements></inputData><decision id="adcc5777-dbb3-46d6-9289-90c408a140ee" name="persona"><extensionElements><biodi:bounds x="10" y="316" width="200" height="73.3"/><biodi:edge source="be1a45e1-53e2-44a7-9f50-ffa59b82f13b"/></extensionElements><variable id="variable1641451114413" typeRef="string" name="persona"/><informationRequirement><requiredInput href="#be1a45e1-53e2-44a7-9f50-ffa59b82f13b"/></informationRequirement><literalExpression id="literal1641451114413" expressionLanguage="javascript"><text><![CDATA[(function () {
if (guest.email === "[email protected]") {
return "couple-under40"
} else if (guest.email === "[email protected]") {
return "family-kids";
}
else if (guest.email === "[email protected]") {
return "family-teens";
}
else if (guest.email === "[email protected]") {
return "couple-over40";
}
else if (guest.email === "[email protected]") {
return "family-kids";
}
else if (guest.email === "[email protected]") {
return "couple-over40";
}
else{
return "default";
}
})();]]></text></literalExpression></decision><decision id="de9b3988-7880-4ddb-b26b-1c94bf03f8c8" name="searchDate"><extensionElements><biodi:bounds x="260" y="163" width="200" height="73.3"/><biodi:edge source="bfe4bc77-315e-4581-8279-ce91bfbc999c"/></extensionElements><variable id="variable1655279232173" typeRef="date" name="searchDate"/><informationRequirement><requiredDecision href="#bfe4bc77-315e-4581-8279-ce91bfbc999c"/></informationRequirement><literalExpression id="literal1655279232173" expressionLanguage="javascript"><text><![CDATA[(function () {
// return 1232345345;
// return "2022-07-05T02:21:14.115Z";
return lastSearch.departureDate;
})();]]></text></literalExpression></decision><decision id="bfe4bc77-315e-4581-8279-ce91bfbc999c" name="lastSearch"><extensionElements><biodi:bounds x="385" y="316" width="200" height="73.3"/><biodi:edge source="c6dfd135-fc93-4fa7-b5d6-95a8b51fb7de"/></extensionElements><variable id="variable1655279365573" typeRef="map" name="lastSearch"/><informationRequirement><requiredInput href="#c6dfd135-fc93-4fa7-b5d6-95a8b51fb7de"/></informationRequirement><literalExpression id="literal1655279365573" expressionLanguage="javascript"><text><![CDATA[(function () {
var searchEvent = {
origin: "",
destination: "",
departureDate: "2012-06-25T02:21:14.115Z"
}
if (guest.email === "[email protected]") {
searchEvent.origin = "GLW";
searchEvent.destination = "CDG";
searchEvent.departureDate = "2022-06-25T02:21:14.115Z";
} else if (guest.email === "[email protected]") {
searchEvent.origin = "EDI";
searchEvent.destination = "CDG";
searchEvent.departureDate = "2022-12-23T02:21:14.115Z";
} else if (guest.email === "[email protected]") {
searchEvent.origin = "EDI";
searchEvent.destination = "CDG";
searchEvent.departureDate = "2022-06-25T02:21:14.115Z";
} else if (guest.email === "[email protected]") {
searchEvent.origin = "BFS";
searchEvent.destination = "CDG";
searchEvent.departureDate = "2022-12-23T02:21:14.115Z";
} else if (guest.email === "[email protected]") {
searchEvent.origin = "STN";
searchEvent.destination = "CDG";
searchEvent.departureDate = "2022-12-23T02:21:14.115Z";
} else if (guest.email === "[email protected]") {
searchEvent.origin = "STN";
searchEvent.destination = "CDG";
searchEvent.departureDate = "2023-06-23T02:21:14.115Z";
}
return searchEvent;
})();]]></text></literalExpression></decision><decision id="eb1d95aa-0042-463b-9fe8-5a915aaa965f" name="searchOrigin"><extensionElements><biodi:bounds x="510" y="163" width="200" height="73.3"/><biodi:edge source="bfe4bc77-315e-4581-8279-ce91bfbc999c"/></extensionElements><variable id="variable1655279405154" typeRef="string" name="searchOrigin"/><informationRequirement><requiredDecision href="#bfe4bc77-315e-4581-8279-ce91bfbc999c"/></informationRequirement><literalExpression id="literal1655279405154" expressionLanguage="javascript"><text><![CDATA[(function () {
return lastSearch.origin;
})();]]></text></literalExpression></decision></definitions>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment