# Fulfillment - Fulfillment Module Data Models Reference

This documentation provides a reference to the Fulfillment data model. It belongs to the Fulfillment Module.

[Source code](https://github.com/medusajs/medusa/blob/f04adb17d322dd6a5e17eca2498df9d05c75f6f0/packages/modules/fulfillment/src/models/fulfillment.ts#L9)

- id: (PrimaryKeyModifier\&#60;IdProperty\&#62;) The ID of the fulfillment.
- location\_id: (\`TextProperty\`) The ID of the location to fulfill items from.
- requires\_shipping: (\`BooleanProperty\`) Whether the fulfillment item requires shipping.
- items: (HasMany\&#60;\[FulfillmentItem]\(../fulfillment\_models.FulfillmentItem/page.mdx)\&#62;) The associated items.

  - id: (PrimaryKeyModifier\&#60;IdProperty\&#62;) The ID of the fulfillment item.

  - title: (\`TextProperty\`) The title of the fulfillment item

  - sku: (\`TextProperty\`) The SKU of the fulfillment item

  - barcode: (\`TextProperty\`) The barcode of the fulfillment item

  - quantity: (\`BigNumberProperty\`) The quantity of the fulfillment item

  - fulfillment: (BelongsTo\&#60;\[Fulfillment]\(./page.mdx)\&#62;) The associated fulfillment.

    - id: (PrimaryKeyModifier\&#60;IdProperty\&#62;) The ID of the fulfillment.

    - location\_id: (\`TextProperty\`) The ID of the location to fulfill items from.

    - requires\_shipping: (\`BooleanProperty\`) Whether the fulfillment item requires shipping.

    - items: (HasMany\&#60;\[FulfillmentItem]\(../fulfillment\_models.FulfillmentItem/page.mdx)\&#62;) The associated items.

    - labels: (HasMany\&#60;\[FulfillmentLabel]\(../fulfillment\_models.FulfillmentLabel/page.mdx)\&#62;) The associated labels.

    - packed\_at: (\`DateTimeProperty\`) The date the fulfillment items were packed.

    - shipped\_at: (\`DateTimeProperty\`) The date the fulfillment items were shipped.

    - marked\_shipped\_by: (\`TextProperty\`) The ID of the user that marked this fulfillment as shipped.

    - created\_by: (\`TextProperty\`) The ID of the user that created this fulfillment.

    - delivered\_at: (\`DateTimeProperty\`) The date the fulfillment items were delivered.

    - canceled\_at: (\`DateTimeProperty\`) The date the fulfillment was canceled.

    - data: (\`JSONProperty\`) The data of the fulfillment useful for the associated fulfillment provider. Learn more in \[this documentation]\(https://docs.medusajs.com/resources/commerce-modules/fulfillment/item-fulfillment#data-property)

    - provider: (HasOneWithForeignKey\&#60;\[FulfillmentProvider]\(../fulfillment\_models.FulfillmentProvider/page.mdx)\&#62;) The associated provider.

    - shipping\_option: (BelongsTo\&#60;\[ShippingOption]\(../fulfillment\_models.ShippingOption/page.mdx)\&#62;) The associated shipping option.

    - delivery\_address: (HasOneWithForeignKey\&#60;\[FulfillmentAddress]\(../fulfillment\_models.FulfillmentAddress/page.mdx)\&#62;) The associated delivery address.

    - metadata: (\`JSONProperty\`) Holds custom data in key-value pairs.

  - line\_item\_id: (\`TextProperty\`) The ID the line item being fulfilled.

  - inventory\_item\_id: (\`TextProperty\`) The ID of the inventory item being fulfilled.
- labels: (HasMany\&#60;\[FulfillmentLabel]\(../fulfillment\_models.FulfillmentLabel/page.mdx)\&#62;) The associated labels.

  - id: (PrimaryKeyModifier\&#60;IdProperty\&#62;) The ID of the fulfillment label.

  - tracking\_number: (\`TextProperty\`) The tracking number of the fulfillment label

  - tracking\_url: (\`TextProperty\`) The tracking URL of the fulfillment label

  - label\_url: (\`TextProperty\`) The label URL of the fulfillment label

  - fulfillment: (BelongsTo\&#60;\[Fulfillment]\(./page.mdx)\&#62;) The associated fulfillment.

    - id: (PrimaryKeyModifier\&#60;IdProperty\&#62;) The ID of the fulfillment.

    - location\_id: (\`TextProperty\`) The ID of the location to fulfill items from.

    - requires\_shipping: (\`BooleanProperty\`) Whether the fulfillment item requires shipping.

    - items: (HasMany\&#60;\[FulfillmentItem]\(../fulfillment\_models.FulfillmentItem/page.mdx)\&#62;) The associated items.

    - labels: (HasMany\&#60;\[FulfillmentLabel]\(../fulfillment\_models.FulfillmentLabel/page.mdx)\&#62;) The associated labels.

    - packed\_at: (\`DateTimeProperty\`) The date the fulfillment items were packed.

    - shipped\_at: (\`DateTimeProperty\`) The date the fulfillment items were shipped.

    - marked\_shipped\_by: (\`TextProperty\`) The ID of the user that marked this fulfillment as shipped.

    - created\_by: (\`TextProperty\`) The ID of the user that created this fulfillment.

    - delivered\_at: (\`DateTimeProperty\`) The date the fulfillment items were delivered.

    - canceled\_at: (\`DateTimeProperty\`) The date the fulfillment was canceled.

    - data: (\`JSONProperty\`) The data of the fulfillment useful for the associated fulfillment provider. Learn more in \[this documentation]\(https://docs.medusajs.com/resources/commerce-modules/fulfillment/item-fulfillment#data-property)

    - provider: (HasOneWithForeignKey\&#60;\[FulfillmentProvider]\(../fulfillment\_models.FulfillmentProvider/page.mdx)\&#62;) The associated provider.

    - shipping\_option: (BelongsTo\&#60;\[ShippingOption]\(../fulfillment\_models.ShippingOption/page.mdx)\&#62;) The associated shipping option.

    - delivery\_address: (HasOneWithForeignKey\&#60;\[FulfillmentAddress]\(../fulfillment\_models.FulfillmentAddress/page.mdx)\&#62;) The associated delivery address.

    - metadata: (\`JSONProperty\`) Holds custom data in key-value pairs.
- packed\_at: (\`DateTimeProperty\`) The date the fulfillment items were packed.
- shipped\_at: (\`DateTimeProperty\`) The date the fulfillment items were shipped.
- marked\_shipped\_by: (\`TextProperty\`) The ID of the user that marked this fulfillment as shipped.
- created\_by: (\`TextProperty\`) The ID of the user that created this fulfillment.
- delivered\_at: (\`DateTimeProperty\`) The date the fulfillment items were delivered.
- canceled\_at: (\`DateTimeProperty\`) The date the fulfillment was canceled.
- data: (\`JSONProperty\`) The data of the fulfillment useful for the associated fulfillment provider. Learn more in \[this documentation]\(https://docs.medusajs.com/resources/commerce-modules/fulfillment/item-fulfillment#data-property)
- provider: (HasOneWithForeignKey\&#60;\[FulfillmentProvider]\(../fulfillment\_models.FulfillmentProvider/page.mdx)\&#62;) The associated provider.

  - id: (PrimaryKeyModifier\&#60;IdProperty\&#62;) The ID of the fulfillment provider.

  - is\_enabled: (\`BooleanProperty\`) Whether the fulfillment provider is enabled.
- shipping\_option: (BelongsTo\&#60;\[ShippingOption]\(../fulfillment\_models.ShippingOption/page.mdx)\&#62;) The associated shipping option.

  - id: (PrimaryKeyModifier\&#60;IdProperty\&#62;) The ID of the shipping option.

  - name: (\`TextProperty\`) The name of the shipping option

  - price\_type: (EnumProperty\&#60;typeof \[ShippingOptionPriceType]\(../../../utils/FulfillmentUtils/enums/utils.FulfillmentUtils.ShippingOptionPriceType/page.mdx)\&#62;) The price type of the shipping option

  - service\_zone: (BelongsTo\&#60;\[ServiceZone]\(../fulfillment\_models.ServiceZone/page.mdx)\&#62;) The associated service zone.

    - id: (PrimaryKeyModifier\&#60;IdProperty\&#62;)

    - name: (\`TextProperty\`)

    - fulfillment\_set: (BelongsTo\&#60;\[FulfillmentSet]\(../fulfillment\_models.FulfillmentSet/page.mdx)\&#62;)

    - geo\_zones: (HasMany\&#60;\[GeoZone]\(../fulfillment\_models.GeoZone/page.mdx)\&#62;)

    - shipping\_options: (HasMany\&#60;\[ShippingOption]\(../fulfillment\_models.ShippingOption/page.mdx)\&#62;)

    - metadata: (\`JSONProperty\`)

  - type: (BelongsTo\&#60;\[ShippingOptionType]\(../fulfillment\_models.ShippingOptionType/page.mdx)\&#62;) The associated type.

    - id: (PrimaryKeyModifier\&#60;IdProperty\&#62;) The ID of the shipping option type.

    - label: (\`TextProperty\`) The label of the shipping option type

    - code: (\`TextProperty\`) The code of the shipping option type

    - shipping\_options: (HasMany\&#60;\[ShippingOption]\(../fulfillment\_models.ShippingOption/page.mdx)\&#62;) The associated shipping options.

    - description: (\`TextProperty\`) The description of the shipping option type

  - rules: (HasMany\&#60;\[ShippingOptionRule]\(../fulfillment\_models.ShippingOptionRule/page.mdx)\&#62;) The associated rules.

    - id: (PrimaryKeyModifier\&#60;IdProperty\&#62;) The ID of the shipping option rule.

    - attribute: (\`TextProperty\`) The name of a property or table that the rule applies to.

    - operator: (EnumProperty\&#60;typeof RuleOperator\&#62;) The operator used in the condition.

    - shipping\_option: (BelongsTo\&#60;\[ShippingOption]\(../fulfillment\_models.ShippingOption/page.mdx)\&#62;) The associated shipping option.

    - value: (\`JSONProperty\`) The value of the shipping option rule

  - fulfillments: (HasMany\&#60;\[Fulfillment]\(./page.mdx)\&#62;) The associated fulfillments.

    - id: (PrimaryKeyModifier\&#60;IdProperty\&#62;) The ID of the fulfillment.

    - location\_id: (\`TextProperty\`) The ID of the location to fulfill items from.

    - requires\_shipping: (\`BooleanProperty\`) Whether the fulfillment item requires shipping.

    - items: (HasMany\&#60;\[FulfillmentItem]\(../fulfillment\_models.FulfillmentItem/page.mdx)\&#62;) The associated items.

    - labels: (HasMany\&#60;\[FulfillmentLabel]\(../fulfillment\_models.FulfillmentLabel/page.mdx)\&#62;) The associated labels.

    - packed\_at: (\`DateTimeProperty\`) The date the fulfillment items were packed.

    - shipped\_at: (\`DateTimeProperty\`) The date the fulfillment items were shipped.

    - marked\_shipped\_by: (\`TextProperty\`) The ID of the user that marked this fulfillment as shipped.

    - created\_by: (\`TextProperty\`) The ID of the user that created this fulfillment.

    - delivered\_at: (\`DateTimeProperty\`) The date the fulfillment items were delivered.

    - canceled\_at: (\`DateTimeProperty\`) The date the fulfillment was canceled.

    - data: (\`JSONProperty\`) The data of the fulfillment useful for the associated fulfillment provider. Learn more in \[this documentation]\(https://docs.medusajs.com/resources/commerce-modules/fulfillment/item-fulfillment#data-property)

    - provider: (HasOneWithForeignKey\&#60;\[FulfillmentProvider]\(../fulfillment\_models.FulfillmentProvider/page.mdx)\&#62;) The associated provider.

    - shipping\_option: (BelongsTo\&#60;\[ShippingOption]\(../fulfillment\_models.ShippingOption/page.mdx)\&#62;) The associated shipping option.

    - delivery\_address: (HasOneWithForeignKey\&#60;\[FulfillmentAddress]\(../fulfillment\_models.FulfillmentAddress/page.mdx)\&#62;) The associated delivery address.

    - metadata: (\`JSONProperty\`) Holds custom data in key-value pairs.

  - data: (\`JSONProperty\`) The data of the shipping option useful for the associated fulfillment provider. Learn more in \[this documentation]\(https://docs.medusajs.com/resources/commerce-modules/fulfillment/shipping-option#data-property)

  - metadata: (\`JSONProperty\`) Holds custom data in key-value pairs.

  - shipping\_profile: (BelongsTo\&#60;\[ShippingProfile]\(../fulfillment\_models.ShippingProfile/page.mdx)\&#62;) The associated shipping profile.

    - id: (PrimaryKeyModifier\&#60;IdProperty\&#62;) The ID of the shipping profile.

    - name: (\`TextProperty\`) The name of the shipping profile

    - type: (\`TextProperty\`) The type of the shipping profile

    - shipping\_options: (HasMany\&#60;\[ShippingOption]\(../fulfillment\_models.ShippingOption/page.mdx)\&#62;) The associated shipping options.

    - metadata: (\`JSONProperty\`) Holds custom data in key-value pairs.

  - provider: (BelongsTo\&#60;\[FulfillmentProvider]\(../fulfillment\_models.FulfillmentProvider/page.mdx)\&#62;) The associated provider.

    - id: (PrimaryKeyModifier\&#60;IdProperty\&#62;) The ID of the fulfillment provider.

    - is\_enabled: (\`BooleanProperty\`) Whether the fulfillment provider is enabled.
- delivery\_address: (HasOneWithForeignKey\&#60;\[FulfillmentAddress]\(../fulfillment\_models.FulfillmentAddress/page.mdx)\&#62;) The associated delivery address.

  - id: (PrimaryKeyModifier\&#60;IdProperty\&#62;) The ID of the fulfillment address.

  - company: (\`TextProperty\`) The company of the fulfillment address

  - first\_name: (\`TextProperty\`) The first name of the fulfillment address

  - last\_name: (\`TextProperty\`) The last name of the fulfillment address

  - address\_1: (\`TextProperty\`) The first line of the fulfillment address

  - address\_2: (\`TextProperty\`) The second line of the fulfillment address

  - city: (\`TextProperty\`) The city of the fulfillment address

  - country\_code: (\`TextProperty\`) The country code of the fulfillment address.

  - province: (\`TextProperty\`) The province of the fulfillment address

  - postal\_code: (\`TextProperty\`) The postal code of the fulfillment address

  - phone: (\`TextProperty\`) The phone of the fulfillment address

  - metadata: (\`JSONProperty\`) Holds custom data in key-value pairs.
- metadata: (\`JSONProperty\`) Holds custom data in key-value pairs.


---

The best way to deploy Medusa is through Medusa Cloud where you get autoscaling production infrastructure fine tuned for Medusa. Create an account by signing up at cloud.medusajs.com/signup.
