# This file was auto-generated by Fern from our API Definition.

import typing_extensions
import typing_extensions
import typing


class ScheduledShiftDetailsParams(typing_extensions.TypedDict):
    """
    Represents shift details for draft and published versions of a [scheduled shift](entity:ScheduledShift),
    such as job ID, team member assignment, and start and end times.
    """

    team_member_id: typing_extensions.NotRequired[typing.Optional[str]]
    """
    The ID of the [team member](entity:TeamMember) scheduled for the shift.
    """

    location_id: typing_extensions.NotRequired[typing.Optional[str]]
    """
    The ID of the [location](entity:Location) the shift is scheduled for.
    """

    job_id: typing_extensions.NotRequired[typing.Optional[str]]
    """
    The ID of the [job](entity:Job) the shift is scheduled for.
    """

    start_at: typing_extensions.NotRequired[typing.Optional[str]]
    """
    The start time of the shift, in RFC 3339 format in the time zone &plus;
    offset of the shift location specified in `location_id`. Precision up to the minute
    is respected; seconds are truncated.
    """

    end_at: typing_extensions.NotRequired[typing.Optional[str]]
    """
    The end time for the shift, in RFC 3339 format in the time zone &plus;
    offset of the shift location specified in `location_id`. Precision up to the minute
    is respected; seconds are truncated.
    """

    notes: typing_extensions.NotRequired[typing.Optional[str]]
    """
    Optional notes for the shift.
    """

    is_deleted: typing_extensions.NotRequired[typing.Optional[bool]]
    """
    Indicates whether the draft shift version is deleted. If set to `true` when the shift
    is published, the entire scheduled shift (including the published shift) is deleted and
    cannot be accessed using any endpoint.
    """

    timezone: typing_extensions.NotRequired[str]
    """
    The time zone of the shift location, calculated based on the `location_id`. This field
    is provided for convenience.
    """
