Skip to content
BPMN 2.0 templates

Interview scheduling invitation with response window

Model an invitation response and timer as competing events, then validate the selected time or release capacity. Editable collaboration with role lanes, decisions and a response-versus-expiry event race. Illustrative policy and timing; adapt to local requirements.

Template previewBPMN 2.0
Rendering…

What this template contains

Source
81 lines

Make it your own.

<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="interview_offer_window_definitions" targetNamespace="urn:flowss:advanced">
  <bpmn:message id="interview_offer_window_message" name="Interview approved"/>
  <bpmn:message id="interview_offer_window_reply_message" name="Candidate selects slot"/>
  <bpmn:process id="interview_offer_window_process" name="Interview scheduling invitation with response window" isExecutable="false">
    <bpmn:documentation>Model an invitation response and timer as competing events, then validate the selected time or release capacity. Inputs: Interview approved. All policy choices, durations and conditions are illustrative. Replace example rules with approved local policy; configure integrations and review before execution. This non-executable template does not assert legal compliance or a real completed case.</bpmn:documentation>
    <bpmn:laneSet id="interview_offer_window_lanes"><bpmn:lane id="interview_offer_window_lane_0" name="Hiring coordinator"><bpmn:flowNodeRef>interview_offer_window_start</bpmn:flowNodeRef><bpmn:flowNodeRef>interview_offer_window_intake_1</bpmn:flowNodeRef><bpmn:flowNodeRef>interview_offer_window_intake_2</bpmn:flowNodeRef><bpmn:flowNodeRef>interview_offer_window_race</bpmn:flowNodeRef><bpmn:flowNodeRef>interview_offer_window_reply</bpmn:flowNodeRef><bpmn:flowNodeRef>interview_offer_window_checks_1</bpmn:flowNodeRef><bpmn:flowNodeRef>interview_offer_window_decision</bpmn:flowNodeRef><bpmn:flowNodeRef>interview_offer_window_success_1</bpmn:flowNodeRef><bpmn:flowNodeRef>interview_offer_window_success_rest_1</bpmn:flowNodeRef><bpmn:flowNodeRef>interview_offer_window_complete</bpmn:flowNodeRef></bpmn:lane><bpmn:lane id="interview_offer_window_lane_1" name="Candidate liaison"><bpmn:flowNodeRef>interview_offer_window_decline</bpmn:flowNodeRef><bpmn:flowNodeRef>interview_offer_window_declined</bpmn:flowNodeRef></bpmn:lane><bpmn:lane id="interview_offer_window_lane_2" name="Calendar owner"><bpmn:flowNodeRef>interview_offer_window_expiry</bpmn:flowNodeRef><bpmn:flowNodeRef>interview_offer_window_exception_1</bpmn:flowNodeRef><bpmn:flowNodeRef>interview_offer_window_exception_2</bpmn:flowNodeRef><bpmn:flowNodeRef>interview_offer_window_alternate</bpmn:flowNodeRef></bpmn:lane></bpmn:laneSet>
    <bpmn:startEvent id="interview_offer_window_start" name="Interview approved"><bpmn:messageEventDefinition id="interview_offer_window_start_def" messageRef="interview_offer_window_message"/></bpmn:startEvent>
    <bpmn:userTask id="interview_offer_window_intake_1" name="Reserve candidate slots"></bpmn:userTask>
    <bpmn:userTask id="interview_offer_window_intake_2" name="Send scheduling invitation"></bpmn:userTask>
    <bpmn:eventBasedGateway id="interview_offer_window_race" name="First response"></bpmn:eventBasedGateway>
    <bpmn:intermediateCatchEvent id="interview_offer_window_reply" name="Candidate selects slot"><bpmn:messageEventDefinition id="interview_offer_window_reply_def" messageRef="interview_offer_window_reply_message"/></bpmn:intermediateCatchEvent>
    <bpmn:intermediateCatchEvent id="interview_offer_window_expiry" name="Offer expires"><bpmn:timerEventDefinition id="interview_offer_window_expiry_def"><bpmn:timeDuration xsi:type="bpmn:tFormalExpression">P5D</bpmn:timeDuration></bpmn:timerEventDefinition></bpmn:intermediateCatchEvent>
    <bpmn:userTask id="interview_offer_window_checks_1" name="Verify selected availability"></bpmn:userTask>
    <bpmn:exclusiveGateway id="interview_offer_window_decision" name="Slot still available?" default="interview_offer_window_flow_9"></bpmn:exclusiveGateway>
    <bpmn:userTask id="interview_offer_window_success_1" name="Confirm interview panel"></bpmn:userTask>
    <bpmn:sendTask id="interview_offer_window_decline" name="Send decision and next steps"></bpmn:sendTask>
    <bpmn:endEvent id="interview_offer_window_declined" name="Response not accepted"></bpmn:endEvent>
    <bpmn:userTask id="interview_offer_window_success_rest_1" name="Send accessible joining details"></bpmn:userTask>
    <bpmn:endEvent id="interview_offer_window_complete" name="Interview confirmed"></bpmn:endEvent>
    <bpmn:userTask id="interview_offer_window_exception_1" name="Release temporary holds"></bpmn:userTask>
    <bpmn:userTask id="interview_offer_window_exception_2" name="Notify recruiter of no response"></bpmn:userTask>
    <bpmn:endEvent id="interview_offer_window_alternate" name="Invitation expired"></bpmn:endEvent>
    <bpmn:sequenceFlow id="interview_offer_window_flow_1" sourceRef="interview_offer_window_start" targetRef="interview_offer_window_intake_1"></bpmn:sequenceFlow>
    <bpmn:sequenceFlow id="interview_offer_window_flow_2" sourceRef="interview_offer_window_intake_1" targetRef="interview_offer_window_intake_2"></bpmn:sequenceFlow>
    <bpmn:sequenceFlow id="interview_offer_window_flow_3" sourceRef="interview_offer_window_intake_2" targetRef="interview_offer_window_race"></bpmn:sequenceFlow>
    <bpmn:sequenceFlow id="interview_offer_window_flow_4" sourceRef="interview_offer_window_race" targetRef="interview_offer_window_reply"></bpmn:sequenceFlow>
    <bpmn:sequenceFlow id="interview_offer_window_flow_5" sourceRef="interview_offer_window_race" targetRef="interview_offer_window_expiry"></bpmn:sequenceFlow>
    <bpmn:sequenceFlow id="interview_offer_window_flow_6" sourceRef="interview_offer_window_reply" targetRef="interview_offer_window_checks_1"></bpmn:sequenceFlow>
    <bpmn:sequenceFlow id="interview_offer_window_flow_7" sourceRef="interview_offer_window_checks_1" targetRef="interview_offer_window_decision"></bpmn:sequenceFlow>
    <bpmn:sequenceFlow id="interview_offer_window_flow_8" sourceRef="interview_offer_window_decision" targetRef="interview_offer_window_success_1" name="Yes"><bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">=slotAvailable = true</bpmn:conditionExpression></bpmn:sequenceFlow>
    <bpmn:sequenceFlow id="interview_offer_window_flow_9" sourceRef="interview_offer_window_decision" targetRef="interview_offer_window_decline" name="Otherwise"></bpmn:sequenceFlow>
    <bpmn:sequenceFlow id="interview_offer_window_flow_10" sourceRef="interview_offer_window_decline" targetRef="interview_offer_window_declined"></bpmn:sequenceFlow>
    <bpmn:sequenceFlow id="interview_offer_window_flow_11" sourceRef="interview_offer_window_success_1" targetRef="interview_offer_window_success_rest_1"></bpmn:sequenceFlow>
    <bpmn:sequenceFlow id="interview_offer_window_flow_12" sourceRef="interview_offer_window_success_rest_1" targetRef="interview_offer_window_complete"></bpmn:sequenceFlow>
    <bpmn:sequenceFlow id="interview_offer_window_flow_13" sourceRef="interview_offer_window_expiry" targetRef="interview_offer_window_exception_1"></bpmn:sequenceFlow>
    <bpmn:sequenceFlow id="interview_offer_window_flow_14" sourceRef="interview_offer_window_exception_1" targetRef="interview_offer_window_exception_2"></bpmn:sequenceFlow>
    <bpmn:sequenceFlow id="interview_offer_window_flow_15" sourceRef="interview_offer_window_exception_2" targetRef="interview_offer_window_alternate"></bpmn:sequenceFlow>
  </bpmn:process>
  <bpmn:collaboration id="interview_offer_window_collaboration"><bpmn:participant id="interview_offer_window_party" name="Candidate"/><bpmn:participant id="interview_offer_window_pool" name="Interview scheduling invitation with response window" processRef="interview_offer_window_process"/><bpmn:messageFlow id="interview_offer_window_request" sourceRef="interview_offer_window_party" targetRef="interview_offer_window_start"/><bpmn:messageFlow id="interview_offer_window_response" sourceRef="interview_offer_window_party" targetRef="interview_offer_window_reply"/></bpmn:collaboration>
  <bpmndi:BPMNDiagram id="interview_offer_window_diagram"><bpmndi:BPMNPlane id="interview_offer_window_plane" bpmnElement="interview_offer_window_collaboration">
    <bpmndi:BPMNShape id="interview_offer_window_party_di" bpmnElement="interview_offer_window_party" isHorizontal="true"><dc:Bounds x="20" y="20" width="2210" height="70"/></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="interview_offer_window_pool_di" bpmnElement="interview_offer_window_pool" isHorizontal="true"><dc:Bounds x="20" y="180" width="2210" height="780"/></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="interview_offer_window_lane_0_di" bpmnElement="interview_offer_window_lane_0" isHorizontal="true"><dc:Bounds x="50" y="180" width="2180" height="260"/></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="interview_offer_window_lane_1_di" bpmnElement="interview_offer_window_lane_1" isHorizontal="true"><dc:Bounds x="50" y="440" width="2180" height="260"/></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="interview_offer_window_lane_2_di" bpmnElement="interview_offer_window_lane_2" isHorizontal="true"><dc:Bounds x="50" y="700" width="2180" height="260"/></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="interview_offer_window_start_di" bpmnElement="interview_offer_window_start"><dc:Bounds x="162" y="292" width="36" height="36"/><bpmndi:BPMNLabel><dc:Bounds x="108" y="335" width="144" height="40"/></bpmndi:BPMNLabel></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="interview_offer_window_intake_1_di" bpmnElement="interview_offer_window_intake_1"><dc:Bounds x="325" y="272" width="130" height="76"/></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="interview_offer_window_intake_2_di" bpmnElement="interview_offer_window_intake_2"><dc:Bounds x="535" y="272" width="130" height="76"/></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="interview_offer_window_race_di" bpmnElement="interview_offer_window_race"><dc:Bounds x="786" y="286" width="48" height="48"/><bpmndi:BPMNLabel><dc:Bounds x="738" y="236" width="144" height="40"/></bpmndi:BPMNLabel></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="interview_offer_window_reply_di" bpmnElement="interview_offer_window_reply"><dc:Bounds x="1002" y="292" width="36" height="36"/><bpmndi:BPMNLabel><dc:Bounds x="948" y="335" width="144" height="40"/></bpmndi:BPMNLabel></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="interview_offer_window_expiry_di" bpmnElement="interview_offer_window_expiry"><dc:Bounds x="1002" y="812" width="36" height="36"/><bpmndi:BPMNLabel><dc:Bounds x="948" y="855" width="144" height="40"/></bpmndi:BPMNLabel></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="interview_offer_window_checks_1_di" bpmnElement="interview_offer_window_checks_1"><dc:Bounds x="1165" y="272" width="130" height="76"/></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="interview_offer_window_decision_di" bpmnElement="interview_offer_window_decision" isMarkerVisible="true"><dc:Bounds x="1416" y="286" width="48" height="48"/><bpmndi:BPMNLabel><dc:Bounds x="1368" y="236" width="144" height="40"/></bpmndi:BPMNLabel></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="interview_offer_window_success_1_di" bpmnElement="interview_offer_window_success_1"><dc:Bounds x="1585" y="272" width="130" height="76"/></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="interview_offer_window_decline_di" bpmnElement="interview_offer_window_decline"><dc:Bounds x="1585" y="532" width="130" height="76"/></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="interview_offer_window_declined_di" bpmnElement="interview_offer_window_declined"><dc:Bounds x="1842" y="552" width="36" height="36"/><bpmndi:BPMNLabel><dc:Bounds x="1788" y="595" width="144" height="40"/></bpmndi:BPMNLabel></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="interview_offer_window_success_rest_1_di" bpmnElement="interview_offer_window_success_rest_1"><dc:Bounds x="1795" y="272" width="130" height="76"/></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="interview_offer_window_complete_di" bpmnElement="interview_offer_window_complete"><dc:Bounds x="2052" y="292" width="36" height="36"/><bpmndi:BPMNLabel><dc:Bounds x="1998" y="335" width="144" height="40"/></bpmndi:BPMNLabel></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="interview_offer_window_exception_1_di" bpmnElement="interview_offer_window_exception_1"><dc:Bounds x="1165" y="792" width="130" height="76"/></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="interview_offer_window_exception_2_di" bpmnElement="interview_offer_window_exception_2"><dc:Bounds x="1375" y="792" width="130" height="76"/></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="interview_offer_window_alternate_di" bpmnElement="interview_offer_window_alternate"><dc:Bounds x="1632" y="812" width="36" height="36"/><bpmndi:BPMNLabel><dc:Bounds x="1578" y="855" width="144" height="40"/></bpmndi:BPMNLabel></bpmndi:BPMNShape>
    <bpmndi:BPMNEdge id="interview_offer_window_flow_1_di" bpmnElement="interview_offer_window_flow_1"><di:waypoint x="198" y="310"/><di:waypoint x="325" y="310"/></bpmndi:BPMNEdge>
    <bpmndi:BPMNEdge id="interview_offer_window_flow_2_di" bpmnElement="interview_offer_window_flow_2"><di:waypoint x="455" y="310"/><di:waypoint x="535" y="310"/></bpmndi:BPMNEdge>
    <bpmndi:BPMNEdge id="interview_offer_window_flow_3_di" bpmnElement="interview_offer_window_flow_3"><di:waypoint x="665" y="310"/><di:waypoint x="786" y="310"/></bpmndi:BPMNEdge>
    <bpmndi:BPMNEdge id="interview_offer_window_flow_4_di" bpmnElement="interview_offer_window_flow_4"><di:waypoint x="834" y="310"/><di:waypoint x="1002" y="310"/></bpmndi:BPMNEdge>
    <bpmndi:BPMNEdge id="interview_offer_window_flow_5_di" bpmnElement="interview_offer_window_flow_5"><di:waypoint x="834" y="310"/><di:waypoint x="918" y="310"/><di:waypoint x="918" y="830"/><di:waypoint x="1002" y="830"/></bpmndi:BPMNEdge>
    <bpmndi:BPMNEdge id="interview_offer_window_flow_6_di" bpmnElement="interview_offer_window_flow_6"><di:waypoint x="1038" y="310"/><di:waypoint x="1165" y="310"/></bpmndi:BPMNEdge>
    <bpmndi:BPMNEdge id="interview_offer_window_flow_7_di" bpmnElement="interview_offer_window_flow_7"><di:waypoint x="1295" y="310"/><di:waypoint x="1416" y="310"/></bpmndi:BPMNEdge>
    <bpmndi:BPMNEdge id="interview_offer_window_flow_8_di" bpmnElement="interview_offer_window_flow_8"><di:waypoint x="1464" y="310"/><di:waypoint x="1585" y="310"/><bpmndi:BPMNLabel><dc:Bounds x="1472" y="283" width="100" height="22"/></bpmndi:BPMNLabel></bpmndi:BPMNEdge>
    <bpmndi:BPMNEdge id="interview_offer_window_flow_9_di" bpmnElement="interview_offer_window_flow_9"><di:waypoint x="1464" y="310"/><di:waypoint x="1525" y="310"/><di:waypoint x="1525" y="570"/><di:waypoint x="1585" y="570"/><bpmndi:BPMNLabel><dc:Bounds x="1472" y="320" width="100" height="22"/></bpmndi:BPMNLabel></bpmndi:BPMNEdge>
    <bpmndi:BPMNEdge id="interview_offer_window_flow_10_di" bpmnElement="interview_offer_window_flow_10"><di:waypoint x="1715" y="570"/><di:waypoint x="1842" y="570"/></bpmndi:BPMNEdge>
    <bpmndi:BPMNEdge id="interview_offer_window_flow_11_di" bpmnElement="interview_offer_window_flow_11"><di:waypoint x="1715" y="310"/><di:waypoint x="1795" y="310"/></bpmndi:BPMNEdge>
    <bpmndi:BPMNEdge id="interview_offer_window_flow_12_di" bpmnElement="interview_offer_window_flow_12"><di:waypoint x="1925" y="310"/><di:waypoint x="2052" y="310"/></bpmndi:BPMNEdge>
    <bpmndi:BPMNEdge id="interview_offer_window_flow_13_di" bpmnElement="interview_offer_window_flow_13"><di:waypoint x="1038" y="830"/><di:waypoint x="1165" y="830"/></bpmndi:BPMNEdge>
    <bpmndi:BPMNEdge id="interview_offer_window_flow_14_di" bpmnElement="interview_offer_window_flow_14"><di:waypoint x="1295" y="830"/><di:waypoint x="1375" y="830"/></bpmndi:BPMNEdge>
    <bpmndi:BPMNEdge id="interview_offer_window_flow_15_di" bpmnElement="interview_offer_window_flow_15"><di:waypoint x="1505" y="830"/><di:waypoint x="1632" y="830"/></bpmndi:BPMNEdge>
    <bpmndi:BPMNEdge id="interview_offer_window_request_di" bpmnElement="interview_offer_window_request"><di:waypoint x="180" y="90"/><di:waypoint x="180" y="292"/></bpmndi:BPMNEdge>
    <bpmndi:BPMNEdge id="interview_offer_window_response_di" bpmnElement="interview_offer_window_response"><di:waypoint x="1020" y="90"/><di:waypoint x="1020" y="292"/></bpmndi:BPMNEdge>
  </bpmndi:BPMNPlane></bpmndi:BPMNDiagram>
</bpmn:definitions>