Antylogic
DemoApp login

399 operational guides

Docs sections
DocsTeam
Device

How to request your own vacation

Employees can request time off from My profile. Antylogic creates a `staff_vacation` calendar event with status `requested`, checks blackout and balance rules, and returns the employee to their profile.

In this article

Vacation requests start from the employee profile, so staff do not need an admin-only area to ask for time off. In the GB demo, Olivia Hart at Harbor Soho is the self-service example.

The form records the request as a calendar event, not as a separate vacation record. Managers can review the requested event later while the employee stays inside a guided, locked self-service flow.

Before you start

  • The user is signed in with an active organisation and location, such as Harbor Demo Group and Harbor Soho.
  • The signed-in user is linked to their own staff record at the active location, for example Olivia Hart and `STAFF_ID`.
  • The location grants `vacation:request` or `vacation:manage`.
  • The start and end dates are valid full-day dates in the location timezone, `Europe/London` for Harbor Soho.
  • The request does not exceed the employee's annual vacation balance when requested, accepted and used days are counted.

Instructions

  1. 1.

    Open My profile

    Open `staff/profile` for the active Harbor Soho location. Antylogic loads the signed-in employee profile and shows the Vacations this year section when vacation visibility is available.

  2. 2.

    Start the request

    In Vacations this year, choose Request vacation. The app opens `calendars/create` with `kind=staff_vacation`, `preset=mine`, `returnRoute=StaffProfile`, `returnToMyProfile=true` and the employee's own `returnStaffId`.

  3. 3.

    Check the locked form

    The request form opens in self-service mode. Staff member is locked to Olivia Hart, the location-wide vacation closure option is not available, and the employee cannot choose another status.

  4. 4.

    Enter dates and notes

    Choose the Start and End dates as full-day dates. Add Notes only when the request needs context; notes are saved as `payload.reason`.

  5. 5.

    Submit the request

    Select Request vacation. The app sends an all-day `staff_vacation` event to `POST /api/app/{orgId}/{locationId}/calendar-events` with status `requested`.

  6. 6.

    Use My calendar when available

    If `calendars/me` is visible, the employee can also choose Request vacation from the create selector. The My profile entry remains the supported path for request-only users.

Validations and limits

  • The form needs valid start and end dates, with the start before the end.
  • A `staff_vacation` request always needs a staff member; in self-service mode the field is locked to the employee.
  • A request-only employee cannot choose another employee or another status. The backend forces the own `staff_id` and `requested` status.
  • The backend rejects unknown `staff_vacation` payload fields and accepts only `requested`, `accepted` or `rejected` status values.
  • Vacation blackouts apply because this UI does not send `skip_blackout_validation`.
  • The backend rejects the request when the annual vacation balance would be exceeded.
  • `vacation:view` can expose vacation surfaces, but it is not enough to submit this request.

Expected result

Antylogic creates an all-day `staff_vacation` calendar event with status `requested`, stores notes as `payload.reason` when provided, notifies users who can manage vacations, and returns the employee to My profile after a successful save.

Related articles