---
displayed_sidebar: pricingReference
---

import ParameterTypes from "@site/src/components/ParameterTypes"

# JoinerServiceConfig

<ParameterTypes parameters={[
  {
    "name": "alias",
    "type": "[JoinerServiceConfigAlias](pricing.JoinerServiceConfigAlias.mdx) \\| [JoinerServiceConfigAlias](pricing.JoinerServiceConfigAlias.mdx)[]",
    "description": "Property name to use as entrypoint to the service",
    "optional": true,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "args",
    "type": "`Record<string, any>`",
    "description": "Extra arguments to pass to the remoteFetchData callback",
    "optional": true,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "extends",
    "type": "`object`[]",
    "description": "",
    "optional": true,
    "defaultValue": "",
    "expandable": false,
    "children": [
      {
        "name": "relationship",
        "type": "[JoinerRelationship](../types/pricing.JoinerRelationship.mdx)",
        "description": "",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": [
          {
            "name": "alias",
            "type": "`string`",
            "description": "",
            "optional": false,
            "defaultValue": "",
            "expandable": false,
            "children": []
          },
          {
            "name": "args",
            "type": "`Record<string, any>`",
            "description": "Extra arguments to pass to the remoteFetchData callback",
            "optional": true,
            "defaultValue": "",
            "expandable": false,
            "children": []
          },
          {
            "name": "foreignKey",
            "type": "`string`",
            "description": "",
            "optional": false,
            "defaultValue": "",
            "expandable": false,
            "children": []
          },
          {
            "name": "inverse",
            "type": "`boolean`",
            "description": "In an inverted relationship the foreign key is on the other service and the primary key is on the current service",
            "optional": true,
            "defaultValue": "",
            "expandable": false,
            "children": []
          },
          {
            "name": "isInternalService",
            "type": "`boolean`",
            "description": "If true, the relationship is an internal service from the medusa core\nTODO: Remove when there are no more \"internal\" services",
            "optional": true,
            "defaultValue": "",
            "expandable": false,
            "children": []
          },
          {
            "name": "isList",
            "type": "`boolean`",
            "description": "Force the relationship to return a list",
            "optional": true,
            "defaultValue": "",
            "expandable": false,
            "children": []
          },
          {
            "name": "primaryKey",
            "type": "`string`",
            "description": "",
            "optional": false,
            "defaultValue": "",
            "expandable": false,
            "children": []
          },
          {
            "name": "serviceName",
            "type": "`string`",
            "description": "",
            "optional": false,
            "defaultValue": "",
            "expandable": false,
            "children": []
          }
        ]
      },
      {
        "name": "serviceName",
        "type": "`string`",
        "description": "",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      }
    ]
  },
  {
    "name": "fieldAlias",
    "type": "`Record<string, string \\| object>`",
    "description": "alias for deeper nested relationships (e.g. &#123; 'price': 'prices.calculated\\_price\\_set.amount' &#125;)",
    "optional": true,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "primaryKeys",
    "type": "`string`[]",
    "description": "",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "relationships",
    "type": "[JoinerRelationship](../types/pricing.JoinerRelationship.mdx)[]",
    "description": "",
    "optional": true,
    "defaultValue": "",
    "expandable": false,
    "children": [
      {
        "name": "alias",
        "type": "`string`",
        "description": "",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "args",
        "type": "`Record<string, any>`",
        "description": "Extra arguments to pass to the remoteFetchData callback",
        "optional": true,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "foreignKey",
        "type": "`string`",
        "description": "",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "inverse",
        "type": "`boolean`",
        "description": "In an inverted relationship the foreign key is on the other service and the primary key is on the current service",
        "optional": true,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "isInternalService",
        "type": "`boolean`",
        "description": "If true, the relationship is an internal service from the medusa core\nTODO: Remove when there are no more \"internal\" services",
        "optional": true,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "isList",
        "type": "`boolean`",
        "description": "Force the relationship to return a list",
        "optional": true,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "primaryKey",
        "type": "`string`",
        "description": "",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "serviceName",
        "type": "`string`",
        "description": "",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      }
    ]
  },
  {
    "name": "serviceName",
    "type": "`string`",
    "description": "",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  }
]} />
