"A shipping parcel"
type ShippingParcel {
  "Containers"
  containers: String

  "Distance unit"
  distanceUnit: DistanceUnit

  "Height"
  height: Float

  "Length"
  length: Float

  "Mass unit"
  massUnit: MassUnit

  "Weight"
  weight: Float

  "Width"
  width: Float
}

"Allowed fulfillment types"
enum FulfillmentType {
  "An order will be fulfilled digitally, such as by sending a download link"
  digital

  "An order will be fulfilled by the customer picking it up"
  pickup

  "An order will be fulfilled by the seller shipping it to the customer"
  shipping
}

"""
A single fulfillment method. Fulfillment methods are shown to shoppers along with a quote for them,
and the shopper chooses one method per fulfillment group per cart during checkout.
"""
type FulfillmentMethod implements Node {
  "The fulfillment method ID"
  _id: ID!

  "A carrier name"
  carrier: String

  "The name of this method, for display in the user interface"
  displayName: String!

  """
  The fulfillment types for which this method may be used. For example, `shipping` or `digital`.
  """
  fulfillmentTypes: [FulfillmentType]!

  "The group to which this method belongs"
  group: String

  "The name of this method, a unique identifier"
  name: String!
}
