Class: HubSpotSDK::Resources::Scheduler::Meetings::Advanced

Inherits:
Object
  • Object
show all
Defined in:
lib/hubspot_sdk/resources/scheduler/meetings/advanced.rb

Instance Method Summary collapse

Constructor Details

#initialize(client:) ⇒ Advanced

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a new instance of Advanced.

Parameters:



88
89
90
# File 'lib/hubspot_sdk/resources/scheduler/meetings/advanced.rb', line 88

def initialize(client:)
  @client = client
end

Instance Method Details

#book(duration:, email:, first_name:, form_fields:, last_name:, legal_consent_responses:, likely_available_user_ids:, slug:, start_time:, locale: nil, timezone: nil, request_options: {}) ⇒ HubSpotSDK::Models::Scheduler::ExternalMeetingBookingResponse

Book a meeting for a specified meeting page.

Parameters:

  • duration (Integer)

    The duration of the meeting in milliseconds.

  • email (String)

    The email address of the person booking the meeting.

  • first_name (String)

    The first name of the person booking the meeting.

  • form_fields (Array<HubSpotSDK::Models::Scheduler::ExternalBookingFormField>)
  • last_name (String)

    The last name of the person booking the meeting.

  • legal_consent_responses (Array<HubSpotSDK::Models::Scheduler::ExternalLegalConsentResponse>)
  • likely_available_user_ids (Array<String>)
  • slug (String)

    The unique path identifier for the meeting page.

  • start_time (Time)

    The date and time when the meeting is scheduled to start, in ISO 8601 format.

  • locale (String)

    The locale used for formatting dates and times in the meeting booking.

  • timezone (String)

    The timezone in which the meeting is scheduled.

  • request_options (HubSpotSDK::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



74
75
76
77
78
79
80
81
82
83
# File 'lib/hubspot_sdk/resources/scheduler/meetings/advanced.rb', line 74

def book(params)
  parsed, options = HubSpotSDK::Scheduler::Meetings::AdvancedBookParams.dump_request(params)
  @client.request(
    method: :post,
    path: "scheduler/2026-03/meetings/meeting-links/book",
    body: parsed,
    model: HubSpotSDK::Scheduler::ExternalMeetingBookingResponse,
    options: options
  )
end

#create(organizer_user_id:, associations:, email_reminder_schedule:, properties:, timezone:, request_options: {}) ⇒ HubSpotSDK::Models::Scheduler::ExternalCalenderMeetingEventResponse

Create a new calendar event and meeting object by providing the necessary details such as associations, email reminders, meeting object properties, and timezone.

Parameters:

Returns:

See Also:



29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/hubspot_sdk/resources/scheduler/meetings/advanced.rb', line 29

def create(params)
  query_params = [:organizer_user_id]
  parsed, options = HubSpotSDK::Scheduler::Meetings::AdvancedCreateParams.dump_request(params)
  query = HubSpotSDK::Internal::Util.encode_query_params(parsed.slice(*query_params))
  @client.request(
    method: :post,
    path: "scheduler/2026-03/meetings/calendar",
    query: query.transform_keys(organizer_user_id: "organizerUserId"),
    body: parsed.except(*query_params),
    model: HubSpotSDK::Scheduler::ExternalCalenderMeetingEventResponse,
    options: options
  )
end