> For the complete documentation index, see [llms.txt](https://docs.labii.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.labii.com/widgets/column-widgets/form/datetime/time-slot.md).

# Time Slot

## **Specs**

| Label                     | Value                         |
| ------------------------- | ----------------------------- |
| **Version**               | 0.1.0 (updated on 2026-05-19) |
| **Developer**             | Labii Inc.                    |
| **Type**                  | Column                        |
| **Support Configuration** | Yes                           |
| **Support Readonly view** | Yes                           |
| **Support Edit view**     | Yes                           |
| **Support Form view**     | Yes                           |
| **Support Default value** | Yes                           |
| **Support Import**        | Yes                           |
| **Allow multiple**        | Yes                           |

## Overview

The Time Slot widget enables users to pick available time slots for a specific date, making it useful for scheduling equipment usage, booking instrument time, or reserving other shared laboratory resources. This widget combines a calendar with generated time slots, supports selecting either a single slot or a continuous range of slots, and can hide occupied slots based on a conflict check query. It helps laboratories manage resource scheduling more consistently and reduces double-booking during routine operations.

## Use case

1. Use this widget to schedule equipment usage for shared instruments.
2. Use this widget to reserve a room or workspace for a defined period.
3. Use this widget to assign experiment time windows to team members.
4. Use this widget when you need to hide occupied slots and only show available booking times.

## Configuration

The widget works without additional setup, but you can use the configuration to control how selected time ranges are displayed and how selectable time slots are generated.

* **Date Format** - Format the appointment date in any way you like. Default to `MMM D`. [Learn more](https://momentjscom.readthedocs.io/en/latest/moment/04-displaying/01-format/)
* **Time Format** - Format the appointment time in any way you like. Default to `HH:mm`. [Learn more](https://momentjscom.readthedocs.io/en/latest/moment/04-displaying/01-format/)
* **Separator** - Separator displayed between start and end values.
* **Time Slot Length** - The length of each available time slot, in minutes.
* **Allow Choosing Multiple Slots** - If true, users can choose multiple continuous slots by selecting a start slot and an end slot. If false, selecting a slot replaces the previous selection.
* **Conflict Check Query** - Cell query used to find conflicting time slots. This is not the row query.
* **Allow Conflict** - If true, all time slots are shown. If false, occupied time slots are hidden.

### Examples

Generate 30-minute time slots and show the selected range with a custom separator.

```json
{
	"time_slot_minutes": 30,
	"separator": " - "
}
```

Allow users to choose a continuous block of time slots.

```json
{
	"should_allow_choose_multiple": true
}
```

Hide occupied time slots based on a conflict check query.

```json
{
	"conflict_check_query": "status=occupied",
	"should_allow_conflict": false
}
```

## Views

See the interface of the widget in the following views.

### **Readonly view**

Readonly view display the values of the column.

The selected time slot is displayed as a time range using the configured date format, time format, and separator.

<figure><img src="/files/EsdlmSUKaGYPXt5wdMuJ" alt=""><figcaption></figcaption></figure>

### **Edit view**

The Edit view is the interface that allows you to modify the value.

The Edit view shows a calendar on the left and selectable time slots on the right. Users first choose a date, then select one time slot or, when multiple selection is enabled, choose a start slot and an end slot to create a continuous time range. If conflict checking is configured and conflicts are not allowed, occupied time slots are hidden from the selection list.

<figure><img src="/files/FP0X9ZUmDbc3NvxM1mYN" alt=""><figcaption></figcaption></figure>

### **Form view**

The Form view is the field integrated into the add form for collecting values when creating a new record.

The Form view is same as the Edit view.

## Data

Each widget in Labii stores data in a unique manner; refer below to understand how data from this widget is stored.

### Data format

JSON

```json
{
	"date_start": "",
	"time_start": "",
	"date_end": "",
	"time_end": ""
}
```

`date_start` and `time_start` define the beginning of the selected range. `date_end` and `time_end` define the end of the selected range.

### **Default value**

The Default Value field within the column allows you to specify the default value when a record is created.

Default value shall be the JSON described above.

### **Import value**

The Import Value is the value you need to include in your Excel table for it to be imported into Labii.

Import value shall be the JSON described above.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.labii.com/widgets/column-widgets/form/datetime/time-slot.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
