Price Sheet Item Package

Description

A price sheet item package is an item on a price sheet that is a collection of other price sheet items labeled for sale as one unit. Only price-sheet-item and price-sheet-item-digital items may be included within a price-sheet-item-package. Including a price-sheet-item-package within a price-sheet-item-package might cause the universe to implode.

Price sheet items within a package are listed in the items property. Each item must have a quantity property to specify how many of that item are included for sale within the package. Additionally, an allowedPhotoCount may be set to indicate how many photos a purchaser may choose to apply to the items in the package. If this value is omitted or is null, the purchaser may choose any number of photos up to the number of items in the package.

Note that update operations will treat the value of the items property as it is submitted in the request as the value it should have when the request succeeds. When a package is updated, all of it's existing child items are removed and new child items are populated from the items present in the request body.

Properties

Property Description
allowedPhotoCount nullable

A price-sheet-item-package may specify the number of photos that may be applied to the items within the package. For example, if this value is 1, then only one photo may be chosen, and it will apply to all items in the package. If this value is null, then each item in the package may have a different photo applied to it.

At this time, we support a value of either 1 or null. We may support other values in the future.

chargeShipping read-only

Denotes if the price sheet item package should be included when calculating shipping charges.

created read-only

The date on which the entity was created.

description

A description to display to the user in order to give them more information about the pacakge.

displayOrder

The order in which the price sheet item package should be displayed in a list of items.

id

An entity identifier. It may be either an integer or a universally unique identifier (UUID) represented as a string.

images

An array of images that represents the package.

isTaxExempt

Denotes that the price sheet item package price should not be included when calculating sales tax.

items nullable

A price-sheet-item-package may be a combination of price-sheet-item and price-sheet-digital-item items, allowing studios to create bundled packages of products for one price.

links required read-only

Each property defines a hypertext link relationship as indicated by a link object or array of link objects. The target URL of each hypertext link relationship is related to the current resource according to the defined semantics of the link relationship property name.

name

The name of the price sheet item package.

price

Decimal value of the price to be charged for the package.

priceSheetGroupId

The identifier of the price sheet group which contains the package. This is required when creating a new price sheet item package.

priceSheetSubgroupId nullable

The identifier of the price sheet subgroup which contains the package. This cannot be changed after the package has been created.

shippingCharge nullable

Decimal value of any additional charge for shipping the package, in addition to any shipping for the order.

type

The type of resource represented.

OpenAPI Schema

The following schema is based on OpenAPI 3.0 and is provided in our downloadable OpenAPI document.

{
  "description": "A price sheet item package is an item on a price sheet that is a collection\nof other price sheet items labeled for sale as one unit. Only\n`price-sheet-item` and `price-sheet-item-digital` items may be included\nwithin a `price-sheet-item-package`. Including a `price-sheet-item-package`\nwithin a `price-sheet-item-package` might cause the universe to implode.\n\nPrice sheet items within a package are listed in the `items` property. Each\nitem must have a `quantity` property to specify how many of that item are\nincluded for sale within the package. Additionally, an `allowedPhotoCount`\nmay be set to indicate how many photos a purchaser may choose to apply to\nthe items in the package. If this value is omitted or is `null`, the\npurchaser may choose any number of photos up to the number of items in the\npackage.\n\nNote that update operations will treat the value of the `items` property as it\nis submitted in the request as the value it should have when the request succeeds.\nWhen a package is updated, all of it's existing child items are removed and new\nchild items are populated from the items present in the request body.",
  "properties": {
    "allowedPhotoCount": {
      "description": "A `price-sheet-item-package` may specify the number of photos that may\nbe applied to the items within the package. For example, if this value\nis `1`, then only one photo may be chosen, and it will apply to all\nitems in the package. If this value is `null`, then each item in the\npackage may have a different photo applied to it.\n\nAt this time, we support a value of either `1` or `null`. We may\nsupport other values in the future.",
      "maximum": 1,
      "minimum": 1,
      "nullable": true,
      "title": "Number of Photos Allowed",
      "type": "integer"
    },
    "chargeShipping": {
      "description": "Denotes if the price sheet item package should be included when\ncalculating shipping charges.",
      "readOnly": true,
      "type": "boolean"
    },
    "created": {
      "$ref": "#/components/schemas/Signature/properties/created"
    },
    "description": {
      "description": "A description to display to the user in order to give them more\ninformation about the pacakge.",
      "type": "string"
    },
    "displayOrder": {
      "description": "The order in which the price sheet item package should be displayed in a\nlist of items.",
      "type": "integer"
    },
    "id": {
      "$ref": "#/components/schemas/Id"
    },
    "images": {
      "description": "An array of images that represents the package.",
      "items": {
        "$ref": "#/components/schemas/PriceSheetElementImage"
      },
      "title": "Price Sheet Element Image",
      "type": "array"
    },
    "isTaxExempt": {
      "description": "Denotes that the price sheet item package price should not be included\nwhen calculating sales tax.",
      "type": "boolean"
    },
    "items": {
      "description": "A `price-sheet-item-package` may be a combination of `price-sheet-item`\nand `price-sheet-digital-item` items, allowing studios to create\nbundled packages of products for one price.",
      "items": {
        "anyOf": [
          {
            "allOf": [
              {
                "properties": {
                  "quantity": {
                    "description": "The quantity of this `price-sheet-item` that is sold\nas part of this `price-sheet-item-package`.",
                    "maximum": 25,
                    "minimum": 0,
                    "type": "integer"
                  }
                },
                "required": [
                  "quantity"
                ]
              },
              {
                "$ref": "#/components/schemas/PriceSheetItem"
              }
            ]
          },
          {
            "allOf": [
              {
                "properties": {
                  "allAlbumPhotosDownload": {
                    "properties": {
                      "quantity": {
                        "description": "*Currently unused. Any value greater than zero will result\nin a validation error.*",
                        "maximum": 0,
                        "minimum": 0,
                        "type": "integer"
                      }
                    },
                    "required": [
                      "quantity"
                    ],
                    "type": "object"
                  },
                  "allGalleryPhotosDownload": {
                    "properties": {
                      "quantity": {
                        "description": "A value of one (`1`) indicates that this package contains\na digital download containing all photos in the gallery.\n\n*Please note that only one of `individualPhotoDownload`,\n`allAlbumPhotosDownload`, and `allGalleryPhotosDownload`\nmay have a positive `quantity` value.*",
                        "maximum": 1,
                        "minimum": 0,
                        "type": "integer"
                      }
                    },
                    "required": [
                      "quantity"
                    ],
                    "type": "object"
                  },
                  "individualPhotoDownload": {
                    "properties": {
                      "quantity": {
                        "description": "The number of individual photos a customer may select at\ncheck-out as part of the digital download for this package.\n\n*Please note that only one of `individualPhotoDownload`,\n`allAlbumPhotosDownload`, and `allGalleryPhotosDownload`\nmay have a positive `quantity` value.*",
                        "maximum": 25,
                        "minimum": 0,
                        "type": "integer"
                      }
                    },
                    "required": [
                      "quantity"
                    ],
                    "type": "object"
                  }
                },
                "required": [
                  "individualPhotoDownload",
                  "allAlbumPhotosDownload",
                  "allGalleryPhotosDownload"
                ]
              },
              {
                "$ref": "#/components/schemas/PriceSheetItemDigital"
              }
            ]
          }
        ]
      },
      "nullable": true,
      "title": "Price Sheet Item",
      "type": "array"
    },
    "links": {
      "$ref": "#/components/schemas/Links"
    },
    "name": {
      "description": "The name of the price sheet item package.",
      "maxLength": 250,
      "type": "string"
    },
    "price": {
      "description": "Decimal value of the price to be charged for the package.",
      "type": "number"
    },
    "priceSheetGroupId": {
      "allOf": [
        {
          "description": "The identifier of the price sheet group which contains the package.\nThis is required when creating a new price sheet item package."
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    },
    "priceSheetSubgroupId": {
      "allOf": [
        {
          "description": "The identifier of the price sheet subgroup which contains the package.\nThis cannot be changed after the package has been created.",
          "nullable": true
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    },
    "shippingCharge": {
      "description": "Decimal value of any additional charge for shipping the package, in\naddition to any shipping for the order.",
      "nullable": true,
      "type": "number"
    },
    "type": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Type"
        },
        {
          "enum": [
            "price-sheet-item-package"
          ]
        }
      ]
    }
  },
  "required": [
    "type",
    "name",
    "displayOrder",
    "price",
    "priceSheetGroupId"
  ],
  "title": "Price Sheet Item Package",
  "type": "object"
}