schema { query: BookingApiQuery mutation: BookingApiMutation } """ BookingAPI Availability. """ type Availability implements IntervalFieldsInterface { """ The end time of the BookingSlot. """ endTime: ISO8601DateTime! """ The start time of the BookingSlot. """ startTime: ISO8601DateTime! } """ BookingAPI Booking entity. """ type Booking implements IdentificationFieldsInterface & TimestampInterface { """ The BookingSlots associated with the Booking. """ bookingSlots: [BookingSlot!]! """ Create DateTime. """ createdAt: ISO8601DateTime! """ The Customer associated with the Booking. """ customer: Customer """ User defined identifier. """ externalCode: String! """ Identifies the primary key from the database. """ id: ID! """ Metadata associated with the entity. """ metadata: JSON! """ Primary key of the Organization associated with the Service. """ organizationId: ID! """ The status of the Booking. """ status: StatusEnum! """ Update DateTime. """ updatedAt: ISO8601DateTime! } """ Booking Api available mutations """ type BookingApiMutation { booking: BookingMutation! customer: CustomerMutation! resource: ResourceMutation! service: ServiceMutation! } """ Booking Api available query """ type BookingApiQuery { """ Return resource availability for service's resource. """ availability( """ User defined Resource identifier. """ resourceId: ID! """ User defined Service identifier """ serviceId: ID! ): [Availability!]! """ Return a Booking given a id or external_code. """ booking( """ User defined identifier. """ externalCode: String """ Identifies the primary key from the database. """ id: ID ): Booking """ Return all Bookings. """ bookings( """ The email of the Customer to filter by. """ customerEmail: String """ The ID of the Customer to filter by. """ customerId: ID """ The maximum number of records to return. """ limit: Int """ The status of the Bookings to filter by. """ status: StatusEnum ): [Booking!]! """ Return a Resource given a id or external_code. """ resource( """ User defined identifier. """ externalCode: String """ Identifies the primary key from the database. """ id: ID ): Resource """ Return all Resources. """ resources( """ The maximum number of records to return. """ limit: Int ): [Resource!]! """ Return a Service given a id or external_code. """ service( """ User defined identifier. """ externalCode: String """ Identifies the primary key from the database. """ id: ID ): Service """ Return all Services. """ services( """ The maximum number of records to return. """ limit: Int ): [Service!]! } """ Attributes for creating or updating a Booking. """ input BookingInput { """ The BookingSlots of the Booking. """ bookingSlots: [BookingSlotInput!]! """ The Customer of the Booking. """ customer: CustomerInput """ The metadata of the Booking. """ metadata: JSON } """ The Booking mutation root of this schema """ type BookingMutation { """ Cancel a Booking. """ cancel( """ Parameters for Cancel """ input: CancelInput! ): CancelPayload! """ Complete a Booking. """ complete( """ Parameters for Complete """ input: CompleteInput! ): CompletePayload! """ Create a new Booking. """ create( """ Parameters for Create """ input: CreateInput! ): CreatePayload! } type BookingSlot implements IntervalFieldsInterface & TimestampInterface { """ Create DateTime. """ createdAt: ISO8601DateTime! """ The end time of the BookingSlot. """ endTime: ISO8601DateTime! id: ID! """ The Resource associated with the Booking. """ resource: Resource! """ The Service associated with the Booking. """ service: Service! """ The start time of the BookingSlot. """ startTime: ISO8601DateTime! """ The time zone of the BookingSlot. """ timeZone: String! """ Update DateTime. """ updatedAt: ISO8601DateTime! } """ Attributes for creating or updating a BookingSlot. """ input BookingSlotInput { """ The end time of the BookingSlot. """ endAt: ISO8601DateTime! """ The metadata of the BookingSlot. """ metadata: JSON """ The ID of the Resource of the BookingSlot. """ resourceId: ID! """ The ID of the Service of the BookingSlot. """ serviceId: ID! """ The start time of the BookingSlot. """ startAt: ISO8601DateTime! """ The time zone of the BookingSlot. """ timeZone: String! } """ Autogenerated input type of Cancel """ input CancelInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ Identifies the primary key from the database. """ id: ID } """ Autogenerated return type of Cancel. """ type CancelPayload { """ The updated Booking. """ booking: Booking! """ A unique identifier for the client performing the mutation. """ clientMutationId: String } """ Common fields for BookingAPI entities. """ interface CommonFieldsInterface implements DescriptionFieldsInterface & IdentificationFieldsInterface { """ The description associated with the entity. """ description: String! """ User defined identifier. """ externalCode: String! """ Identifies the primary key from the database. """ id: ID! """ Metadata associated with the entity. """ metadata: JSON! """ The name of the entity. """ name: String! """ The openings of the entity. """ openings: JSON! """ Primary key of the Organization associated with the entity. """ organizationId: ID! } """ Autogenerated input type of Complete """ input CompleteInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ Identifies the primary key from the database. """ id: ID } """ Autogenerated return type of Complete. """ type CompletePayload { """ The updated Booking. """ booking: Booking! """ A unique identifier for the client performing the mutation. """ clientMutationId: String } """ Autogenerated input type of Create """ input CreateInput { """ The Booking to create. """ booking: BookingInput! """ A unique identifier for the client performing the mutation. """ clientMutationId: String } """ Autogenerated return type of Create. """ type CreatePayload { """ The updated Booking. """ booking: Booking! """ A unique identifier for the client performing the mutation. """ clientMutationId: String } """ BookingAPI Customer entity. """ type Customer implements DescriptionFieldsInterface & IdentificationFieldsInterface & TimestampInterface { """ Create DateTime. """ createdAt: ISO8601DateTime! """ The description associated with the entity. """ description: String! """ The email of the Customer. """ email: String! """ User defined identifier. """ externalCode: String! """ The first name of the Customer. """ firstName: String! """ Identifies the primary key from the database. """ id: ID! """ The last name of the Customer. """ lastName: String! """ Metadata associated with the entity. """ metadata: JSON! """ Update DateTime. """ updatedAt: ISO8601DateTime! } """ Autogenerated input type of CustomerCreate """ input CustomerCreateInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ The Customer to create. """ customer: CustomerInput! } """ Autogenerated return type of CustomerCreate. """ type CustomerCreatePayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ The Customer. """ customer: Customer! } """ Autogenerated input type of CustomerDelete """ input CustomerDeleteInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ User defined identifier. """ externalCode: String """ Identifies the primary key from the database. """ id: ID } """ Attributes for creating or updating a Customer. """ input CustomerInput { """ The description on record. """ description: String """ The email of the Customer. """ email: String! """ User defined identifier. """ externalCode: String """ The first name of the Customer. """ firstName: String """ The last name of the Customer. """ lastName: String """ The metadata of the record. """ metadata: JSON } """ The Customer mutation root of this schema """ type CustomerMutation { """ Create a new Customer. """ create( """ Parameters for CustomerCreate """ input: CustomerCreateInput! ): CustomerCreatePayload! """ Delete a Customer. """ delete( """ Parameters for CustomerDelete """ input: CustomerDeleteInput! ): DeletedAt! """ Update a new Customer. """ update( """ Parameters for CustomerUpdate """ input: CustomerUpdateInput! ): CustomerUpdatePayload! } """ Autogenerated input type of CustomerUpdate """ input CustomerUpdateInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ The Customer to update """ customer: CustomerInput! """ User defined identifier. """ externalCode: String """ Identifies the primary key from the database. """ id: ID } """ Autogenerated return type of CustomerUpdate. """ type CustomerUpdatePayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ The Customer. """ customer: Customer! } """ Autogenerated input type of Delete """ input DeleteInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ User defined identifier. """ externalCode: String """ Identifies the primary key from the database. """ id: ID } """ BookingAPI ResourceService deleted at. """ type DeletedAt { deletedAt: ISO8601DateTime! } """ Common fields for BookingAPI entities. """ interface DescriptionFieldsInterface { """ The description associated with the entity. """ description: String! } """ An ISO 8601-encoded datetime """ scalar ISO8601DateTime @specifiedBy(url: "https://tools.ietf.org/html/rfc3339") """ Common fields for BookingAPI entities. """ interface IdentificationFieldsInterface { """ User defined identifier. """ externalCode: String! """ Identifies the primary key from the database. """ id: ID! """ Metadata associated with the entity. """ metadata: JSON! } """ Common fields for BookingAPI entities. """ interface IntervalFieldsInterface { """ The end time of the BookingSlot. """ endTime: ISO8601DateTime! """ The start time of the BookingSlot. """ startTime: ISO8601DateTime! } """ Represents untyped JSON """ scalar JSON """ BookingAPI Resource entity. """ type Resource implements CommonFieldsInterface & DescriptionFieldsInterface & IdentificationFieldsInterface & TimestampInterface { """ Create DateTime. """ createdAt: ISO8601DateTime! """ The description associated with the entity. """ description: String! """ User defined identifier. """ externalCode: String! """ Identifies the primary key from the database. """ id: ID! """ Metadata associated with the entity. """ metadata: JSON! """ The name of the entity. """ name: String! """ The openings of the entity. """ openings: JSON! """ Primary key of the Organization associated with the entity. """ organizationId: ID! """ Update DateTime. """ updatedAt: ISO8601DateTime! } """ Autogenerated input type of ResourceCreate """ input ResourceCreateInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ The Resource to create. """ resource: ResourceInput! } """ Autogenerated return type of ResourceCreate. """ type ResourceCreatePayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ The Resource. """ resource: Resource! } input ResourceInput { """ The description on record. """ description: String """ User defined identifier. """ externalCode: String """ The metadata of the record. """ metadata: JSON """ The name of the record. """ name: String """ The openings of the record. """ openings: JSON } """ The Resource mutation root of this schema """ type ResourceMutation { """ Create a new Resource. """ create( """ Parameters for ResourceCreate """ input: ResourceCreateInput! ): ResourceCreatePayload! """ Delete a Resource. """ delete( """ Parameters for Delete """ input: DeleteInput! ): DeletedAt! """ Update a new Resource. """ update( """ Parameters for Update """ input: UpdateInput! ): UpdatePayload! } """ BookingAPI ResourceService entity. """ type ResourceService implements IdentificationFieldsInterface { """ User defined identifier. """ externalCode: String! """ Identifies the primary key from the database. """ id: ID! """ Metadata associated with the entity. """ metadata: JSON! resource: Resource! service: Service! } """ BookingAPI Service entity. """ type Service implements CommonFieldsInterface & DescriptionFieldsInterface & IdentificationFieldsInterface & TimestampInterface { """ Create DateTime. """ createdAt: ISO8601DateTime! """ The description associated with the entity. """ description: String! """ User defined identifier. """ externalCode: String! """ Identifies the primary key from the database. """ id: ID! """ Metadata associated with the entity. """ metadata: JSON! """ The name of the entity. """ name: String! """ The openings of the entity. """ openings: JSON! """ Primary key of the Organization associated with the entity. """ organizationId: ID! """ The list of Resources associated with the Service. """ resources: [Resource!] """ Update DateTime. """ updatedAt: ISO8601DateTime! } """ Autogenerated input type of ServiceAttachResource """ input ServiceAttachResourceInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ User defined identifier. """ externalCode: String """ The metadata of the record. """ metadata: JSON """ User defined Resource identifier. """ resourceId: ID! """ User defined Service identifier """ serviceId: ID! } """ Autogenerated input type of ServiceCreate """ input ServiceCreateInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ The Service to create. """ service: ServiceInput! } """ Autogenerated return type of ServiceCreate. """ type ServiceCreatePayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ The Service. """ service: Service! } """ Autogenerated input type of ServiceDelete """ input ServiceDeleteInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ User defined identifier. """ externalCode: String """ Identifies the primary key from the database. """ id: ID } """ Autogenerated input type of ServiceDetachResource """ input ServiceDetachResourceInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ User defined Resource identifier. """ resourceId: ID! """ User defined Service identifier """ serviceId: ID! } input ServiceInput { """ The description on record. """ description: String """ User defined identifier. """ externalCode: String """ The metadata of the record. """ metadata: JSON """ The name of the record. """ name: String """ The openings of the record. """ openings: JSON } """ The Service mutation root of this schema """ type ServiceMutation { """ Attach a Resource to a Service. """ attachResource( """ Parameters for ServiceAttachResource """ input: ServiceAttachResourceInput! ): ResourceService! """ Create a new Service. """ create( """ Parameters for ServiceCreate """ input: ServiceCreateInput! ): ServiceCreatePayload! """ Delete a Service. """ delete( """ Parameters for ServiceDelete """ input: ServiceDeleteInput! ): DeletedAt! """ Attach a Resource to a Service. """ detachResource( """ Parameters for ServiceDetachResource """ input: ServiceDetachResourceInput! ): DeletedAt! """ Update a new Service. """ update( """ Parameters for ServiceUpdate """ input: ServiceUpdateInput! ): ServiceUpdatePayload! } """ Autogenerated input type of ServiceUpdate """ input ServiceUpdateInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ User defined identifier. """ externalCode: String """ Identifies the primary key from the database. """ id: ID """ The Service to update """ service: ServiceInput! } """ Autogenerated return type of ServiceUpdate. """ type ServiceUpdatePayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ The Service. """ service: Service! } """ Booking status """ enum StatusEnum { canceled completed confirmed } """ Create and Update DateTime. """ interface TimestampInterface { """ Create DateTime. """ createdAt: ISO8601DateTime! """ Update DateTime. """ updatedAt: ISO8601DateTime! } """ Autogenerated input type of Update """ input UpdateInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ User defined identifier. """ externalCode: String """ Identifies the primary key from the database. """ id: ID """ The Resource to update """ resource: ResourceInput! } """ Autogenerated return type of Update. """ type UpdatePayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ The Resource. """ resource: Resource! }