class TimeSlot
A class representing a time slot for a meeting, defined by a start and end DateTimeTimeZone.
/tf/active/vicechatdev/SPFCsync/venv/lib64/python3.11/site-packages/office365/outlook/calendar/meetingtimes/time_slot.py
5 - 19
simple
Purpose
TimeSlot encapsulates a period of time with timezone information, typically used for scheduling meetings or calendar events in Office 365 applications. It inherits from ClientValue, making it suitable for serialization and transmission to/from Office 365 services. The class provides a simple container for start and end times with timezone awareness.
Source Code
class TimeSlot(ClientValue):
"""Represents a time slot for a meeting."""
def __init__(self, start=DateTimeTimeZone(), end=DateTimeTimeZone()):
"""
:param dateTimeTimeZone start: The date, time, and time zone that a period begins.
:param dateTimeTimeZone end: The date, time, and time zone that a period ends.
"""
super(TimeSlot, self).__init__()
self.start = start
self.end = end
def __repr__(self):
return "({0} - {1})".format(self.start, self.end)
Parameters
| Name | Type | Default | Kind |
|---|---|---|---|
bases |
ClientValue | - |
Parameter Details
start: A DateTimeTimeZone object representing when the time slot begins. Defaults to an empty DateTimeTimeZone() instance if not provided. Should contain date, time, and timezone information.
end: A DateTimeTimeZone object representing when the time slot ends. Defaults to an empty DateTimeTimeZone() instance if not provided. Should contain date, time, and timezone information.
Return Value
Instantiation returns a TimeSlot object with start and end attributes set to the provided DateTimeTimeZone objects. The __repr__ method returns a string representation in the format '(start - end)' showing the time slot range.
Class Interface
Methods
__init__(self, start=DateTimeTimeZone(), end=DateTimeTimeZone())
Purpose: Initializes a new TimeSlot instance with start and end times
Parameters:
start: DateTimeTimeZone object representing the beginning of the time slot, defaults to empty DateTimeTimeZone()end: DateTimeTimeZone object representing the end of the time slot, defaults to empty DateTimeTimeZone()
Returns: None (constructor)
__repr__(self) -> str
Purpose: Returns a string representation of the TimeSlot showing the start and end times
Returns: A formatted string in the format '(start - end)' representing the time slot
Attributes
| Name | Type | Description | Scope |
|---|---|---|---|
start |
DateTimeTimeZone | The date, time, and timezone when the time slot begins | instance |
end |
DateTimeTimeZone | The date, time, and timezone when the time slot ends | instance |
Dependencies
office365
Required Imports
from office365.outlook.calendar.dateTimeTimeZone import DateTimeTimeZone
from office365.runtime.client_value import ClientValue
Usage Example
from office365.outlook.calendar.dateTimeTimeZone import DateTimeTimeZone
from office365.outlook.calendar.timeSlot import TimeSlot
# Create DateTimeTimeZone objects for start and end
start_time = DateTimeTimeZone()
start_time.dateTime = '2024-01-15T09:00:00'
start_time.timeZone = 'Pacific Standard Time'
end_time = DateTimeTimeZone()
end_time.dateTime = '2024-01-15T10:00:00'
end_time.timeZone = 'Pacific Standard Time'
# Create a TimeSlot
meeting_slot = TimeSlot(start=start_time, end=end_time)
# Print the time slot
print(meeting_slot) # Output: (start_time - end_time)
# Access attributes
print(meeting_slot.start)
print(meeting_slot.end)
Best Practices
- Always provide valid DateTimeTimeZone objects for both start and end parameters to ensure proper time slot representation
- Ensure the end time is after the start time to represent a valid time period
- Use consistent timezone information in both start and end DateTimeTimeZone objects to avoid confusion
- The class inherits from ClientValue, which means it's designed for serialization to/from Office 365 services
- When using with Office 365 APIs, the TimeSlot will be automatically serialized to the appropriate JSON format
- The __repr__ method provides a human-readable string representation useful for debugging and logging
- This class is immutable after creation unless you explicitly modify the start or end attributes
Tags
Similar Components
AI-powered semantic similarity - components with related functionality:
-
class MeetingTimeSuggestion 67.8% similar
-
class DateTimeTimeZone 64.1% similar
-
class TimeZoneBase 63.8% similar
-
class TimeConstraint 62.0% similar
-
class TimeZoneInformation 59.7% similar