dodil/erp-brick-hr
docs/samples/onboarding.bpmn
<?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" xmlns:dodil="https://git.dodil.io/dodil/erp-platform/bpmn/1" id="Definitions_employee-onboarding_v1" targetNamespace="https://git.dodil.io/dodil/brick-hr/playbooks" exporter="brick-hr" exporterVersion="0.4.0">
<bpmn:collaboration id="Collaboration_employee-onboarding_v1">
<bpmn:participant id="Participant_employee-onboarding" name="Employee onboarding (v1)" processRef="Process_employee-onboarding_v1" />
<bpmn:participant id="Participant_starter" name="The starter (public form)">
<bpmn:documentation>The starter, outside the company, through the public link.</bpmn:documentation>
</bpmn:participant>
<bpmn:participant id="Participant_drafting" name="Drafting (Models)">
<bpmn:documentation>Drafting through DODIL Models (an OpenAI-compatible endpoint).</bpmn:documentation>
</bpmn:participant>
<bpmn:participant id="Participant_contracts" name="Contracts (signature)">
<bpmn:documentation>Whatever provider the composition wires for contracts.* (capabilities.yaml). With none, each call is a manual task carrying the same input.</bpmn:documentation>
</bpmn:participant>
<bpmn:participant id="Participant_mail" name="Mail">
<bpmn:documentation>Whatever provider the composition wires for mail.* (capabilities.yaml). With none, each call is a manual task carrying the same input.</bpmn:documentation>
</bpmn:participant>
<bpmn:participant id="Participant_identity" name="Identity (work accounts)">
<bpmn:documentation>Whatever provider the composition wires for identity.* (capabilities.yaml). With none, each call is a manual task carrying the same input.</bpmn:documentation>
</bpmn:participant>
<bpmn:participant id="Participant_calendar" name="Calendar">
<bpmn:documentation>Whatever provider the composition wires for calendar.* (capabilities.yaml). With none, each call is a manual task carrying the same input.</bpmn:documentation>
</bpmn:participant>
<bpmn:participant id="Participant_chat" name="Chat spaces">
<bpmn:documentation>Whatever provider the composition wires for chat.* (capabilities.yaml). With none, each call is a manual task carrying the same input.</bpmn:documentation>
</bpmn:participant>
<bpmn:participant id="Participant_groups" name="Groups">
<bpmn:documentation>Whatever provider the composition wires for groups.* (capabilities.yaml). With none, each call is a manual task carrying the same input.</bpmn:documentation>
</bpmn:participant>
<bpmn:messageFlow id="MessageFlow_Task_starter_details" name="the form, submitted" sourceRef="Participant_starter" targetRef="Task_starter_details" />
<bpmn:messageFlow id="MessageFlow_Task_send_contract" name="contracts.draft" sourceRef="Task_send_contract" targetRef="Participant_contracts" />
<bpmn:messageFlow id="MessageFlow_Task_create_account" name="identity.provision_user" sourceRef="Task_create_account" targetRef="Participant_identity" />
<bpmn:messageFlow id="MessageFlow_Task_add_to_groups" name="groups.add_member" sourceRef="Task_add_to_groups" targetRef="Participant_groups" />
<bpmn:messageFlow id="MessageFlow_Task_add_to_chat_spaces" name="chat.add_to_space" sourceRef="Task_add_to_chat_spaces" targetRef="Participant_chat" />
<bpmn:messageFlow id="MessageFlow_Task_welcome_email__draft" name="draft" sourceRef="Task_welcome_email__draft" targetRef="Participant_drafting" />
<bpmn:messageFlow id="MessageFlow_Task_send_welcome_email" name="mail.send" sourceRef="Task_send_welcome_email" targetRef="Participant_mail" />
<bpmn:messageFlow id="MessageFlow_Task_day_one_welcome" name="calendar.create_event" sourceRef="Task_day_one_welcome" targetRef="Participant_calendar" />
</bpmn:collaboration>
<bpmn:process id="Process_employee-onboarding_v1" name="Employee onboarding" isExecutable="false" dodil:pcf="10469">
<bpmn:documentation>Employee onboarding: the onboarding playbook employee-onboarding, version 1 (active), for event types hire; worker types employee_ft, employee_pt, employee_fixed, intern. Times are in Europe/London. Generated by brick-hr from the playbook rows, which are the source: change them with keep_playbook or change_playbook (a new version), not this file. APQC PCF 10469 Manage employee onboarding.</bpmn:documentation>
<bpmn:laneSet id="LaneSet_employee-onboarding">
<bpmn:lane id="Lane_hr" name="Operations / HR (hr)">
<bpmn:flowNodeRef>StartEvent</bpmn:flowNodeRef>
<bpmn:flowNodeRef>EndEvent</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_starter_details</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_approve_rate</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_approve_rate__if</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_approve_rate__if_end</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_send_contract</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Timer_right_to_work_check</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_right_to_work_check</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_create_account__record_right_to_work_check</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_start</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_end</bpmn:flowNodeRef>
</bpmn:lane>
<bpmn:lane id="Lane_it" name="IT / ops (it)">
<bpmn:flowNodeRef>Timer_create_account</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_create_account__requires_right_to_work_check</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_create_account</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Timer_add_to_groups</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_add_to_groups</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Timer_add_to_chat_spaces</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_add_to_chat_spaces</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Timer_laptop_ready</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_laptop_ready</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_create_account__fork</bpmn:flowNodeRef>
</bpmn:lane>
<bpmn:lane id="Lane_manager" name="The derived manager (manager)">
<bpmn:flowNodeRef>Timer_welcome_email</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_welcome_email__draft</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_welcome_email</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Timer_send_welcome_email</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_send_welcome_email</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Timer_day_one_welcome</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_day_one_welcome</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Timer_first_project_brief</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_first_project_brief</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Timer_week_one_review</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_week_one_review</bpmn:flowNodeRef>
</bpmn:lane>
<bpmn:lane id="Lane_buddy" name="The buddy (buddy)">
<bpmn:flowNodeRef>Timer_buddy_coffee</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_buddy_coffee</bpmn:flowNodeRef>
</bpmn:lane>
<bpmn:lane id="Lane_finance" name="Finance (finance)">
<bpmn:flowNodeRef>Timer_payroll_setup</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_payroll_setup</bpmn:flowNodeRef>
</bpmn:lane>
</bpmn:laneSet>
<bpmn:startEvent id="StartEvent" name="Hire recorded">
<bpmn:documentation>A hire is recorded: the run is expanded from this playbook version (open runs keep the version they started with).</bpmn:documentation>
<bpmn:outgoing>Flow_StartEvent__Gateway_start</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:endEvent id="EndEvent" name="Run complete">
<bpmn:documentation>Every step is done, skipped (its condition did not hold) or cancelled.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_end__EndEvent</bpmn:incoming>
</bpmn:endEvent>
<bpmn:userTask id="Task_starter_details" name="Starter fills in their details" dodil:step="starter_details" dodil:pcf="10524">
<bpmn:documentation>The starter fills in their details through the public link (one form, hashed token, expiring). Values go to the sensitive record and are never shown back; Operations / HR sees how many fields are done. Chased every 2 working days, up to 3 times, then a task for HR: starter details still missing.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_start__Task_starter_details</bpmn:incoming>
<bpmn:outgoing>Flow_Task_starter_details__Gateway_end</bpmn:outgoing>
<bpmn:ioSpecification id="InputOutputSpecification_Task_starter_details">
<bpmn:dataOutput id="Task_starter_details_out_home_address" name="home_address" />
<bpmn:dataOutput id="Task_starter_details_out_ni_number" name="ni_number" />
<bpmn:dataOutput id="Task_starter_details_out_bank_account_name" name="bank_account_name" />
<bpmn:dataOutput id="Task_starter_details_out_bank_sort_code" name="bank_sort_code" />
<bpmn:dataOutput id="Task_starter_details_out_bank_account_number" name="bank_account_number" />
<bpmn:dataOutput id="Task_starter_details_out_emergency_contact" name="emergency_contact" />
<bpmn:dataOutput id="Task_starter_details_out_right_to_work" name="right_to_work" />
<bpmn:inputSet id="InputSet_Task_starter_details" />
<bpmn:outputSet id="OutputSet_Task_starter_details">
<bpmn:dataOutputRefs>Task_starter_details_out_home_address</bpmn:dataOutputRefs>
<bpmn:dataOutputRefs>Task_starter_details_out_ni_number</bpmn:dataOutputRefs>
<bpmn:dataOutputRefs>Task_starter_details_out_bank_account_name</bpmn:dataOutputRefs>
<bpmn:dataOutputRefs>Task_starter_details_out_bank_sort_code</bpmn:dataOutputRefs>
<bpmn:dataOutputRefs>Task_starter_details_out_bank_account_number</bpmn:dataOutputRefs>
<bpmn:dataOutputRefs>Task_starter_details_out_emergency_contact</bpmn:dataOutputRefs>
<bpmn:dataOutputRefs>Task_starter_details_out_right_to_work</bpmn:dataOutputRefs>
</bpmn:outputSet>
</bpmn:ioSpecification>
<bpmn:dataOutputAssociation id="DataOutputAssociation_Task_starter_details_intake">
<bpmn:sourceRef>Task_starter_details_out_home_address</bpmn:sourceRef>
<bpmn:sourceRef>Task_starter_details_out_ni_number</bpmn:sourceRef>
<bpmn:sourceRef>Task_starter_details_out_bank_account_name</bpmn:sourceRef>
<bpmn:sourceRef>Task_starter_details_out_bank_sort_code</bpmn:sourceRef>
<bpmn:sourceRef>Task_starter_details_out_bank_account_number</bpmn:sourceRef>
<bpmn:sourceRef>Task_starter_details_out_emergency_contact</bpmn:sourceRef>
<bpmn:sourceRef>Task_starter_details_out_right_to_work</bpmn:sourceRef>
<bpmn:targetRef>DataObjectReference_intake</bpmn:targetRef>
</bpmn:dataOutputAssociation>
</bpmn:userTask>
<bpmn:userTask id="Task_approve_rate" name="Approve the off-template rate" dodil:step="approve_rate">
<bpmn:documentation>An approval for Operations / HR: granted or refused (approve_step). A refusal cancels the destructive steps that depend on it; nothing destructive runs on a timer alone. Chased every 1 working day, up to 3 times, then a task for HR: approval overdue.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_approve_rate__if__Task_approve_rate</bpmn:incoming>
<bpmn:outgoing>Flow_Task_approve_rate__Gateway_approve_rate__if_end</bpmn:outgoing>
</bpmn:userTask>
<bpmn:exclusiveGateway id="Gateway_approve_rate__if" name="The agreed rate is outside the pay band?" default="Flow_Gateway_approve_rate__if__Gateway_approve_rate__if_end">
<bpmn:documentation>'Approve the off-template rate' applies only when the agreed rate is outside the pay band; otherwise it is skipped (a skipped step counts as done for the steps after it).</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_start__Gateway_approve_rate__if</bpmn:incoming>
<bpmn:outgoing>Flow_Gateway_approve_rate__if__Task_approve_rate</bpmn:outgoing>
<bpmn:outgoing>Flow_Gateway_approve_rate__if__Gateway_approve_rate__if_end</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:exclusiveGateway id="Gateway_approve_rate__if_end">
<bpmn:incoming>Flow_Gateway_approve_rate__if__Gateway_approve_rate__if_end</bpmn:incoming>
<bpmn:incoming>Flow_Task_approve_rate__Gateway_approve_rate__if_end</bpmn:incoming>
<bpmn:outgoing>Flow_Gateway_approve_rate__if_end__Task_send_contract</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:serviceTask id="Task_send_contract" name="Contract sent and signed" dodil:step="send_contract" dodil:pcf="11052" implementation="##unspecified">
<bpmn:documentation>Capability contracts.draft: Draft a contract of a type for a counterparty from the approved template, filled from the values given. Drafts the Employment contract (with the written statement) from the approved template (contracts.draft), sends it for signature (contracts.send), waits on contracts.status and files the signed copy on the person (contracts.fetch_executed). Signed for the company by the director named on the run (assign_run_party director), if any. With no provider wired it becomes a manual task for Operations / HR carrying the same input and the plan in words; wiring a provider later makes the same step automatic.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_approve_rate__if_end__Task_send_contract</bpmn:incoming>
<bpmn:outgoing>Flow_Task_send_contract__Timer_create_account</bpmn:outgoing>
<bpmn:ioSpecification id="InputOutputSpecification_Task_send_contract">
<bpmn:dataInput id="Task_send_contract_in_type_code" name="type_code" />
<bpmn:dataInput id="Task_send_contract_in_counterparty_bp_id" name="counterparty_bp_id" />
<bpmn:dataInput id="Task_send_contract_in_context_ref" name="context_ref" />
<bpmn:dataInput id="Task_send_contract_in_source_ref" name="source_ref" />
<bpmn:dataInput id="Task_send_contract_in_variables" name="variables" />
<bpmn:dataInput id="Task_send_contract_in_signers" name="signers" />
<bpmn:dataOutput id="Task_send_contract_out_contract_id" name="contract_id" />
<bpmn:dataOutput id="Task_send_contract_out_state" name="state" />
<bpmn:dataOutput id="Task_send_contract_out_missing" name="missing" />
<bpmn:dataOutput id="Task_send_contract_out_deviations" name="deviations" />
<bpmn:dataOutput id="Task_send_contract_out_approval_required" name="approval_required" />
<bpmn:inputSet id="InputSet_Task_send_contract">
<bpmn:dataInputRefs>Task_send_contract_in_type_code</bpmn:dataInputRefs>
<bpmn:dataInputRefs>Task_send_contract_in_counterparty_bp_id</bpmn:dataInputRefs>
<bpmn:dataInputRefs>Task_send_contract_in_context_ref</bpmn:dataInputRefs>
<bpmn:dataInputRefs>Task_send_contract_in_source_ref</bpmn:dataInputRefs>
<bpmn:dataInputRefs>Task_send_contract_in_variables</bpmn:dataInputRefs>
<bpmn:dataInputRefs>Task_send_contract_in_signers</bpmn:dataInputRefs>
</bpmn:inputSet>
<bpmn:outputSet id="OutputSet_Task_send_contract">
<bpmn:dataOutputRefs>Task_send_contract_out_contract_id</bpmn:dataOutputRefs>
<bpmn:dataOutputRefs>Task_send_contract_out_state</bpmn:dataOutputRefs>
<bpmn:dataOutputRefs>Task_send_contract_out_missing</bpmn:dataOutputRefs>
<bpmn:dataOutputRefs>Task_send_contract_out_deviations</bpmn:dataOutputRefs>
<bpmn:dataOutputRefs>Task_send_contract_out_approval_required</bpmn:dataOutputRefs>
</bpmn:outputSet>
</bpmn:ioSpecification>
<bpmn:dataOutputAssociation id="DataOutputAssociation_Task_send_contract_contract_send_contract">
<bpmn:sourceRef>Task_send_contract_out_contract_id</bpmn:sourceRef>
<bpmn:targetRef>DataObjectReference_contract_send_contract</bpmn:targetRef>
</bpmn:dataOutputAssociation>
</bpmn:serviceTask>
<bpmn:intermediateCatchEvent id="Timer_right_to_work_check" name="2 working days before start_date">
<bpmn:documentation>'Right-to-work check recorded' is due 2 working days before start_date, 12:00 Europe/London. Working days skip weekends and the bank holidays of the person's calendar; moving the anchor date re-times only steps not yet done.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_start__Timer_right_to_work_check</bpmn:incoming>
<bpmn:outgoing>Flow_Timer_right_to_work_check__Task_right_to_work_check</bpmn:outgoing>
<bpmn:timerEventDefinition id="TimerEventDefinition_Timer_right_to_work_check">
<bpmn:timeDate xsi:type="bpmn:tFormalExpression">2 working days before start_date, 12:00 Europe/London</bpmn:timeDate>
</bpmn:timerEventDefinition>
</bpmn:intermediateCatchEvent>
<bpmn:userTask id="Task_right_to_work_check" name="Right-to-work check recorded" dodil:step="right_to_work_check">
<bpmn:documentation>A task for Operations / HR; done when someone in the group marks it done (complete_step). Chased every 1 working day, up to 3 times, then a task for HR: task overdue.</bpmn:documentation>
<bpmn:incoming>Flow_Timer_right_to_work_check__Task_right_to_work_check</bpmn:incoming>
<bpmn:outgoing>Flow_Task_right_to_work_check__Gateway_end</bpmn:outgoing>
</bpmn:userTask>
<bpmn:intermediateCatchEvent id="Timer_create_account" name="3 working days before start_date">
<bpmn:documentation>'Create the work account' is due 3 working days before start_date, 09:00 Europe/London. Working days skip weekends and the bank holidays of the person's calendar; moving the anchor date re-times only steps not yet done.</bpmn:documentation>
<bpmn:incoming>Flow_Task_send_contract__Timer_create_account</bpmn:incoming>
<bpmn:outgoing>Flow_Timer_create_account__Gateway_create_account__requires_right_to_work_check</bpmn:outgoing>
<bpmn:timerEventDefinition id="TimerEventDefinition_Timer_create_account">
<bpmn:timeDate xsi:type="bpmn:tFormalExpression">3 working days before start_date, 09:00 Europe/London</bpmn:timeDate>
</bpmn:timerEventDefinition>
</bpmn:intermediateCatchEvent>
<bpmn:exclusiveGateway id="Gateway_create_account__requires_right_to_work_check" name="Right to work check recorded?" default="Flow_Gateway_create_account__requires_right_to_work_check__Task_create_account__record_right_to_work_check">
<bpmn:documentation>pack_requires right_to_work_check when the worker type is one of employee_ft, employee_pt, employee_fixed, intern: 'Create the work account' is BLOCKED until the record exists.</bpmn:documentation>
<bpmn:incoming>Flow_Timer_create_account__Gateway_create_account__requires_right_to_work_check</bpmn:incoming>
<bpmn:outgoing>Flow_Gateway_create_account__requires_right_to_work_check__Task_create_account</bpmn:outgoing>
<bpmn:outgoing>Flow_Gateway_create_account__requires_right_to_work_check__Task_create_account__record_right_to_work_check</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:userTask id="Task_create_account__record_right_to_work_check" name="Record the right to work check">
<bpmn:documentation>record_compliance (right_to_work_check): what was checked, when and by whom. The localisation pack records evidence; it makes no legal judgement.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_create_account__requires_right_to_work_check__Task_create_account__record_right_to_work_check</bpmn:incoming>
<bpmn:outgoing>Flow_Task_create_account__record_right_to_work_check__Task_create_account</bpmn:outgoing>
</bpmn:userTask>
<bpmn:serviceTask id="Task_create_account" name="Create the work account" dodil:step="create_account" dodil:pcf="20758" implementation="##unspecified">
<bpmn:documentation>Capability identity.provision_user: Create the person's work account, or confirm it exists. With no provider wired it becomes a manual task for IT / ops carrying the same input and the plan in words; wiring a provider later makes the same step automatic.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_create_account__requires_right_to_work_check__Task_create_account</bpmn:incoming>
<bpmn:incoming>Flow_Task_create_account__record_right_to_work_check__Task_create_account</bpmn:incoming>
<bpmn:outgoing>Flow_Task_create_account__Gateway_create_account__fork</bpmn:outgoing>
<bpmn:ioSpecification id="InputOutputSpecification_Task_create_account">
<bpmn:dataInput id="Task_create_account_in_given_name" name="given_name">
<bpmn:documentation>from {given_name}</bpmn:documentation>
</bpmn:dataInput>
<bpmn:dataInput id="Task_create_account_in_family_name" name="family_name">
<bpmn:documentation>from {family_name}</bpmn:documentation>
</bpmn:dataInput>
<bpmn:dataInput id="Task_create_account_in_primary_email" name="primary_email">
<bpmn:documentation>from {account_email}</bpmn:documentation>
</bpmn:dataInput>
<bpmn:dataInput id="Task_create_account_in_recovery_email" name="recovery_email">
<bpmn:documentation>from {personal_email}</bpmn:documentation>
</bpmn:dataInput>
<bpmn:dataInput id="Task_create_account_in_org_unit" name="org_unit">
<bpmn:documentation>from {ou_path}</bpmn:documentation>
</bpmn:dataInput>
<bpmn:dataInput id="Task_create_account_in_initial_password_delivery" name="initial_password_delivery">
<bpmn:documentation>from recovery_email</bpmn:documentation>
</bpmn:dataInput>
<bpmn:dataOutput id="Task_create_account_out_account_id" name="account_id" />
<bpmn:dataOutput id="Task_create_account_out_primary_email" name="primary_email" />
<bpmn:dataOutput id="Task_create_account_out_created" name="created" />
<bpmn:inputSet id="InputSet_Task_create_account">
<bpmn:dataInputRefs>Task_create_account_in_given_name</bpmn:dataInputRefs>
<bpmn:dataInputRefs>Task_create_account_in_family_name</bpmn:dataInputRefs>
<bpmn:dataInputRefs>Task_create_account_in_primary_email</bpmn:dataInputRefs>
<bpmn:dataInputRefs>Task_create_account_in_recovery_email</bpmn:dataInputRefs>
<bpmn:dataInputRefs>Task_create_account_in_org_unit</bpmn:dataInputRefs>
<bpmn:dataInputRefs>Task_create_account_in_initial_password_delivery</bpmn:dataInputRefs>
</bpmn:inputSet>
<bpmn:outputSet id="OutputSet_Task_create_account">
<bpmn:dataOutputRefs>Task_create_account_out_account_id</bpmn:dataOutputRefs>
<bpmn:dataOutputRefs>Task_create_account_out_primary_email</bpmn:dataOutputRefs>
<bpmn:dataOutputRefs>Task_create_account_out_created</bpmn:dataOutputRefs>
</bpmn:outputSet>
</bpmn:ioSpecification>
</bpmn:serviceTask>
<bpmn:intermediateCatchEvent id="Timer_add_to_groups" name="3 working days before start_date">
<bpmn:documentation>'Add to the team's groups' is due 3 working days before start_date, 09:00 Europe/London. Working days skip weekends and the bank holidays of the person's calendar; moving the anchor date re-times only steps not yet done.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_create_account__fork__Timer_add_to_groups</bpmn:incoming>
<bpmn:outgoing>Flow_Timer_add_to_groups__Task_add_to_groups</bpmn:outgoing>
<bpmn:timerEventDefinition id="TimerEventDefinition_Timer_add_to_groups">
<bpmn:timeDate xsi:type="bpmn:tFormalExpression">3 working days before start_date, 09:00 Europe/London</bpmn:timeDate>
</bpmn:timerEventDefinition>
</bpmn:intermediateCatchEvent>
<bpmn:serviceTask id="Task_add_to_groups" name="Add to the team's groups" dodil:step="add_to_groups" dodil:pcf="20759" implementation="##unspecified">
<bpmn:documentation>Capability groups.add_member: Add the person to a group (team, distribution list). With no provider wired it becomes a manual task for IT / ops carrying the same input and the plan in words; wiring a provider later makes the same step automatic.</bpmn:documentation>
<bpmn:incoming>Flow_Timer_add_to_groups__Task_add_to_groups</bpmn:incoming>
<bpmn:outgoing>Flow_Task_add_to_groups__Gateway_end</bpmn:outgoing>
<bpmn:ioSpecification id="InputOutputSpecification_Task_add_to_groups">
<bpmn:dataInput id="Task_add_to_groups_in_group" name="group">
<bpmn:documentation>from {target}</bpmn:documentation>
</bpmn:dataInput>
<bpmn:dataInput id="Task_add_to_groups_in_member_email" name="member_email">
<bpmn:documentation>from {account_email}</bpmn:documentation>
</bpmn:dataInput>
<bpmn:dataInput id="Task_add_to_groups_in_role" name="role">
<bpmn:documentation>from {target_role}</bpmn:documentation>
</bpmn:dataInput>
<bpmn:dataOutput id="Task_add_to_groups_out_group_id" name="group_id" />
<bpmn:dataOutput id="Task_add_to_groups_out_added" name="added" />
<bpmn:inputSet id="InputSet_Task_add_to_groups">
<bpmn:dataInputRefs>Task_add_to_groups_in_group</bpmn:dataInputRefs>
<bpmn:dataInputRefs>Task_add_to_groups_in_member_email</bpmn:dataInputRefs>
<bpmn:dataInputRefs>Task_add_to_groups_in_role</bpmn:dataInputRefs>
</bpmn:inputSet>
<bpmn:outputSet id="OutputSet_Task_add_to_groups">
<bpmn:dataOutputRefs>Task_add_to_groups_out_group_id</bpmn:dataOutputRefs>
<bpmn:dataOutputRefs>Task_add_to_groups_out_added</bpmn:dataOutputRefs>
</bpmn:outputSet>
</bpmn:ioSpecification>
<bpmn:multiInstanceLoopCharacteristics id="MultiInstance_Task_add_to_groups">
<bpmn:documentation>One per group row of the person's unit (unit_access), in parallel.</bpmn:documentation>
</bpmn:multiInstanceLoopCharacteristics>
</bpmn:serviceTask>
<bpmn:intermediateCatchEvent id="Timer_add_to_chat_spaces" name="3 working days before start_date">
<bpmn:documentation>'Add to the team's chat spaces' is due 3 working days before start_date, 09:00 Europe/London. Working days skip weekends and the bank holidays of the person's calendar; moving the anchor date re-times only steps not yet done.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_create_account__fork__Timer_add_to_chat_spaces</bpmn:incoming>
<bpmn:outgoing>Flow_Timer_add_to_chat_spaces__Task_add_to_chat_spaces</bpmn:outgoing>
<bpmn:timerEventDefinition id="TimerEventDefinition_Timer_add_to_chat_spaces">
<bpmn:timeDate xsi:type="bpmn:tFormalExpression">3 working days before start_date, 09:00 Europe/London</bpmn:timeDate>
</bpmn:timerEventDefinition>
</bpmn:intermediateCatchEvent>
<bpmn:serviceTask id="Task_add_to_chat_spaces" name="Add to the team's chat spaces" dodil:step="add_to_chat_spaces" dodil:pcf="20759" implementation="##unspecified">
<bpmn:documentation>Capability chat.add_to_space: Add the person to a chat space or channel. With no provider wired it becomes a manual task for IT / ops carrying the same input and the plan in words; wiring a provider later makes the same step automatic.</bpmn:documentation>
<bpmn:incoming>Flow_Timer_add_to_chat_spaces__Task_add_to_chat_spaces</bpmn:incoming>
<bpmn:outgoing>Flow_Task_add_to_chat_spaces__Gateway_end</bpmn:outgoing>
<bpmn:ioSpecification id="InputOutputSpecification_Task_add_to_chat_spaces">
<bpmn:dataInput id="Task_add_to_chat_spaces_in_space" name="space">
<bpmn:documentation>from {target}</bpmn:documentation>
</bpmn:dataInput>
<bpmn:dataInput id="Task_add_to_chat_spaces_in_member_email" name="member_email">
<bpmn:documentation>from {account_email}</bpmn:documentation>
</bpmn:dataInput>
<bpmn:dataOutput id="Task_add_to_chat_spaces_out_space_id" name="space_id" />
<bpmn:dataOutput id="Task_add_to_chat_spaces_out_added" name="added" />
<bpmn:inputSet id="InputSet_Task_add_to_chat_spaces">
<bpmn:dataInputRefs>Task_add_to_chat_spaces_in_space</bpmn:dataInputRefs>
<bpmn:dataInputRefs>Task_add_to_chat_spaces_in_member_email</bpmn:dataInputRefs>
</bpmn:inputSet>
<bpmn:outputSet id="OutputSet_Task_add_to_chat_spaces">
<bpmn:dataOutputRefs>Task_add_to_chat_spaces_out_space_id</bpmn:dataOutputRefs>
<bpmn:dataOutputRefs>Task_add_to_chat_spaces_out_added</bpmn:dataOutputRefs>
</bpmn:outputSet>
</bpmn:ioSpecification>
<bpmn:multiInstanceLoopCharacteristics id="MultiInstance_Task_add_to_chat_spaces">
<bpmn:documentation>One per chat space row of the person's unit (unit_access), in parallel.</bpmn:documentation>
</bpmn:multiInstanceLoopCharacteristics>
</bpmn:serviceTask>
<bpmn:intermediateCatchEvent id="Timer_welcome_email" name="5 working days before start_date">
<bpmn:documentation>'Welcome email drafted and approved' is due 5 working days before start_date, 09:00 Europe/London. Working days skip weekends and the bank holidays of the person's calendar; moving the anchor date re-times only steps not yet done.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_start__Timer_welcome_email</bpmn:incoming>
<bpmn:outgoing>Flow_Timer_welcome_email__Task_welcome_email__draft</bpmn:outgoing>
<bpmn:timerEventDefinition id="TimerEventDefinition_Timer_welcome_email">
<bpmn:timeDate xsi:type="bpmn:tFormalExpression">5 working days before start_date, 09:00 Europe/London</bpmn:timeDate>
</bpmn:timerEventDefinition>
</bpmn:intermediateCatchEvent>
<bpmn:serviceTask id="Task_welcome_email__draft" name="Draft: Welcome email" implementation="##unspecified">
<bpmn:documentation>Models drafts the welcome email from the instruction 'welcome_email', given only non-sensitive fields. If Models fails, the step is a task: write it by hand.</bpmn:documentation>
<bpmn:incoming>Flow_Timer_welcome_email__Task_welcome_email__draft</bpmn:incoming>
<bpmn:outgoing>Flow_Task_welcome_email__draft__Task_welcome_email</bpmn:outgoing>
<bpmn:ioSpecification id="InputOutputSpecification_Task_welcome_email__draft">
<bpmn:dataInput id="Task_welcome_email__draft_in_preferred_name" name="preferred_name" />
<bpmn:dataInput id="Task_welcome_email__draft_in_job_title" name="job_title" />
<bpmn:dataInput id="Task_welcome_email__draft_in_org_unit_name" name="org_unit_name" />
<bpmn:dataInput id="Task_welcome_email__draft_in_start_date" name="start_date" />
<bpmn:dataInput id="Task_welcome_email__draft_in_buddy_name" name="buddy_name" />
<bpmn:dataInput id="Task_welcome_email__draft_in_manager_name" name="manager_name" />
<bpmn:dataInput id="Task_welcome_email__draft_in_first_project" name="first_project" />
<bpmn:dataInput id="Task_welcome_email__draft_in_location_name" name="location_name" />
<bpmn:dataOutput id="Task_welcome_email__draft_out_draft_text" name="draft_text" />
<bpmn:inputSet id="InputSet_Task_welcome_email__draft">
<bpmn:dataInputRefs>Task_welcome_email__draft_in_preferred_name</bpmn:dataInputRefs>
<bpmn:dataInputRefs>Task_welcome_email__draft_in_job_title</bpmn:dataInputRefs>
<bpmn:dataInputRefs>Task_welcome_email__draft_in_org_unit_name</bpmn:dataInputRefs>
<bpmn:dataInputRefs>Task_welcome_email__draft_in_start_date</bpmn:dataInputRefs>
<bpmn:dataInputRefs>Task_welcome_email__draft_in_buddy_name</bpmn:dataInputRefs>
<bpmn:dataInputRefs>Task_welcome_email__draft_in_manager_name</bpmn:dataInputRefs>
<bpmn:dataInputRefs>Task_welcome_email__draft_in_first_project</bpmn:dataInputRefs>
<bpmn:dataInputRefs>Task_welcome_email__draft_in_location_name</bpmn:dataInputRefs>
</bpmn:inputSet>
<bpmn:outputSet id="OutputSet_Task_welcome_email__draft">
<bpmn:dataOutputRefs>Task_welcome_email__draft_out_draft_text</bpmn:dataOutputRefs>
</bpmn:outputSet>
</bpmn:ioSpecification>
<bpmn:dataOutputAssociation id="DataOutputAssociation_Task_welcome_email__draft_draft_welcome_email">
<bpmn:sourceRef>Task_welcome_email__draft_out_draft_text</bpmn:sourceRef>
<bpmn:targetRef>DataObjectReference_draft_welcome_email</bpmn:targetRef>
</bpmn:dataOutputAssociation>
</bpmn:serviceTask>
<bpmn:userTask id="Task_welcome_email" name="Approve: Welcome email drafted and approved" dodil:step="welcome_email">
<bpmn:documentation>The derived manager reads the draft, edits it if needed and approves it (approve_draft). Nothing is sent before it is approved.</bpmn:documentation>
<bpmn:incoming>Flow_Task_welcome_email__draft__Task_welcome_email</bpmn:incoming>
<bpmn:outgoing>Flow_Task_welcome_email__Timer_send_welcome_email</bpmn:outgoing>
</bpmn:userTask>
<bpmn:intermediateCatchEvent id="Timer_send_welcome_email" name="1 working day before start_date">
<bpmn:documentation>'Send the welcome email' is due 1 working day before start_date, 10:00 Europe/London. Working days skip weekends and the bank holidays of the person's calendar; moving the anchor date re-times only steps not yet done.</bpmn:documentation>
<bpmn:incoming>Flow_Task_welcome_email__Timer_send_welcome_email</bpmn:incoming>
<bpmn:outgoing>Flow_Timer_send_welcome_email__Task_send_welcome_email</bpmn:outgoing>
<bpmn:timerEventDefinition id="TimerEventDefinition_Timer_send_welcome_email">
<bpmn:timeDate xsi:type="bpmn:tFormalExpression">1 working day before start_date, 10:00 Europe/London</bpmn:timeDate>
</bpmn:timerEventDefinition>
</bpmn:intermediateCatchEvent>
<bpmn:serviceTask id="Task_send_welcome_email" name="Send the welcome email" dodil:step="send_welcome_email" implementation="##unspecified">
<bpmn:documentation>Capability mail.send: Send an email from a mailbox the connection may send as. With no provider wired it becomes a manual task for The derived manager carrying the same input and the plan in words; wiring a provider later makes the same step automatic.</bpmn:documentation>
<bpmn:incoming>Flow_Timer_send_welcome_email__Task_send_welcome_email</bpmn:incoming>
<bpmn:outgoing>Flow_Task_send_welcome_email__Gateway_end</bpmn:outgoing>
<bpmn:ioSpecification id="InputOutputSpecification_Task_send_welcome_email">
<bpmn:dataInput id="Task_send_welcome_email_in_from_email" name="from_email">
<bpmn:documentation>from {manager_email}</bpmn:documentation>
</bpmn:dataInput>
<bpmn:dataInput id="Task_send_welcome_email_in_to" name="to">
<bpmn:documentation>from {personal_email_list}</bpmn:documentation>
</bpmn:dataInput>
<bpmn:dataInput id="Task_send_welcome_email_in_cc" name="cc">
<bpmn:documentation>from []</bpmn:documentation>
</bpmn:dataInput>
<bpmn:dataInput id="Task_send_welcome_email_in_subject" name="subject">
<bpmn:documentation>from Welcome, {preferred_name}</bpmn:documentation>
</bpmn:dataInput>
<bpmn:dataInput id="Task_send_welcome_email_in_body_text" name="body_text">
<bpmn:documentation>from {draft.welcome_email}</bpmn:documentation>
</bpmn:dataInput>
<bpmn:dataInput id="Task_send_welcome_email_in_body_html" name="body_html">
<bpmn:documentation>from null</bpmn:documentation>
</bpmn:dataInput>
<bpmn:dataOutput id="Task_send_welcome_email_out_message_id" name="message_id" />
<bpmn:inputSet id="InputSet_Task_send_welcome_email">
<bpmn:dataInputRefs>Task_send_welcome_email_in_from_email</bpmn:dataInputRefs>
<bpmn:dataInputRefs>Task_send_welcome_email_in_to</bpmn:dataInputRefs>
<bpmn:dataInputRefs>Task_send_welcome_email_in_cc</bpmn:dataInputRefs>
<bpmn:dataInputRefs>Task_send_welcome_email_in_subject</bpmn:dataInputRefs>
<bpmn:dataInputRefs>Task_send_welcome_email_in_body_text</bpmn:dataInputRefs>
<bpmn:dataInputRefs>Task_send_welcome_email_in_body_html</bpmn:dataInputRefs>
</bpmn:inputSet>
<bpmn:outputSet id="OutputSet_Task_send_welcome_email">
<bpmn:dataOutputRefs>Task_send_welcome_email_out_message_id</bpmn:dataOutputRefs>
</bpmn:outputSet>
</bpmn:ioSpecification>
<bpmn:dataInputAssociation id="DataInputAssociation_Task_send_welcome_email_body_text_draft_welcome_email">
<bpmn:sourceRef>DataObjectReference_draft_welcome_email</bpmn:sourceRef>
<bpmn:targetRef>Task_send_welcome_email_in_body_text</bpmn:targetRef>
</bpmn:dataInputAssociation>
</bpmn:serviceTask>
<bpmn:intermediateCatchEvent id="Timer_day_one_welcome" name="2 working days before start_date">
<bpmn:documentation>'Day-one welcome in the calendar' is due 2 working days before start_date, 09:00 Europe/London. Working days skip weekends and the bank holidays of the person's calendar; moving the anchor date re-times only steps not yet done.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_create_account__fork__Timer_day_one_welcome</bpmn:incoming>
<bpmn:outgoing>Flow_Timer_day_one_welcome__Task_day_one_welcome</bpmn:outgoing>
<bpmn:timerEventDefinition id="TimerEventDefinition_Timer_day_one_welcome">
<bpmn:timeDate xsi:type="bpmn:tFormalExpression">2 working days before start_date, 09:00 Europe/London</bpmn:timeDate>
</bpmn:timerEventDefinition>
</bpmn:intermediateCatchEvent>
<bpmn:serviceTask id="Task_day_one_welcome" name="Day-one welcome in the calendar" dodil:step="day_one_welcome" implementation="##unspecified">
<bpmn:documentation>Capability calendar.create_event: Create a calendar event and invite people. With no provider wired it becomes a manual task for The derived manager carrying the same input and the plan in words; wiring a provider later makes the same step automatic.</bpmn:documentation>
<bpmn:incoming>Flow_Timer_day_one_welcome__Task_day_one_welcome</bpmn:incoming>
<bpmn:outgoing>Flow_Task_day_one_welcome__Gateway_end</bpmn:outgoing>
<bpmn:ioSpecification id="InputOutputSpecification_Task_day_one_welcome">
<bpmn:dataInput id="Task_day_one_welcome_in_organizer" name="organizer">
<bpmn:documentation>from {manager_email}</bpmn:documentation>
</bpmn:dataInput>
<bpmn:dataInput id="Task_day_one_welcome_in_title" name="title">
<bpmn:documentation>from Welcome, {preferred_name}</bpmn:documentation>
</bpmn:dataInput>
<bpmn:dataInput id="Task_day_one_welcome_in_start" name="start">
<bpmn:documentation>from {start_date}T09:30:00</bpmn:documentation>
</bpmn:dataInput>
<bpmn:dataInput id="Task_day_one_welcome_in_end" name="end">
<bpmn:documentation>from {start_date}T10:30:00</bpmn:documentation>
</bpmn:dataInput>
<bpmn:dataInput id="Task_day_one_welcome_in_timezone" name="timezone">
<bpmn:documentation>from {timezone}</bpmn:documentation>
</bpmn:dataInput>
<bpmn:dataInput id="Task_day_one_welcome_in_attendees" name="attendees">
<bpmn:documentation>from {first_week_attendees}</bpmn:documentation>
</bpmn:dataInput>
<bpmn:dataInput id="Task_day_one_welcome_in_description" name="description">
<bpmn:documentation>from Day-one welcome</bpmn:documentation>
</bpmn:dataInput>
<bpmn:dataInput id="Task_day_one_welcome_in_location" name="location">
<bpmn:documentation>from {location_name}</bpmn:documentation>
</bpmn:dataInput>
<bpmn:dataOutput id="Task_day_one_welcome_out_event_id" name="event_id" />
<bpmn:dataOutput id="Task_day_one_welcome_out_url" name="url" />
<bpmn:inputSet id="InputSet_Task_day_one_welcome">
<bpmn:dataInputRefs>Task_day_one_welcome_in_organizer</bpmn:dataInputRefs>
<bpmn:dataInputRefs>Task_day_one_welcome_in_title</bpmn:dataInputRefs>
<bpmn:dataInputRefs>Task_day_one_welcome_in_start</bpmn:dataInputRefs>
<bpmn:dataInputRefs>Task_day_one_welcome_in_end</bpmn:dataInputRefs>
<bpmn:dataInputRefs>Task_day_one_welcome_in_timezone</bpmn:dataInputRefs>
<bpmn:dataInputRefs>Task_day_one_welcome_in_attendees</bpmn:dataInputRefs>
<bpmn:dataInputRefs>Task_day_one_welcome_in_description</bpmn:dataInputRefs>
<bpmn:dataInputRefs>Task_day_one_welcome_in_location</bpmn:dataInputRefs>
</bpmn:inputSet>
<bpmn:outputSet id="OutputSet_Task_day_one_welcome">
<bpmn:dataOutputRefs>Task_day_one_welcome_out_event_id</bpmn:dataOutputRefs>
<bpmn:dataOutputRefs>Task_day_one_welcome_out_url</bpmn:dataOutputRefs>
</bpmn:outputSet>
</bpmn:ioSpecification>
</bpmn:serviceTask>
<bpmn:intermediateCatchEvent id="Timer_laptop_ready" name="1 working day before start_date">
<bpmn:documentation>'Laptop ready' is due 1 working day before start_date, 16:00 Europe/London. Working days skip weekends and the bank holidays of the person's calendar; moving the anchor date re-times only steps not yet done.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_start__Timer_laptop_ready</bpmn:incoming>
<bpmn:outgoing>Flow_Timer_laptop_ready__Task_laptop_ready</bpmn:outgoing>
<bpmn:timerEventDefinition id="TimerEventDefinition_Timer_laptop_ready">
<bpmn:timeDate xsi:type="bpmn:tFormalExpression">1 working day before start_date, 16:00 Europe/London</bpmn:timeDate>
</bpmn:timerEventDefinition>
</bpmn:intermediateCatchEvent>
<bpmn:userTask id="Task_laptop_ready" name="Laptop ready" dodil:step="laptop_ready">
<bpmn:documentation>A task for IT / ops; done when someone in the group marks it done (complete_step). Chased every 1 working day, up to 3 times, then a task for HR: task overdue.</bpmn:documentation>
<bpmn:incoming>Flow_Timer_laptop_ready__Task_laptop_ready</bpmn:incoming>
<bpmn:outgoing>Flow_Task_laptop_ready__Gateway_end</bpmn:outgoing>
</bpmn:userTask>
<bpmn:intermediateCatchEvent id="Timer_buddy_coffee" name="1 working day after start_date">
<bpmn:documentation>'Buddy coffee' is due 1 working day after start_date, 10:00 Europe/London. Working days skip weekends and the bank holidays of the person's calendar; moving the anchor date re-times only steps not yet done.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_start__Timer_buddy_coffee</bpmn:incoming>
<bpmn:outgoing>Flow_Timer_buddy_coffee__Task_buddy_coffee</bpmn:outgoing>
<bpmn:timerEventDefinition id="TimerEventDefinition_Timer_buddy_coffee">
<bpmn:timeDate xsi:type="bpmn:tFormalExpression">1 working day after start_date, 10:00 Europe/London</bpmn:timeDate>
</bpmn:timerEventDefinition>
</bpmn:intermediateCatchEvent>
<bpmn:userTask id="Task_buddy_coffee" name="Buddy coffee" dodil:step="buddy_coffee">
<bpmn:documentation>A task for The buddy; done when someone in the group marks it done (complete_step). Chased every 1 working day, up to 3 times, then a task for HR: task overdue.</bpmn:documentation>
<bpmn:incoming>Flow_Timer_buddy_coffee__Task_buddy_coffee</bpmn:incoming>
<bpmn:outgoing>Flow_Task_buddy_coffee__Gateway_end</bpmn:outgoing>
</bpmn:userTask>
<bpmn:intermediateCatchEvent id="Timer_first_project_brief" name="on start_date">
<bpmn:documentation>'First project brief' is due on start_date, 09:30 Europe/London. Working days skip weekends and the bank holidays of the person's calendar; moving the anchor date re-times only steps not yet done.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_start__Timer_first_project_brief</bpmn:incoming>
<bpmn:outgoing>Flow_Timer_first_project_brief__Task_first_project_brief</bpmn:outgoing>
<bpmn:timerEventDefinition id="TimerEventDefinition_Timer_first_project_brief">
<bpmn:timeDate xsi:type="bpmn:tFormalExpression">on start_date, 09:30 Europe/London</bpmn:timeDate>
</bpmn:timerEventDefinition>
</bpmn:intermediateCatchEvent>
<bpmn:userTask id="Task_first_project_brief" name="First project brief" dodil:step="first_project_brief">
<bpmn:documentation>A task for The derived manager; done when someone in the group marks it done (complete_step). Chased every 1 working day, up to 3 times, then a task for HR: task overdue.</bpmn:documentation>
<bpmn:incoming>Flow_Timer_first_project_brief__Task_first_project_brief</bpmn:incoming>
<bpmn:outgoing>Flow_Task_first_project_brief__Gateway_end</bpmn:outgoing>
</bpmn:userTask>
<bpmn:intermediateCatchEvent id="Timer_week_one_review" name="4 working days after start_date">
<bpmn:documentation>'Week-one review' is due 4 working days after start_date, 15:00 Europe/London. Working days skip weekends and the bank holidays of the person's calendar; moving the anchor date re-times only steps not yet done.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_start__Timer_week_one_review</bpmn:incoming>
<bpmn:outgoing>Flow_Timer_week_one_review__Task_week_one_review</bpmn:outgoing>
<bpmn:timerEventDefinition id="TimerEventDefinition_Timer_week_one_review">
<bpmn:timeDate xsi:type="bpmn:tFormalExpression">4 working days after start_date, 15:00 Europe/London</bpmn:timeDate>
</bpmn:timerEventDefinition>
</bpmn:intermediateCatchEvent>
<bpmn:userTask id="Task_week_one_review" name="Week-one review" dodil:step="week_one_review">
<bpmn:documentation>A task for The derived manager; done when someone in the group marks it done (complete_step). Chased every 1 working day, up to 3 times, then a task for HR: task overdue.</bpmn:documentation>
<bpmn:incoming>Flow_Timer_week_one_review__Task_week_one_review</bpmn:incoming>
<bpmn:outgoing>Flow_Task_week_one_review__Gateway_end</bpmn:outgoing>
</bpmn:userTask>
<bpmn:intermediateCatchEvent id="Timer_payroll_setup" name="5 working days before start_date">
<bpmn:documentation>'Payroll set-up' is due 5 working days before start_date, 09:00 Europe/London. Working days skip weekends and the bank holidays of the person's calendar; moving the anchor date re-times only steps not yet done.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_start__Timer_payroll_setup</bpmn:incoming>
<bpmn:outgoing>Flow_Timer_payroll_setup__Task_payroll_setup</bpmn:outgoing>
<bpmn:timerEventDefinition id="TimerEventDefinition_Timer_payroll_setup">
<bpmn:timeDate xsi:type="bpmn:tFormalExpression">5 working days before start_date, 09:00 Europe/London</bpmn:timeDate>
</bpmn:timerEventDefinition>
</bpmn:intermediateCatchEvent>
<bpmn:userTask id="Task_payroll_setup" name="Payroll set-up" dodil:step="payroll_setup" dodil:pcf="10497">
<bpmn:documentation>A task for Finance; done when someone in the group marks it done (complete_step). Chased every 1 working day, up to 3 times, then a task for HR: task overdue.</bpmn:documentation>
<bpmn:incoming>Flow_Timer_payroll_setup__Task_payroll_setup</bpmn:incoming>
<bpmn:outgoing>Flow_Task_payroll_setup__Gateway_end</bpmn:outgoing>
</bpmn:userTask>
<bpmn:parallelGateway id="Gateway_start">
<bpmn:documentation>Every step with no dependency starts at once; each then waits for its own timing rule.</bpmn:documentation>
<bpmn:incoming>Flow_StartEvent__Gateway_start</bpmn:incoming>
<bpmn:outgoing>Flow_Gateway_start__Task_starter_details</bpmn:outgoing>
<bpmn:outgoing>Flow_Gateway_start__Gateway_approve_rate__if</bpmn:outgoing>
<bpmn:outgoing>Flow_Gateway_start__Timer_right_to_work_check</bpmn:outgoing>
<bpmn:outgoing>Flow_Gateway_start__Timer_welcome_email</bpmn:outgoing>
<bpmn:outgoing>Flow_Gateway_start__Timer_laptop_ready</bpmn:outgoing>
<bpmn:outgoing>Flow_Gateway_start__Timer_buddy_coffee</bpmn:outgoing>
<bpmn:outgoing>Flow_Gateway_start__Timer_first_project_brief</bpmn:outgoing>
<bpmn:outgoing>Flow_Gateway_start__Timer_week_one_review</bpmn:outgoing>
<bpmn:outgoing>Flow_Gateway_start__Timer_payroll_setup</bpmn:outgoing>
</bpmn:parallelGateway>
<bpmn:parallelGateway id="Gateway_create_account__fork">
<bpmn:documentation>'Create the work account' done: "Add to the team's groups", "Add to the team's chat spaces", 'Day-one welcome in the calendar' may go.</bpmn:documentation>
<bpmn:incoming>Flow_Task_create_account__Gateway_create_account__fork</bpmn:incoming>
<bpmn:outgoing>Flow_Gateway_create_account__fork__Timer_add_to_groups</bpmn:outgoing>
<bpmn:outgoing>Flow_Gateway_create_account__fork__Timer_add_to_chat_spaces</bpmn:outgoing>
<bpmn:outgoing>Flow_Gateway_create_account__fork__Timer_day_one_welcome</bpmn:outgoing>
</bpmn:parallelGateway>
<bpmn:parallelGateway id="Gateway_end">
<bpmn:documentation>The run is complete when every branch is.</bpmn:documentation>
<bpmn:incoming>Flow_Task_starter_details__Gateway_end</bpmn:incoming>
<bpmn:incoming>Flow_Task_right_to_work_check__Gateway_end</bpmn:incoming>
<bpmn:incoming>Flow_Task_add_to_groups__Gateway_end</bpmn:incoming>
<bpmn:incoming>Flow_Task_add_to_chat_spaces__Gateway_end</bpmn:incoming>
<bpmn:incoming>Flow_Task_send_welcome_email__Gateway_end</bpmn:incoming>
<bpmn:incoming>Flow_Task_day_one_welcome__Gateway_end</bpmn:incoming>
<bpmn:incoming>Flow_Task_laptop_ready__Gateway_end</bpmn:incoming>
<bpmn:incoming>Flow_Task_buddy_coffee__Gateway_end</bpmn:incoming>
<bpmn:incoming>Flow_Task_first_project_brief__Gateway_end</bpmn:incoming>
<bpmn:incoming>Flow_Task_week_one_review__Gateway_end</bpmn:incoming>
<bpmn:incoming>Flow_Task_payroll_setup__Gateway_end</bpmn:incoming>
<bpmn:outgoing>Flow_Gateway_end__EndEvent</bpmn:outgoing>
</bpmn:parallelGateway>
<bpmn:sequenceFlow id="Flow_Gateway_approve_rate__if__Task_approve_rate" name="yes" sourceRef="Gateway_approve_rate__if" targetRef="Task_approve_rate">
<bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">the agreed rate is outside the pay band</bpmn:conditionExpression>
</bpmn:sequenceFlow>
<bpmn:sequenceFlow id="Flow_Gateway_approve_rate__if__Gateway_approve_rate__if_end" name="no: skipped" sourceRef="Gateway_approve_rate__if" targetRef="Gateway_approve_rate__if_end" />
<bpmn:sequenceFlow id="Flow_Task_approve_rate__Gateway_approve_rate__if_end" sourceRef="Task_approve_rate" targetRef="Gateway_approve_rate__if_end" />
<bpmn:sequenceFlow id="Flow_Timer_right_to_work_check__Task_right_to_work_check" sourceRef="Timer_right_to_work_check" targetRef="Task_right_to_work_check" />
<bpmn:sequenceFlow id="Flow_Timer_create_account__Gateway_create_account__requires_right_to_work_check" sourceRef="Timer_create_account" targetRef="Gateway_create_account__requires_right_to_work_check" />
<bpmn:sequenceFlow id="Flow_Gateway_create_account__requires_right_to_work_check__Task_create_account" name="recorded" sourceRef="Gateway_create_account__requires_right_to_work_check" targetRef="Task_create_account">
<bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">a right to work check is recorded, or it is not required (it is only when the worker type is one of employee_ft, employee_pt, employee_fixed, intern)</bpmn:conditionExpression>
</bpmn:sequenceFlow>
<bpmn:sequenceFlow id="Flow_Gateway_create_account__requires_right_to_work_check__Task_create_account__record_right_to_work_check" name="not yet" sourceRef="Gateway_create_account__requires_right_to_work_check" targetRef="Task_create_account__record_right_to_work_check" />
<bpmn:sequenceFlow id="Flow_Task_create_account__record_right_to_work_check__Task_create_account" sourceRef="Task_create_account__record_right_to_work_check" targetRef="Task_create_account" />
<bpmn:sequenceFlow id="Flow_Timer_add_to_groups__Task_add_to_groups" sourceRef="Timer_add_to_groups" targetRef="Task_add_to_groups" />
<bpmn:sequenceFlow id="Flow_Timer_add_to_chat_spaces__Task_add_to_chat_spaces" sourceRef="Timer_add_to_chat_spaces" targetRef="Task_add_to_chat_spaces" />
<bpmn:sequenceFlow id="Flow_Timer_welcome_email__Task_welcome_email__draft" sourceRef="Timer_welcome_email" targetRef="Task_welcome_email__draft" />
<bpmn:sequenceFlow id="Flow_Task_welcome_email__draft__Task_welcome_email" sourceRef="Task_welcome_email__draft" targetRef="Task_welcome_email" />
<bpmn:sequenceFlow id="Flow_Timer_send_welcome_email__Task_send_welcome_email" sourceRef="Timer_send_welcome_email" targetRef="Task_send_welcome_email" />
<bpmn:sequenceFlow id="Flow_Timer_day_one_welcome__Task_day_one_welcome" sourceRef="Timer_day_one_welcome" targetRef="Task_day_one_welcome" />
<bpmn:sequenceFlow id="Flow_Timer_laptop_ready__Task_laptop_ready" sourceRef="Timer_laptop_ready" targetRef="Task_laptop_ready" />
<bpmn:sequenceFlow id="Flow_Timer_buddy_coffee__Task_buddy_coffee" sourceRef="Timer_buddy_coffee" targetRef="Task_buddy_coffee" />
<bpmn:sequenceFlow id="Flow_Timer_first_project_brief__Task_first_project_brief" sourceRef="Timer_first_project_brief" targetRef="Task_first_project_brief" />
<bpmn:sequenceFlow id="Flow_Timer_week_one_review__Task_week_one_review" sourceRef="Timer_week_one_review" targetRef="Task_week_one_review" />
<bpmn:sequenceFlow id="Flow_Timer_payroll_setup__Task_payroll_setup" sourceRef="Timer_payroll_setup" targetRef="Task_payroll_setup" />
<bpmn:sequenceFlow id="Flow_StartEvent__Gateway_start" sourceRef="StartEvent" targetRef="Gateway_start" />
<bpmn:sequenceFlow id="Flow_Gateway_start__Task_starter_details" sourceRef="Gateway_start" targetRef="Task_starter_details" />
<bpmn:sequenceFlow id="Flow_Gateway_start__Gateway_approve_rate__if" sourceRef="Gateway_start" targetRef="Gateway_approve_rate__if" />
<bpmn:sequenceFlow id="Flow_Gateway_start__Timer_right_to_work_check" sourceRef="Gateway_start" targetRef="Timer_right_to_work_check" />
<bpmn:sequenceFlow id="Flow_Gateway_start__Timer_welcome_email" sourceRef="Gateway_start" targetRef="Timer_welcome_email" />
<bpmn:sequenceFlow id="Flow_Gateway_start__Timer_laptop_ready" sourceRef="Gateway_start" targetRef="Timer_laptop_ready" />
<bpmn:sequenceFlow id="Flow_Gateway_start__Timer_buddy_coffee" sourceRef="Gateway_start" targetRef="Timer_buddy_coffee" />
<bpmn:sequenceFlow id="Flow_Gateway_start__Timer_first_project_brief" sourceRef="Gateway_start" targetRef="Timer_first_project_brief" />
<bpmn:sequenceFlow id="Flow_Gateway_start__Timer_week_one_review" sourceRef="Gateway_start" targetRef="Timer_week_one_review" />
<bpmn:sequenceFlow id="Flow_Gateway_start__Timer_payroll_setup" sourceRef="Gateway_start" targetRef="Timer_payroll_setup" />
<bpmn:sequenceFlow id="Flow_Task_create_account__Gateway_create_account__fork" sourceRef="Task_create_account" targetRef="Gateway_create_account__fork" />
<bpmn:sequenceFlow id="Flow_Gateway_approve_rate__if_end__Task_send_contract" sourceRef="Gateway_approve_rate__if_end" targetRef="Task_send_contract" />
<bpmn:sequenceFlow id="Flow_Task_send_contract__Timer_create_account" sourceRef="Task_send_contract" targetRef="Timer_create_account" />
<bpmn:sequenceFlow id="Flow_Gateway_create_account__fork__Timer_add_to_groups" sourceRef="Gateway_create_account__fork" targetRef="Timer_add_to_groups" />
<bpmn:sequenceFlow id="Flow_Gateway_create_account__fork__Timer_add_to_chat_spaces" sourceRef="Gateway_create_account__fork" targetRef="Timer_add_to_chat_spaces" />
<bpmn:sequenceFlow id="Flow_Task_welcome_email__Timer_send_welcome_email" sourceRef="Task_welcome_email" targetRef="Timer_send_welcome_email" />
<bpmn:sequenceFlow id="Flow_Gateway_create_account__fork__Timer_day_one_welcome" sourceRef="Gateway_create_account__fork" targetRef="Timer_day_one_welcome" />
<bpmn:sequenceFlow id="Flow_Task_starter_details__Gateway_end" sourceRef="Task_starter_details" targetRef="Gateway_end" />
<bpmn:sequenceFlow id="Flow_Task_right_to_work_check__Gateway_end" sourceRef="Task_right_to_work_check" targetRef="Gateway_end" />
<bpmn:sequenceFlow id="Flow_Task_add_to_groups__Gateway_end" sourceRef="Task_add_to_groups" targetRef="Gateway_end" />
<bpmn:sequenceFlow id="Flow_Task_add_to_chat_spaces__Gateway_end" sourceRef="Task_add_to_chat_spaces" targetRef="Gateway_end" />
<bpmn:sequenceFlow id="Flow_Task_send_welcome_email__Gateway_end" sourceRef="Task_send_welcome_email" targetRef="Gateway_end" />
<bpmn:sequenceFlow id="Flow_Task_day_one_welcome__Gateway_end" sourceRef="Task_day_one_welcome" targetRef="Gateway_end" />
<bpmn:sequenceFlow id="Flow_Task_laptop_ready__Gateway_end" sourceRef="Task_laptop_ready" targetRef="Gateway_end" />
<bpmn:sequenceFlow id="Flow_Task_buddy_coffee__Gateway_end" sourceRef="Task_buddy_coffee" targetRef="Gateway_end" />
<bpmn:sequenceFlow id="Flow_Task_first_project_brief__Gateway_end" sourceRef="Task_first_project_brief" targetRef="Gateway_end" />
<bpmn:sequenceFlow id="Flow_Task_week_one_review__Gateway_end" sourceRef="Task_week_one_review" targetRef="Gateway_end" />
<bpmn:sequenceFlow id="Flow_Task_payroll_setup__Gateway_end" sourceRef="Task_payroll_setup" targetRef="Gateway_end" />
<bpmn:sequenceFlow id="Flow_Gateway_end__EndEvent" sourceRef="Gateway_end" targetRef="EndEvent" />
<bpmn:dataObject id="DataObject_intake" name="Starter's details">
<bpmn:documentation>The intake fields (names only, values are sensitive): home_address (Home address); ni_number (National Insurance number); bank_account_name (Bank account name); bank_sort_code (Sort code); bank_account_number (Account number); emergency_contact (Emergency contact (name and phone)); right_to_work (Right-to-work document)</bpmn:documentation>
</bpmn:dataObject>
<bpmn:dataObjectReference id="DataObjectReference_intake" name="Starter's details" dataObjectRef="DataObject_intake" />
<bpmn:dataObject id="DataObject_contract_send_contract" name="Contract: Employment contract (with the written statement)">
<bpmn:documentation>The Employment contract (with the written statement) drafted, signed and filed on the person (employment_contract).</bpmn:documentation>
</bpmn:dataObject>
<bpmn:dataObjectReference id="DataObjectReference_contract_send_contract" name="Contract: Employment contract (with the written statement)" dataObjectRef="DataObject_contract_send_contract" />
<bpmn:dataObject id="DataObject_draft_welcome_email" name="Draft: Welcome email">
<bpmn:documentation>The welcome email as approved (approve_draft); what later steps send.</bpmn:documentation>
</bpmn:dataObject>
<bpmn:dataObjectReference id="DataObjectReference_draft_welcome_email" name="Draft: Welcome email" dataObjectRef="DataObject_draft_welcome_email" />
</bpmn:process>
<bpmndi:BPMNDiagram id="BPMNDiagram_employee-onboarding_v1" name="Employee onboarding">
<bpmndi:BPMNPlane id="BPMNPlane_employee-onboarding_v1" bpmnElement="Collaboration_employee-onboarding_v1">
<bpmndi:BPMNShape id="Participant_employee-onboarding_di" bpmnElement="Participant_employee-onboarding" isHorizontal="true" isExpanded="true">
<dc:Bounds x="150" y="80" width="2350" height="1440" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Lane_hr_di" bpmnElement="Lane_hr" isHorizontal="true">
<dc:Bounds x="180" y="80" width="2320" height="480" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Lane_it_di" bpmnElement="Lane_it" isHorizontal="true">
<dc:Bounds x="180" y="560" width="2320" height="240" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Lane_manager_di" bpmnElement="Lane_manager" isHorizontal="true">
<dc:Bounds x="180" y="800" width="2320" height="480" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Lane_buddy_di" bpmnElement="Lane_buddy" isHorizontal="true">
<dc:Bounds x="180" y="1280" width="2320" height="120" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Lane_finance_di" bpmnElement="Lane_finance" isHorizontal="true">
<dc:Bounds x="180" y="1400" width="2320" height="120" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="StartEvent_di" bpmnElement="StartEvent">
<dc:Bounds x="287" y="122" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="EndEvent_di" bpmnElement="EndEvent">
<dc:Bounds x="2387" y="122" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_starter_details_di" bpmnElement="Task_starter_details">
<dc:Bounds x="555" y="100" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_approve_rate_di" bpmnElement="Task_approve_rate">
<dc:Bounds x="705" y="100" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_approve_rate__if_di" bpmnElement="Gateway_approve_rate__if">
<dc:Bounds x="580" y="235" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_approve_rate__if_end_di" bpmnElement="Gateway_approve_rate__if_end">
<dc:Bounds x="880" y="115" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_send_contract_di" bpmnElement="Task_send_contract">
<dc:Bounds x="1005" y="100" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Timer_right_to_work_check_di" bpmnElement="Timer_right_to_work_check">
<dc:Bounds x="587" y="362" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_right_to_work_check_di" bpmnElement="Task_right_to_work_check">
<dc:Bounds x="705" y="220" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Timer_create_account_di" bpmnElement="Timer_create_account">
<dc:Bounds x="1187" y="602" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_create_account__requires_right_to_work_check_di" bpmnElement="Gateway_create_account__requires_right_to_work_check">
<dc:Bounds x="1330" y="595" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_create_account__record_right_to_work_check_di" bpmnElement="Task_create_account__record_right_to_work_check">
<dc:Bounds x="1455" y="100" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_create_account_di" bpmnElement="Task_create_account">
<dc:Bounds x="1605" y="580" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Timer_add_to_groups_di" bpmnElement="Timer_add_to_groups">
<dc:Bounds x="1937" y="602" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_add_to_groups_di" bpmnElement="Task_add_to_groups">
<dc:Bounds x="2055" y="580" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Timer_add_to_chat_spaces_di" bpmnElement="Timer_add_to_chat_spaces">
<dc:Bounds x="1937" y="722" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_add_to_chat_spaces_di" bpmnElement="Task_add_to_chat_spaces">
<dc:Bounds x="2055" y="700" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Timer_welcome_email_di" bpmnElement="Timer_welcome_email">
<dc:Bounds x="587" y="842" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_welcome_email__draft_di" bpmnElement="Task_welcome_email__draft">
<dc:Bounds x="705" y="820" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_welcome_email_di" bpmnElement="Task_welcome_email">
<dc:Bounds x="855" y="820" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Timer_send_welcome_email_di" bpmnElement="Timer_send_welcome_email">
<dc:Bounds x="1037" y="842" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_send_welcome_email_di" bpmnElement="Task_send_welcome_email">
<dc:Bounds x="1155" y="820" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Timer_day_one_welcome_di" bpmnElement="Timer_day_one_welcome">
<dc:Bounds x="1937" y="842" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_day_one_welcome_di" bpmnElement="Task_day_one_welcome">
<dc:Bounds x="2055" y="820" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Timer_laptop_ready_di" bpmnElement="Timer_laptop_ready">
<dc:Bounds x="587" y="602" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_laptop_ready_di" bpmnElement="Task_laptop_ready">
<dc:Bounds x="705" y="580" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Timer_buddy_coffee_di" bpmnElement="Timer_buddy_coffee">
<dc:Bounds x="587" y="1322" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_buddy_coffee_di" bpmnElement="Task_buddy_coffee">
<dc:Bounds x="705" y="1300" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Timer_first_project_brief_di" bpmnElement="Timer_first_project_brief">
<dc:Bounds x="587" y="962" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_first_project_brief_di" bpmnElement="Task_first_project_brief">
<dc:Bounds x="705" y="940" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Timer_week_one_review_di" bpmnElement="Timer_week_one_review">
<dc:Bounds x="587" y="1082" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_week_one_review_di" bpmnElement="Task_week_one_review">
<dc:Bounds x="705" y="1060" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Timer_payroll_setup_di" bpmnElement="Timer_payroll_setup">
<dc:Bounds x="587" y="1442" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_payroll_setup_di" bpmnElement="Task_payroll_setup">
<dc:Bounds x="705" y="1420" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_start_di" bpmnElement="Gateway_start">
<dc:Bounds x="430" y="115" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_create_account__fork_di" bpmnElement="Gateway_create_account__fork">
<dc:Bounds x="1780" y="595" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_end_di" bpmnElement="Gateway_end">
<dc:Bounds x="2230" y="115" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="DataObjectReference_intake_di" bpmnElement="DataObjectReference_intake">
<dc:Bounds x="587" y="475" width="36" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="DataObjectReference_contract_send_contract_di" bpmnElement="DataObjectReference_contract_send_contract">
<dc:Bounds x="1037" y="235" width="36" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="DataObjectReference_draft_welcome_email_di" bpmnElement="DataObjectReference_draft_welcome_email">
<dc:Bounds x="737" y="1195" width="36" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Participant_starter_di" bpmnElement="Participant_starter" isHorizontal="true" isExpanded="false">
<dc:Bounds x="495" y="1620" width="220" height="60" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Participant_drafting_di" bpmnElement="Participant_drafting" isHorizontal="true" isExpanded="false">
<dc:Bounds x="745" y="1620" width="220" height="60" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Participant_contracts_di" bpmnElement="Participant_contracts" isHorizontal="true" isExpanded="false">
<dc:Bounds x="995" y="1620" width="220" height="60" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Participant_mail_di" bpmnElement="Participant_mail" isHorizontal="true" isExpanded="false">
<dc:Bounds x="1245" y="1620" width="220" height="60" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Participant_identity_di" bpmnElement="Participant_identity" isHorizontal="true" isExpanded="false">
<dc:Bounds x="1545" y="1620" width="220" height="60" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Participant_calendar_di" bpmnElement="Participant_calendar" isHorizontal="true" isExpanded="false">
<dc:Bounds x="1995" y="1620" width="220" height="60" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Participant_chat_di" bpmnElement="Participant_chat" isHorizontal="true" isExpanded="false">
<dc:Bounds x="2245" y="1620" width="220" height="60" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Participant_groups_di" bpmnElement="Participant_groups" isHorizontal="true" isExpanded="false">
<dc:Bounds x="2495" y="1620" width="220" height="60" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="Flow_Gateway_approve_rate__if__Task_approve_rate_di" bpmnElement="Flow_Gateway_approve_rate__if__Task_approve_rate">
<di:waypoint x="630" y="260" />
<di:waypoint x="667" y="260" />
<di:waypoint x="667" y="140" />
<di:waypoint x="705" y="140" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_approve_rate__if__Gateway_approve_rate__if_end_di" bpmnElement="Flow_Gateway_approve_rate__if__Gateway_approve_rate__if_end">
<di:waypoint x="605" y="285" />
<di:waypoint x="605" y="312" />
<di:waypoint x="855" y="312" />
<di:waypoint x="855" y="140" />
<di:waypoint x="880" y="140" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_approve_rate__Gateway_approve_rate__if_end_di" bpmnElement="Flow_Task_approve_rate__Gateway_approve_rate__if_end">
<di:waypoint x="805" y="140" />
<di:waypoint x="880" y="140" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Timer_right_to_work_check__Task_right_to_work_check_di" bpmnElement="Flow_Timer_right_to_work_check__Task_right_to_work_check">
<di:waypoint x="623" y="380" />
<di:waypoint x="664" y="380" />
<di:waypoint x="664" y="260" />
<di:waypoint x="705" y="260" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Timer_create_account__Gateway_create_account__requires_right_to_work_check_di" bpmnElement="Flow_Timer_create_account__Gateway_create_account__requires_right_to_work_check">
<di:waypoint x="1223" y="620" />
<di:waypoint x="1330" y="620" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_create_account__requires_right_to_work_check__Task_create_account_di" bpmnElement="Flow_Gateway_create_account__requires_right_to_work_check__Task_create_account">
<di:waypoint x="1355" y="645" />
<di:waypoint x="1355" y="672" />
<di:waypoint x="1593" y="672" />
<di:waypoint x="1593" y="620" />
<di:waypoint x="1605" y="620" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_create_account__requires_right_to_work_check__Task_create_account__record_right_to_work_check_di" bpmnElement="Flow_Gateway_create_account__requires_right_to_work_check__Task_create_account__record_right_to_work_check">
<di:waypoint x="1380" y="620" />
<di:waypoint x="1417" y="620" />
<di:waypoint x="1417" y="140" />
<di:waypoint x="1455" y="140" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_create_account__record_right_to_work_check__Task_create_account_di" bpmnElement="Flow_Task_create_account__record_right_to_work_check__Task_create_account">
<di:waypoint x="1555" y="140" />
<di:waypoint x="1580" y="140" />
<di:waypoint x="1580" y="620" />
<di:waypoint x="1605" y="620" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Timer_add_to_groups__Task_add_to_groups_di" bpmnElement="Flow_Timer_add_to_groups__Task_add_to_groups">
<di:waypoint x="1973" y="620" />
<di:waypoint x="2055" y="620" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Timer_add_to_chat_spaces__Task_add_to_chat_spaces_di" bpmnElement="Flow_Timer_add_to_chat_spaces__Task_add_to_chat_spaces">
<di:waypoint x="1973" y="740" />
<di:waypoint x="2055" y="740" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Timer_welcome_email__Task_welcome_email__draft_di" bpmnElement="Flow_Timer_welcome_email__Task_welcome_email__draft">
<di:waypoint x="623" y="860" />
<di:waypoint x="705" y="860" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_welcome_email__draft__Task_welcome_email_di" bpmnElement="Flow_Task_welcome_email__draft__Task_welcome_email">
<di:waypoint x="805" y="860" />
<di:waypoint x="855" y="860" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Timer_send_welcome_email__Task_send_welcome_email_di" bpmnElement="Flow_Timer_send_welcome_email__Task_send_welcome_email">
<di:waypoint x="1073" y="860" />
<di:waypoint x="1155" y="860" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Timer_day_one_welcome__Task_day_one_welcome_di" bpmnElement="Flow_Timer_day_one_welcome__Task_day_one_welcome">
<di:waypoint x="1973" y="860" />
<di:waypoint x="2055" y="860" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Timer_laptop_ready__Task_laptop_ready_di" bpmnElement="Flow_Timer_laptop_ready__Task_laptop_ready">
<di:waypoint x="623" y="620" />
<di:waypoint x="705" y="620" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Timer_buddy_coffee__Task_buddy_coffee_di" bpmnElement="Flow_Timer_buddy_coffee__Task_buddy_coffee">
<di:waypoint x="623" y="1340" />
<di:waypoint x="705" y="1340" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Timer_first_project_brief__Task_first_project_brief_di" bpmnElement="Flow_Timer_first_project_brief__Task_first_project_brief">
<di:waypoint x="623" y="980" />
<di:waypoint x="705" y="980" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Timer_week_one_review__Task_week_one_review_di" bpmnElement="Flow_Timer_week_one_review__Task_week_one_review">
<di:waypoint x="623" y="1100" />
<di:waypoint x="705" y="1100" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Timer_payroll_setup__Task_payroll_setup_di" bpmnElement="Flow_Timer_payroll_setup__Task_payroll_setup">
<di:waypoint x="623" y="1460" />
<di:waypoint x="705" y="1460" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_StartEvent__Gateway_start_di" bpmnElement="Flow_StartEvent__Gateway_start">
<di:waypoint x="323" y="140" />
<di:waypoint x="430" y="140" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_start__Task_starter_details_di" bpmnElement="Flow_Gateway_start__Task_starter_details">
<di:waypoint x="480" y="140" />
<di:waypoint x="555" y="140" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_start__Gateway_approve_rate__if_di" bpmnElement="Flow_Gateway_start__Gateway_approve_rate__if">
<di:waypoint x="480" y="140" />
<di:waypoint x="530" y="140" />
<di:waypoint x="530" y="260" />
<di:waypoint x="580" y="260" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_start__Timer_right_to_work_check_di" bpmnElement="Flow_Gateway_start__Timer_right_to_work_check">
<di:waypoint x="480" y="140" />
<di:waypoint x="533" y="140" />
<di:waypoint x="533" y="380" />
<di:waypoint x="587" y="380" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_start__Timer_welcome_email_di" bpmnElement="Flow_Gateway_start__Timer_welcome_email">
<di:waypoint x="480" y="140" />
<di:waypoint x="533" y="140" />
<di:waypoint x="533" y="860" />
<di:waypoint x="587" y="860" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_start__Timer_laptop_ready_di" bpmnElement="Flow_Gateway_start__Timer_laptop_ready">
<di:waypoint x="480" y="140" />
<di:waypoint x="533" y="140" />
<di:waypoint x="533" y="620" />
<di:waypoint x="587" y="620" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_start__Timer_buddy_coffee_di" bpmnElement="Flow_Gateway_start__Timer_buddy_coffee">
<di:waypoint x="480" y="140" />
<di:waypoint x="533" y="140" />
<di:waypoint x="533" y="1340" />
<di:waypoint x="587" y="1340" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_start__Timer_first_project_brief_di" bpmnElement="Flow_Gateway_start__Timer_first_project_brief">
<di:waypoint x="480" y="140" />
<di:waypoint x="533" y="140" />
<di:waypoint x="533" y="980" />
<di:waypoint x="587" y="980" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_start__Timer_week_one_review_di" bpmnElement="Flow_Gateway_start__Timer_week_one_review">
<di:waypoint x="480" y="140" />
<di:waypoint x="533" y="140" />
<di:waypoint x="533" y="1100" />
<di:waypoint x="587" y="1100" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_start__Timer_payroll_setup_di" bpmnElement="Flow_Gateway_start__Timer_payroll_setup">
<di:waypoint x="480" y="140" />
<di:waypoint x="533" y="140" />
<di:waypoint x="533" y="1460" />
<di:waypoint x="587" y="1460" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_create_account__Gateway_create_account__fork_di" bpmnElement="Flow_Task_create_account__Gateway_create_account__fork">
<di:waypoint x="1705" y="620" />
<di:waypoint x="1780" y="620" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_approve_rate__if_end__Task_send_contract_di" bpmnElement="Flow_Gateway_approve_rate__if_end__Task_send_contract">
<di:waypoint x="930" y="140" />
<di:waypoint x="1005" y="140" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_send_contract__Timer_create_account_di" bpmnElement="Flow_Task_send_contract__Timer_create_account">
<di:waypoint x="1105" y="140" />
<di:waypoint x="1146" y="140" />
<di:waypoint x="1146" y="620" />
<di:waypoint x="1187" y="620" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_create_account__fork__Timer_add_to_groups_di" bpmnElement="Flow_Gateway_create_account__fork__Timer_add_to_groups">
<di:waypoint x="1830" y="620" />
<di:waypoint x="1937" y="620" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_create_account__fork__Timer_add_to_chat_spaces_di" bpmnElement="Flow_Gateway_create_account__fork__Timer_add_to_chat_spaces">
<di:waypoint x="1830" y="620" />
<di:waypoint x="1883" y="620" />
<di:waypoint x="1883" y="740" />
<di:waypoint x="1937" y="740" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_welcome_email__Timer_send_welcome_email_di" bpmnElement="Flow_Task_welcome_email__Timer_send_welcome_email">
<di:waypoint x="955" y="860" />
<di:waypoint x="1037" y="860" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_create_account__fork__Timer_day_one_welcome_di" bpmnElement="Flow_Gateway_create_account__fork__Timer_day_one_welcome">
<di:waypoint x="1830" y="620" />
<di:waypoint x="1883" y="620" />
<di:waypoint x="1883" y="860" />
<di:waypoint x="1937" y="860" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_starter_details__Gateway_end_di" bpmnElement="Flow_Task_starter_details__Gateway_end">
<di:waypoint x="605" y="180" />
<di:waypoint x="605" y="192" />
<di:waypoint x="2205" y="192" />
<di:waypoint x="2205" y="140" />
<di:waypoint x="2230" y="140" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_right_to_work_check__Gateway_end_di" bpmnElement="Flow_Task_right_to_work_check__Gateway_end">
<di:waypoint x="755" y="300" />
<di:waypoint x="755" y="312" />
<di:waypoint x="2205" y="312" />
<di:waypoint x="2205" y="140" />
<di:waypoint x="2230" y="140" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_add_to_groups__Gateway_end_di" bpmnElement="Flow_Task_add_to_groups__Gateway_end">
<di:waypoint x="2155" y="620" />
<di:waypoint x="2192" y="620" />
<di:waypoint x="2192" y="140" />
<di:waypoint x="2230" y="140" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_add_to_chat_spaces__Gateway_end_di" bpmnElement="Flow_Task_add_to_chat_spaces__Gateway_end">
<di:waypoint x="2155" y="740" />
<di:waypoint x="2192" y="740" />
<di:waypoint x="2192" y="140" />
<di:waypoint x="2230" y="140" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_send_welcome_email__Gateway_end_di" bpmnElement="Flow_Task_send_welcome_email__Gateway_end">
<di:waypoint x="1205" y="900" />
<di:waypoint x="1205" y="912" />
<di:waypoint x="2205" y="912" />
<di:waypoint x="2205" y="140" />
<di:waypoint x="2230" y="140" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_day_one_welcome__Gateway_end_di" bpmnElement="Flow_Task_day_one_welcome__Gateway_end">
<di:waypoint x="2155" y="860" />
<di:waypoint x="2192" y="860" />
<di:waypoint x="2192" y="140" />
<di:waypoint x="2230" y="140" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_laptop_ready__Gateway_end_di" bpmnElement="Flow_Task_laptop_ready__Gateway_end">
<di:waypoint x="755" y="660" />
<di:waypoint x="755" y="672" />
<di:waypoint x="2205" y="672" />
<di:waypoint x="2205" y="140" />
<di:waypoint x="2230" y="140" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_buddy_coffee__Gateway_end_di" bpmnElement="Flow_Task_buddy_coffee__Gateway_end">
<di:waypoint x="755" y="1380" />
<di:waypoint x="755" y="1392" />
<di:waypoint x="2205" y="1392" />
<di:waypoint x="2205" y="140" />
<di:waypoint x="2230" y="140" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_first_project_brief__Gateway_end_di" bpmnElement="Flow_Task_first_project_brief__Gateway_end">
<di:waypoint x="755" y="1020" />
<di:waypoint x="755" y="1032" />
<di:waypoint x="2205" y="1032" />
<di:waypoint x="2205" y="140" />
<di:waypoint x="2230" y="140" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_week_one_review__Gateway_end_di" bpmnElement="Flow_Task_week_one_review__Gateway_end">
<di:waypoint x="755" y="1140" />
<di:waypoint x="755" y="1152" />
<di:waypoint x="2205" y="1152" />
<di:waypoint x="2205" y="140" />
<di:waypoint x="2230" y="140" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_payroll_setup__Gateway_end_di" bpmnElement="Flow_Task_payroll_setup__Gateway_end">
<di:waypoint x="755" y="1500" />
<di:waypoint x="755" y="1512" />
<di:waypoint x="2205" y="1512" />
<di:waypoint x="2205" y="140" />
<di:waypoint x="2230" y="140" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_end__EndEvent_di" bpmnElement="Flow_Gateway_end__EndEvent">
<di:waypoint x="2280" y="140" />
<di:waypoint x="2387" y="140" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="MessageFlow_Task_starter_details_di" bpmnElement="MessageFlow_Task_starter_details">
<di:waypoint x="635" y="1620" />
<di:waypoint x="635" y="180" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="MessageFlow_Task_send_contract_di" bpmnElement="MessageFlow_Task_send_contract">
<di:waypoint x="1085" y="180" />
<di:waypoint x="1085" y="1620" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="MessageFlow_Task_create_account_di" bpmnElement="MessageFlow_Task_create_account">
<di:waypoint x="1685" y="660" />
<di:waypoint x="1685" y="1620" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="MessageFlow_Task_add_to_groups_di" bpmnElement="MessageFlow_Task_add_to_groups">
<di:waypoint x="2135" y="660" />
<di:waypoint x="2135" y="1590" />
<di:waypoint x="2510" y="1590" />
<di:waypoint x="2510" y="1620" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="MessageFlow_Task_add_to_chat_spaces_di" bpmnElement="MessageFlow_Task_add_to_chat_spaces">
<di:waypoint x="2135" y="780" />
<di:waypoint x="2135" y="1590" />
<di:waypoint x="2260" y="1590" />
<di:waypoint x="2260" y="1620" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="MessageFlow_Task_welcome_email__draft_di" bpmnElement="MessageFlow_Task_welcome_email__draft">
<di:waypoint x="785" y="900" />
<di:waypoint x="785" y="1620" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="MessageFlow_Task_send_welcome_email_di" bpmnElement="MessageFlow_Task_send_welcome_email">
<di:waypoint x="1235" y="900" />
<di:waypoint x="1235" y="1590" />
<di:waypoint x="1260" y="1590" />
<di:waypoint x="1260" y="1620" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="MessageFlow_Task_day_one_welcome_di" bpmnElement="MessageFlow_Task_day_one_welcome">
<di:waypoint x="2135" y="900" />
<di:waypoint x="2135" y="1620" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="DataOutputAssociation_Task_starter_details_intake_di" bpmnElement="DataOutputAssociation_Task_starter_details_intake">
<di:waypoint x="605" y="180" />
<di:waypoint x="605" y="475" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="DataOutputAssociation_Task_send_contract_contract_send_contract_di" bpmnElement="DataOutputAssociation_Task_send_contract_contract_send_contract">
<di:waypoint x="1055" y="180" />
<di:waypoint x="1055" y="235" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="DataOutputAssociation_Task_welcome_email__draft_draft_welcome_email_di" bpmnElement="DataOutputAssociation_Task_welcome_email__draft_draft_welcome_email">
<di:waypoint x="755" y="900" />
<di:waypoint x="755" y="1195" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="DataInputAssociation_Task_send_welcome_email_body_text_draft_welcome_email_di" bpmnElement="DataInputAssociation_Task_send_welcome_email_body_text_draft_welcome_email">
<di:waypoint x="773" y="1220" />
<di:waypoint x="1205" y="900" />
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn:definitions>