# CalInvite::Providers::Office365

Microsoft Office 365 provider for generating calendar event URLs.
This provider generates URLs that open the Office 365 web calendar
with a pre-filled event creation form. Supports both all-day and
time-specific events with proper timezone handling.

@example Creating a regular event URL
  event = CalInvite::Event.new(
    title: "Team Meeting",
    start_time: Time.now,
    end_time: Time.now + 3600,
    description: "Weekly team sync"
  )
  office365 = CalInvite::Providers::Office365.new(event)
  url = office365.generate

@example Creating an all-day event URL with attendees
  event = CalInvite::Event.new(
    title: "Company Off-Site",
    all_day: true,
    start_time: Date.today,
    end_time: Date.today + 1,
    attendees: ["john@example.com", "jane@example.com"],
    show_attendees: true
  )
  url = CalInvite::Providers::Office365.new(event).generate

_class_ defined in `lib/cal_invite/providers/office365.rb`

Superclass: `CalInvite::Providers::BaseProvider`

## Instance methods

### `generate()`

Generates an Office 365 calendar URL for the event.
Automatically handles both all-day and time-specific events.

@return [String] The Office 365 calendar URL
@raise [ArgumentError] If required time fields are missing for non-all-day events
