sig
  type t = {
    calendarExpansionMax : int;
    groupExpansionMax : int;
    items : GapiCalendarV3Model.FreeBusyRequestItem.t list;
    timeMax : GapiDate.t;
    timeMin : GapiDate.t;
    timeZone : string;
  }
  val calendarExpansionMax :
    (GapiCalendarV3Model.FreeBusyRequest.t, int) GapiLens.t
  val groupExpansionMax :
    (GapiCalendarV3Model.FreeBusyRequest.t, int) GapiLens.t
  val items :
    (GapiCalendarV3Model.FreeBusyRequest.t,
     GapiCalendarV3Model.FreeBusyRequestItem.t list)
    GapiLens.t
  val timeMax :
    (GapiCalendarV3Model.FreeBusyRequest.t, GapiDate.t) GapiLens.t
  val timeMin :
    (GapiCalendarV3Model.FreeBusyRequest.t, GapiDate.t) GapiLens.t
  val timeZone : (GapiCalendarV3Model.FreeBusyRequest.t, string) GapiLens.t
  val empty : GapiCalendarV3Model.FreeBusyRequest.t
  val render :
    GapiCalendarV3Model.FreeBusyRequest.t -> GapiJson.json_data_model list
  val parse :
    GapiCalendarV3Model.FreeBusyRequest.t ->
    GapiJson.json_data_model -> GapiCalendarV3Model.FreeBusyRequest.t
  val to_data_model :
    GapiCalendarV3Model.FreeBusyRequest.t -> GapiJson.json_data_model
  val of_data_model :
    GapiJson.json_data_model -> GapiCalendarV3Model.FreeBusyRequest.t
end