Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
94 changes: 94 additions & 0 deletions .github/ISSUE_TEMPLATE/leave_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
name: Leave Request
description: Request paid, sick, or unpaid leave
title: "Leave Request: FirstName LastName – YYYY-MM-DD to YYYY-MM-DD"
labels: ["leave-request", "needs-review"]
assignees: ["markholdex"]
body:
- type: markdown
attributes:
value: |
## Leave Request Form
Please fill out all fields below. Submit at least **14 days in advance** (except for sick/emergency leave).

- type: input
id: full_name
attributes:
label: Full Name
description: Your full name as in the agreement
placeholder: John Doe
validations:
required: true

- type: input
id: start_date
attributes:
label: Start Date (inclusive)
description: First day you will be off (YYYY-MM-DD)
placeholder: 2025-07-15
validations:
required: true

- type: input
id: end_date
attributes:
label: End Date (inclusive)
description: Last day you will be off (YYYY-MM-DD)
placeholder: 2025-07-23
validations:
required: true

- type: input
id: total_working_days
attributes:
label: Total Working Days Requested
description: Count only Mon–Fri
placeholder: 7
validations:
required: true

- type: dropdown
id: leave_type
attributes:
label: Leave Type
options:
- Paid Leave (Vacation/Personal)
- Sick Leave
- Unpaid Leave
- Emergency Leave
default: 0
validations:
required: true

- type: textarea
id: reason
attributes:
label: Reason (short & clear)
description: No medical details required for sick leave
placeholder: Family wedding in Spain • Medical appointment • etc.
validations:
required: true

- type: input
id: backup_person
attributes:
label: Backup / Coverage Person
description: Who will cover your responsibilities? (@username)
placeholder: "@jane-doe"
validations:
required: true

- type: checkboxes
id: confirmation
attributes:
label: Confirmation
options:
- label: I have informed my backup person
required: true
- label: I have checked that I have enough paid leave balance (if requesting paid leave)
required: false

- type: markdown
attributes:
value: |
Thank you! HR will review within 3 working days.
You will be notified here when the request is approved or rejected.
67 changes: 22 additions & 45 deletions docs/LEAVE_POLICY.md
Original file line number Diff line number Diff line change
@@ -1,64 +1,41 @@
# Leave Policy

## Introduction

Every team member (the Member) benefits from our "paid time off" allowance
described below or directly in the signed agreement.

> [!IMPORTANT]
> In case of conflict between the signed agreement and scheduler, the signed
agreement terms prevail.

## Year of Service

The Year of Service is 365 calendar days starting from the date of signing the
agreement.

## Minimum Service Period

The Minimum Service Period is 6 months since the date of signing the agreement.

## Leave Request

### Submit Request

2 weeks in advance (except for sick leave) the Member can submit the Leave
Request by creating a new GitHub issue in HR repository and providing:

- start and end dates, and
- leave reason.

### Approve or Reject Request
## How Many Days Do You Get?

HR Manager must consult with relevant Partner and approve leave request by
merging a pull request (PR) in PR Tracker repository or reject the Leave Request
by providing a detailed explanation and closing the issue with "Close as not
planned" option.
| Your Service Time | Paid Days per Year | Can Carry Over | Can Get Paid When Leaving |
|-------------------------|--------------------|----------------|---------------------------|
| 0 – 6 months | 0 days |||
| 6 months and more | 14 days | Max 3 days | Max 5 days |

## Leave Allowance
These 14 days cover **everything**: vacation, personal days, sick days, and
public holidays.

### Paid Leave
## When Does Your Year Start?

Members with the [Minimum Service Period](#minimum-service-period) are granted
14 days paid time off allowance (including holidays, sick leave, personal
leave).
Your personal leave year = **365 days from the date you signed your agreement**.

### Reimbursable Leave
## How to Ask for Leave?

1. In case of the agreement termination after the Minimum Service Period, up to
5 unused Paid Leave days can be compensated based on the following formula:
[Create Leave Request (GitHub form)](https://github.com/holdex/developers/issues/new?template=leave_request.yml).

```js
compensation = monthlyRate / 30 * reimbersableDays
```
1. Member can carry over 3 unused Paid Leave days into the following
[Year of Service](#year-of-service).
## What Happens After You Submit?

#### Unpaid Leave
| Result | What HR does |
|------------|---------------------------------------------------|
| Approved | HR merges a PR and writes “Approved” in your request |
| Rejected | HR closes the request and explains why |

The Unpaid Leave is deducted from the monthly payout. The deduction is
calculated with the following formula:
## Money Rules – Super Simple

```js
deduction = monthlyRate / 30 * requestedDaysOff
```
| Situation | What You Get / Lose |
|-----------------------------------|--------------------------------------------------------------------------------------|
| You leave the company | Up to 5 unused paid days are paid out → `monthly rate ÷ 30 × days` |
| You have leftover days at year end| Max 3 paid days move to next year. The rest disappear. |
| You take unpaid leave | Money is deducted → `monthly rate ÷ 30 × unpaid days` |