type Query {
    shippingMethods(options: ShippingMethodListOptions): ShippingMethodList!
    shippingMethod(id: ID!): ShippingMethod
    shippingEligibilityCheckers: [ConfigurableOperation!]!
    shippingCalculators: [ConfigurableOperation!]!
}

type Mutation {
    "Create a new ShippingMethod"
    createShippingMethod(input: CreateShippingMethodInput!): ShippingMethod!
    "Update an existing ShippingMethod"
    updateShippingMethod(input: UpdateShippingMethodInput!): ShippingMethod!
}

# generated by generateListOptions function
input ShippingMethodListOptions

input CreateShippingMethodInput {
    code: String!
    description: String!
    checker: ConfigurableOperationInput!
    calculator: ConfigurableOperationInput!
}

input UpdateShippingMethodInput {
    id: ID!
    code: String
    description: String
    checker: ConfigurableOperationInput
    calculator: ConfigurableOperationInput
}
