extend type Mutation {

    cancelRenewal(input: RenewalInput! @spread): RenewalStatus!
    @field(resolver: "App\\GraphQL\\Mutations\\Renewal")

}

extend type Query {
    renewal(
        hashkey: String
        type: String
    ): renewalResponse
    @field(resolver: "App\\GraphQL\\Queries\\Renewal")

    renewalWithCancelRenewal(
        hashkey: String
        type: String
    ): renewalResponse
    @field(resolver: "App\\GraphQL\\Queries\\Renewal@renewalWithCancelRenewal")

    renewalBookingList(hashkey: String): renewalBookingListResponse
    @guard
    @field(resolver: "App\\GraphQL\\Queries\\Renewal@renewalBookingList")

    renewalBookingDeatils(hashkey: String): renewalBookingDetailsResponse
    @field(resolver: "App\\GraphQL\\Queries\\Renewal@renewalBookingDeatils")

    classesBookingDeatils(hashkey: String, id: Int): bookingDetailsResponse
    @field(resolver: "App\\GraphQL\\Queries\\Renewal@classesBookingDeatils")
}

input RenewalInput {
    id: Int
    cancel_reason: String
    sibling_order_ids: String
}

type RenewalStatus {
    status: Boolean
    message: String
}

type renewalBookingDetailsResponse {
    message: String
    status: Boolean
    data: PreAllocations
}

type bookingDetailsResponse {
    message: String
    status: Boolean
    data: Orders
}

type renewalBookingListResponse {
    message: String
    status: Boolean
    data: [PreAllocations]
}

type renewalResponse {
    message: String
    status: Boolean
    data: renewalData
}

type renewalData {
    id: ID
    student_id: Int
    class_id: Int
    customer_token: String
    user: UserData
    pre_allocations_ids: String
    classes_ids: String
    is_instalments: String
}

