type Query {
    zones: [Zone!]!
    zone(id: ID!): Zone
}

type Mutation {
    "Create a new Zone"
    createZone(input: CreateZoneInput!): Zone!

    "Update an existing Zone"
    updateZone(input: UpdateZoneInput!): Zone!

    "Delete a Zone"
    deleteZone(id: ID!): DeletionResponse!

    "Add members to a Zone"
    addMembersToZone(zoneId: ID!, memberIds: [ID!]!): Zone!

    "Remove members from a Zone"
    removeMembersFromZone(zoneId: ID!, memberIds: [ID!]!): Zone!
}

input CreateZoneInput {
    name: String!
    memberIds: [ID!]
}

input UpdateZoneInput {
    id: ID!
    name: String
}
