def free_busy(options = {})
      params = FREE_BUSY_DEFAULT_PARAMS.merge(options)

      FREE_BUSY_TIME_PARAMS.select { |tp| params.key?(tp) }.each do |tp|
        params[tp] = to_iso8601(params[tp])
      end

      url = api_url + "/v1/free_busy"
      PagedResultIterator.new(PagedFreeBusyResult, :free_busy, access_token!, url, params)
    end
def free_busy(options = {})
      params = FREE_BUSY_DEFAULT_PARAMS.merge(options)

      FREE_BUSY_TIME_PARAMS.select { |tp| params.key?(tp) }.each do |tp|
        params[tp] = to_iso8601(params[tp])
      end

      url = api_url + "/v1/free_busy"
      PagedResultIterator.new(PagedFreeBusyResult, :free_busy, access_token!, url, params)
    end
Public: Returns a lazily-evaluated Enumerable of FreeBusy that satisfy the
 given query criteria.

 options - The Hash options used to refine the selection (default: {}):
           :from            - The minimum Date from which to return events
                              (optional).
           :to              - The Date to return events up until (optional).
           :tzid            - A String representing a known time zone
                              identifier from the IANA Time Zone Database
                              (default: Etc/UTC).
           :include_managed - A Boolean specifying whether events that you
                              are managing for the account should be
                              included or excluded from the results
                              (optional).
           :localized_times - A Boolean specifying whether the start and
                              end times should be returned with any
                              available localization information
                              (optional).
           :calendar_ids    - An Array of calendar ids for restricting the
                              returned events (optional).

 The first page will be retrieved eagerly so that common errors will happen
 inline. However, subsequent pages (if any) will be requested lazily.

 See http://www.cronofy.com/developers/api/#free-busy for reference.

 Returns a lazily-evaluated Enumerable of FreeBusy

 Raises Cronofy::CredentialsMissingError if no credentials available.
 Raises Cronofy::AuthenticationFailureError if the access token is no
 longer valid.
 Raises Cronofy::AuthorizationFailureError if the access token does not
 include the required scope.
 Raises Cronofy::InvalidRequestError if the request contains invalid
 parameters.
 Raises Cronofy::TooManyRequestsError if the request exceeds the rate
 limits for the application.