| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645 | # Represents a fulfillment. In Shopify, a fulfillment represents a shipment of one or more items in an order.# When an order has been completely fulfilled, it means that all the items that are included in the order have been sent to the customer.# There can be more than one fulfillment for an order.type Fulfillment implements LegacyInteroperability&Node {    # The date and time when the fulfillment was created.    createdAt: DateTime!    # The date that this fulfillment was delivered.    deliveredAt: DateTime    # Human readable display status for this fulfillment.    displayStatus: FulfillmentDisplayStatus    # The estimated date that this fulfillment will arrive.    estimatedDeliveryAt: DateTime    # The history of events associated with this fulfillment.    events(        first: Int        after: String        last: Int        before: String        reverse: Boolean = false        sortKey: FulfillmentEventSortKeys = HAPPENED_AT    ): FulfillmentEventConnection!    # List of the fulfillment's line items.    fulfillmentLineItems(        first: Int        after: String        last: Int        before: String        reverse: Boolean = false    ): FulfillmentLineItemConnection!    # A paginated list of fulfillment orders for the fulfillment.    fulfillmentOrders(        first: Int        after: String        last: Int        before: String        reverse: Boolean = false    ): FulfillmentOrderConnection!    # A globally-unique identifier.    id: ID!    # The date and time when the fulfillment went into transit.    inTransitAt: DateTime    # The ID of the corresponding resource in the REST Admin API.    legacyResourceId: UnsignedInt64!    # The location that the fulfillment was processed at.    location: Location    # Human readable reference identifier for this fulfillment.    name: String!    # The order for which the fulfillment was created.    order: Order!    # The address at which the fulfillment occurred.    # Typically this is the address of the warehouse or fulfillment center.    originAddress: FulfillmentOriginAddress    # Whether any of the line items in the fulfillment require shipping.    requiresShipping: Boolean!    # Fulfillment service associated with the fulfillment.    service: FulfillmentService    # The status of the fulfillment.    status: FulfillmentStatus!    # Sum of all line item quantities for the fulfillment.    totalQuantity: Int!    # Tracking information associated with the fulfillment,    # such as the tracking company, tracking number, and tracking URL.    trackingInfo(first: Int): [FulfillmentTrackingInfo!]!    # The date and time when the fulfillment was last modified.    updatedAt: DateTime!}# Represents the tracking information for a fulfillment.type FulfillmentTrackingInfo {    # The name of the tracking company.    company: String    # The tracking number of the fulfillment.    number: String    # The URLs to track the fulfillment.    url: URL}# Represents a fulfillment order. In Shopify, a fulfillment order represents a group of one or more items# in an order that are to be fulfilled from the same location. There can be more than one fulfillment order# for an order at a given location. Fulfillment orders are created automatically when an order is created.# To learn how to build a fulfillment app, refer to Fulfillment apps.type FulfillmentOrder implements Node {    # The fulfillment order's assigned location. This is the location where the fulfillment is expected to happen.    #    # The fulfillment order's assigned location might change in the following cases:    #    # The fulfillment order has been entirely moved to a new location. For example, the fulfillmentOrderMove mutation has been called, and you see the original fulfillment order in the movedFulfillmentOrder field within the mutation's response.    # Work on the fulfillment order has not yet begun, which means that the fulfillment order has the    # OPEN,    # SCHEDULED, or    # ON_HOLD    # status, and the shop's location properties might be undergoing edits (for example, in the Shopify admin).    assignedLocation: FulfillmentOrderAssignedLocation!    # Delivery method of this fulfillment order.    deliveryMethod: DeliveryMethod    # The destination where the items should be sent.    destination: FulfillmentOrderDestination    # The date and time at which the fulfillment order will be fulfillable.    # When this date and time is reached, the scheduled fulfillment order is automatically transitioned to open.    # For example, the fulfill_at date for a subscription order might be the 1st of each month, a pre-order fulfill_at date would be nil, and a standard order fulfill_at date would be the order creation date.    fulfillAt: DateTime    # The latest date and time by which all items in the fulfillment order need to be fulfilled.    fulfillBy: DateTime    # The fulfillment holds applied on the fulfillment order.    fulfillmentHolds: [FulfillmentHold!]!    # A list of fulfillments for the fulfillment order.    fulfillments(        first: Int        after: String        last: Int        before: String        reverse: Boolean = false    ): FulfillmentConnection!    # A globally-unique identifier.    id: ID!    # The duties delivery method of this fulfillment order.    internationalDuties: FulfillmentOrderInternationalDuties    # A list of the fulfillment order's line items.    lineItems(        first: Int        after: String        last: Int        before: String        reverse: Boolean = false    ): FulfillmentOrderLineItemConnection!    # A list of locations that the fulfillment order can potentially move to.    locationsForMove(        first: Int        after: String        last: Int        before: String        reverse: Boolean = false    ): FulfillmentOrderLocationForMoveConnection!    # A list of requests sent by the merchant to the fulfillment service for this fulfillment order.    merchantRequests(        kind: FulfillmentOrderMerchantRequestKind        first: Int        after: String        last: Int        before: String        reverse: Boolean = false    ): FulfillmentOrderMerchantRequestConnection!    # The order that's associated with the fulfillment order.    order: Order!    # The request status of the fulfillment order.    requestStatus: FulfillmentOrderRequestStatus!    # The status of the fulfillment order.    status: FulfillmentOrderStatus!    # The actions that can be performed on this fulfillment order.    supportedActions: [FulfillmentOrderSupportedAction!]!}# The fulfillment order's assigned location. This is the location where the fulfillment is expected to happen.## The fulfillment order's assigned location might change in the following cases:## The fulfillment order has been entirely moved to a new location. For example, the fulfillmentOrderMove mutation has been called, and you see the original fulfillment order in the movedFulfillmentOrder field within the mutation's response.## Work on the fulfillment order has not yet begun, which means that the fulfillment order has the# OPEN,# SCHEDULED, or# ON_HOLD# status, and the shop's location properties might be undergoing edits (for example, in the Shopify admin).## If the fulfillmentOrderMove mutation has moved the fulfillment order's line items to a new location,# but hasn't moved the fulfillment order instance itself, then the original fulfillment order's assigned location# doesn't change.# This happens if the fulfillment order is being split during the move, or if all line items can be moved# to an existing fulfillment order at a new location.## Once the fulfillment order has been taken into work or canceled,# which means that the fulfillment order has the# IN_PROGRESS,# CLOSED,# CANCELLED, or# INCOMPLETE# status, FulfillmentOrderAssignedLocation acts as a snapshot of the shop's location content.# Up-to-date shop's location data may be queried through location connection.type FulfillmentOrderAssignedLocation {    # The first line of the address for the location.    address1: String    # The second line of the address for the location.    address2: String    # The city of the location.    city: String    # The two-letter country code of the location.    countryCode: CountryCode!    # The location where the fulfillment is expected to happen. This value might be different from    # FulfillmentOrderAssignedLocation if the location's attributes were updated    # after the fulfillment order was taken into work of canceled.    location: Location    # The name of the location.    name: String!    # The phone number of the location.    phone: String    # The province of the location.    province: String    # The ZIP code of the location.    zip: String}# Represents the goods available to be shipped to a customer.# It holds essential information about the goods, including SKU and whether it is tracked.type InventoryItem implements LegacyInteroperability&Node {    # The ISO 3166-1 alpha-2 country code of where the item originated from.    countryCodeOfOrigin: CountryCode    # A list of country specific harmonized system codes.    countryHarmonizedSystemCodes(        first: Int        after: String        last: Int        before: String        reverse: Boolean = false    ): CountryHarmonizedSystemCodeConnection!    # The date and time when the inventory item was created.    createdAt: DateTime!    # The number of inventory items that share the same SKU with this item.    duplicateSkuCount: Int!    # The harmonized system code of the item.    harmonizedSystemCode: String    # A globally-unique identifier.    id: ID!    # The URL that points to the inventory history for the item.    inventoryHistoryUrl: URL    # The inventory item's quantities at the specified location.    inventoryLevel(locationId: ID!): InventoryLevel    # A list of the inventory item's quantities for each location that the inventory item can be stocked at.    inventoryLevels(        first: Int        after: String        last: Int        before: String        reverse: Boolean = false        query: String    ): InventoryLevelConnection!    # The ID of the corresponding resource in the REST Admin API.    legacyResourceId: UnsignedInt64!    # The number of locations where this inventory item is stocked.    locationsCount: Int!    # The ISO 3166-2 alpha-2 province code of where the item originated from.    provinceCodeOfOrigin: String    # Whether the inventory item requires shipping.    requiresShipping: Boolean!    # Inventory item SKU.    sku: String    # Whether inventory levels are tracked for the item.    tracked: Boolean!    # Whether the value of the tracked field for the inventory item can be changed.    trackedEditable: EditableProperty!    # Unit cost associated with the inventory item.    unitCost: MoneyV2    # The date and time when the inventory item was updated.    updatedAt: DateTime!    # The variant that owns this inventory item.    variant: ProductVariant!}# The address at which the fulfillment occurred.# Typically this is the address of the warehouse or fulfillment center.type FulfillmentOriginAddress {    # The street address of the fulfillment location.    address1: String    # The second line of the address. Typically the number of the apartment, suite, or unit.    address2: String    # The city in which the fulfillment location is located.    city: String    # The country code of the fulfillment location.    countryCode: String!    # The province code of the fulfillment location.    provinceCode: String    # The zip code of the fulfillment location.    zip: String}# Represents the destination where the items should be sent upon fulfillment.type FulfillmentOrderDestination implements Node {    # The first line of the address of the destination.    address1: String    # The second line of the address of the destination.    address2: String    # The city of the destination.    city: String    # The company of the destination.    company: String    # The two-letter country code of the destination.    countryCode: CountryCode    # The email of the customer at the destination.    email: String    # The first name of the customer at the destination.    firstName: String    # A globally-unique identifier.    id: ID!    # The last name of the customer at the destination.    lastName: String    # The phone number of the customer at the destination.    phone: String    # The province of the destination.    province: String    # The ZIP code of the destination.    zip: String}# A fulfillment hold currently applied on a fulfillment order.type FulfillmentHold {    # The reason for the fulfillment hold.    reason: FulfillmentHoldReason!    # Additional information about the fulfillment hold reason.    reasonNotes: String}# The international duties relevant to a fulfillment order.type FulfillmentOrderInternationalDuties {    # The method of duties payment. Example values: DDP, DAP.    incoterm: String!}# One of the actions that the fulfillment order supports in its current state.type FulfillmentOrderSupportedAction {    # The action value.    action: FulfillmentOrderAction!    # The external URL to be used to initiate the fulfillment process outside Shopify.    # Applicable only when the action value is EXTERNAL.    externalUrl: URL}# The fulfillment event that describes the fulfilllment status at a particular time.type FulfillmentEvent implements Node {    # The time at which this fulfillment event happened.    happenedAt: DateTime!    # A globally-unique identifier.    id: ID!    # The status of this fulfillment event.    status: FulfillmentEventStatus!}# Represents a line item from an order that's included in a fulfillment.type FulfillmentLineItem implements Node {    # The total price after discounts are applied in shop and presentment currencies.    discountedTotalSet: MoneyBag!    # A globally-unique identifier.    id: ID!    # The associated order's line item.    lineItem: LineItem!    # The total price before discounts are applied in shop and presentment currencies.    originalTotalSet: MoneyBag!    # Number of line items in the fulfillment.    quantity: Int}# Associates an order line item with quantities requiring fulfillment from the respective fulfillment order.type FulfillmentOrderLineItem implements Node {    # A globally-unique identifier.    id: ID!    # The associated order line item.    lineItem: LineItem!    # The number of units remaining to be fulfilled.    remainingQuantity: Int!    # The total number of units to be fulfilled.    totalQuantity: Int!    # Warning messages for a fulfillment order line item.    warnings: [FulfillmentOrderLineItemWarning!]!}# A fulfillment order line item warning. For example, a warning about why a fulfillment request was rejected.type FulfillmentOrderLineItemWarning {    # The description of warning.    description: String    # The title of warning.    title: String}# A location that a fulfillment order can potentially move to.type FulfillmentOrderLocationForMove {    # The location being considered as the fulfillment order's new assigned location.    location: Location!    # A human-readable string with the reason why the fulfillment order, or some of its line items, can't be    # moved to the location.    message: String    # Whether the fulfillment order can be moved to the location.    movable: Boolean!}# Represents a request made by the merchant to a fulfillment service for a fulfillment order.type FulfillmentOrderMerchantRequest implements Node {    # A globally-unique identifier.    id: ID!    # The kind of request made.    kind: FulfillmentOrderMerchantRequestKind!    # The optional message that the merchant included in the request.    message: String    # Additional options requested by the merchant. These depend on the kind of the request.    # For example, for a FULFILLMENT_REQUEST, one option is notify_customer, which indicates whether the    # merchant intends to notify the customer upon fulfillment. The fulfillment service can then set    # notifyCustomer when making calls to FulfillmentCreateV2.    requestOptions: JSON    # The response from the fulfillment service.    responseData: JSON    # The timestamp when the request was made.    sentAt: DateTime!}# An auto-generated type for paginating through multiple FulfillmentEvents.type FulfillmentEventConnection {    # A list of edges.    edges: [FulfillmentEventEdge!]!    # A list of the nodes contained in FulfillmentEventEdge.    nodes: [FulfillmentEvent!]!    # Information to aid in pagination.    pageInfo: PageInfo!}# An auto-generated type which holds one FulfillmentEvent and a cursor during pagination.type FulfillmentEventEdge {    # A cursor for use in pagination.    cursor: String!    # The item at the end of FulfillmentEventEdge.    node: FulfillmentEvent!}# An auto-generated type for paginating through multiple FulfillmentLineItems.type FulfillmentLineItemConnection {    # A list of edges.    edges: [FulfillmentLineItemEdge!]!    # A list of the nodes contained in FulfillmentLineItemEdge.    nodes: [FulfillmentLineItem!]!    # Information to aid in pagination.    pageInfo: PageInfo!}# An auto-generated type which holds one FulfillmentLineItem and a cursor during pagination.type FulfillmentLineItemEdge {    # A cursor for use in pagination.    cursor: String!    # The item at the end of FulfillmentLineItemEdge.    node: FulfillmentLineItem!}# An auto-generated type for paginating through multiple FulfillmentOrders.type FulfillmentOrderConnection {    # A list of edges.    edges: [FulfillmentOrderEdge!]!    # A list of the nodes contained in FulfillmentOrderEdge.    nodes: [FulfillmentOrder!]!    # Information to aid in pagination.    pageInfo: PageInfo!}# An auto-generated type which holds one FulfillmentOrder and a cursor during pagination.type FulfillmentOrderEdge {    # A cursor for use in pagination.    cursor: String!    # The item at the end of FulfillmentOrderEdge.    node: FulfillmentOrder!}# An auto-generated type for paginating through multiple Fulfillments.type FulfillmentConnection {    # A list of edges.    edges: [FulfillmentEdge!]!    # A list of the nodes contained in FulfillmentEdge.    nodes: [Fulfillment!]!    # Information to aid in pagination.    pageInfo: PageInfo!}# An auto-generated type which holds one Fulfillment and a cursor during pagination.type FulfillmentEdge {    # A cursor for use in pagination.    cursor: String!    # The item at the end of FulfillmentEdge.    node: Fulfillment!}# An auto-generated type for paginating through multiple FulfillmentOrderLineItems.type FulfillmentOrderLineItemConnection {    # A list of edges.    edges: [FulfillmentOrderLineItemEdge!]!    # A list of the nodes contained in FulfillmentOrderLineItemEdge.    nodes: [FulfillmentOrderLineItem!]!    # Information to aid in pagination.    pageInfo: PageInfo!}# An auto-generated type which holds one FulfillmentOrderLineItem and a cursor during pagination.type FulfillmentOrderLineItemEdge {    # A cursor for use in pagination.    cursor: String!    # The item at the end of FulfillmentOrderLineItemEdge.    node: FulfillmentOrderLineItem!}# An auto-generated type for paginating through multiple FulfillmentOrderLocationForMoves.type FulfillmentOrderLocationForMoveConnection {    # A list of edges.    edges: [FulfillmentOrderLocationForMoveEdge!]!    # A list of the nodes contained in FulfillmentOrderLocationForMoveEdge.    nodes: [FulfillmentOrderLocationForMove!]!    # Information to aid in pagination.    pageInfo: PageInfo!}# An auto-generated type which holds one FulfillmentOrderLocationForMove and a cursor during pagination.type FulfillmentOrderLocationForMoveEdge {    # A cursor for use in pagination.    cursor: String!    # The item at the end of FulfillmentOrderLocationForMoveEdge.    node: FulfillmentOrderLocationForMove!}# An auto-generated type for paginating through multiple FulfillmentOrderMerchantRequests.type FulfillmentOrderMerchantRequestConnection {    # A list of edges.    edges: [FulfillmentOrderMerchantRequestEdge!]!    # A list of the nodes contained in FulfillmentOrderMerchantRequestEdge.    nodes: [FulfillmentOrderMerchantRequest!]!    # Information to aid in pagination.    pageInfo: PageInfo!}# An auto-generated type which holds one FulfillmentOrderMerchantRequest and a cursor during pagination.type FulfillmentOrderMerchantRequestEdge {    # A cursor for use in pagination.    cursor: String!    # The item at the end of FulfillmentOrderMerchantRequestEdge.    node: FulfillmentOrderMerchantRequest!}
 |