UNPKG

@sp-api-sdk/schemas

Version:

JSON schemas and TypeScript types for the Amazon Selling Partner API (SP-API)

19,886 lines 647 kB
import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.js";
//#region src/feeds/listings-feed-message-schema-v-2.ts
const listingsFeedMessageSchemaV2 = {
	$comment: "JSON Schema describing the document format for JSON Selling Partner Listings Message (v2).",
	title: "Selling Partner Listings Message (v2)",
	properties: {
		messageId: {
			title: "Message Identifier",
			description: "Identifier for the message that is unique within this feed submission. Response messages are correlated to this identifier.",
			examples: [1],
			minimum: 1,
			type: "integer"
		},
		sku: {
			title: "SKU (Stock Keeping Unit)",
			description: "Selling Partner SKU (stock keeping unit) identifier for the listing. SKU uniquely identifies a listing for a Selling Partner.",
			examples: ["ABC123"],
			minLength: 1,
			type: "string"
		},
		operationType: {
			title: "Operation Type",
			description: "Type of operation to perform for the listings data submission in this message. \"UPDATE\" indicates the full set of item attributes are provided and any existing attributes data will be replaced with the provided attributes. \"PARTIAL_UPDATE\" indicates only the provided item attributes will be updated with the provided attribute data. \"PATCH\" indicates the provided JSON Patch operations will be used to update the applicable attributes. \"DELETE\" indicates the listings item will be deleted.",
			enum: [
				"UPDATE",
				"PARTIAL_UPDATE",
				"PATCH",
				"DELETE"
			],
			type: "string"
		},
		productType: {
			title: "Amazon Product Type",
			description: "Amazon product type of the listings data submission in this message.",
			examples: ["LUGGAGE", "SHOES"],
			minLength: 1,
			type: "string"
		},
		requirements: {
			title: "Requirements",
			description: "Name of the requirements type for the listings data submission in this message. \"LISTING\" indicates requirements inclusive of product facts and sales terms. \"LISTING_PRODUCT_ONLY\" indicates requirements inclusive of product facts only. \"LISTING_OFFER_ONLY\" indicates requirements inclusive of sales terms only.",
			default: "LISTING",
			enum: [
				"LISTING",
				"LISTING_PRODUCT_ONLY",
				"LISTING_OFFER_ONLY"
			],
			type: "string"
		},
		attributes: {
			title: "Listings Item Attributes",
			description: "Attributes data for the listings data submission.",
			additionalProperties: true,
			minProperties: 1,
			type: "object"
		},
		patches: {
			title: "Listings Item JSON Patch Operations",
			description: "Attributes data in the form of JSON Patch operations to update or delete.",
			minItems: 1,
			items: {
				description: "Individual JSON Patch operation.",
				properties: {
					op: {
						description: "Type of JSON Patch operation. Supported JSON Patch operations include add, replace, merge, and delete. See https://tools.ietf.org/html/rfc6902.",
						example: "replace",
						enum: [
							"add",
							"replace",
							"merge",
							"delete"
						],
						type: "string"
					},
					path: {
						description: "JSON Pointer path of the attribute to patch. See https://tools.ietf.org/html/rfc6902.",
						example: "/attributes/fulfillment_availability",
						type: "string"
					},
					value: {
						description: "JSON value to add, replace, or delete.",
						example: [{
							fulfillment_channel_code: "DEFAULT",
							quantity: 10
						}],
						type: "array",
						items: {
							type: "object",
							additionalProperties: true
						}
					}
				},
				required: ["op", "path"],
				type: "object"
			},
			type: "array"
		}
	},
	required: [
		"messageId",
		"sku",
		"operationType"
	],
	oneOf: [
		{
			$comment: "\"UPDATE\" operations require a \"productType\" and \"attributes\"; \"patches\" are not applicable to \"UPDATE\" operations.",
			properties: {
				operationType: {
					const: "UPDATE",
					type: "string"
				},
				patches: false
			},
			required: ["productType", "attributes"]
		},
		{
			$comment: "\"requirements\", \"attributes\", \"productType\", and \"patches\" are not applicable to \"DELETE\" operations.",
			properties: {
				operationType: {
					const: "DELETE",
					type: "string"
				},
				requirements: false,
				attributes: false,
				productType: false,
				patches: false
			}
		},
		{
			$comment: "\"PARTIAL_UPDATE\" operations require a \"productType\" and \"attributes\"; \"requirements\" and \"patches\" are not applicable to \"PARTIAL_UPDATE\" operations.",
			properties: {
				operationType: {
					const: "PARTIAL_UPDATE",
					type: "string"
				},
				requirements: false,
				patches: false
			},
			required: ["productType", "attributes"]
		},
		{
			$comment: "\"PATCH\" operations require a \"productType\" and \"patches\"; \"requirements\" and \"attributes\" are not applicable to \"PATCH\" operations.",
			properties: {
				operationType: {
					const: "PATCH",
					type: "string"
				},
				requirements: false,
				attributes: false
			},
			required: ["productType", "patches"]
		}
	],
	type: "object"
};
//#endregion
//#region src/feeds/listings-feed-processing-report-schema-v-2.ts
const listingsFeedProcessingReportSchemaV2 = {
	$comment: "JSON Schema describing the document format for JSON Selling Partner Listings Feeds Processing Report (v2).",
	title: "Selling Partner JSON Listings Feed Processing Report (v2)",
	properties: {
		header: {
			title: "Processing Report Header",
			description: "Header information about the feed submission.",
			properties: {
				sellerId: {
					title: "Selling Partner Identifier",
					description: "Identifier for the Selling Partner, such as the Merchant Account or Vendor Code.",
					type: "string"
				},
				version: {
					title: "Feed Version",
					description: "Version of the JSON Selling Partner Listings Feeds specification used for the feed submission.",
					const: "2.0",
					type: "string"
				},
				feedId: {
					title: "Feed Identifier",
					description: "The identifier for the feed. This identifier is unique only in combination with a seller ID.",
					type: "string"
				},
				report: {
					title: "Report",
					description: "The report information for the feed submission.",
					properties: {
						includedData: {
							title: "Included Data",
							description: "When \"includedData\" elements are in the feed submission, the processing report that generates for the feed submission includes the listings items output from the Selling Partner Listings Items API with the \"includedData\" elements from the request. The report includes issues that prevent the acceptance of messages regardless of the \"includedData\" elements in the feed request.",
							type: "array",
							minItems: 1,
							items: {
								type: "string",
								enum: [
									"summaries",
									"attributes",
									"issues",
									"offers",
									"fulfillmentAvailability",
									"procurement",
									"relationships",
									"productTypes"
								]
							}
						},
						apiVersion: {
							title: "Selling Partner Listings Items API Version",
							description: "The version of the Selling Partner Listings Items API to use to retrieve the listing items.",
							type: "string",
							enum: ["2021-08-01"]
						}
					},
					required: ["includedData", "apiVersion"],
					type: "object"
				}
			},
			required: [
				"sellerId",
				"version",
				"feedId"
			],
			type: "object"
		},
		issues: {
			title: "Issues Encountered Processing Messages",
			description: "Issues containing message processing information for the Selling Partner.",
			minItems: 0,
			items: {
				title: "Issue",
				description: "Issue containing message processing information corresponding to an individual listings data submission.",
				properties: {
					messageId: {
						title: "Message Identifier",
						description: "Identifier for the message that is unique within this feed submission. Correlated to Identifiers provided in the submitted feed. Not provided if the error is not related to a message (e.g. feed formatting issue).",
						examples: [1],
						minimum: 1,
						type: "integer"
					},
					sku: {
						title: "SKU (Stock Keeping Unit)",
						description: "Selling Partner SKU (stock keeping unit) identifier for the listing. SKU uniquely identifies a listing for a Selling Partner.",
						examples: ["ABC123"],
						minLength: 1,
						type: "string"
					},
					code: {
						title: "Error Code",
						description: "An Optional error code that maps to documentation.",
						examples: ["ABC123"],
						minLength: 1,
						type: "string"
					},
					severity: {
						title: "Error Severity",
						description: "The severity of the issue.",
						enum: [
							"ERROR",
							"WARNING",
							"INFO"
						],
						type: "string"
					},
					message: {
						title: "Localized Error Message",
						description: "Localized Error Message Associated with the issue encountered.",
						examples: ["'[batteries_required]' is required but not supplied."],
						minLength: 1,
						type: "string"
					},
					attributeName: {
						description: "Name of the attribute associated with the issue, if applicable.",
						examples: ["item_type_name"],
						type: "string"
					}
				},
				required: ["severity", "message"],
				type: "object"
			},
			type: "array"
		},
		summary: {
			title: "Processing Report Summary",
			description: "Aggregate counts of errors, warnings, and statuses related to the acceptance of feed messages. When requested, Item Summary includes aggregate counts of items, errors, and warnings related to the listing items created or updated by this feed submission.",
			properties: {
				errors: {
					title: "Errors",
					description: "Number of errors encountered processing the feed.",
					examples: [1],
					minimum: 0,
					type: "integer"
				},
				warnings: {
					title: "Warnings",
					description: "Number of warnings encountered processing the feed.",
					examples: [1],
					minimum: 0,
					type: "integer"
				},
				messagesProcessed: {
					title: "Messages Processed",
					description: "Number of messages processed.",
					examples: [1],
					minimum: 0,
					type: "integer"
				},
				messagesAccepted: {
					title: "Messages Accepted",
					description: "Number of messages that were accepted, the associated updates are being applied.",
					examples: [1],
					minimum: 0,
					type: "integer"
				},
				messagesInvalid: {
					title: "Messages Invalid",
					description: "Number of messages that were invalid, the associated updates will not be applied.",
					examples: [1],
					minimum: 0,
					type: "integer"
				},
				itemSummary: {
					title: "Item Summary",
					description: "Aggregate counts of items, errors, and warnings related to the listing items created or updated by this feed submission and included in the Items section of this report.",
					type: "object",
					properties: {
						items: {
							title: "Items",
							description: "Number of listing items created or updated by this feed submission and included in the Items section of this report.",
							examples: [1],
							minimum: 0,
							type: "integer"
						},
						errors: {
							title: "Errors",
							description: "Number of errors across all listing items created or updated by this feed submission.",
							examples: [1],
							minimum: 0,
							type: "integer"
						},
						warnings: {
							title: "Warnings",
							description: "Number of warnings across all listing items created or updated by this feed submission.",
							examples: [1],
							minimum: 0,
							type: "integer"
						}
					},
					required: [
						"items",
						"errors",
						"warnings"
					]
				}
			},
			required: [
				"errors",
				"warnings",
				"messagesProcessed",
				"messagesAccepted",
				"messagesInvalid"
			],
			type: "object"
		},
		items: {
			title: "Listings Items",
			description: "A set of listings items and their specific data sets that originates from the feed request’s \"includedData\" header parameter.",
			type: "array",
			items: {
				title: "Item",
				description: "A listings item.",
				additionalProperties: true,
				minProperties: 1,
				type: "object"
			}
		}
	},
	required: [
		"header",
		"issues",
		"summary"
	],
	type: "object"
};
//#endregion
//#region src/feeds/listings-feed-schema-v-2.ts
const listingsFeedSchemaV2 = {
	$comment: "JSON Schema describing the document format for JSON Selling Partner Listings Feeds (v2).",
	title: "Selling Partner Listings Feed (v2)",
	properties: {
		header: {
			title: "Feed Header",
			description: "Header information about the feed submission.",
			properties: {
				sellerId: {
					title: "Selling Partner Identifier",
					description: "Identifier for the Selling Partner, such as the Merchant Account or Vendor Code.",
					type: "string"
				},
				version: {
					title: "Feed Version",
					description: "Version of the JSON Selling Partner Listings Feeds specification used for the feed submission.",
					const: "2.0",
					type: "string"
				},
				issueLocale: {
					title: "Issue Locale",
					description: "Locale for issue localization. When not provided, the default language code of the first marketplace is used. Examples: \"en_US\", \"fr_CA\", \"fr_FR\". Localized messages default to \"en_US\" when a localization is not available in the specified locale.",
					type: "string"
				},
				report: {
					title: "Report",
					description: "The report information for the feed submission.",
					properties: {
						includedData: {
							title: "Included Data",
							description: "When \"includedData\" elements are in the feed submission, the processing report that generates for the feed submission includes the listings items output from the Selling Partner Listings Items API with the \"includedData\" elements from the request. The report includes issues that prevent the acceptance of messages regardless of the \"includedData\" elements in the feed request.",
							type: "array",
							minItems: 1,
							items: {
								type: "string",
								enum: [
									"summaries",
									"attributes",
									"issues",
									"offers",
									"fulfillmentAvailability",
									"procurement",
									"relationships",
									"productTypes"
								]
							}
						},
						apiVersion: {
							title: "Selling Partner Listings Items API Version",
							description: "The version of the Selling Partner Listings Items API to use to retrieve the listing items.",
							type: "string",
							enum: ["2021-08-01"]
						}
					},
					required: ["includedData", "apiVersion"],
					type: "object"
				}
			},
			required: ["sellerId", "version"],
			type: "object"
		},
		messages: {
			title: "Feed Messages",
			description: "Messages containing listings data submissions for the Selling Partner.",
			minItems: 1,
			maxItems: 25e3,
			items: {
				title: "Feed Message",
				description: "Message containing an individual listings data submission.",
				properties: {
					messageId: {
						title: "Message Identifier",
						description: "Identifier for the message that is unique within this feed submission. Response messages are correlated to this identifier.",
						examples: [1],
						minimum: 1,
						type: "integer",
						maximum: 2147483647
					},
					sku: {
						title: "SKU (Stock Keeping Unit)",
						description: "Selling Partner SKU (stock keeping unit) identifier for the listing. SKU uniquely identifies a listing for a Selling Partner.",
						examples: ["ABC123"],
						minLength: 1,
						type: "string"
					},
					operationType: {
						title: "Operation Type",
						description: "Type of operation to perform for the listings data submission in this message. \"UPDATE\" indicates the full set of item attributes are provided and any existing attributes data will be replaced with the provided attributes. \"PARTIAL_UPDATE\" indicates only the provided item attributes will be updated with the provided attribute data. \"PATCH\" indicates the provided JSON Patch operations will be used to update the applicable attributes. \"DELETE\" indicates the listings item will be deleted. \"PARTIAL_UPDATE\" is equivalent to using \"PATCH\" with the \"replace\" op.",
						enum: [
							"UPDATE",
							"PARTIAL_UPDATE",
							"PATCH",
							"DELETE"
						],
						type: "string"
					},
					productType: {
						title: "Amazon Product Type",
						description: "Amazon product type of the listings data submission in this message.",
						examples: ["LUGGAGE", "SHOES"],
						minLength: 1,
						type: "string"
					},
					requirements: {
						title: "Requirements",
						description: "Name of the requirements type for the listings data submission in this message. \"LISTING\" indicates requirements inclusive of product facts and sales terms. \"LISTING_PRODUCT_ONLY\" indicates requirements inclusive of product facts only. \"LISTING_OFFER_ONLY\" indicates requirements inclusive of sales terms only.",
						default: "LISTING",
						enum: [
							"LISTING",
							"LISTING_PRODUCT_ONLY",
							"LISTING_OFFER_ONLY"
						],
						type: "string"
					},
					attributes: {
						title: "Listings Item Attributes",
						description: "Attributes data for the listings data submission.",
						additionalProperties: true,
						minProperties: 1,
						type: "object"
					},
					patches: {
						title: "Listings Item JSON Patch Operations",
						description: "Attributes data in the form of JSON Patch operations to update or delete.",
						minItems: 1,
						items: {
							description: "Individual JSON Patch operation.",
							properties: {
								op: {
									description: "Type of JSON Patch operation. Supported JSON Patch operations include add, replace, merge, and delete. See https://tools.ietf.org/html/rfc6902.",
									example: "replace",
									enum: [
										"add",
										"replace",
										"merge",
										"delete"
									],
									type: "string"
								},
								path: {
									description: "JSON Pointer path of the attribute to patch. See https://tools.ietf.org/html/rfc6902.",
									example: "/attributes/fulfillment_availability",
									type: "string"
								},
								value: {
									description: "JSON value to add, replace, or delete.",
									example: [{
										fulfillment_channel_code: "DEFAULT",
										quantity: 10
									}],
									type: "array",
									items: {
										type: "object",
										additionalProperties: true
									}
								}
							},
							required: ["op", "path"],
							type: "object"
						},
						type: "array"
					}
				},
				required: [
					"messageId",
					"sku",
					"operationType"
				],
				oneOf: [
					{
						$comment: "\"UPDATE\" operations require a \"productType\" and \"attributes\"; \"patches\" are not applicable to \"UPDATE\" operations.",
						properties: {
							operationType: {
								const: "UPDATE",
								type: "string"
							},
							patches: false
						},
						required: ["productType", "attributes"]
					},
					{
						$comment: "\"requirements\", \"attributes\", \"productType\", and \"patches\" are not applicable to \"DELETE\" operations.",
						properties: {
							operationType: {
								const: "DELETE",
								type: "string"
							},
							requirements: false,
							attributes: false,
							productType: false,
							patches: false
						}
					},
					{
						$comment: "\"PARTIAL_UPDATE\" operations require a \"productType\" and \"attributes\"; \"requirements\" and \"patches\" are not applicable to \"PARTIAL_UPDATE\" operations.",
						properties: {
							operationType: {
								const: "PARTIAL_UPDATE",
								type: "string"
							},
							requirements: false,
							patches: false
						},
						required: ["productType", "attributes"]
					},
					{
						$comment: "\"PATCH\" operations require a \"productType\" and \"patches\"; \"requirements\" and \"attributes\" are not applicable to \"PATCH\" operations.",
						properties: {
							operationType: {
								const: "PATCH",
								type: "string"
							},
							requirements: false,
							attributes: false
						},
						required: ["productType", "patches"]
					}
				],
				type: "object"
			},
			type: "array"
		}
	},
	required: ["header", "messages"],
	type: "object"
};
//#endregion
//#region src/feeds/index.ts
var feeds_exports = /* @__PURE__ */ __exportAll({
	listingsFeedMessageSchemaV2: () => listingsFeedMessageSchemaV2,
	listingsFeedProcessingReportSchemaV2: () => listingsFeedProcessingReportSchemaV2,
	listingsFeedSchemaV2: () => listingsFeedSchemaV2
});
//#endregion
//#region src/notifications/any-offer-changed-notification.ts
const anyOfferChangedNotification = {
	$id: "http://example.com/example.json",
	type: "object",
	title: "The root schema",
	description: "The root schema comprises the entire JSON document.",
	default: {},
	examples: [{
		NotificationVersion: "1.0",
		NotificationType: "ANY_OFFER_CHANGED",
		PayloadVersion: "1.0",
		EventTime: "2020-07-13T19:42:04.284Z",
		NotificationMetadata: {
			ApplicationId: "app-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746",
			SubscriptionId: "subscription-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746",
			PublishTime: "2020-07-13T19:42:04.284Z",
			NotificationId: "d0e9e693-c3ad-4373-979f-ed4ec98dd746"
		},
		Payload: { AnyOfferChangedNotification: {
			SellerId: "A3TH9S8BH6GOGM",
			OfferChangeTrigger: {
				MarketplaceId: "ATVPDKIKX0DER",
				ASIN: "123",
				ItemCondition: "New",
				TimeOfOfferChange: "2020-07-13T19:42:04.284Z",
				OfferChangeType: "Internal"
			},
			Summary: {
				NumberOfOffers: [{
					Condition: "new",
					FulfillmentChannel: "Merchant",
					OfferCount: 10
				}, {
					Condition: "used",
					FulfillmentChannel: "Amazon",
					OfferCount: 21
				}],
				LowestPrices: [{
					Condition: "new",
					FulfillmentChannel: "Merchant",
					LandedPrice: {
						Amount: 10,
						CurrencyCode: "USD"
					},
					ListingPrice: {
						Amount: 10,
						CurrencyCode: "USD"
					},
					Shipping: {
						Amount: 0,
						CurrencyCode: "USD"
					}
				}, {
					Condition: "used",
					FulfillmentChannel: "Amazon",
					LandedPrice: {
						Amount: 11,
						CurrencyCode: "USD"
					},
					ListingPrice: {
						Amount: 20,
						CurrencyCode: "USD"
					},
					Shipping: {
						Amount: 40,
						CurrencyCode: "USD"
					},
					Points: { PointsNumber: 34343 }
				}],
				BuyBoxPrices: [{
					Condition: "new",
					LandedPrice: {
						Amount: 10,
						CurrencyCode: "USD"
					},
					ListingPrice: {
						Amount: 10,
						CurrencyCode: "USD"
					},
					Shipping: {
						Amount: 0,
						CurrencyCode: "USD"
					}
				}, {
					Condition: "used",
					LandedPrice: {
						Amount: 11,
						CurrencyCode: "USD"
					},
					ListingPrice: {
						Amount: 20,
						CurrencyCode: "USD"
					},
					Shipping: {
						Amount: 40,
						CurrencyCode: "USD"
					},
					Points: { PointsNumber: 34343 }
				}],
				ListPrice: {
					Amount: 55,
					CurrencyCode: "USD"
				},
				MinimumAdvertisedPrice: {
					Amount: 66,
					CurrencyCode: "USD"
				},
				SuggestedLowerPricePlusShipping: {
					Amount: 77,
					CurrencyCode: "USD"
				},
				TotalBuyBoxEligibleOffers: 100,
				SalesRankings: [{
					ProductCategoryId: "1243",
					Rank: 1
				}, {
					ProductCategoryId: "1234",
					Rank: 2
				}],
				NumberOfBuyBoxEligibleOffers: [{
					Condition: "new",
					FulfillmentChannel: "Merchant",
					OfferCount: 23
				}, {
					Condition: "used",
					FulfillmentChannel: "Amazon",
					OfferCount: 54
				}],
				CompetitivePriceThreshold: {
					Amount: 22,
					CurrencyCode: "USD"
				}
			},
			Offers: [{
				SellerId: "111",
				SubCondition: "New",
				SellerFeedbackRating: {
					FeedbackCount: 9,
					SellerPositiveFeedbackRating: 10
				},
				ShippingTime: {
					MinimumHours: 10,
					MaximumHours: 30,
					AvailabilityType: "available",
					AvailableDate: "2020-07-13T19:42:04.284Z"
				},
				ListingPrice: {
					Amount: 23,
					CurrencyCode: "USD"
				},
				Points: { PointsNumber: 33333 },
				Shipping: {
					Amount: 110,
					CurrencyCode: "USD"
				},
				ShipsFrom: {
					Country: "USA",
					State: "MI"
				},
				IsFulfilledByAmazon: true,
				PrimeInformation: {
					IsOfferPrime: true,
					IsOfferNationalPrime: false
				},
				IsExpeditedShippingAvailable: true,
				IsFeaturedMerchant: true,
				ShipsDomestically: true,
				ShipsInternationally: true
			}]
		} }
	}],
	required: [
		"NotificationVersion",
		"NotificationType",
		"PayloadVersion",
		"EventTime",
		"NotificationMetadata",
		"Payload"
	],
	additionalProperties: true,
	properties: {
		NotificationVersion: {
			$id: "#/properties/NotificationVersion",
			type: "string",
			title: "The NotificationVersion schema",
			description: "An explanation about the purpose of this instance.",
			default: "",
			examples: ["1.0"]
		},
		NotificationType: {
			$id: "#/properties/NotificationType",
			type: "string",
			title: "The Notification type schema",
			description: "An explanation about the purpose of this instance.",
			default: "",
			examples: ["ANY_OFFER_CHANGED"]
		},
		PayloadVersion: {
			$id: "#/properties/PayloadVersion",
			type: "string",
			title: "The PayloadVersion schema",
			description: "An explanation about the purpose of this instance.",
			default: "",
			examples: ["1.0"]
		},
		EventTime: {
			$id: "#/properties/EventTime",
			type: "string",
			title: "The EventTime schema",
			description: "An explanation about the purpose of this instance.",
			default: "",
			examples: ["2020-07-13T19:42:04.284Z"]
		},
		NotificationMetadata: {
			$id: "#/properties/NotificationMetadata",
			type: "object",
			title: "The NotificationMetadata schema",
			description: "An explanation about the purpose of this instance.",
			default: {},
			examples: [{
				ApplicationId: "app-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746",
				SubscriptionId: "subscription-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746",
				PublishTime: "2020-07-13T19:42:04.284Z",
				NotificationId: "d0e9e693-c3ad-4373-979f-ed4ec98dd746"
			}],
			required: [
				"ApplicationId",
				"SubscriptionId",
				"PublishTime",
				"NotificationId"
			],
			additionalProperties: true,
			properties: {
				ApplicationId: {
					$id: "#/properties/NotificationMetadata/properties/ApplicationId",
					type: "string",
					title: "The ApplicationId schema",
					description: "An explanation about the purpose of this instance.",
					default: "",
					examples: ["app-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746"]
				},
				SubscriptionId: {
					$id: "#/properties/NotificationMetadata/properties/SubscriptionId",
					type: "string",
					title: "The SubscriptionId schema",
					description: "An explanation about the purpose of this instance.",
					default: "",
					examples: ["subscription-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746"]
				},
				PublishTime: {
					$id: "#/properties/NotificationMetadata/properties/PublishTime",
					type: "string",
					title: "The PublishTime schema",
					description: "An explanation about the purpose of this instance.",
					default: "",
					examples: ["2020-07-13T19:42:04.284Z"]
				},
				NotificationId: {
					$id: "#/properties/NotificationMetadata/properties/NotificationId",
					type: "string",
					title: "The NotificationId schema",
					description: "An explanation about the purpose of this instance.",
					default: "",
					examples: ["d0e9e693-c3ad-4373-979f-ed4ec98dd746"]
				}
			}
		},
		Payload: {
			$id: "#/properties/Payload",
			type: "object",
			title: "The Payload schema",
			description: "An explanation about the purpose of this instance.",
			default: {},
			examples: [{ AnyOfferChangedNotification: {
				SellerId: "A3TH9S8BH6GOGM",
				OfferChangeTrigger: {
					MarketplaceId: "ATVPDKIKX0DER",
					ASIN: "123",
					ItemCondition: "New",
					TimeOfOfferChange: "2020-07-13T19:42:04.284Z",
					OfferChangeType: "Internal"
				},
				Summary: {
					NumberOfOffers: [{
						Condition: "new",
						FulfillmentChannel: "Merchant",
						OfferCount: 10
					}, {
						Condition: "used",
						FulfillmentChannel: "Amazon",
						OfferCount: 21
					}],
					LowestPrices: [{
						Condition: "new",
						FulfillmentChannel: "Merchant",
						LandedPrice: {
							Amount: 10,
							CurrencyCode: "USD"
						},
						ListingPrice: {
							Amount: 10,
							CurrencyCode: "USD"
						},
						Shipping: {
							Amount: 0,
							CurrencyCode: "USD"
						}
					}, {
						Condition: "used",
						FulfillmentChannel: "Amazon",
						LandedPrice: {
							Amount: 11,
							CurrencyCode: "USD"
						},
						ListingPrice: {
							Amount: 20,
							CurrencyCode: "USD"
						},
						Shipping: {
							Amount: 40,
							CurrencyCode: "USD"
						},
						Points: { PointsNumber: 34343 }
					}],
					BuyBoxPrices: [{
						Condition: "new",
						LandedPrice: {
							Amount: 10,
							CurrencyCode: "USD"
						},
						ListingPrice: {
							Amount: 10,
							CurrencyCode: "USD"
						},
						Shipping: {
							Amount: 0,
							CurrencyCode: "USD"
						}
					}, {
						Condition: "used",
						LandedPrice: {
							Amount: 11,
							CurrencyCode: "USD"
						},
						ListingPrice: {
							Amount: 20,
							CurrencyCode: "USD"
						},
						Shipping: {
							Amount: 40,
							CurrencyCode: "USD"
						},
						Points: { PointsNumber: 34343 }
					}],
					ListPrice: {
						Amount: 55,
						CurrencyCode: "USD"
					},
					MinimumAdvertisedPrice: {
						Amount: 66,
						CurrencyCode: "USD"
					},
					SuggestedLowerPricePlusShipping: {
						Amount: 77,
						CurrencyCode: "USD"
					},
					TotalBuyBoxEligibleOffers: 100,
					SalesRankings: [{
						ProductCategoryId: "1243",
						Rank: 1
					}, {
						ProductCategoryId: "1234",
						Rank: 2
					}],
					NumberOfBuyBoxEligibleOffers: [{
						Condition: "new",
						FulfillmentChannel: "Merchant",
						OfferCount: 23
					}, {
						Condition: "used",
						FulfillmentChannel: "Amazon",
						OfferCount: 54
					}],
					CompetitivePriceThreshold: {
						Amount: 22,
						CurrencyCode: "USD"
					}
				},
				Offers: [{
					SellerId: "111",
					SubCondition: "New",
					SellerFeedbackRating: {
						FeedbackCount: 9,
						SellerPositiveFeedbackRating: 10
					},
					ShippingTime: {
						MinimumHours: 10,
						MaximumHours: 30,
						AvailabilityType: "available",
						AvailableDate: "2020-07-13T19:42:04.284Z"
					},
					ListingPrice: {
						Amount: 23,
						CurrencyCode: "USD"
					},
					Points: { PointsNumber: 33333 },
					Shipping: {
						Amount: 110,
						CurrencyCode: "USD"
					},
					ShipsFrom: {
						Country: "USA",
						State: "MI"
					},
					IsFulfilledByAmazon: true,
					PrimeInformation: {
						IsOfferPrime: true,
						IsOfferNationalPrime: false
					},
					IsExpeditedShippingAvailable: true,
					IsFeaturedMerchant: true,
					ShipsDomestically: true,
					ShipsInternationally: true
				}]
			} }],
			required: ["AnyOfferChangedNotification"],
			additionalProperties: true,
			properties: { AnyOfferChangedNotification: {
				$id: "#/properties/Payload/properties/AnyOfferChangedNotification",
				type: "object",
				title: "The AnyOfferChangedNotification schema",
				description: "An explanation about the purpose of this instance.",
				default: {},
				examples: [{
					SellerId: "A3TH9S8BH6GOGM",
					OfferChangeTrigger: {
						MarketplaceId: "ATVPDKIKX0DER",
						ASIN: "123",
						ItemCondition: "New",
						TimeOfOfferChange: "2020-07-13T19:42:04.284Z",
						OfferChangeType: "Internal"
					},
					Summary: {
						NumberOfOffers: [{
							Condition: "new",
							FulfillmentChannel: "Merchant",
							OfferCount: 10
						}, {
							Condition: "used",
							FulfillmentChannel: "Amazon",
							OfferCount: 21
						}],
						LowestPrices: [{
							Condition: "new",
							FulfillmentChannel: "Merchant",
							LandedPrice: {
								Amount: 10,
								CurrencyCode: "USD"
							},
							ListingPrice: {
								Amount: 10,
								CurrencyCode: "USD"
							},
							Shipping: {
								Amount: 0,
								CurrencyCode: "USD"
							}
						}, {
							Condition: "used",
							FulfillmentChannel: "Amazon",
							LandedPrice: {
								Amount: 11,
								CurrencyCode: "USD"
							},
							ListingPrice: {
								Amount: 20,
								CurrencyCode: "USD"
							},
							Shipping: {
								Amount: 40,
								CurrencyCode: "USD"
							},
							Points: { PointsNumber: 34343 }
						}],
						BuyBoxPrices: [{
							Condition: "new",
							LandedPrice: {
								Amount: 10,
								CurrencyCode: "USD"
							},
							ListingPrice: {
								Amount: 10,
								CurrencyCode: "USD"
							},
							Shipping: {
								Amount: 0,
								CurrencyCode: "USD"
							}
						}, {
							Condition: "used",
							LandedPrice: {
								Amount: 11,
								CurrencyCode: "USD"
							},
							ListingPrice: {
								Amount: 20,
								CurrencyCode: "USD"
							},
							Shipping: {
								Amount: 40,
								CurrencyCode: "USD"
							},
							Points: { PointsNumber: 34343 }
						}],
						ListPrice: {
							Amount: 55,
							CurrencyCode: "USD"
						},
						MinimumAdvertisedPrice: {
							Amount: 66,
							CurrencyCode: "USD"
						},
						SuggestedLowerPricePlusShipping: {
							Amount: 77,
							CurrencyCode: "USD"
						},
						TotalBuyBoxEligibleOffers: 100,
						SalesRankings: [{
							ProductCategoryId: "1243",
							Rank: 1
						}, {
							ProductCategoryId: "1234",
							Rank: 2
						}],
						NumberOfBuyBoxEligibleOffers: [{
							Condition: "new",
							FulfillmentChannel: "Merchant",
							OfferCount: 23
						}, {
							Condition: "used",
							FulfillmentChannel: "Amazon",
							OfferCount: 54
						}],
						CompetitivePriceThreshold: {
							Amount: 22,
							CurrencyCode: "USD"
						}
					},
					Offers: [{
						SellerId: "111",
						SubCondition: "New",
						SellerFeedbackRating: {
							FeedbackCount: 9,
							SellerPositiveFeedbackRating: 10
						},
						ShippingTime: {
							MinimumHours: 10,
							MaximumHours: 30,
							AvailabilityType: "available",
							AvailableDate: "2020-07-13T19:42:04.284Z"
						},
						ListingPrice: {
							Amount: 23,
							CurrencyCode: "USD"
						},
						Points: { PointsNumber: 33333 },
						Shipping: {
							Amount: 110,
							CurrencyCode: "USD"
						},
						ShipsFrom: {
							Country: "USA",
							State: "MI"
						},
						IsFulfilledByAmazon: true,
						PrimeInformation: {
							IsOfferPrime: true,
							IsOfferNationalPrime: false
						},
						IsExpeditedShippingAvailable: true,
						IsFeaturedMerchant: true,
						ShipsDomestically: true,
						ShipsInternationally: true
					}]
				}],
				required: [
					"SellerId",
					"OfferChangeTrigger",
					"Summary",
					"Offers"
				],
				additionalProperties: true,
				properties: {
					SellerId: {
						$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/SellerId",
						type: "string",
						title: "The SellerId schema",
						description: "An explanation about the purpose of this instance.",
						default: "",
						examples: ["A3TH9S8BH6GOGM"]
					},
					OfferChangeTrigger: {
						$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/OfferChangeTrigger",
						type: "object",
						title: "The OfferChangeTrigger schema",
						description: "An explanation about the purpose of this instance.",
						default: {},
						examples: [{
							MarketplaceId: "ATVPDKIKX0DER",
							ASIN: "123",
							ItemCondition: "New",
							TimeOfOfferChange: "2020-07-13T19:42:04.284Z",
							OfferChangeType: "Internal"
						}],
						required: [
							"MarketplaceId",
							"ASIN",
							"ItemCondition",
							"TimeOfOfferChange",
							"OfferChangeType"
						],
						additionalProperties: true,
						properties: {
							MarketplaceId: {
								$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/OfferChangeTrigger/properties/MarketplaceId",
								type: "string",
								title: "The MarketplaceId schema",
								description: "An explanation about the purpose of this instance.",
								default: "",
								examples: ["ATVPDKIKX0DER"]
							},
							ASIN: {
								$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/OfferChangeTrigger/properties/ASIN",
								type: "string",
								title: "The ASIN schema",
								description: "An explanation about the purpose of this instance.",
								default: "",
								examples: ["123"]
							},
							ItemCondition: {
								$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/OfferChangeTrigger/properties/ItemCondition",
								type: "string",
								title: "The ItemCondition schema",
								description: "An explanation about the purpose of this instance.",
								default: "",
								examples: ["New"]
							},
							TimeOfOfferChange: {
								$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/OfferChangeTrigger/properties/TimeOfOfferChange",
								type: "string",
								title: "The TimeOfOfferChange schema",
								description: "An explanation about the purpose of this instance.",
								default: "",
								examples: ["2020-07-13T19:42:04.284Z"]
							},
							OfferChangeType: {
								$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/OfferChangeTrigger/properties/OfferChangeType",
								type: "string",
								title: "The OfferChangeType schema",
								description: "An explanation about the purpose of this instance.",
								default: "",
								examples: [
									"Internal",
									"External",
									"FeaturedOffer"
								]
							}
						}
					},
					Summary: {
						$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary",
						type: "object",
						title: "The Summary schema",
						description: "An explanation about the purpose of this instance.",
						default: {},
						examples: [{
							NumberOfOffers: [{
								Condition: "new",
								FulfillmentChannel: "Merchant",
								OfferCount: 10
							}, {
								Condition: "used",
								FulfillmentChannel: "Amazon",
								OfferCount: 21
							}],
							LowestPrices: [{
								Condition: "new",
								FulfillmentChannel: "Merchant",
								LandedPrice: {
									Amount: 10,
									CurrencyCode: "USD"
								},
								ListingPrice: {
									Amount: 10,
									CurrencyCode: "USD"
								},
								Shipping: {
									Amount: 0,
									CurrencyCode: "USD"
								}
							}, {
								Condition: "used",
								FulfillmentChannel: "Amazon",
								LandedPrice: {
									Amount: 11,
									CurrencyCode: "USD"
								},
								ListingPrice: {
									Amount: 20,
									CurrencyCode: "USD"
								},
								Shipping: {
									Amount: 40,
									CurrencyCode: "USD"
								},
								Points: { PointsNumber: 34343 }
							}],
							BuyBoxPrices: [{
								Condition: "new",
								LandedPrice: {
									Amount: 10,
									CurrencyCode: "USD"
								},
								ListingPrice: {
									Amount: 10,
									CurrencyCode: "USD"
								},
								Shipping: {
									Amount: 0,
									CurrencyCode: "USD"
								}
							}, {
								Condition: "used",
								LandedPrice: {
									Amount: 11,
									CurrencyCode: "USD"
								},
								ListingPrice: {
									Amount: 20,
									CurrencyCode: "USD"
								},
								Shipping: {
									Amount: 40,
									CurrencyCode: "USD"
								},
								Points: { PointsNumber: 34343 }
							}],
							ListPrice: {
								Amount: 55,
								CurrencyCode: "USD"
							},
							MinimumAdvertisedPrice: {
								Amount: 66,
								CurrencyCode: "USD"
							},
							SuggestedLowerPricePlusShipping: {
								Amount: 77,
								CurrencyCode: "USD"
							},
							TotalBuyBoxEligibleOffers: 100,
							SalesRankings: [{
								ProductCategoryId: "1243",
								Rank: 1
							}, {
								ProductCategoryId: "1234",
								Rank: 2
							}],
							NumberOfBuyBoxEligibleOffers: [{
								Condition: "new",
								FulfillmentChannel: "Merchant",
								OfferCount: 23
							}, {
								Condition: "used",
								FulfillmentChannel: "Amazon",
								OfferCount: 54
							}],
							CompetitivePriceThreshold: {
								Amount: 22,
								CurrencyCode: "USD"
							}
						}],
						required: [
							"NumberOfOffers",
							"LowestPrices",
							"BuyBoxPrices",
							"ListPrice",
							"MinimumAdvertisedPrice",
							"SuggestedLowerPricePlusShipping",
							"TotalBuyBoxEligibleOffers",
							"SalesRankings",
							"NumberOfBuyBoxEligibleOffers",
							"CompetitivePriceThreshold"
						],
						additionalProperties: true,
						properties: {
							NumberOfOffers: {
								$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/NumberOfOffers",
								type: "array",
								title: "The NumberOfOffers schema",
								description: "An explanation about the purpose of this instance.",
								default: [],
								examples: [[{
									Condition: "new",
									FulfillmentChannel: "Merchant",
									OfferCount: 10
								}, {
									Condition: "used",
									FulfillmentChannel: "Amazon",
									OfferCount: 21
								}]],
								additionalItems: true,
								items: {
									anyOf: [{
										$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/NumberOfOffers/items/anyOf/0",
										type: "object",
										title: "The first anyOf schema",
										description: "An explanation about the purpose of this instance.",
										default: {},
										examples: [{
											Condition: "new",
											FulfillmentChannel: "Merchant",
											OfferCount: 10
										}],
										required: [
											"Condition",
											"FulfillmentChannel",
											"OfferCount"
										],
										additionalProperties: true,
										properties: {
											Condition: {
												$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/NumberOfOffers/items/anyOf/0/properties/Condition",
												type: "string",
												title: "The Condition schema",
												description: "An explanation about the purpose of this instance.",
												default: "",
												examples: ["new"]
											},
											FulfillmentChannel: {
												$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/NumberOfOffers/items/anyOf/0/properties/FulfillmentChannel",
												type: "string",
												title: "The FulfillmentChannel schema",
												description: "An explanation about the purpose of this instance.",
												default: "",
												examples: ["Merchant"]
											},
											OfferCount: {
												$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/NumberOfOffers/items/anyOf/0/properties/OfferCount",
												type: "integer",
												title: "The OfferCount schema",
												description: "An explanation about the purpose of this instance.",
												default: 0,
												examples: [10]
											}
										}
									}],
									$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/NumberOfOffers/items"
								}
							},
							LowestPrices: {
								$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/LowestPrices",
								type: "array",
								title: "The LowestPrices schema",
								description: "An explanation about the purpose of this instance.",
								default: [],
								examples: [[{
									Condition: "new",
									FulfillmentChannel: "Merchant",
									LandedPrice: {
										Amount: 10,
										CurrencyCode: "USD"
									},
									ListingPrice: {
										Amount: 10,
										CurrencyCode: "USD"
									},
									Shipping: {
										Amount: 0,
										CurrencyCode: "USD"
									}
								}, {
									Condition: "used",
									FulfillmentChannel: "Amazon",
									LandedPrice: {
										Amount: 11,
										CurrencyCode: "USD"
									},
									ListingPrice: {
										Amount: 20,
										CurrencyCode: "USD"
									},
									Shipping: {
										Amount: 40,
										CurrencyCode: "USD"
									},
									Points: { PointsNumber: 34343 }
								}]],
								additionalItems: true,
								items: {
									anyOf: [{
										$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/LowestPrices/items/anyOf/0",
										type: "object",
										title: "The first anyOf schema",
										description: "An explanation about the purpose of this instance.",
										default: {},
										examples: [{
											Condition: "new",
											FulfillmentChannel: "Merchant",
											LandedPrice: {
												Amount: 10,
												CurrencyCode: "USD"
											},
											ListingPrice: {
												Amount: 10,
												CurrencyCode: "USD"
											},
											Shipping: {
												Amount: 0,
												CurrencyCode: "USD"
											}
										}],
										required: [
											"Condition",
											"FulfillmentChannel",
											"LandedPrice",
											"ListingPrice",
											"Shipping"
										],
										additionalProperties: true,
										properties: {
											Condition: {
												$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/LowestPrices/items/anyOf/0/properties/Condition",
												type: "string",
												title: "The Condition schema",
												description: "An explanation about the purpose of this instance.",
												default: "",
												examples: ["new"]
											},
											FulfillmentChannel: {
												$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/LowestPrices/items/anyOf/0/properties/FulfillmentChannel",
												type: "string",
												title: "The FulfillmentChannel schema",
												description: "An explanation about the purpose of this instance.",
												default: "",
												examples: ["Merchant"]
											},
											LandedPrice: {
												$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/LowestPrices/items/anyOf/0/properties/LandedPrice",
												type: "object",
												title: "The LandedPrice schema",
												description: "An explanation about the purpose of this instance.",
												default: {},
												examples: [{
													Amount: 10,
													CurrencyCode: "USD"
												}],
												required: ["Amount", "CurrencyCode"],
												additionalProperties: true,
												properties: {
													Amount: {
														$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/LowestPrices/items/anyOf/0/properties/LandedPrice/properties/Amount",
														type: "number",
														title: "The Amount schema",
														description: "An explanation about the purpose of this instance.",
														default: 0,
														examples: [10]
													},
													CurrencyCode: {
														$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/LowestPrices/items/anyOf/0/properties/LandedPrice/properties/CurrencyCode",
														type: "string",
														title: "The CurrencyCode schema",
														description: "An explanation about the purpose of this instance.",
														default: "",
														examples: ["USD"]
													}
												}
											},
											ListingPrice: {
												$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/LowestPrices/items/anyOf/0/properties/ListingPrice",
												type: "object",
												title: "The ListingPrice schema",
												description: "An explanation about the purpose of this instance.",
												default: {},
												examples: [{
													Amount: 10,
													CurrencyCode: "USD"
												}],
												required: ["Amount", "CurrencyCode"],
												additionalProperties: true,
												properties: {
													Amount: {
														$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/LowestPrices/items/anyOf/0/properties/ListingPrice/properties/Amount",
														type: "number",
														title: "The Amount schema",
														description: "An explanation about the purpose of this instance.",
														default: 0,
														examples: [10]
													},
													CurrencyCode: {
														$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/LowestPrices/items/anyOf/0/properties/ListingPrice/properties/CurrencyCode",
														type: "string",
														title: "The CurrencyCode schema",
														description: "An explanation about the purpose of this instance.",
														default: "",
														examples: ["USD"]
													}
												}
											},
											Shipping: {
												$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/LowestPrices/items/anyOf/0/properties/Shipping",
												type: "object",
												title: "The Shipping schema",
												description: "An explanation about the purpose of this instance.",
												default: {},
												examples: [{
													Amount: 0,
													CurrencyCode: "USD"
												}],
												required: ["Amount", "CurrencyCode"],
												additionalProperties: true,
												properties: {
													Amount: {
														$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/LowestPrices/items/anyOf/0/properties/Shipping/properties/Amount",
														type: "number",
														title: "The Amount schema",
														description: "An explanation about the purpose of this instance.",
														default: 0,
														examples: [0]
													},
													CurrencyCode: {
														$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/LowestPrices/items/anyOf/0/properties/Shipping/properties/CurrencyCode",
														type: "string",
														title: "The CurrencyCode schema",
														description: "An explanation about the purpose of this instance.",
														default: "",
														examples: ["USD"]
													}
												}
											}
										}
									}, {
										$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/LowestPrices/items/anyOf/1",
										type: "object",
										title: "The second anyOf schema",
										description: "An explanation about the purpose of this instance.",
										default: {},
										examples: [{
											Condition: "used",
											FulfillmentChannel: "Amazon",
											LandedPrice: {
												Amount: 11,
												CurrencyCode: "USD"
											},
											ListingPrice: {
												Amount: 20,
												CurrencyCode: "USD"
											},
											Shipping: {
												Amount: 40,
												CurrencyCode: "USD"
											},
											Points: { PointsNumber: 34343 }
										}],
										required: [
											"Condition",
											"FulfillmentChannel",
											"LandedPrice",
											"ListingPrice",
											"Shipping",
											"Points"
										],
										additionalProperties: true,
										properties: {
											Condition: {
												$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/LowestPrices/items/anyOf/1/properties/Condition",
												type: "string",
												title: "The Condition schema",
												description: "An explanation about the purpose of this instance.",
												default: "",
												examples: ["new", "used"]
											},
											FulfillmentChannel: {
												$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/LowestPrices/items/anyOf/1/properties/FulfillmentChannel",
												type: "string",
												title: "The FulfillmentChannel schema",
												description: "An explanation about the purpose of this instance.",
												default: "",
												examples: ["Amazon"]
											},
											LandedPrice: {
												$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/LowestPrices/items/anyOf/1/properties/LandedPrice",
												type: "object",
												title: "The LandedPrice schema",
												description: "An explanation about the purpose of this instance.",
												default: {},
												examples: [{
													Amount: 11,
													CurrencyCode: "USD"
												}],
												required: ["Amount", "CurrencyCode"],
												additionalProperties: true,
												properties: {
													Amount: {
														$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/LowestPrices/items/anyOf/1/properties/LandedPrice/properties/Amount",
														type: "number",
														title: "The Amount schema",
														description: "An explanation about the purpose of this instance.",
														default: 0,
														examples: [11]
													},
													CurrencyCode: {
														$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/LowestPrices/items/anyOf/1/properties/LandedPrice/properties/CurrencyCode",
														type: "string",
														title: "The CurrencyCode schema",
														description: "An explanation about the purpose of this instance.",
														default: "",
														examples: ["USD"]
													}
												}
											},
											ListingPrice: {
												$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/LowestPrices/items/anyOf/1/properties/ListingPrice",
												type: "object",
												title: "The ListingPrice schema",
												description: "An explanation about the purpose of this instance.",
												default: {},
												examples: [{
													Amount: 20,
													CurrencyCode: "USD"
												}],
												required: ["Amount", "CurrencyCode"],
												additionalProperties: true,
												properties: {
													Amount: {
														$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/LowestPrices/items/anyOf/1/properties/ListingPrice/properties/Amount",
														type: "number",
														title: "The Amount schema",
														description: "An explanation about the purpose of this instance.",
														default: 0,
														examples: [20]
													},
													CurrencyCode: {
														$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/LowestPrices/items/anyOf/1/properties/ListingPrice/properties/CurrencyCode",
														type: "string",
														title: "The CurrencyCode schema",
														description: "An explanation about the purpose of this instance.",
														default: "",
														examples: ["USD"]
													}
												}
											},
											Shipping: {
												$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/LowestPrices/items/anyOf/1/properties/Shipping",
												type: "object",
												title: "The Shipping schema",
												description: "An explanation about the purpose of this instance.",
												default: {},
												examples: [{
													Amount: 40,
													CurrencyCode: "USD"
												}],
												required: ["Amount", "CurrencyCode"],
												additionalProperties: true,
												properties: {
													Amount: {
														$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/LowestPrices/items/anyOf/1/properties/Shipping/properties/Amount",
														type: "number",
														title: "The Amount schema",
														description: "An explanation about the purpose of this instance.",
														default: 0,
														examples: [40]
													},
													CurrencyCode: {
														$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/LowestPrices/items/anyOf/1/properties/Shipping/properties/CurrencyCode",
														type: "string",
														title: "The CurrencyCode schema",
														description: "An explanation about the purpose of this instance.",
														default: "",
														examples: ["USD"]
													}
												}
											},
											Points: {
												$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/LowestPrices/items/anyOf/1/properties/Points",
												type: "object",
												title: "The Points schema",
												description: "An explanation about the purpose of this instance.",
												default: {},
												examples: [{ PointsNumber: 34343 }],
												required: ["PointsNumber"],
												additionalProperties: true,
												properties: { PointsNumber: {
													$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/LowestPrices/items/anyOf/1/properties/Points/properties/PointsNumber",
													type: "integer",
													title: "The PointsNumber schema",
													description: "An explanation about the purpose of this instance.",
													default: 0,
													examples: [34343]
												} }
											}
										}
									}],
									$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/LowestPrices/items"
								}
							},
							BuyBoxPrices: {
								$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/BuyBoxPrices",
								type: "array",
								title: "The BuyBoxPrices schema",
								description: "An explanation about the purpose of this instance.",
								default: [],
								examples: [[{
									Condition: "new",
									LandedPrice: {
										Amount: 10,
										CurrencyCode: "USD"
									},
									ListingPrice: {
										Amount: 10,
										CurrencyCode: "USD"
									},
									Shipping: {
										Amount: 0,
										CurrencyCode: "USD"
									}
								}, {
									Condition: "used",
									LandedPrice: {
										Amount: 11,
										CurrencyCode: "USD"
									},
									ListingPrice: {
										Amount: 20,
										CurrencyCode: "USD"
									},
									Shipping: {
										Amount: 40,
										CurrencyCode: "USD"
									},
									Points: { PointsNumber: 34343 }
								}]],
								additionalItems: true,
								items: {
									anyOf: [{
										$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/BuyBoxPrices/items/anyOf/0",
										type: "object",
										title: "The first anyOf schema",
										description: "An explanation about the purpose of this instance.",
										default: {},
										examples: [{
											Condition: "new",
											LandedPrice: {
												Amount: 10,
												CurrencyCode: "USD"
											},
											ListingPrice: {
												Amount: 10,
												CurrencyCode: "USD"
											},
											Shipping: {
												Amount: 0,
												CurrencyCode: "USD"
											}
										}],
										required: [
											"Condition",
											"LandedPrice",
											"ListingPrice",
											"Shipping"
										],
										additionalProperties: true,
										properties: {
											Condition: {
												$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/BuyBoxPrices/items/anyOf/0/properties/Condition",
												type: "string",
												title: "The Condition schema",
												description: "An explanation about the purpose of this instance.",
												default: "",
												examples: ["new"]
											},
											LandedPrice: {
												$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/BuyBoxPrices/items/anyOf/0/properties/LandedPrice",
												type: "object",
												title: "The LandedPrice schema",
												description: "An explanation about the purpose of this instance.",
												default: {},
												examples: [{
													Amount: 10,
													CurrencyCode: "USD"
												}],
												required: ["Amount", "CurrencyCode"],
												additionalProperties: true,
												properties: {
													Amount: {
														$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/BuyBoxPrices/items/anyOf/0/properties/LandedPrice/properties/Amount",
														type: "number",
														title: "The Amount schema",
														description: "An explanation about the purpose of this instance.",
														default: 0,
														examples: [10]
													},
													CurrencyCode: {
														$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/BuyBoxPrices/items/anyOf/0/properties/LandedPrice/properties/CurrencyCode",
														type: "string",
														title: "The CurrencyCode schema",
														description: "An explanation about the purpose of this instance.",
														default: "",
														examples: ["USD"]
													}
												}
											},
											ListingPrice: {
												$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/BuyBoxPrices/items/anyOf/0/properties/ListingPrice",
												type: "object",
												title: "The ListingPrice schema",
												description: "An explanation about the purpose of this instance.",
												default: {},
												examples: [{
													Amount: 10,
													CurrencyCode: "USD"
												}],
												required: ["Amount", "CurrencyCode"],
												additionalProperties: true,
												properties: {
													Amount: {
														$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/BuyBoxPrices/items/anyOf/0/properties/ListingPrice/properties/Amount",
														type: "number",
														title: "The Amount schema",
														description: "An explanation about the purpose of this instance.",
														default: 0,
														examples: [10]
													},
													CurrencyCode: {
														$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/BuyBoxPrices/items/anyOf/0/properties/ListingPrice/properties/CurrencyCode",
														type: "string",
														title: "The CurrencyCode schema",
														description: "An explanation about the purpose of this instance.",
														default: "",
														examples: ["USD"]
													}
												}
											},
											Shipping: {
												$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/BuyBoxPrices/items/anyOf/0/properties/Shipping",
												type: "object",
												title: "The Shipping schema",
												description: "An explanation about the purpose of this instance.",
												default: {},
												examples: [{
													Amount: 0,
													CurrencyCode: "USD"
												}],
												required: ["Amount", "CurrencyCode"],
												additionalProperties: true,
												properties: {
													Amount: {
														$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/BuyBoxPrices/items/anyOf/0/properties/Shipping/properties/Amount",
														type: "number",
														title: "The Amount schema",
														description: "An explanation about the purpose of this instance.",
														default: 0,
														examples: [0]
													},
													CurrencyCode: {
														$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/BuyBoxPrices/items/anyOf/0/properties/Shipping/properties/CurrencyCode",
														type: "string",
														title: "The CurrencyCode schema",
														description: "An explanation about the purpose of this instance.",
														default: "",
														examples: ["USD"]
													}
												}
											}
										}
									}, {
										$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/BuyBoxPrices/items/anyOf/1",
										type: "object",
										title: "The second anyOf schema",
										description: "An explanation about the purpose of this instance.",
										default: {},
										examples: [{
											Condition: "used",
											LandedPrice: {
												Amount: 11,
												CurrencyCode: "USD"
											},
											ListingPrice: {
												Amount: 20,
												CurrencyCode: "USD"
											},
											Shipping: {
												Amount: 40,
												CurrencyCode: "USD"
											},
											Points: { PointsNumber: 34343 }
										}],
										required: [
											"Condition",
											"LandedPrice",
											"ListingPrice",
											"Shipping",
											"Points"
										],
										additionalProperties: true,
										properties: {
											Condition: {
												$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/BuyBoxPrices/items/anyOf/1/properties/Condition",
												type: "string",
												title: "The Condition schema",
												description: "An explanation about the purpose of this instance.",
												default: "",
												examples: ["new", "used"]
											},
											LandedPrice: {
												$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/BuyBoxPrices/items/anyOf/1/properties/LandedPrice",
												type: "object",
												title: "The LandedPrice schema",
												description: "An explanation about the purpose of this instance.",
												default: {},
												examples: [{
													Amount: 11,
													CurrencyCode: "USD"
												}],
												required: ["Amount", "CurrencyCode"],
												additionalProperties: true,
												properties: {
													Amount: {
														$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/BuyBoxPrices/items/anyOf/1/properties/LandedPrice/properties/Amount",
														type: "number",
														title: "The Amount schema",
														description: "An explanation about the purpose of this instance.",
														default: 0,
														examples: [11]
													},
													CurrencyCode: {
														$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/BuyBoxPrices/items/anyOf/1/properties/LandedPrice/properties/CurrencyCode",
														type: "string",
														title: "The CurrencyCode schema",
														description: "An explanation about the purpose of this instance.",
														default: "",
														examples: ["USD"]
													}
												}
											},
											ListingPrice: {
												$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/BuyBoxPrices/items/anyOf/1/properties/ListingPrice",
												type: "object",
												title: "The ListingPrice schema",
												description: "An explanation about the purpose of this instance.",
												default: {},
												examples: [{
													Amount: 20,
													CurrencyCode: "USD"
												}],
												required: ["Amount", "CurrencyCode"],
												additionalProperties: true,
												properties: {
													Amount: {
														$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/BuyBoxPrices/items/anyOf/1/properties/ListingPrice/properties/Amount",
														type: "number",
														title: "The Amount schema",
														description: "An explanation about the purpose of this instance.",
														default: 0,
														examples: [20]
													},
													CurrencyCode: {
														$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/BuyBoxPrices/items/anyOf/1/properties/ListingPrice/properties/CurrencyCode",
														type: "string",
														title: "The CurrencyCode schema",
														description: "An explanation about the purpose of this instance.",
														default: "",
														examples: ["USD"]
													}
												}
											},
											Shipping: {
												$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/BuyBoxPrices/items/anyOf/1/properties/Shipping",
												type: "object",
												title: "The Shipping schema",
												description: "An explanation about the purpose of this instance.",
												default: {},
												examples: [{
													Amount: 40,
													CurrencyCode: "USD"
												}],
												required: ["Amount", "CurrencyCode"],
												additionalProperties: true,
												properties: {
													Amount: {
														$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/BuyBoxPrices/items/anyOf/1/properties/Shipping/properties/Amount",
														type: "number",
														title: "The Amount schema",
														description: "An explanation about the purpose of this instance.",
														default: 0,
														examples: [40]
													},
													CurrencyCode: {
														$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/BuyBoxPrices/items/anyOf/1/properties/Shipping/properties/CurrencyCode",
														type: "string",
														title: "The CurrencyCode schema",
														description: "An explanation about the purpose of this instance.",
														default: "",
														examples: ["USD"]
													}
												}
											},
											Points: {
												$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/BuyBoxPrices/items/anyOf/1/properties/Points",
												type: "object",
												title: "The Points schema",
												description: "An explanation about the purpose of this instance.",
												default: {},
												examples: [{ PointsNumber: 34343 }],
												required: ["PointsNumber"],
												additionalProperties: true,
												properties: { PointsNumber: {
													$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/BuyBoxPrices/items/anyOf/1/properties/Points/properties/PointsNumber",
													type: "integer",
													title: "The PointsNumber schema",
													description: "An explanation about the purpose of this instance.",
													default: 0,
													examples: [34343]
												} }
											}
										}
									}],
									$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/BuyBoxPrices/items"
								}
							},
							ListPrice: {
								$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/ListPrice",
								type: "object",
								title: "The ListPrice schema",
								description: "An explanation about the purpose of this instance.",
								default: {},
								examples: [{
									Amount: 55,
									CurrencyCode: "USD"
								}],
								required: ["Amount", "CurrencyCode"],
								additionalProperties: true,
								properties: {
									Amount: {
										$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/ListPrice/properties/Amount",
										type: "number",
										title: "The Amount schema",
										description: "An explanation about the purpose of this instance.",
										default: 0,
										examples: [55]
									},
									CurrencyCode: {
										$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/ListPrice/properties/CurrencyCode",
										type: "string",
										title: "The CurrencyCode schema",
										description: "An explanation about the purpose of this instance.",
										default: "",
										examples: ["USD"]
									}
								}
							},
							MinimumAdvertisedPrice: {
								$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/MinimumAdvertisedPrice",
								type: "object",
								title: "The MinimumAdvertisedPrice schema",
								description: "An explanation about the purpose of this instance.",
								default: {},
								examples: [{
									Amount: 66,
									CurrencyCode: "USD"
								}],
								required: ["Amount", "CurrencyCode"],
								additionalProperties: true,
								properties: {
									Amount: {
										$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/MinimumAdvertisedPrice/properties/Amount",
										type: "number",
										title: "The Amount schema",
										description: "An explanation about the purpose of this instance.",
										default: 0,
										examples: [66]
									},
									CurrencyCode: {
										$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/MinimumAdvertisedPrice/properties/CurrencyCode",
										type: "string",
										title: "The CurrencyCode schema",
										description: "An explanation about the purpose of this instance.",
										default: "",
										examples: ["USD"]
									}
								}
							},
							SuggestedLowerPricePlusShipping: {
								$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/SuggestedLowerPricePlusShipping",
								type: "object",
								title: "The SuggestedLowerPricePlusShipping schema",
								description: "An explanation about the purpose of this instance.",
								default: {},
								examples: [{
									Amount: 77,
									CurrencyCode: "USD"
								}],
								required: ["Amount", "CurrencyCode"],
								additionalProperties: true,
								properties: {
									Amount: {
										$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/SuggestedLowerPricePlusShipping/properties/Amount",
										type: "number",
										title: "The Amount schema",
										description: "An explanation about the purpose of this instance.",
										default: 0,
										examples: [77]
									},
									CurrencyCode: {
										$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/SuggestedLowerPricePlusShipping/properties/CurrencyCode",
										type: "string",
										title: "The CurrencyCode schema",
										description: "An explanation about the purpose of this instance.",
										default: "",
										examples: ["USD"]
									}
								}
							},
							TotalBuyBoxEligibleOffers: {
								$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/TotalBuyBoxEligibleOffers",
								type: "integer",
								title: "The TotalBuyBoxEligibleOffers schema",
								description: "An explanation about the purpose of this instance.",
								default: 0,
								examples: [100]
							},
							SalesRankings: {
								$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/SalesRankings",
								type: "array",
								title: "The SalesRankings schema",
								description: "An explanation about the purpose of this instance.",
								default: [],
								examples: [[{
									ProductCategoryId: "1243",
									Rank: 1
								}, {
									ProductCategoryId: "1234",
									Rank: 2
								}]],
								additionalItems: true,
								items: {
									anyOf: [{
										$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/SalesRankings/items/anyOf/0",
										type: "object",
										title: "The first anyOf schema",
										description: "An explanation about the purpose of this instance.",
										default: {},
										examples: [{
											ProductCategoryId: "1243",
											Rank: 1
										}],
										required: ["ProductCategoryId", "Rank"],
										additionalProperties: true,
										properties: {
											ProductCategoryId: {
												$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/SalesRankings/items/anyOf/0/properties/ProductCategoryId",
												type: "string",
												title: "The ProductCategoryId schema",
												description: "An explanation about the purpose of this instance.",
												default: "",
												examples: ["1243"]
											},
											Rank: {
												$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/SalesRankings/items/anyOf/0/properties/Rank",
												type: "integer",
												title: "The Rank schema",
												description: "An explanation about the purpose of this instance.",
												default: 0,
												examples: [1]
											}
										}
									}],
									$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/SalesRankings/items"
								}
							},
							NumberOfBuyBoxEligibleOffers: {
								$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/NumberOfBuyBoxEligibleOffers",
								type: "array",
								title: "The NumberOfBuyBoxEligibleOffers schema",
								description: "An explanation about the purpose of this instance.",
								default: [],
								examples: [[{
									Condition: "new",
									FulfillmentChannel: "Merchant",
									OfferCount: 23
								}, {
									Condition: "used",
									FulfillmentChannel: "Amazon",
									OfferCount: 54
								}]],
								additionalItems: true,
								items: {
									anyOf: [{
										$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/NumberOfBuyBoxEligibleOffers/items/anyOf/0",
										type: "object",
										title: "The first anyOf schema",
										description: "An explanation about the purpose of this instance.",
										default: {},
										examples: [{
											Condition: "new",
											FulfillmentChannel: "Merchant",
											OfferCount: 23
										}],
										required: [
											"Condition",
											"FulfillmentChannel",
											"OfferCount"
										],
										additionalProperties: true,
										properties: {
											Condition: {
												$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/NumberOfBuyBoxEligibleOffers/items/anyOf/0/properties/Condition",
												type: "string",
												title: "The Condition schema",
												description: "An explanation about the purpose of this instance.",
												default: "",
												examples: ["new"]
											},
											FulfillmentChannel: {
												$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/NumberOfBuyBoxEligibleOffers/items/anyOf/0/properties/FulfillmentChannel",
												type: "string",
												title: "The FulfillmentChannel schema",
												description: "An explanation about the purpose of this instance.",
												default: "",
												examples: ["Merchant"]
											},
											OfferCount: {
												$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/NumberOfBuyBoxEligibleOffers/items/anyOf/0/properties/OfferCount",
												type: "integer",
												title: "The OfferCount schema",
												description: "An explanation about the purpose of this instance.",
												default: 0,
												examples: [23]
											}
										}
									}],
									$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/NumberOfBuyBoxEligibleOffers/items"
								}
							},
							CompetitivePriceThreshold: {
								$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/CompetitivePriceThreshold",
								type: "object",
								title: "The CompetitivePriceThreshold schema",
								description: "An explanation about the purpose of this instance.",
								default: {},
								examples: [{
									Amount: 22,
									CurrencyCode: "USD"
								}],
								required: ["Amount", "CurrencyCode"],
								additionalProperties: true,
								properties: {
									Amount: {
										$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/CompetitivePriceThreshold/properties/Amount",
										type: "number",
										title: "The Amount schema",
										description: "An explanation about the purpose of this instance.",
										default: 0,
										examples: [22]
									},
									CurrencyCode: {
										$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Summary/properties/CompetitivePriceThreshold/properties/CurrencyCode",
										type: "string",
										title: "The CurrencyCode schema",
										description: "An explanation about the purpose of this instance.",
										default: "",
										examples: ["USD"]
									}
								}
							}
						}
					},
					Offers: {
						$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Offers",
						type: "array",
						title: "The Offers schema",
						description: "An explanation about the purpose of this instance.",
						default: [],
						examples: [[{
							SellerId: "111",
							SubCondition: "New",
							SellerFeedbackRating: {
								FeedbackCount: 9,
								SellerPositiveFeedbackRating: 10
							},
							ShippingTime: {
								MinimumHours: 10,
								MaximumHours: 30,
								AvailabilityType: "available",
								AvailableDate: "2020-07-13T19:42:04.284Z"
							},
							ListingPrice: {
								Amount: 23,
								CurrencyCode: "USD"
							},
							Points: { PointsNumber: 33333 },
							Shipping: {
								Amount: 110,
								CurrencyCode: "USD"
							},
							ShipsFrom: {
								Country: "USA",
								State: "MI"
							},
							IsFulfilledByAmazon: true,
							PrimeInformation: {
								IsOfferPrime: true,
								IsOfferNationalPrime: false
							},
							IsExpeditedShippingAvailable: true,
							IsFeaturedMerchant: true,
							ShipsDomestically: true,
							ShipsInternationally: true
						}]],
						additionalItems: true,
						items: {
							anyOf: [{
								$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Offers/items/anyOf/0",
								type: "object",
								title: "The first anyOf schema",
								description: "An explanation about the purpose of this instance.",
								default: {},
								examples: [{
									SellerId: "111",
									SubCondition: "New",
									SellerFeedbackRating: {
										FeedbackCount: 9,
										SellerPositiveFeedbackRating: 10
									},
									ShippingTime: {
										MinimumHours: 10,
										MaximumHours: 30,
										AvailabilityType: "available",
										AvailableDate: "2020-07-13T19:42:04.284Z"
									},
									ListingPrice: {
										Amount: 23,
										CurrencyCode: "USD"
									},
									Points: { PointsNumber: 33333 },
									Shipping: {
										Amount: 110,
										CurrencyCode: "USD"
									},
									ShipsFrom: {
										Country: "USA",
										State: "MI"
									},
									IsFulfilledByAmazon: true,
									PrimeInformation: {
										IsOfferPrime: true,
										IsOfferNationalPrime: false
									},
									IsExpeditedShippingAvailable: true,
									IsFeaturedMerchant: true,
									ShipsDomestically: true,
									ShipsInternationally: true
								}],
								required: [
									"SellerId",
									"SubCondition",
									"SellerFeedbackRating",
									"ShippingTime",
									"ListingPrice",
									"Points",
									"Shipping",
									"ShipsFrom",
									"IsFulfilledByAmazon",
									"PrimeInformation",
									"IsExpeditedShippingAvailable",
									"IsFeaturedMerchant",
									"ShipsDomestically",
									"ShipsInternationally"
								],
								additionalProperties: true,
								properties: {
									SellerId: {
										$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Offers/items/anyOf/0/properties/SellerId",
										type: "string",
										title: "The SellerId schema",
										description: "An explanation about the purpose of this instance.",
										default: "",
										examples: ["111"]
									},
									SubCondition: {
										$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Offers/items/anyOf/0/properties/SubCondition",
										type: "string",
										title: "The SubCondition schema",
										description: "An explanation about the purpose of this instance.",
										default: "",
										examples: ["New"]
									},
									SellerFeedbackRating: {
										$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Offers/items/anyOf/0/properties/SellerFeedbackRating",
										type: "object",
										title: "The SellerFeedbackRating schema",
										description: "An explanation about the purpose of this instance.",
										default: {},
										examples: [{
											FeedbackCount: 9,
											SellerPositiveFeedbackRating: 10
										}],
										required: ["FeedbackCount", "SellerPositiveFeedbackRating"],
										additionalProperties: true,
										properties: {
											FeedbackCount: {
												$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Offers/items/anyOf/0/properties/SellerFeedbackRating/properties/FeedbackCount",
												type: "integer",
												title: "The FeedbackCount schema",
												description: "An explanation about the purpose of this instance.",
												default: 0,
												examples: [9]
											},
											SellerPositiveFeedbackRating: {
												$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Offers/items/anyOf/0/properties/SellerFeedbackRating/properties/SellerPositiveFeedbackRating",
												type: "integer",
												title: "The SellerPositiveFeedbackRating schema",
												description: "An explanation about the purpose of this instance.",
												default: 0,
												examples: [10]
											}
										}
									},
									ShippingTime: {
										$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Offers/items/anyOf/0/properties/ShippingTime",
										type: "object",
										title: "The ShippingTime schema",
										description: "An explanation about the purpose of this instance.",
										default: {},
										examples: [{
											MinimumHours: 10,
											MaximumHours: 30,
											AvailabilityType: "available",
											AvailableDate: "2020-07-13T19:42:04.284Z"
										}],
										required: [
											"MinimumHours",
											"MaximumHours",
											"AvailabilityType",
											"AvailableDate"
										],
										additionalProperties: true,
										properties: {
											MinimumHours: {
												$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Offers/items/anyOf/0/properties/ShippingTime/properties/MinimumHours",
												type: "integer",
												title: "The MinimumHours schema",
												description: "An explanation about the purpose of this instance.",
												default: 0,
												examples: [10]
											},
											MaximumHours: {
												$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Offers/items/anyOf/0/properties/ShippingTime/properties/MaximumHours",
												type: "integer",
												title: "The MaximumHours schema",
												description: "An explanation about the purpose of this instance.",
												default: 0,
												examples: [30]
											},
											AvailabilityType: {
												$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Offers/items/anyOf/0/properties/ShippingTime/properties/AvailabilityType",
												type: "string",
												title: "The AvailabilityType schema",
												description: "An explanation about the purpose of this instance.",
												default: "",
												examples: ["available"]
											},
											AvailableDate: {
												$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Offers/items/anyOf/0/properties/ShippingTime/properties/AvailableDate",
												type: "string",
												title: "The AvailableDate schema",
												description: "An explanation about the purpose of this instance.",
												default: "",
												examples: ["2020-07-13T19:42:04.284Z"]
											}
										}
									},
									ListingPrice: {
										$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Offers/items/anyOf/0/properties/ListingPrice",
										type: "object",
										title: "The ListingPrice schema",
										description: "An explanation about the purpose of this instance.",
										default: {},
										examples: [{
											Amount: 23,
											CurrencyCode: "USD"
										}],
										required: ["Amount", "CurrencyCode"],
										additionalProperties: true,
										properties: {
											Amount: {
												$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Offers/items/anyOf/0/properties/ListingPrice/properties/Amount",
												type: "number",
												title: "The Amount schema",
												description: "An explanation about the purpose of this instance.",
												default: 0,
												examples: [23]
											},
											CurrencyCode: {
												$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Offers/items/anyOf/0/properties/ListingPrice/properties/CurrencyCode",
												type: "string",
												title: "The CurrencyCode schema",
												description: "An explanation about the purpose of this instance.",
												default: "",
												examples: ["USD"]
											}
										}
									},
									Points: {
										$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Offers/items/anyOf/0/properties/Points",
										type: "object",
										title: "The Points schema",
										description: "An explanation about the purpose of this instance.",
										default: {},
										examples: [{ PointsNumber: 33333 }],
										required: ["PointsNumber"],
										additionalProperties: true,
										properties: { PointsNumber: {
											$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Offers/items/anyOf/0/properties/Points/properties/PointsNumber",
											type: "integer",
											title: "The PointsNumber schema",
											description: "An explanation about the purpose of this instance.",
											default: 0,
											examples: [33333]
										} }
									},
									Shipping: {
										$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Offers/items/anyOf/0/properties/Shipping",
										type: "object",
										title: "The Shipping schema",
										description: "An explanation about the purpose of this instance.",
										default: {},
										examples: [{
											Amount: 110,
											CurrencyCode: "USD"
										}],
										required: ["Amount", "CurrencyCode"],
										additionalProperties: true,
										properties: {
											Amount: {
												$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Offers/items/anyOf/0/properties/Shipping/properties/Amount",
												type: "number",
												title: "The Amount schema",
												description: "An explanation about the purpose of this instance.",
												default: 0,
												examples: [110]
											},
											CurrencyCode: {
												$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Offers/items/anyOf/0/properties/Shipping/properties/CurrencyCode",
												type: "string",
												title: "The CurrencyCode schema",
												description: "An explanation about the purpose of this instance.",
												default: "",
												examples: ["USD"]
											}
										}
									},
									ShipsFrom: {
										$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Offers/items/anyOf/0/properties/ShipsFrom",
										type: "object",
										title: "The ShipsFrom schema",
										description: "An explanation about the purpose of this instance.",
										default: {},
										examples: [{
											Country: "USA",
											State: "MI"
										}],
										required: ["Country", "State"],
										additionalProperties: true,
										properties: {
											Country: {
												$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Offers/items/anyOf/0/properties/ShipsFrom/properties/Country",
												type: "string",
												title: "The Country schema",
												description: "An explanation about the purpose of this instance.",
												default: "",
												examples: ["USA"]
											},
											State: {
												$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Offers/items/anyOf/0/properties/ShipsFrom/properties/State",
												type: "string",
												title: "The State schema",
												description: "An explanation about the purpose of this instance.",
												default: "",
												examples: ["MI"]
											}
										}
									},
									IsFulfilledByAmazon: {
										$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Offers/items/anyOf/0/properties/IsFulfilledByAmazon",
										type: "boolean",
										title: "The IsFulfilledByAmazon schema",
										description: "An explanation about the purpose of this instance.",
										default: false,
										examples: [true]
									},
									PrimeInformation: {
										$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Offers/items/anyOf/0/properties/PrimeInformation",
										type: "object",
										title: "The PrimeInformation schema",
										description: "An explanation about the purpose of this instance.",
										default: {},
										examples: [{
											IsOfferPrime: true,
											IsOfferNationalPrime: false
										}],
										required: ["IsOfferPrime", "IsOfferNationalPrime"],
										additionalProperties: true,
										properties: {
											IsOfferPrime: {
												$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Offers/items/anyOf/0/properties/PrimeInformation/properties/IsOfferPrime",
												type: "boolean",
												title: "The IsOfferPrime schema",
												description: "An explanation about the purpose of this instance.",
												default: false,
												examples: [true]
											},
											IsOfferNationalPrime: {
												$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Offers/items/anyOf/0/properties/PrimeInformation/properties/IsOfferNationalPrime",
												type: "boolean",
												title: "The IsOfferNationalPrime schema",
												description: "An explanation about the purpose of this instance.",
												default: false,
												examples: [false]
											}
										}
									},
									IsExpeditedShippingAvailable: {
										$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Offers/items/anyOf/0/properties/IsExpeditedShippingAvailable",
										type: "boolean",
										title: "The IsExpeditedShippingAvailable schema",
										description: "An explanation about the purpose of this instance.",
										default: false,
										examples: [true]
									},
									IsFeaturedMerchant: {
										$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Offers/items/anyOf/0/properties/IsFeaturedMerchant",
										type: "boolean",
										title: "The IsFeaturedMerchant schema",
										description: "An explanation about the purpose of this instance.",
										default: false,
										examples: [true]
									},
									ShipsDomestically: {
										$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Offers/items/anyOf/0/properties/ShipsDomestically",
										type: "boolean",
										title: "The ShipsDomestically schema",
										description: "An explanation about the purpose of this instance.",
										default: false,
										examples: [true]
									},
									ShipsInternationally: {
										$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Offers/items/anyOf/0/properties/ShipsInternationally",
										type: "boolean",
										title: "The ShipsInternationally schema",
										description: "An explanation about the purpose of this instance.",
										default: false,
										examples: [true]
									}
								}
							}],
							$id: "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Offers/items"
						}
					}
				}
			} }
		}
	}
};
//#endregion
//#region src/notifications/b-2-b-any-offer-changed-notification.ts
const b2bAnyOfferChangedNotification = {
	type: "object",
	description: "The notification response schema that comprises the entire JSON document for B2B_ANY_OFFER_CHANGED notification",
	"#ref": "#/definitions/NotificationResponse",
	definitions: {
		NotificationMetadata: {
			type: "object",
			required: [
				"ApplicationId",
				"SubscriptionId",
				"PublishTime",
				"NotificationId"
			],
			additionalProperties: true,
			properties: {
				ApplicationId: {
					type: "string",
					description: "The identifier for the application that uses the notifications"
				},
				SubscriptionId: {
					type: "string",
					description: "A unique identifier for the subscription which resulted in this notification"
				},
				PublishTime: {
					type: "string",
					description: "The date and time (in UTC) that the notification was sent"
				},
				NotificationId: {
					type: "string",
					description: "A unique identifier for this notification instance"
				}
			}
		},
		OfferChangeTrigger: {
			type: "object",
			description: "The event that caused the notification to be sent",
			required: [
				"MarketplaceId",
				"ASIN",
				"ItemCondition",
				"TimeOfOfferChange"
			],
			additionalProperties: true,
			properties: {
				MarketplaceId: {
					type: "string",
					description: "The marketplace identifier of the item that had an offer change"
				},
				ASIN: {
					type: "string",
					description: "The asin for the item that had an offer change"
				},
				ItemCondition: {
					type: "string",
					description: "The condition of the item that had an offer change"
				},
				TimeOfOfferChange: {
					type: "string",
					description: "The update time for the offer that caused this notification"
				}
			}
		},
		Condition: {
			type: "string",
			description: "Indicates the condition of the item"
		},
		FulfillmentChannel: {
			type: "string",
			description: "Indicates whether the item is fulfilled by Amazon or by the seller"
		},
		OfferCount: {
			type: "object",
			required: [
				"Condition",
				"FulfillmentChannel",
				"OfferCount"
			],
			additionalProperties: true,
			properties: {
				Condition: { $ref: "#/definitions/Condition" },
				FulfillmentChannel: { $ref: "#/definitions/FulfillmentChannel" },
				OfferCount: {
					type: "integer",
					description: "The total number of offers for the specified condition and fulfillment channel"
				}
			}
		},
		OfferType: {
			type: "string",
			description: "Indicates whether the offer is a B2B offer or a B2C offer"
		},
		QuantityTier: {
			type: "integer",
			description: "The quantity tier for the offer"
		},
		DiscountType: {
			type: "string",
			description: "Indicates whether the quantity tier is for Quantity Discount or Progressive Discount"
		},
		MoneyType: {
			type: "object",
			required: ["Amount", "CurrencyCode"],
			additionalProperties: true,
			properties: {
				Amount: { type: "number" },
				CurrencyCode: { type: "string" }
			}
		},
		LandedPrice: {
			$ref: "#/definitions/MoneyType",
			description: "ListingPrice + Shipping"
		},
		ListingPrice: {
			$ref: "#/definitions/MoneyType",
			description: "The price of the item"
		},
		Shipping: {
			$ref: "#/definitions/MoneyType",
			description: "The shipping cost"
		},
		QuantityDiscountPriceType: {
			type: "object",
			required: [
				"ListingPrice",
				"QuantityDiscountType",
				"QuantityTier"
			],
			properties: {
				QuantityTier: {
					type: "integer",
					format: "int32",
					description: "Indicates at what quantity this price becomes active."
				},
				QuantityDiscountType: {
					description: "Indicates the type of quantity discount this price applies to.",
					$ref: "#/definitions/QuantityDiscountType"
				},
				ListingPrice: {
					description: "The price at this quantity tier.",
					$ref: "#/definitions/MoneyType"
				}
			},
			description: "Contains pricing information that includes special pricing when buying in bulk."
		},
		QuantityDiscountType: {
			type: "string",
			enum: ["QUANTITY_DISCOUNT"],
			"x-docgen-enum-table-extension": [{
				value: "QUANTITY_DISCOUNT",
				description: "Quantity Discount"
			}]
		},
		Points: {
			type: "object",
			required: ["PointsNumber"],
			additionalProperties: true,
			properties: { PointsNumber: {
				type: "integer",
				description: "The number of Amazon Points offered with the purchase of an item"
			} }
		},
		LowestPrice: {
			type: "object",
			required: [
				"Condition",
				"FulfillmentChannel",
				"OfferType",
				"QuantityTier",
				"ListingPrice"
			],
			additionalProperties: true,
			properties: {
				Condition: { $ref: "#/definitions/Condition" },
				FulfillmentChannel: { $ref: "#/definitions/FulfillmentChannel" },
				OfferType: { $ref: "#/definitions/OfferType" },
				QuantityTier: { $ref: "#/definitions/QuantityTier" },
				DiscountType: { $ref: "#/definitions/DiscountType" },
				LandedPrice: { $ref: "#/definitions/LandedPrice" },
				ListingPrice: { $ref: "#/definitions/ListingPrice" },
				Shipping: { $ref: "#/definitions/Shipping" },
				Points: { $ref: "#/definitions/Points" }
			}
		},
		BuyBoxPrice: {
			type: "object",
			required: [
				"Condition",
				"OfferType",
				"QuantityTier",
				"ListingPrice"
			],
			additionalProperties: true,
			properties: {
				Condition: { $ref: "#/definitions/Condition" },
				OfferType: { $ref: "#/definitions/OfferType" },
				QuantityTier: { $ref: "#/definitions/QuantityTier" },
				DiscountType: { $ref: "#/definitions/DiscountType" },
				LandedPrice: { $ref: "#/definitions/LandedPrice" },
				ListingPrice: { $ref: "#/definitions/ListingPrice" },
				Shipping: { $ref: "#/definitions/Shipping" },
				Points: { $ref: "#/definitions/Points" },
				SellerId: {
					type: "string",
					description: "The seller identifier for the offer"
				}
			}
		},
		SellerFeedbackRating: {
			type: "object",
			required: ["FeedbackCount", "SellerPositiveFeedbackRating"],
			additionalProperties: true,
			properties: {
				FeedbackCount: {
					type: "integer",
					description: "The count of feedback received about the seller"
				},
				SellerPositiveFeedbackRating: {
					type: "number",
					description: "The percentage of positive feedback for the seller in the past 365 days"
				}
			}
		},
		ShippingTime: {
			additionalProperties: true,
			properties: {
				MinimumHours: {
					type: "integer",
					description: "The minimum time, in hours, that the item will likely be shipped after the order has been placed"
				},
				MaximumHours: {
					type: "integer",
					description: "The maximum time, in hours, that the item will likely be shipped after the order has been placed"
				},
				AvailabilityType: {
					type: "string",
					description: "Indicates whether the item is available for shipping now, or on a known or an unknown date in the future"
				},
				AvailableDate: {
					type: "string",
					description: "The date when the item will be available for shipping. Only displayed for items that are not currently available for shipping"
				}
			}
		},
		ShipsFrom: {
			type: "object",
			required: ["Country"],
			additionalProperties: true,
			properties: {
				Country: { type: "string" },
				State: { type: "string" }
			}
		},
		PrimeInformation: {
			type: "object",
			required: ["IsPrime", "IsNationalPrime"],
			additionalProperties: true,
			properties: {
				IsPrime: {
					type: "boolean",
					description: "Indicates whether the offer is an Amazon Prime offer"
				},
				IsNationalPrime: {
					type: "boolean",
					description: "Indicates whether the offer is an Amazon Prime offer throughout the entire marketplace where it is listed"
				}
			}
		},
		Offer: {
			type: "object",
			required: [
				"SellerId",
				"SubCondition",
				"ShippingTime",
				"ListingPrice",
				"Shipping",
				"IsFulfilledByAmazon"
			],
			additionalProperties: true,
			properties: {
				SellerId: {
					type: "string",
					description: "The seller identifier for the offer"
				},
				SubCondition: {
					type: "string",
					description: "The subcondition of the item"
				},
				SellerFeedbackRating: { $ref: "#/definitions/SellerFeedbackRating" },
				ShippingTime: { $ref: "#/definitions/ShippingTime" },
				ListingPrice: { $ref: "#/definitions/ListingPrice" },
				Points: { $ref: "#/definitions/Points" },
				QuantityDiscountPrice: {
					type: "array",
					description: "Contains a list of pricing information that includes special pricing when buying in bulk",
					items: { $ref: "#/definitions/QuantityDiscountPriceType" }
				},
				Shipping: { $ref: "#/definitions/Shipping" },
				ShipsFrom: { $ref: "#/definitions/ShipsFrom" },
				IsFulfilledByAmazon: {
					type: "boolean",
					description: "Indicates whether the offer is fulfilled by Amazon"
				},
				IsBuyBoxWinner: {
					type: "boolean",
					description: "Indicates whether the offer is currently in the Buy Box. There can be up to two Buy Box winners at any time per ASIN, one that is eligible for Prime and one that is not eligible for Prime"
				},
				ConditionNotes: {
					type: "string",
					description: "Information about the condition of the item"
				},
				PrimeInformation: { $ref: "#/definitions/PrimeInformation" },
				IsFeaturedMerchant: {
					type: "boolean",
					description: "Indicates whether the seller of the item is eligible to win the Buy Box"
				}
			}
		},
		Summary: {
			type: "object",
			required: [
				"NumberOfOffers",
				"BuyBoxEligibleOffers",
				"LowestPrices",
				"BuyBoxPrices"
			],
			additionalProperties: true,
			properties: {
				NumberOfOffers: {
					type: "array",
					description: "A list that contains the total number of B2B offers for the item for the given conditions and fulfillment channels",
					additionalItems: true,
					items: [{ $ref: "#/definitions/OfferCount" }]
				},
				BuyBoxEligibleOffers: {
					type: "array",
					description: "A list that contains the total number of B2B offers that are eligible for the Buy Box for the given conditions and fulfillment channels",
					additionalItems: true,
					items: [{ $ref: "#/definitions/OfferCount" }]
				},
				LowestPrices: {
					type: "array",
					description: "A list that contains the lowest prices of the item for the given conditions, fulfillment channels, quantity tiers, and discount types",
					additionalItems: true,
					items: [{ $ref: "#/definitions/LowestPrice" }]
				},
				BuyBoxPrices: {
					type: "array",
					description: "A list that contains the Buy Box price of the item for the given conditions, quantity tiers, and discount types",
					additionalItems: true,
					items: [{ $ref: "#/definitions/BuyBoxPrice" }]
				}
			}
		},
		B2BAnyOfferChangedNotification: {
			type: "object",
			required: [
				"SellerId",
				"OfferChangeTrigger",
				"Summary",
				"Offers"
			],
			additionalProperties: true,
			properties: {
				SellerId: {
					type: "string",
					description: "The seller identifier for the offer"
				},
				OfferChangeTrigger: { $ref: "#/definitions/OfferChangeTrigger" },
				Summary: { $ref: "#/definitions/Summary" },
				Offers: {
					type: "array",
					description: "The top 20 competitive B2B offers for the item and condition that triggered the notification",
					additionalItems: true,
					items: [{ $ref: "#/definitions/Offer" }]
				}
			}
		},
		Payload: {
			type: "object",
			required: ["B2BAnyOfferChangedNotification"],
			additionalProperties: true,
			properties: { B2BAnyOfferChangedNotification: { $ref: "#/definitions/B2BAnyOfferChangedNotification" } }
		},
		NotificationResponse: {
			type: "object",
			required: [
				"NotificationVersion",
				"NotificationType",
				"PayloadVersion",
				"EventTime",
				"NotificationMetadata",
				"Payload"
			],
			additionalProperties: true,
			properties: {
				NotificationVersion: {
					type: "string",
					description: "The notification version. This controls the structure of the notification"
				},
				NotificationType: {
					type: "string",
					description: "The notification type. Combined with payload version controls the structure of payload object"
				},
				PayloadVersion: {
					type: "string",
					description: "The payload version. Combined with notification type controls the structure of payload"
				},
				EventTime: {
					type: "string",
					description: "The date and time (in UTC) that the event which triggered the notification occurred"
				},
				NotificationMetadata: { $ref: "#/definitions/NotificationMetadata" },
				Payload: { $ref: "#/definitions/Payload" }
			}
		}
	}
};
//#endregion
//#region src/notifications/branded-item-content-change-notification.ts
const brandedItemContentChangeNotification = {
	$id: "http://example.com/example.json",
	type: "object",
	title: "The root schema",
	description: "The root schema comprises the entire JSON document.",
	default: {},
	examples: [{
		NotificationVersion: "1.0",
		NotificationType: "BRANDED_ITEM_CONTENT_CHANGE",
		PayloadVersion: "1.0",
		EventTime: "2019-03-20T18:59:30.194Z",
		Payload: {
			MarketplaceId: "ATVPDKIKX0DER",
			BrandName: "Great Brand",
			Asin: "B1234567",
			AttributesChanged: [
				"bullet_point",
				"item_name",
				"product_description",
				"main_product_image_locator",
				"other_product_image_locator_1",
				"other_product_image_locator_2",
				"other_product_image_locator_3",
				"other_product_image_locator_4",
				"other_product_image_locator_5",
				"other_product_image_locator_6",
				"other_product_image_locator_7",
				"other_product_image_locator_8",
				"swatch_product_image_locator"
			]
		},
		NotificationMetadata: {
			ApplicationId: "amzn1.sellerapps.app.f1234566-aaec-55a6-b123-bcb752069ec5",
			SubscriptionId: "93b098e1-c42-2f45-93a1-78910a6a8369",
			PublishTime: "2019-03-20T18:59:48.768Z",
			NotificationId: "8e009934-da2c-4f9c-9bc7-93f23b7e1f60"
		}
	}],
	required: [
		"NotificationVersion",
		"NotificationType",
		"PayloadVersion",
		"EventTime",
		"Payload",
		"NotificationMetadata"
	],
	properties: {
		NotificationVersion: {
			$id: "#/properties/NotificationVersion",
			type: "string",
			title: "The NotificationVersion schema",
			description: "An explanation about the purpose of this instance.",
			default: "",
			examples: ["1.0"]
		},
		NotificationType: {
			$id: "#/properties/NotificationType",
			type: "string",
			title: "The NotificationType schema",
			description: "An explanation about the purpose of this instance.",
			default: "",
			examples: ["BRANDED_ITEM_CONTENT_CHANGE"]
		},
		PayloadVersion: {
			$id: "#/properties/PayloadVersion",
			type: "string",
			title: "The PayloadVersion schema",
			description: "An explanation about the purpose of this instance.",
			default: "",
			examples: ["1.0"]
		},
		EventTime: {
			$id: "#/properties/EventTime",
			type: "string",
			title: "The EventTime schema",
			description: "An explanation about the purpose of this instance.",
			default: "",
			examples: ["2019-03-20T18:59:30.194Z"]
		},
		Payload: {
			$id: "#/properties/Payload",
			type: "object",
			title: "The Payload schema",
			description: "An explanation about the purpose of this instance.",
			default: {},
			examples: [{
				MarketplaceId: "ATVPDKIKX0DER",
				BrandName: "Great Brand",
				Asin: "B1234567",
				AttributesChanged: [
					"bullet_point",
					"item_name",
					"product_description",
					"main_product_image_locator",
					"other_product_image_locator_1",
					"other_product_image_locator_2",
					"other_product_image_locator_3",
					"other_product_image_locator_4",
					"other_product_image_locator_5",
					"other_product_image_locator_6",
					"other_product_image_locator_7",
					"other_product_image_locator_8",
					"swatch_product_image_locator"
				]
			}],
			required: [
				"MarketplaceId",
				"BrandName",
				"Asin",
				"AttributesChanged"
			],
			properties: {
				MarketplaceId: {
					$id: "#/properties/Payload/properties/MarketplaceId",
					type: "string",
					title: "The MarketplaceId schema",
					description: "An explanation about the purpose of this instance.",
					default: "",
					examples: ["ATVPDKIKX0DER"]
				},
				BrandName: {
					$id: "#/properties/Payload/properties/BrandName",
					type: "string",
					title: "The BrandName schema",
					description: "An explanation about the purpose of this instance.",
					default: "",
					examples: ["Great Brand"]
				},
				Asin: {
					$id: "#/properties/Payload/properties/Asin",
					type: "string",
					title: "The Asin schema",
					description: "An explanation about the purpose of this instance.",
					default: "",
					examples: ["B1234567"]
				},
				AttributesChanged: {
					$id: "#/properties/Payload/properties/AttributesChanged",
					type: "array",
					items: { type: "string" },
					title: "Changed item attributes",
					description: "The array of item attributes which changed. Possible values include bullet_point, item_name, product_description, and image-related attributes shown in the examples. NOTE: the attributes that contain the word 'image' all mean the same thing right now, which is that one or more images changed on the product detail page. In a future release we may update them to mean that individual image attribute changed, but for now if any image changes all the image attributes will be present in the notification. Attribute names, descriptions, and requirements are available in the Product Type Definitions API.",
					examples: [[
						"bullet_point",
						"item_name",
						"product_description"
					], [
						"main_product_image_locator",
						"other_product_image_locator_1",
						"other_product_image_locator_2",
						"other_product_image_locator_3",
						"other_product_image_locator_4",
						"other_product_image_locator_5",
						"other_product_image_locator_6",
						"other_product_image_locator_7",
						"other_product_image_locator_8",
						"swatch_product_image_locator"
					]]
				}
			},
			additionalProperties: true
		},
		NotificationMetadata: {
			$id: "#/properties/NotificationMetadata",
			type: "object",
			title: "The NotificationMetadata schema",
			description: "An explanation about the purpose of this instance.",
			default: {},
			examples: [{
				ApplicationId: "amzn1.sellerapps.app.f1234566-aaec-55a6-b123-bcb752069ec5",
				SubscriptionId: "93b098e1-c42-2f45-93a1-78910a6a8369",
				PublishTime: "2019-03-20T18:59:48.768Z",
				NotificationId: "8e009934-da2c-4f9c-9bc7-93f23b7e1f60"
			}],
			required: [
				"ApplicationId",
				"SubscriptionId",
				"PublishTime",
				"NotificationId"
			],
			properties: {
				ApplicationId: {
					$id: "#/properties/NotificationMetadata/properties/ApplicationId",
					type: "string",
					title: "The ApplicationId schema",
					description: "An explanation about the purpose of this instance.",
					default: "",
					examples: ["amzn1.sellerapps.app.f1234566-aaec-55a6-b123-bcb752069ec5"]
				},
				SubscriptionId: {
					$id: "#/properties/NotificationMetadata/properties/SubscriptionId",
					type: "string",
					title: "The SubscriptionId schema",
					description: "An explanation about the purpose of this instance.",
					default: "",
					examples: ["93b098e1-c42-2f45-93a1-78910a6a8369"]
				},
				PublishTime: {
					$id: "#/properties/NotificationMetadata/properties/PublishTime",
					type: "string",
					title: "The PublishTime schema",
					description: "An explanation about the purpose of this instance.",
					default: "",
					examples: ["2019-03-20T18:59:48.768Z"]
				},
				NotificationId: {
					$id: "#/properties/NotificationMetadata/properties/NotificationId",
					type: "string",
					title: "The NotificationId schema",
					description: "An explanation about the purpose of this instance.",
					default: "",
					examples: ["8e009934-da2c-4f9c-9bc7-93f23b7e1f60"]
				}
			},
			additionalProperties: true
		}
	},
	additionalProperties: true
};
//#endregion
//#region src/notifications/data-kiosk-query-processing-finished-notification.ts
const dataKioskQueryProcessingFinishedNotification = {
	type: "object",
	title: "Data Kiosk Query Processing Finished Notification.",
	description: "This notification is delivered when a Data Kiosk query finishes processing.",
	examples: [{
		notificationVersion: "2023-11-15",
		notificationType: "DATA_KIOSK_QUERY_PROCESSING_FINISHED",
		payloadVersion: "2023-11-15",
		eventTime: "2023-12-23T21:30:13.713Z",
		payload: {
			accountId: "amzn1.merchant.o.A21CXK3C4ERTY8",
			queryId: "54517018502",
			query: "query MyQuery{salesAndTrafficByDate(startDate:\"2023-05-01\" endDate:\"2023-06-01\" aggregateBy:DAY){marketplaceId startDate endDate sales{unitsOrdered}traffic{pageViews}}}",
			processingStatus: "DONE",
			dataDocumentId: "amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.REP4567URI9BMZ",
			pagination: { nextToken: "AAMA-EFRSURBSGhKZlpVSWVwOW96aU1xa2p6amVJdGp1YlZxMndOelFXa2hydStrUjZvVmFRRWVINldMNnFUVz" }
		},
		notificationMetadata: {
			applicationId: "amzn1.sellerapps.app.aacccfff-4455-4b7c-4422-664ecacdd336",
			subscriptionId: "subscription-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746",
			publishTime: "2023-12-23T21:30:16.903Z",
			notificationId: "d0e9e693-c3ad-4373-979f-ed4ec98dd746"
		}
	}],
	required: [
		"notificationVersion",
		"notificationType",
		"payloadVersion",
		"eventTime",
		"payload",
		"notificationMetadata"
	],
	properties: {
		notificationVersion: {
			$id: "#/properties/notificationVersion",
			type: "string",
			description: "The notification version.",
			examples: ["2023-11-15"]
		},
		notificationType: {
			$id: "#/properties/notificationType",
			type: "string",
			description: "The notification type.",
			examples: ["DATA_KIOSK_QUERY_PROCESSING_FINISHED"]
		},
		payloadVersion: {
			$id: "#/properties/payloadVersion",
			type: "string",
			description: "The payload version of the notification.",
			examples: ["2023-11-15"]
		},
		eventTime: {
			$id: "#/properties/eventTime",
			type: "string",
			description: "The time the notification was sent in ISO 8601 format.",
			examples: ["2023-12-23T21:30:13.713Z"]
		},
		payload: {
			$id: "#/properties/payload",
			type: "object",
			description: "The Data Kiosk query processing notification payload.",
			examples: [
				{
					accountId: "amzn1.merchant.o.A21CXK3C4ERTY8",
					queryId: "54517018502",
					query: "query MyQuery{salesAndTrafficByDate(startDate:\"2023-05-01\" endDate:\"2023-06-01\" aggregateBy:DAY){marketplaceId startDate endDate sales{unitsOrdered}traffic{pageViews}}}",
					processingStatus: "DONE",
					dataDocumentId: "amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.REP4567URI9BMZ",
					pagination: { nextToken: "AAMA-EFRSURBSGhKZlpVSWVwOW96aU1xa2p6amVJdGp1YlZxMndOelFXa2hydStrUjZvVmFRRWVINldMNnFUVz" }
				},
				{
					accountId: "amzn1.merchant.o.A21CXK3C4ERTY8",
					queryId: "54517018502",
					query: "query MyQuery{salesAndTrafficByDate(startDate:\"2023-05-01\" endDate:\"2023-06-01\" aggregateBy:DAY){marketplaceId startDate endDate sales{unitsOrdered}traffic{pageViews}}}",
					processingStatus: "DONE",
					dataDocumentId: "amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.REP4567URI9BMZ"
				},
				{
					accountId: "amzn1.merchant.o.A21CXK3C4ERTY8",
					queryId: "54517018502",
					query: "query MyQuery{salesAndTrafficByDate(startDate:\"2023-05-01\" endDate:\"2023-06-01\" aggregateBy:DAY){marketplaceId startDate endDate sales{unitsOrdered}traffic{pageViews}}}",
					processingStatus: "DONE"
				},
				{
					accountId: "amzn1.merchant.o.A21CXK3C4ERTY8",
					queryId: "54517018502",
					query: "query MyQuery{salesAndTrafficByDate(startDate:\"2023-05-01\" endDate:\"2023-06-01\" aggregateBy:DAY){marketplaceId startDate endDate sales{unitsOrdered}traffic{pageViews}}}",
					processingStatus: "CANCELLED"
				},
				{
					accountId: "amzn1.merchant.o.A21CXK3C4ERTY8",
					queryId: "54517018502",
					query: "query MyQuery{salesAndTrafficByDate(startDate:\"2023-05-01\" endDate:\"2023-06-01\" aggregateBy:DAY){marketplaceId startDate endDate sales{unitsOrdered}traffic{pageViews}}}",
					processingStatus: "FATAL",
					errorDocumentId: "amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.REP4567URI9BMZ"
				}
			],
			required: [
				"accountId",
				"queryId",
				"query",
				"processingStatus"
			],
			properties: {
				accountId: {
					$id: "#/properties/payload/properties/accountId",
					type: "string",
					description: "The merchant customer identifier or vendor group identifier of the selling partner account on whose behalf the query was submitted.",
					examples: ["amzn1.merchant.o.A21CXK3C4ERTY8", "amzn1.vg.6213651"]
				},
				queryId: {
					$id: "#/properties/payload/properties/queryId",
					type: "string",
					description: "The query identifier. This identifier is unique only in combination with the `accountId`.",
					examples: ["54517018502"]
				},
				query: {
					$id: "#/properties/payload/properties/query",
					type: "string",
					description: "The submitted query.",
					examples: ["query MyQuery{salesAndTrafficByDate(startDate:\"2023-05-01\" endDate:\"2023-06-01\" aggregateBy:DAY){marketplaceId startDate endDate sales{unitsOrdered}traffic{pageViews}}}"]
				},
				processingStatus: {
					$id: "#/properties/payload/properties/processingStatus",
					type: "string",
					description: "The processing status of the query.",
					examples: [
						"CANCELLED",
						"DONE",
						"FATAL"
					],
					enum: [
						"CANCELLED",
						"DONE",
						"FATAL"
					]
				},
				dataDocumentId: {
					$id: "#/properties/payload/properties/dataDocumentId",
					type: "string",
					description: "The data document identifier. This document identifier is only present when there is data available as a result of the query. This identifier is unique only in combination with the `accountId`. Pass this identifier into the `getDocument` operation to get the information required to retrieve the data document's contents.",
					examples: ["amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.REP4567URI9BMZ"]
				},
				errorDocumentId: {
					$id: "#/properties/payload/properties/errorDocumentId",
					type: "string",
					description: "The error document identifier. This document identifier is only present when an error occurs during query processing. This identifier is unique only in combination with the `accountId`. Pass this identifier into the `getDocument` operation to get the information required to retrieve the error document's contents.",
					examples: ["amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.REP4567URI9BMZ"]
				},
				pagination: {
					$id: "#/properties/payload/properties/pagination",
					type: "object",
					description: "When a query produces results that are not included in the data document, pagination occurs. This means that results are divided into pages. To retrieve the next page, you must pass a `CreateQuerySpecification` object with `paginationToken` set to this object's `nextToken` and with `query` set to this object's `query` in the subsequent `createQuery` request. When there are no more pages to fetch, the `nextToken` field will be absent.",
					examples: [{ nextToken: "AAMA-EFRSURBSGhKZlpVSWVwOW96aU1xa2p6amVJdGp1YlZxMndOelFXa2hydStrUjZvVmFRRWVINldMNnFUVz" }],
					properties: { nextToken: {
						$id: "#/properties/payload/properties/pagination/properties/nextToken",
						type: "string",
						description: "A token that can be used to fetch the next page of results.",
						examples: ["AAMA-EFRSURBSGhKZlpVSWVwOW96aU1xa2p6amVJdGp1YlZxMndOelFXa2hydStrUjZvVmFRRWVINldMNnFUVz"]
					} }
				}
			}
		},
		notificationMetadata: {
			$id: "#/properties/notificationMetadata",
			type: "object",
			description: "The notification's metadata.",
			examples: [{
				applicationId: "amzn1.sellerapps.app.aacccfff-4455-4b7c-4422-664ecacdd336",
				subscriptionId: "subscription-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746",
				publishTime: "2023-12-23T21:30:16.903Z",
				notificationId: "d0e9e693-c3ad-4373-979f-ed4ec98dd746"
			}],
			required: [
				"applicationId",
				"subscriptionId",
				"publishTime",
				"notificationId"
			],
			properties: {
				applicationId: {
					$id: "#/properties/notificationMetadata/properties/applicationId",
					type: "string",
					description: "The application identifier.",
					examples: ["amzn1.sellerapps.app.aacccfff-4455-4b7c-4422-664ecacdd336"]
				},
				subscriptionId: {
					$id: "#/properties/notificationMetadata/properties/subscriptionId",
					type: "string",
					description: "The subscription identifier.",
					examples: ["subscription-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746"]
				},
				publishTime: {
					$id: "#/properties/notificationMetadata/properties/publishTime",
					type: "string",
					description: "The time the notification was published in ISO 8601 format.",
					examples: ["2023-12-23T21:30:16.903Z"]
				},
				notificationId: {
					$id: "#/properties/notificationMetadata/properties/notificationId",
					type: "string",
					description: "The notification identifier.",
					examples: ["d0e9e693-c3ad-4373-979f-ed4ec98dd746"]
				}
			}
		}
	}
};
//#endregion
//#region src/notifications/detail-page-traffic-event-notification.ts
const detailPageTrafficEventNotification = {
	$id: "https://example.com/example.json",
	type: "object",
	description: "The root schema comprises the entire JSON document.",
	examples: [{
		notificationVersion: "2020-09-04",
		notificationType: "DETAIL_PAGE_TRAFFIC_EVENT",
		payloadVersion: "2020-09-04",
		eventTime: "2023-02-07T16:05:32.378Z",
		payload: { detailPageTrafficEvents: [{
			accountId: "amzn1.merchant.o.A21CXK3C4ERTY8",
			marketplaceId: "ATVPDKIKX0DER",
			startTime: "2023-02-07T15:00:00Z",
			endTime: "2023-02-07T16:00:00Z",
			asin: "B00032HE0O",
			glanceViews: 42
		}, {
			accountId: "amzn1.merchant.o.A21CXK3C4ERTY8",
			marketplaceId: "ATVPDKIKX0DER",
			startTime: "2023-02-07T15:00:00Z",
			endTime: "2023-02-07T16:00:00Z",
			asin: "B00094A20U",
			glanceViews: 69
		}] },
		notificationMetadata: {
			applicationId: "amzn1.sellerapps.app.aacccfff-4455-4b7c-4422-664ecacdd336",
			subscriptionId: "d0e9e693-c3ad-4373-979f-ed4ec98dd746",
			publishTime: "2023-02-07T16:45:32.378Z",
			notificationId: "d0e9e693-c3ad-4373-979f-ed4ec98dd746"
		}
	}],
	required: [
		"notificationVersion",
		"notificationType",
		"payloadVersion",
		"eventTime",
		"payload",
		"notificationMetadata"
	],
	properties: {
		notificationVersion: {
			$id: "#/properties/notificationVersion",
			type: "string",
			examples: ["2020-09-04"]
		},
		notificationType: {
			$id: "#/properties/notificationType",
			type: "string",
			examples: ["DETAIL_PAGE_TRAFFIC_EVENT"]
		},
		payloadVersion: {
			$id: "#/properties/payloadVersion",
			type: "string",
			examples: ["2020-09-04"]
		},
		eventTime: {
			$id: "#/properties/eventTime",
			type: "string",
			examples: ["2023-02-07T16:45:32.378Z"]
		},
		payload: {
			$id: "#/properties/payload",
			$ref: "#/definitions/Payload"
		},
		notificationMetadata: {
			$id: "#/properties/notificationMetadata",
			$ref: "#/definitions/NotificationMetadata"
		}
	},
	definitions: {
		Payload: {
			type: "object",
			examples: [{ detailPageTrafficEvents: [{
				accountId: "amzn1.merchant.o.A21CXK3C4ERTY8",
				marketplaceId: "ATVPDKIKX0DER",
				startTime: "2023-02-07T15:00:00Z",
				endTime: "2023-02-07T16:00:00Z",
				asin: "B00032HE0O",
				glanceViews: 42
			}, {
				accountId: "amzn1.merchant.o.A21CXK3C4ERTY8",
				marketplaceId: "ATVPDKIKX0DER",
				startTime: "2023-02-07T15:00:00Z",
				endTime: "2023-02-07T16:00:00Z",
				asin: "B00094A20U",
				glanceViews: 69
			}] }],
			required: ["detailPageTrafficEvents"],
			properties: { detailPageTrafficEvents: {
				$id: "#/definitions/Payload/properties/detailPageTrafficEvents",
				$ref: "#/definitions/DetailPageTrafficEvents"
			} }
		},
		DetailPageTrafficEvents: {
			type: "array",
			examples: [[{
				accountId: "amzn1.merchant.o.A21CXK3C4ERTY8",
				marketplaceId: "ATVPDKIKX0DER",
				startTime: "2023-02-07T15:00:00Z",
				endTime: "2023-02-07T16:00:00Z",
				asin: "B00032HE0O",
				glanceViews: 42
			}, {
				accountId: "amzn1.merchant.o.A21CXK3C4ERTY8",
				marketplaceId: "ATVPDKIKX0DER",
				startTime: "2023-02-07T15:00:00Z",
				endTime: "2023-02-07T16:00:00Z",
				asin: "B00094A20U",
				glanceViews: 69
			}]],
			items: { $ref: "#/definitions/DetailPageTrafficEvent" }
		},
		DetailPageTrafficEvent: {
			type: "object",
			examples: [{
				accountId: "amzn1.merchant.o.A21CXK3C4ERTY8",
				marketplaceId: "ATVPDKIKX0DER",
				startTime: "2023-02-07T15:00:00Z",
				endTime: "2023-02-07T16:00:00Z",
				asin: "B00032HE0O",
				glanceViews: 42
			}],
			required: [
				"accountId",
				"marketplaceId",
				"startTime",
				"endTime",
				"asin",
				"glanceViews"
			],
			properties: {
				accountId: {
					$id: "#/definitions/DetailPageTrafficEvent/properties/accountId",
					type: "string",
					description: "The merchant customer ID or vendor group ID of the partner account this notification is sent to.",
					examples: ["amzn1.merchant.o.A21CXK3C4ERTY8", "amzn1.vg.6213651"]
				},
				marketplaceId: {
					$id: "#/definitions/DetailPageTrafficEvent/properties/marketplaceId",
					type: "string",
					description: "The marketplace identifier of the traffic data.",
					examples: ["ATVPDKIKX0DER"]
				},
				startTime: {
					$id: "#/definitions/DetailPageTrafficEvent/properties/startTime",
					type: "string",
					format: "date-time",
					description: "The start of the date-time range of the traffic data in ISO 8601 format in UTC time.",
					examples: ["2023-02-07T15:00:00Z"]
				},
				endTime: {
					$id: "#/definitions/DetailPageTrafficEvent/properties/endTime",
					type: "string",
					format: "date-time",
					description: "The end of the date-time range of the traffic data in ISO 8601 format in UTC time.",
					examples: ["2023-02-07T16:00:00Z"]
				},
				asin: {
					$id: "#/definitions/DetailPageTrafficEvent/properties/asin",
					type: "string",
					description: "The Amazon Standard Identification Number of the product.",
					examples: ["B00032HE0O"]
				},
				glanceViews: {
					$id: "#/definitions/DetailPageTrafficEvent/properties/glanceViews",
					type: "integer",
					description: "The number of customer views of the product detail page for this ASIN.",
					minimum: 0,
					examples: [42]
				}
			}
		},
		NotificationMetadata: {
			type: "object",
			examples: [{
				applicationId: "amzn1.sellerapps.app.aacccfff-4455-4b7c-4422-664ecacdd336",
				subscriptionId: "d0e9e693-c3ad-4373-979f-ed4ec98dd746",
				publishTime: "2023-02-07T16:45:32.378Z",
				notificationId: "d0e9e693-c3ad-4373-979f-ed4ec98dd746"
			}],
			required: [
				"applicationId",
				"subscriptionId",
				"publishTime",
				"notificationId"
			],
			properties: {
				applicationId: {
					$id: "#/definitions/NotificationMetadata/properties/applicationId",
					type: "string",
					examples: ["amzn1.sellerapps.app.aacccfff-4455-4b7c-4422-664ecacdd336"]
				},
				subscriptionId: {
					$id: "#/definitions/NotificationMetadata/properties/subscriptionId",
					type: "string",
					examples: ["d0e9e693-c3ad-4373-979f-ed4ec98dd746"]
				},
				publishTime: {
					$id: "#/definitions/NotificationMetadata/properties/publishTime",
					type: "string",
					examples: ["2023-02-07T16:45:32.378Z"]
				},
				notificationId: {
					$id: "#/definitions/NotificationMetadata/properties/notificationId",
					type: "string",
					examples: ["d0e9e693-c3ad-4373-979f-ed4ec98dd746"]
				}
			}
		}
	}
};
//#endregion
//#region src/notifications/fba-inventory-availability-change-notification.ts
const fbaInventoryAvailabilityChangeNotification = {
	$id: "http://example.com/example.json",
	type: "object",
	title: "The root schema",
	description: "The root schema comprises the entire JSON document.",
	default: {},
	properties: {
		NotificationVersion: {
			$id: "#/properties/NotificationVersion",
			type: "string",
			title: "Notification Version",
			description: "The version of this notification.",
			examples: ["1.0"]
		},
		NotificationType: {
			$id: "#/properties/NotificationType",
			type: "string",
			title: "Notification Type",
			description: "The type of this notification",
			enum: ["FBA_INVENTORY_AVAILABILITY_CHANGES"]
		},
		PayloadVersion: {
			$id: "#/properties/PayloadVersion",
			type: "string",
			title: "Payload Version",
			description: "The version of the payload.",
			examples: ["1.0"]
		},
		EventTime: {
			$id: "#/properties/EventTime",
			type: "string",
			format: "date-time",
			title: "Event Time",
			description: "Timestamp of the event. Formatted as ISO 8601 date-time.",
			default: "",
			examples: ["2020-07-13T19:42:04.284Z"]
		},
		Payload: {
			$id: "#/properties/Payload",
			type: "object",
			title: "Payload",
			description: "The details of this notification.",
			additionalProperties: true,
			required: [
				"SellerId",
				"FNSKU",
				"ASIN",
				"SKU",
				"FulfillmentInventoryByMarketplace"
			],
			examples: [{
				SellerId: "A3TH9S8BH6GOGM",
				FNSKU: "X001ABCDEF",
				ASIN: "B00001ABCD",
				SKU: "SELLERSKU-1",
				FulfillmentInventoryByMarketplace: [{
					MarketplaceId: "ATVPDKIKX0DER",
					ItemName: "Product Title",
					FulfillmentInventory: {
						InboundQuantityBreakdown: {
							Working: 0,
							Shipped: 5,
							Receiving: 10
						},
						Fulfillable: 50,
						Unfulfillable: 0,
						Researching: 0,
						ReservedQuantityBreakdown: {
							WarehouseProcessing: 5,
							WarehouseTransfer: 15,
							PendingCustomerOrder: 10
						},
						FutureSupplyBuyable: 10,
						PendingCustomerOrderInTransit: 0
					},
					Stores: ["Low-Cost Store"]
				}, {
					MarketplaceId: "A2EUQ1WTGCTBG2",
					ItemName: "Product Title",
					FulfillmentInventory: {
						InboundQuantityBreakdown: {
							Working: 1,
							Shipped: 2,
							Receiving: 3
						},
						Fulfillable: 40,
						Unfulfillable: 0,
						Researching: 0,
						ReservedQuantityBreakdown: {
							WarehouseProcessing: 5,
							WarehouseTransfer: 15,
							PendingCustomerOrder: 10
						},
						FutureSupplyBuyable: 0,
						PendingCustomerOrderInTransit: 0
					},
					Stores: ["Low-Cost Store"]
				}]
			}],
			properties: {
				SellerId: {
					$id: "#/properties/Payload/properties/FulfillmentInventoryAvailabilityChangeNotification/properties/SellerId",
					type: "string",
					title: "Seller Id",
					description: "Selling partner identifier, such as a merchant account, for the affected inventory item.",
					examples: ["A3TH9S8BH6GOGM"]
				},
				FNSKU: {
					$id: "#/properties/Payload/properties/FulfillmentInventoryAvailabilityChangeNotification/properties/FNSKU",
					type: "string",
					title: "FNSKU",
					description: "The Fulfillment Network SKU of the affected inventory item.",
					examples: ["X001ABCDEF"]
				},
				ASIN: {
					$id: "#/properties/Payload/properties/FulfillmentInventoryAvailabilityChangeNotification/properties/ASIN",
					type: "string",
					title: "ASIN",
					description: "Amazon Standard Identification Number of the affected inventory item.",
					examples: ["B00001ABCD"]
				},
				SKU: {
					$id: "#/properties/Payload/properties/FulfillmentInventoryAvailabilityChangeNotification/properties/SKU",
					type: "string",
					title: "SKU",
					description: "Seller SKU of the affected inventory item.",
					examples: ["SELLERSKU-1"]
				},
				FulfillmentInventoryByMarketplace: {
					$id: "#/properties/Payload/properties/FulfillmentInventoryAvailabilityChangeNotification/properties/FulfillmentInventoryByMarketplace",
					type: "array",
					title: "Fulfillment Inventory Details By Marketplace",
					description: "List of Fulfillment Inventory Details for each marketplace.",
					examples: [[{
						MarketplaceId: "ATVPDKIKX0DER",
						ItemName: "Product Title",
						FulfillmentInventory: {
							InboundQuantityBreakdown: {
								Working: 0,
								Shipped: 5,
								Receiving: 10
							},
							Fulfillable: 50,
							Unfulfillable: 0,
							Researching: 0,
							ReservedQuantityBreakdown: {
								WarehouseProcessing: 5,
								WarehouseTransfer: 15,
								PendingCustomerOrder: 10
							},
							FutureSupplyBuyable: 10,
							PendingCustomerOrderInTransit: 0
						},
						Stores: ["Low-Cost Store"]
					}, {
						MarketplaceId: "A2EUQ1WTGCTBG2",
						ItemName: "Product Title",
						FulfillmentInventory: {
							InboundQuantityBreakdown: {
								Working: 1,
								Shipped: 2,
								Receiving: 3
							},
							Fulfillable: 40,
							Unfulfillable: 0,
							Researching: 0,
							ReservedQuantityBreakdown: {
								WarehouseProcessing: 5,
								WarehouseTransfer: 15,
								PendingCustomerOrder: 10
							},
							FutureSupplyBuyable: 0,
							PendingCustomerOrderInTransit: 0
						},
						Stores: ["Low-Cost Store"]
					}]],
					items: {
						type: "object",
						required: [
							"MarketplaceId",
							"ItemName",
							"FulfillmentInventory"
						],
						additionalProperties: true,
						properties: {
							MarketplaceId: {
								type: "string",
								title: "MarketplaceId",
								description: "The marketplace identifier for the destination where the affected inventory can be used to fulfill the order.",
								examples: ["ATVPDKIKX0DER"]
							},
							ItemName: {
								type: "string",
								title: "Item Name",
								description: "The product title of the affected inventory item.",
								examples: ["Product Title"]
							},
							FulfillmentInventory: {
								$id: "#/properties/Payload/properties/FulfillmentInventoryAvailabilityChangeNotification/properties/FulfillmentInventoryByMarketplace/FulfillmentInventory",
								type: "object",
								title: "Fulfillment Inventory Details",
								description: "Detail of the affected item's inventory availability",
								examples: [{
									InboundQuantityBreakdown: {
										Working: 0,
										Shipped: 5,
										Receiving: 10
									},
									Fulfillable: 50,
									Unfulfillable: 0,
									Researching: 0,
									ReservedQuantityBreakdown: {
										WarehouseProcessing: 5,
										WarehouseTransfer: 15,
										PendingCustomerOrder: 10
									},
									FutureSupplyBuyable: 10,
									PendingCustomerOrderInTransit: 0
								}],
								required: [
									"InboundQuantityBreakdown",
									"Fulfillable",
									"Unfulfillable",
									"Researching",
									"ReservedQuantityBreakdown",
									"FutureSupplyBuyable",
									"PendingCustomerOrderInTransit"
								],
								properties: {
									InboundQuantityBreakdown: {
										$id: "#/properties/Payload/properties/FulfillmentInventoryAvailabilityChangeNotification/properties/FulfillmentInventoryByMarketplace/FulfillmentInventory/InboundQuantityBreakdown",
										type: "object",
										title: "Inbound Quantity Breakdown",
										description: "Details of the affected item's inbound units, which are either still in WORKING status or on the way to be received in Amazon warehouses.",
										examples: [{
											Working: 0,
											Shipped: 5,
											Receiving: 10
										}],
										required: [
											"Working",
											"Shipped",
											"Receiving"
										],
										properties: {
											Working: {
												$id: "#/properties/Payload/properties/FulfillmentInventoryAvailabilityChangeNotification/properties/FulfillmentInventoryByMarketplace/FulfillmentInventory/InboundQuantityBreakdown/Working",
												type: "integer",
												title: "Working",
												description: "The number of units of the affected item that are currently residing in a WORKING status shipment.",
												examples: [0]
											},
											Shipped: {
												$id: "#/properties/Payload/properties/FulfillmentInventoryAvailabilityChangeNotification/properties/FulfillmentInventoryByMarketplace/FulfillmentInventory/InboundQuantityBreakdown/Shipped",
												type: "integer",
												title: "Shipped",
												description: "The number of units of the affected item that are currently residing in a SHIPPED, IN_TRANSIT, DELIVERED or CHECKED_IN status shipment.",
												examples: [0]
											},
											Receiving: {
												$id: "#/properties/Payload/properties/FulfillmentInventoryAvailabilityChangeNotification/properties/FulfillmentInventoryByMarketplace/FulfillmentInventory/InboundQuantityBreakdown/Receiving",
												type: "integer",
												title: "Receiving",
												description: "The number of units of the affected item that has arrived and are in progress to be received in Amazon warehouses.",
												examples: [0]
											}
										},
										additionalProperties: true
									},
									Fulfillable: {
										$id: "#/properties/Payload/properties/FulfillmentInventoryAvailabilityChangeNotification/properties/FulfillmentInventoryByMarketplace/FulfillmentInventory/Fulfillable",
										type: "integer",
										title: "Fulfillable",
										description: "The number of units of the affected item that can be used to fulfill orders in the given marketplace.",
										examples: [0]
									},
									Unfulfillable: {
										$id: "#/properties/Payload/properties/FulfillmentInventoryAvailabilityChangeNotification/properties/FulfillmentInventoryByMarketplace/FulfillmentInventory/Unfulfillable",
										type: "integer",
										title: "Unfulfillable",
										description: "The number of units of the affected item that can not be used to fulfill orders due to the item's current disposition.",
										default: 0,
										examples: [0]
									},
									Researching: {
										$id: "#/properties/Payload/properties/FulfillmentInventoryAvailabilityChangeNotification/properties/FulfillmentInventoryByMarketplace/FulfillmentInventory/Unfulfillable",
										type: "integer",
										title: "Researching",
										description: "The number of units of the affected item that are currently being investigated upon adjustments.",
										default: 0,
										examples: [0]
									},
									ReservedQuantityBreakdown: {
										$id: "#/properties/Payload/properties/FulfillmentInventoryAvailabilityChangeNotification/properties/FulfillmentInventoryByMarketplace/FulfillmentInventory/ReservedQuantityBreakdown",
										type: "object",
										title: "Reserved Quantity Breakdown",
										description: "Details of the inventory that is temporarily undergoing internal processes.",
										examples: [{
											WarehouseProcessing: 5,
											WarehouseTransfer: 15,
											PendingCustomerOrder: 10
										}],
										required: [
											"WarehouseProcessing",
											"WarehouseTransfer",
											"PendingCustomerOrder"
										],
										properties: {
											WarehouseProcessing: {
												$id: "#/properties/Payload/properties/FulfillmentInventoryAvailabilityChangeNotification/properties/FulfillmentInventoryByMarketplace/FulfillmentInventory/InboundQuantityBreakdown/WarehouseProcessing",
												type: "integer",
												title: "Warehouse Processing",
												description: "The number of units of the affected item that are temporarily sidelined for internal processing.",
												default: 0,
												examples: [0]
											},
											WarehouseTransfer: {
												$id: "#/properties/Payload/properties/FulfillmentInventoryAvailabilityChangeNotification/properties/FulfillmentInventoryByMarketplace/FulfillmentInventory/InboundQuantityBreakdown/WarehouseTransfer",
												type: "integer",
												title: "Warehouse Transfer",
												description: "The number of units of the affected item that are in progress to be trans-shipped to another Amazon Warehouse location.",
												default: 0,
												examples: [0]
											},
											PendingCustomerOrder: {
												$id: "#/properties/Payload/properties/FulfillmentInventoryAvailabilityChangeNotification/properties/FulfillmentInventoryByMarketplace/FulfillmentInventory/InboundQuantityBreakdown/PendingCustomerOrder",
												type: "integer",
												title: "Pending Customer Orders",
												description: "The number of units of the affected item that will soon be shipped out as customer order shipment.",
												default: 0,
												examples: [0]
											}
										},
										additionalProperties: true
									},
									FutureSupplyBuyable: {
										$id: "#/properties/Payload/properties/FulfillmentInventoryAvailabilityChangeNotification/properties/FulfillmentInventoryByMarketplace/FulfillmentInventory/FutureSupplyBuyable",
										type: "integer",
										title: "Future Supply Buyable",
										description: "The number of units available for customers to find and buy while inventory is on its way to an Amazon fulfillment center through In-Stock Head Start.",
										default: 0,
										examples: [0]
									},
									PendingCustomerOrderInTransit: {
										$id: "#/properties/Payload/properties/FulfillmentInventoryAvailabilityChangeNotification/properties/FulfillmentInventoryByMarketplace/FulfillmentInventory/PendingCustomerOrderInTransit",
										type: "integer",
										title: "Pending Customer Order In Transit",
										description: "The number of units that customers have purchased while inventory is on its way to an Amazon fulfillment center through In-Stock Head Start",
										default: 0,
										examples: [0]
									}
								}
							},
							Stores: {
								type: "array",
								title: "Stores",
								description: "List of seller-enrolled stores for the affected inventory item.",
								examples: [["Low-Cost Store"], []]
							}
						}
					}
				}
			}
		}
	},
	additionalProperties: true
};
//#endregion
//#region src/notifications/fba-outbound-shipment-status-notification.ts
const fbaOutboundShipmentStatusNotification = {
	$id: "http://example.com/example.json",
	type: "object",
	description: "The root schema comprises the entire JSON document.",
	examples: [{
		NotificationVersion: "1.0",
		NotificationType: "FBA_OUTBOUND_SHIPMENT_STATUS",
		PayloadVersion: "1.0",
		EventTime: "2020-01-11T00:09:53.109Z",
		Payload: { FBAOutboundShipmentStatusNotification: {
			SellerId: "merchantId",
			AmazonOrderId: "113-2646096-4474645",
			AmazonShipmentId: "DrLqQwqvb",
			ShipmentStatus: "Created"
		} },
		NotificationMetadata: {
			ApplicationId: "appId",
			SubscriptionId: "subId",
			PublishTime: "2020-01-11T00:02:50.501Z",
			NotificationId: "requestId"
		}
	}],
	required: [
		"NotificationVersion",
		"NotificationType",
		"PayloadVersion",
		"EventTime",
		"NotificationMetadata",
		"Payload"
	],
	additionalProperties: true,
	properties: {
		NotificationVersion: {
			$id: "#/properties/NotificationVersion",
			type: "string"
		},
		NotificationType: {
			$id: "#/properties/NotificationType",
			type: "string"
		},
		PayloadVersion: {
			$id: "#/properties/PayloadVersion",
			type: "string"
		},
		EventTime: {
			$id: "#/properties/EventTime",
			type: "string"
		},
		NotificationMetadata: {
			$id: "#/properties/NotificationMetadata",
			type: "object",
			required: [
				"ApplicationId",
				"SubscriptionId",
				"PublishTime",
				"NotificationId"
			],
			properties: {
				ApplicationId: {
					$id: "#/properties/NotificationMetadata/properties/ApplicationId",
					type: "string"
				},
				SubscriptionId: {
					$id: "#/properties/NotificationMetadata/properties/SubscriptionId",
					type: "string"
				},
				PublishTime: {
					$id: "#/properties/NotificationMetadata/properties/PublishTime",
					type: "string"
				},
				NotificationId: {
					$id: "#/properties/NotificationMetadata/properties/NotificationId",
					type: "string"
				}
			}
		},
		Payload: {
			$id: "#/properties/Payload",
			type: "object",
			required: ["FBAOutboundShipmentStatusNotification"],
			properties: { FBAOutboundShipmentStatusNotification: {
				$id: "#/properties/Payload/properties/FBAOutboundShipmentStatusNotification",
				type: "object",
				required: [
					"SellerId",
					"AmazonOrderId",
					"AmazonShipmentId",
					"ShipmentStatus"
				],
				properties: {
					SellerId: {
						$id: "#/properties/Payload/properties/FBAOutboundShipmentStatusNotification/properties/SellerId",
						type: "string"
					},
					AmazonOrderId: {
						$id: "#/properties/Payload/properties/FBAOutboundShipmentStatusNotification/properties/AmazonOrderId",
						type: "string"
					},
					AmazonShipmentId: {
						$id: "#/properties/Payload/properties/FBAOutboundShipmentStatusNotification/properties/AmazonShipmentId",
						type: "string"
					},
					ShipmentStatus: {
						$id: "#/properties/Payload/properties/FBAOutboundShipmentStatusNotification/properties/ShipmentStatus",
						type: "string"
					}
				}
			} }
		}
	}
};
//#endregion
//#region src/notifications/fee-promotion-notification.ts
const feePromotionNotification = {
	$id: "http://example.com/example.json",
	type: "object",
	title: "The root schema",
	description: "The root schema comprises the entire JSON document.",
	default: {},
	examples: [{
		NotificationVersion: "1.0",
		NotificationType: "FEE_PROMOTION",
		PayloadVersion: "1.0",
		EventTime: "2020-07-13T19:42:04.284Z",
		NotificationMetadata: {
			ApplicationId: "app-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746",
			SubscriptionId: "subscription-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746",
			PublishTime: "2020-07-13T19:42:04.284Z",
			NotificationId: "d0e9e693-c3ad-4373-979f-ed4ec98dd746"
		},
		Payload: { FeePromotionNotification: {
			MerchantId: "AJH434853485",
			MarketplaceId: "ATIV93840DER",
			FeePromotionType: "TYPE",
			FeePromotionTypeDescription: "Fee promotion type description",
			PromotionActiveTimeRange: {
				EffectiveFromDate: "2020-07-13T19:42:04.284Z",
				EffectiveThroughDate: "2020-07-13T19:42:04.284Z"
			},
			Identifiers: [{
				IdentifierType: "identifierType",
				IdentifierValues: [{
					IdentifierValueId: "identifierValueId1",
					IdentifierValueFriendlyName: "identifierValueFriendlyName1"
				}, {
					IdentifierValueId: "identifierValueId2",
					IdentifierValueFriendlyName: "identifierValueFriendlyName2"
				}]
			}, {
				IdentifierType: "identifierType",
				IdentifierValues: [{
					IdentifierValueId: "identifierValueId1",
					IdentifierValueFriendlyName: "identifierValueFriendlyName1"
				}, {
					IdentifierValueId: "identifierValueId2",
					IdentifierValueFriendlyName: "identifierValueFriendlyName2"
				}]
			}],
			PromotionInformation: [{
				FeeType: "FeeType",
				FeeDiscountType: "FeeDiscountType",
				FeeDiscountValue: 10.3,
				PriceThreshold: {
					Amount: 60,
					CurrencyCode: "USD"
				},
				FeeDiscountMonetaryAmount: {
					Amount: 70,
					CurrencyCode: "USD"
				},
				FeesEstimate: {
					TimeOfFeesEstimated: "2020-07-13T19:42:04.284Z",
					TotalFeesEstimate: {
						Amount: 90,
						CurrencyCode: "USD"
					},
					FeeDetails: [{
						FeeType: "feeType",
						FeeAmount: {
							Amount: 10,
							CurrencyCode: "USD"
						},
						TaxAmount: {
							Amount: 20,
							CurrencyCode: "USD"
						},
						FeePromotion: {
							Amount: 30,
							CurrencyCode: "USD"
						},
						FinalFee: {
							Amount: 40,
							CurrencyCode: "USD"
						},
						IncludedFees: [{
							FeeType: "feeType",
							FeeAmount: {
								Amount: 10,
								CurrencyCode: "USD"
							},
							TaxAmount: {
								Amount: 20,
								CurrencyCode: "USD"
							},
							FeePromotion: {
								Amount: 30,
								CurrencyCode: "USD"
							},
							FinalFee: {
								Amount: 40,
								CurrencyCode: "USD"
							}
						}, {
							FeeType: "feeType",
							FeeAmount: {
								Amount: 10,
								CurrencyCode: "USD"
							},
							TaxAmount: {
								Amount: 20,
								CurrencyCode: "USD"
							},
							FeePromotion: {
								Amount: 30,
								CurrencyCode: "USD"
							},
							FinalFee: {
								Amount: 40,
								CurrencyCode: "USD"
							}
						}]
					}, {
						FeeType: "feeType",
						FeeAmount: {
							Amount: 10,
							CurrencyCode: "USD"
						},
						TaxAmount: {
							Amount: 20,
							CurrencyCode: "USD"
						},
						FeePromotion: {
							Amount: 30,
							CurrencyCode: "USD"
						},
						FinalFee: {
							Amount: 40,
							CurrencyCode: "USD"
						},
						IncludedFees: [{
							FeeType: "feeType",
							FeeAmount: {
								Amount: 10,
								CurrencyCode: "USD"
							},
							TaxAmount: {
								Amount: 20,
								CurrencyCode: "USD"
							},
							FeePromotion: {
								Amount: 30,
								CurrencyCode: "USD"
							},
							FinalFee: {
								Amount: 40,
								CurrencyCode: "USD"
							}
						}, {
							FeeType: "feeType",
							FeeAmount: {
								Amount: 10,
								CurrencyCode: "USD"
							},
							TaxAmount: {
								Amount: 20,
								CurrencyCode: "USD"
							},
							FeePromotion: {
								Amount: 30,
								CurrencyCode: "USD"
							},
							FinalFee: {
								Amount: 40,
								CurrencyCode: "USD"
							}
						}]
					}]
				}
			}, {
				FeeType: "FeeType",
				FeeDiscountType: "FeeDiscountType",
				FeeDiscountValue: 10.3,
				PriceThreshold: {
					Amount: 60,
					CurrencyCode: "USD"
				},
				FeeDiscountMonetaryAmount: {
					Amount: 70,
					CurrencyCode: "USD"
				},
				FeesEstimate: {
					TimeOfFeesEstimated: "2020-07-13T19:42:04.284Z",
					TotalFeesEstimate: {
						Amount: 90,
						CurrencyCode: "USD"
					},
					FeeDetails: [{
						FeeType: "feeType",
						FeeAmount: {
							Amount: 10,
							CurrencyCode: "USD"
						},
						TaxAmount: {
							Amount: 20,
							CurrencyCode: "USD"
						},
						FeePromotion: {
							Amount: 30,
							CurrencyCode: "USD"
						},
						FinalFee: {
							Amount: 40,
							CurrencyCode: "USD"
						},
						IncludedFees: [{
							FeeType: "feeType",
							FeeAmount: {
								Amount: 10,
								CurrencyCode: "USD"
							},
							TaxAmount: {
								Amount: 20,
								CurrencyCode: "USD"
							},
							FeePromotion: {
								Amount: 30,
								CurrencyCode: "USD"
							},
							FinalFee: {
								Amount: 40,
								CurrencyCode: "USD"
							}
						}, {
							FeeType: "feeType",
							FeeAmount: {
								Amount: 10,
								CurrencyCode: "USD"
							},
							TaxAmount: {
								Amount: 20,
								CurrencyCode: "USD"
							},
							FeePromotion: {
								Amount: 30,
								CurrencyCode: "USD"
							},
							FinalFee: {
								Amount: 40,
								CurrencyCode: "USD"
							}
						}]
					}, {
						FeeType: "feeType",
						FeeAmount: {
							Amount: 10,
							CurrencyCode: "USD"
						},
						TaxAmount: {
							Amount: 20,
							CurrencyCode: "USD"
						},
						FeePromotion: {
							Amount: 30,
							CurrencyCode: "USD"
						},
						FinalFee: {
							Amount: 40,
							CurrencyCode: "USD"
						},
						IncludedFees: [{
							FeeType: "feeType",
							FeeAmount: {
								Amount: 10,
								CurrencyCode: "USD"
							},
							TaxAmount: {
								Amount: 20,
								CurrencyCode: "USD"
							},
							FeePromotion: {
								Amount: 30,
								CurrencyCode: "USD"
							},
							FinalFee: {
								Amount: 40,
								CurrencyCode: "USD"
							}
						}, {
							FeeType: "feeType",
							FeeAmount: {
								Amount: 10,
								CurrencyCode: "USD"
							},
							TaxAmount: {
								Amount: 20,
								CurrencyCode: "USD"
							},
							FeePromotion: {
								Amount: 30,
								CurrencyCode: "USD"
							},
							FinalFee: {
								Amount: 40,
								CurrencyCode: "USD"
							}
						}]
					}]
				}
			}]
		} }
	}],
	required: [
		"NotificationVersion",
		"NotificationType",
		"PayloadVersion",
		"EventTime",
		"NotificationMetadata",
		"Payload"
	],
	properties: {
		NotificationVersion: {
			$id: "#/properties/NotificationVersion",
			type: "string",
			title: "The NotificationVersion schema",
			description: "An explanation about the purpose of this instance.",
			default: "",
			examples: ["1.0"]
		},
		NotificationType: {
			$id: "#/properties/NotificationType",
			type: "string",
			title: "The NotificationType schema",
			description: "An explanation about the purpose of this instance.",
			default: "",
			examples: ["FEE_PROMOTION"]
		},
		PayloadVersion: {
			$id: "#/properties/PayloadVersion",
			type: "string",
			title: "The PayloadVersion schema",
			description: "An explanation about the purpose of this instance.",
			default: "",
			examples: ["1.0"]
		},
		EventTime: {
			$id: "#/properties/EventTime",
			type: "string",
			title: "The EventTime schema",
			description: "An explanation about the purpose of this instance.",
			default: "",
			examples: ["2020-07-13T19:42:04.284Z"]
		},
		NotificationMetadata: {
			$id: "#/properties/NotificationMetadata",
			type: "object",
			title: "The NotificationMetadata schema",
			description: "An explanation about the purpose of this instance.",
			default: {},
			examples: [{
				ApplicationId: "app-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746",
				SubscriptionId: "subscription-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746",
				PublishTime: "2020-07-13T19:42:04.284Z",
				NotificationId: "d0e9e693-c3ad-4373-979f-ed4ec98dd746"
			}],
			required: [
				"ApplicationId",
				"SubscriptionId",
				"PublishTime",
				"NotificationId"
			],
			properties: {
				ApplicationId: {
					$id: "#/properties/NotificationMetadata/properties/ApplicationId",
					type: "string",
					title: "The ApplicationId schema",
					description: "An explanation about the purpose of this instance.",
					default: "",
					examples: ["app-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746"]
				},
				SubscriptionId: {
					$id: "#/properties/NotificationMetadata/properties/SubscriptionId",
					type: "string",
					title: "The SubscriptionId schema",
					description: "An explanation about the purpose of this instance.",
					default: "",
					examples: ["subscription-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746"]
				},
				PublishTime: {
					$id: "#/properties/NotificationMetadata/properties/PublishTime",
					type: "string",
					title: "The PublishTime schema",
					description: "An explanation about the purpose of this instance.",
					default: "",
					examples: ["2020-07-13T19:42:04.284Z"]
				},
				NotificationId: {
					$id: "#/properties/NotificationMetadata/properties/NotificationId",
					type: "string",
					title: "The NotificationId schema",
					description: "An explanation about the purpose of this instance.",
					default: "",
					examples: ["d0e9e693-c3ad-4373-979f-ed4ec98dd746"]
				}
			},
			additionalProperties: true
		},
		Payload: {
			$id: "#/properties/Payload",
			type: "object",
			title: "The Payload schema",
			description: "An explanation about the purpose of this instance.",
			default: {},
			examples: [{ FeePromotionNotification: {
				MerchantId: "AJH434853485",
				MarketplaceId: "ATIV93840DER",
				FeePromotionType: "TYPE",
				FeePromotionTypeDescription: "Fee promotion type description",
				PromotionActiveTimeRange: {
					EffectiveFromDate: "2020-07-13T19:42:04.284Z",
					EffectiveThroughDate: "2020-07-13T19:42:04.284Z"
				},
				Identifiers: [{
					IdentifierType: "identifierType",
					IdentifierValues: [{
						IdentifierValueId: "identifierValueId1",
						IdentifierValueFriendlyName: "identifierValueFriendlyName1"
					}, {
						IdentifierValueId: "identifierValueId2",
						IdentifierValueFriendlyName: "identifierValueFriendlyName2"
					}]
				}, {
					IdentifierType: "identifierType",
					IdentifierValues: [{
						IdentifierValueId: "identifierValueId1",
						IdentifierValueFriendlyName: "identifierValueFriendlyName1"
					}, {
						IdentifierValueId: "identifierValueId2",
						IdentifierValueFriendlyName: "identifierValueFriendlyName2"
					}]
				}],
				PromotionInformation: [{
					FeeType: "FeeType",
					FeeDiscountType: "FeeDiscountType",
					FeeDiscountValue: 10.3,
					PriceThreshold: {
						Amount: 60,
						CurrencyCode: "USD"
					},
					FeeDiscountMonetaryAmount: {
						Amount: 70,
						CurrencyCode: "USD"
					},
					FeesEstimate: {
						TimeOfFeesEstimated: "2020-07-13T19:42:04.284Z",
						TotalFeesEstimate: {
							Amount: 90,
							CurrencyCode: "USD"
						},
						FeeDetails: [{
							FeeType: "feeType",
							FeeAmount: {
								Amount: 10,
								CurrencyCode: "USD"
							},
							TaxAmount: {
								Amount: 20,
								CurrencyCode: "USD"
							},
							FeePromotion: {
								Amount: 30,
								CurrencyCode: "USD"
							},
							FinalFee: {
								Amount: 40,
								CurrencyCode: "USD"
							},
							IncludedFees: [{
								FeeType: "feeType",
								FeeAmount: {
									Amount: 10,
									CurrencyCode: "USD"
								},
								TaxAmount: {
									Amount: 20,
									CurrencyCode: "USD"
								},
								FeePromotion: {
									Amount: 30,
									CurrencyCode: "USD"
								},
								FinalFee: {
									Amount: 40,
									CurrencyCode: "USD"
								}
							}, {
								FeeType: "feeType",
								FeeAmount: {
									Amount: 10,
									CurrencyCode: "USD"
								},
								TaxAmount: {
									Amount: 20,
									CurrencyCode: "USD"
								},
								FeePromotion: {
									Amount: 30,
									CurrencyCode: "USD"
								},
								FinalFee: {
									Amount: 40,
									CurrencyCode: "USD"
								}
							}]
						}, {
							FeeType: "feeType",
							FeeAmount: {
								Amount: 10,
								CurrencyCode: "USD"
							},
							TaxAmount: {
								Amount: 20,
								CurrencyCode: "USD"
							},
							FeePromotion: {
								Amount: 30,
								CurrencyCode: "USD"
							},
							FinalFee: {
								Amount: 40,
								CurrencyCode: "USD"
							},
							IncludedFees: [{
								FeeType: "feeType",
								FeeAmount: {
									Amount: 10,
									CurrencyCode: "USD"
								},
								TaxAmount: {
									Amount: 20,
									CurrencyCode: "USD"
								},
								FeePromotion: {
									Amount: 30,
									CurrencyCode: "USD"
								},
								FinalFee: {
									Amount: 40,
									CurrencyCode: "USD"
								}
							}, {
								FeeType: "feeType",
								FeeAmount: {
									Amount: 10,
									CurrencyCode: "USD"
								},
								TaxAmount: {
									Amount: 20,
									CurrencyCode: "USD"
								},
								FeePromotion: {
									Amount: 30,
									CurrencyCode: "USD"
								},
								FinalFee: {
									Amount: 40,
									CurrencyCode: "USD"
								}
							}]
						}]
					}
				}, {
					FeeType: "FeeType",
					FeeDiscountType: "FeeDiscountType",
					FeeDiscountValue: 10.3,
					PriceThreshold: {
						Amount: 60,
						CurrencyCode: "USD"
					},
					FeeDiscountMonetaryAmount: {
						Amount: 70,
						CurrencyCode: "USD"
					},
					FeesEstimate: {
						TimeOfFeesEstimated: "2020-07-13T19:42:04.284Z",
						TotalFeesEstimate: {
							Amount: 90,
							CurrencyCode: "USD"
						},
						FeeDetails: [{
							FeeType: "feeType",
							FeeAmount: {
								Amount: 10,
								CurrencyCode: "USD"
							},
							TaxAmount: {
								Amount: 20,
								CurrencyCode: "USD"
							},
							FeePromotion: {
								Amount: 30,
								CurrencyCode: "USD"
							},
							FinalFee: {
								Amount: 40,
								CurrencyCode: "USD"
							},
							IncludedFees: [{
								FeeType: "feeType",
								FeeAmount: {
									Amount: 10,
									CurrencyCode: "USD"
								},
								TaxAmount: {
									Amount: 20,
									CurrencyCode: "USD"
								},
								FeePromotion: {
									Amount: 30,
									CurrencyCode: "USD"
								},
								FinalFee: {
									Amount: 40,
									CurrencyCode: "USD"
								}
							}, {
								FeeType: "feeType",
								FeeAmount: {
									Amount: 10,
									CurrencyCode: "USD"
								},
								TaxAmount: {
									Amount: 20,
									CurrencyCode: "USD"
								},
								FeePromotion: {
									Amount: 30,
									CurrencyCode: "USD"
								},
								FinalFee: {
									Amount: 40,
									CurrencyCode: "USD"
								}
							}]
						}, {
							FeeType: "feeType",
							FeeAmount: {
								Amount: 10,
								CurrencyCode: "USD"
							},
							TaxAmount: {
								Amount: 20,
								CurrencyCode: "USD"
							},
							FeePromotion: {
								Amount: 30,
								CurrencyCode: "USD"
							},
							FinalFee: {
								Amount: 40,
								CurrencyCode: "USD"
							},
							IncludedFees: [{
								FeeType: "feeType",
								FeeAmount: {
									Amount: 10,
									CurrencyCode: "USD"
								},
								TaxAmount: {
									Amount: 20,
									CurrencyCode: "USD"
								},
								FeePromotion: {
									Amount: 30,
									CurrencyCode: "USD"
								},
								FinalFee: {
									Amount: 40,
									CurrencyCode: "USD"
								}
							}, {
								FeeType: "feeType",
								FeeAmount: {
									Amount: 10,
									CurrencyCode: "USD"
								},
								TaxAmount: {
									Amount: 20,
									CurrencyCode: "USD"
								},
								FeePromotion: {
									Amount: 30,
									CurrencyCode: "USD"
								},
								FinalFee: {
									Amount: 40,
									CurrencyCode: "USD"
								}
							}]
						}]
					}
				}]
			} }],
			required: ["FeePromotionNotification"],
			properties: { FeePromotionNotification: {
				$id: "#/properties/Payload/properties/FeePromotionNotification",
				type: "object",
				title: "The FeePromotionNotification schema",
				description: "An explanation about the purpose of this instance.",
				default: {},
				examples: [{
					MerchantId: "AJH434853485",
					MarketplaceId: "ATIV93840DER",
					FeePromotionType: "TYPE",
					FeePromotionTypeDescription: "Fee promotion type description",
					PromotionActiveTimeRange: {
						EffectiveFromDate: "2020-07-13T19:42:04.284Z",
						EffectiveThroughDate: "2020-07-13T19:42:04.284Z"
					},
					Identifiers: [{
						IdentifierType: "identifierType",
						IdentifierValues: [{
							IdentifierValueId: "identifierValueId1",
							IdentifierValueFriendlyName: "identifierValueFriendlyName1"
						}, {
							IdentifierValueId: "identifierValueId2",
							IdentifierValueFriendlyName: "identifierValueFriendlyName2"
						}]
					}, {
						IdentifierType: "identifierType",
						IdentifierValues: [{
							IdentifierValueId: "identifierValueId1",
							IdentifierValueFriendlyName: "identifierValueFriendlyName1"
						}, {
							IdentifierValueId: "identifierValueId2",
							IdentifierValueFriendlyName: "identifierValueFriendlyName2"
						}]
					}],
					PromotionInformation: [{
						FeeType: "FeeType",
						FeeDiscountType: "FeeDiscountType",
						FeeDiscountValue: 10.3,
						PriceThreshold: {
							Amount: 60,
							CurrencyCode: "USD"
						},
						FeeDiscountMonetaryAmount: {
							Amount: 70,
							CurrencyCode: "USD"
						},
						FeesEstimate: {
							TimeOfFeesEstimated: "2020-07-13T19:42:04.284Z",
							TotalFeesEstimate: {
								Amount: 90,
								CurrencyCode: "USD"
							},
							FeeDetails: [{
								FeeType: "feeType",
								FeeAmount: {
									Amount: 10,
									CurrencyCode: "USD"
								},
								TaxAmount: {
									Amount: 20,
									CurrencyCode: "USD"
								},
								FeePromotion: {
									Amount: 30,
									CurrencyCode: "USD"
								},
								FinalFee: {
									Amount: 40,
									CurrencyCode: "USD"
								},
								IncludedFees: [{
									FeeType: "feeType",
									FeeAmount: {
										Amount: 10,
										CurrencyCode: "USD"
									},
									TaxAmount: {
										Amount: 20,
										CurrencyCode: "USD"
									},
									FeePromotion: {
										Amount: 30,
										CurrencyCode: "USD"
									},
									FinalFee: {
										Amount: 40,
										CurrencyCode: "USD"
									}
								}, {
									FeeType: "feeType",
									FeeAmount: {
										Amount: 10,
										CurrencyCode: "USD"
									},
									TaxAmount: {
										Amount: 20,
										CurrencyCode: "USD"
									},
									FeePromotion: {
										Amount: 30,
										CurrencyCode: "USD"
									},
									FinalFee: {
										Amount: 40,
										CurrencyCode: "USD"
									}
								}]
							}, {
								FeeType: "feeType",
								FeeAmount: {
									Amount: 10,
									CurrencyCode: "USD"
								},
								TaxAmount: {
									Amount: 20,
									CurrencyCode: "USD"
								},
								FeePromotion: {
									Amount: 30,
									CurrencyCode: "USD"
								},
								FinalFee: {
									Amount: 40,
									CurrencyCode: "USD"
								},
								IncludedFees: [{
									FeeType: "feeType",
									FeeAmount: {
										Amount: 10,
										CurrencyCode: "USD"
									},
									TaxAmount: {
										Amount: 20,
										CurrencyCode: "USD"
									},
									FeePromotion: {
										Amount: 30,
										CurrencyCode: "USD"
									},
									FinalFee: {
										Amount: 40,
										CurrencyCode: "USD"
									}
								}, {
									FeeType: "feeType",
									FeeAmount: {
										Amount: 10,
										CurrencyCode: "USD"
									},
									TaxAmount: {
										Amount: 20,
										CurrencyCode: "USD"
									},
									FeePromotion: {
										Amount: 30,
										CurrencyCode: "USD"
									},
									FinalFee: {
										Amount: 40,
										CurrencyCode: "USD"
									}
								}]
							}]
						}
					}, {
						FeeType: "FeeType",
						FeeDiscountType: "FeeDiscountType",
						FeeDiscountValue: 10.3,
						PriceThreshold: {
							Amount: 60,
							CurrencyCode: "USD"
						},
						FeeDiscountMonetaryAmount: {
							Amount: 70,
							CurrencyCode: "USD"
						},
						FeesEstimate: {
							TimeOfFeesEstimated: "2020-07-13T19:42:04.284Z",
							TotalFeesEstimate: {
								Amount: 90,
								CurrencyCode: "USD"
							},
							FeeDetails: [{
								FeeType: "feeType",
								FeeAmount: {
									Amount: 10,
									CurrencyCode: "USD"
								},
								TaxAmount: {
									Amount: 20,
									CurrencyCode: "USD"
								},
								FeePromotion: {
									Amount: 30,
									CurrencyCode: "USD"
								},
								FinalFee: {
									Amount: 40,
									CurrencyCode: "USD"
								},
								IncludedFees: [{
									FeeType: "feeType",
									FeeAmount: {
										Amount: 10,
										CurrencyCode: "USD"
									},
									TaxAmount: {
										Amount: 20,
										CurrencyCode: "USD"
									},
									FeePromotion: {
										Amount: 30,
										CurrencyCode: "USD"
									},
									FinalFee: {
										Amount: 40,
										CurrencyCode: "USD"
									}
								}, {
									FeeType: "feeType",
									FeeAmount: {
										Amount: 10,
										CurrencyCode: "USD"
									},
									TaxAmount: {
										Amount: 20,
										CurrencyCode: "USD"
									},
									FeePromotion: {
										Amount: 30,
										CurrencyCode: "USD"
									},
									FinalFee: {
										Amount: 40,
										CurrencyCode: "USD"
									}
								}]
							}, {
								FeeType: "feeType",
								FeeAmount: {
									Amount: 10,
									CurrencyCode: "USD"
								},
								TaxAmount: {
									Amount: 20,
									CurrencyCode: "USD"
								},
								FeePromotion: {
									Amount: 30,
									CurrencyCode: "USD"
								},
								FinalFee: {
									Amount: 40,
									CurrencyCode: "USD"
								},
								IncludedFees: [{
									FeeType: "feeType",
									FeeAmount: {
										Amount: 10,
										CurrencyCode: "USD"
									},
									TaxAmount: {
										Amount: 20,
										CurrencyCode: "USD"
									},
									FeePromotion: {
										Amount: 30,
										CurrencyCode: "USD"
									},
									FinalFee: {
										Amount: 40,
										CurrencyCode: "USD"
									}
								}, {
									FeeType: "feeType",
									FeeAmount: {
										Amount: 10,
										CurrencyCode: "USD"
									},
									TaxAmount: {
										Amount: 20,
										CurrencyCode: "USD"
									},
									FeePromotion: {
										Amount: 30,
										CurrencyCode: "USD"
									},
									FinalFee: {
										Amount: 40,
										CurrencyCode: "USD"
									}
								}]
							}]
						}
					}]
				}],
				required: [
					"MerchantId",
					"MarketplaceId",
					"FeePromotionType",
					"FeePromotionTypeDescription",
					"PromotionActiveTimeRange",
					"Identifiers",
					"PromotionInformation"
				],
				properties: {
					MerchantId: {
						$id: "#/properties/Payload/properties/FeePromotionNotification/properties/MerchantId",
						type: "string",
						title: "The MerchantId schema",
						description: "An explanation about the purpose of this instance.",
						default: "",
						examples: ["AJH434853485"]
					},
					MarketplaceId: {
						$id: "#/properties/Payload/properties/FeePromotionNotification/properties/MarketplaceId",
						type: "string",
						title: "The MarketplaceId schema",
						description: "An explanation about the purpose of this instance.",
						default: "",
						examples: ["ATIV93840DER"]
					},
					FeePromotionType: {
						$id: "#/properties/Payload/properties/FeePromotionNotification/properties/FeePromotionType",
						type: "string",
						title: "The FeePromotionType schema",
						description: "An explanation about the purpose of this instance.",
						default: "",
						examples: ["TYPE"]
					},
					FeePromotionTypeDescription: {
						$id: "#/properties/Payload/properties/FeePromotionNotification/properties/FeePromotionTypeDescription",
						type: "string",
						title: "The FeePromotionTypeDescription schema",
						description: "An explanation about the purpose of this instance.",
						default: "",
						examples: ["Fee promotion type description"]
					},
					PromotionActiveTimeRange: {
						$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionActiveTimeRange",
						type: "object",
						title: "The PromotionActiveTimeRange schema",
						description: "An explanation about the purpose of this instance.",
						default: {},
						examples: [{
							EffectiveFromDate: "2020-07-13T19:42:04.284Z",
							EffectiveThroughDate: "2020-07-13T19:42:04.284Z"
						}],
						required: ["EffectiveFromDate", "EffectiveThroughDate"],
						properties: {
							EffectiveFromDate: {
								$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionActiveTimeRange/properties/EffectiveFromDate",
								type: "string",
								title: "The EffectiveFromDate schema",
								description: "An explanation about the purpose of this instance.",
								default: "",
								examples: ["2020-07-13T19:42:04.284Z"]
							},
							EffectiveThroughDate: {
								$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionActiveTimeRange/properties/EffectiveThroughDate",
								type: "string",
								title: "The EffectiveThroughDate schema",
								description: "An explanation about the purpose of this instance.",
								default: "",
								examples: ["2020-07-13T19:42:04.284Z"]
							}
						},
						additionalProperties: true
					},
					Identifiers: {
						$id: "#/properties/Payload/properties/FeePromotionNotification/properties/Identifiers",
						type: "array",
						title: "The Identifiers schema",
						description: "An explanation about the purpose of this instance.",
						default: [],
						examples: [[{
							IdentifierType: "identifierType",
							IdentifierValues: [{
								IdentifierValueId: "identifierValueId1",
								IdentifierValueFriendlyName: "identifierValueFriendlyName1"
							}, {
								IdentifierValueId: "identifierValueId2",
								IdentifierValueFriendlyName: "identifierValueFriendlyName2"
							}]
						}, {
							IdentifierType: "identifierType",
							IdentifierValues: [{
								IdentifierValueId: "identifierValueId1",
								IdentifierValueFriendlyName: "identifierValueFriendlyName1"
							}, {
								IdentifierValueId: "identifierValueId2",
								IdentifierValueFriendlyName: "identifierValueFriendlyName2"
							}]
						}]],
						additionalItems: true,
						items: {
							$id: "#/properties/Payload/properties/FeePromotionNotification/properties/Identifiers/items",
							anyOf: [{
								$id: "#/properties/Payload/properties/FeePromotionNotification/properties/Identifiers/items/anyOf/0",
								type: "object",
								title: "The first anyOf schema",
								description: "An explanation about the purpose of this instance.",
								default: {},
								examples: [{
									IdentifierType: "identifierType",
									IdentifierValues: [{
										IdentifierValueId: "identifierValueId1",
										IdentifierValueFriendlyName: "identifierValueFriendlyName1"
									}, {
										IdentifierValueId: "identifierValueId2",
										IdentifierValueFriendlyName: "identifierValueFriendlyName2"
									}]
								}],
								required: ["IdentifierType", "IdentifierValues"],
								properties: {
									IdentifierType: {
										$id: "#/properties/Payload/properties/FeePromotionNotification/properties/Identifiers/items/anyOf/0/properties/IdentifierType",
										type: "string",
										title: "The IdentifierType schema",
										description: "An explanation about the purpose of this instance.",
										default: "",
										examples: ["identifierType"]
									},
									IdentifierValues: {
										$id: "#/properties/Payload/properties/FeePromotionNotification/properties/Identifiers/items/anyOf/0/properties/IdentifierValues",
										type: "array",
										title: "The IdentifierValues schema",
										description: "An explanation about the purpose of this instance.",
										default: [],
										examples: [[{
											IdentifierValueId: "identifierValueId1",
											IdentifierValueFriendlyName: "identifierValueFriendlyName1"
										}, {
											IdentifierValueId: "identifierValueId2",
											IdentifierValueFriendlyName: "identifierValueFriendlyName2"
										}]],
										additionalItems: true,
										items: {
											$id: "#/properties/Payload/properties/FeePromotionNotification/properties/Identifiers/items/anyOf/0/properties/IdentifierValues/items",
											anyOf: [{
												$id: "#/properties/Payload/properties/FeePromotionNotification/properties/Identifiers/items/anyOf/0/properties/IdentifierValues/items/anyOf/0",
												type: "object",
												title: "The first anyOf schema",
												description: "An explanation about the purpose of this instance.",
												default: {},
												examples: [{
													IdentifierValueId: "identifierValueId1",
													IdentifierValueFriendlyName: "identifierValueFriendlyName1"
												}],
												required: ["IdentifierValueId", "IdentifierValueFriendlyName"],
												properties: {
													IdentifierValueId: {
														$id: "#/properties/Payload/properties/FeePromotionNotification/properties/Identifiers/items/anyOf/0/properties/IdentifierValues/items/anyOf/0/properties/IdentifierValueId",
														type: "string",
														title: "The IdentifierValueId schema",
														description: "An explanation about the purpose of this instance.",
														default: "",
														examples: ["identifierValueId1"]
													},
													IdentifierValueFriendlyName: {
														$id: "#/properties/Payload/properties/FeePromotionNotification/properties/Identifiers/items/anyOf/0/properties/IdentifierValues/items/anyOf/0/properties/IdentifierValueFriendlyName",
														type: "string",
														title: "The IdentifierValueFriendlyName schema",
														description: "An explanation about the purpose of this instance.",
														default: "",
														examples: ["identifierValueFriendlyName1"]
													}
												},
												additionalProperties: true
											}]
										}
									}
								},
								additionalProperties: true
							}]
						}
					},
					PromotionInformation: {
						$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionInformation",
						type: "array",
						title: "The PromotionInformation schema",
						description: "An explanation about the purpose of this instance.",
						default: [],
						examples: [[{
							FeeType: "FeeType",
							FeeDiscountType: "FeeDiscountType",
							FeeDiscountValue: 10.3,
							PriceThreshold: {
								Amount: 60,
								CurrencyCode: "USD"
							},
							FeeDiscountMonetaryAmount: {
								Amount: 70,
								CurrencyCode: "USD"
							},
							FeesEstimate: {
								TimeOfFeesEstimated: "2020-07-13T19:42:04.284Z",
								TotalFeesEstimate: {
									Amount: 90,
									CurrencyCode: "USD"
								},
								FeeDetails: [{
									FeeType: "feeType",
									FeeAmount: {
										Amount: 10,
										CurrencyCode: "USD"
									},
									TaxAmount: {
										Amount: 20,
										CurrencyCode: "USD"
									},
									FeePromotion: {
										Amount: 30,
										CurrencyCode: "USD"
									},
									FinalFee: {
										Amount: 40,
										CurrencyCode: "USD"
									},
									IncludedFees: [{
										FeeType: "feeType",
										FeeAmount: {
											Amount: 10,
											CurrencyCode: "USD"
										},
										TaxAmount: {
											Amount: 20,
											CurrencyCode: "USD"
										},
										FeePromotion: {
											Amount: 30,
											CurrencyCode: "USD"
										},
										FinalFee: {
											Amount: 40,
											CurrencyCode: "USD"
										}
									}, {
										FeeType: "feeType",
										FeeAmount: {
											Amount: 10,
											CurrencyCode: "USD"
										},
										TaxAmount: {
											Amount: 20,
											CurrencyCode: "USD"
										},
										FeePromotion: {
											Amount: 30,
											CurrencyCode: "USD"
										},
										FinalFee: {
											Amount: 40,
											CurrencyCode: "USD"
										}
									}]
								}, {
									FeeType: "feeType",
									FeeAmount: {
										Amount: 10,
										CurrencyCode: "USD"
									},
									TaxAmount: {
										Amount: 20,
										CurrencyCode: "USD"
									},
									FeePromotion: {
										Amount: 30,
										CurrencyCode: "USD"
									},
									FinalFee: {
										Amount: 40,
										CurrencyCode: "USD"
									},
									IncludedFees: [{
										FeeType: "feeType",
										FeeAmount: {
											Amount: 10,
											CurrencyCode: "USD"
										},
										TaxAmount: {
											Amount: 20,
											CurrencyCode: "USD"
										},
										FeePromotion: {
											Amount: 30,
											CurrencyCode: "USD"
										},
										FinalFee: {
											Amount: 40,
											CurrencyCode: "USD"
										}
									}, {
										FeeType: "feeType",
										FeeAmount: {
											Amount: 10,
											CurrencyCode: "USD"
										},
										TaxAmount: {
											Amount: 20,
											CurrencyCode: "USD"
										},
										FeePromotion: {
											Amount: 30,
											CurrencyCode: "USD"
										},
										FinalFee: {
											Amount: 40,
											CurrencyCode: "USD"
										}
									}]
								}]
							}
						}, {
							FeeType: "FeeType",
							FeeDiscountType: "FeeDiscountType",
							FeeDiscountValue: 10.3,
							PriceThreshold: {
								Amount: 60,
								CurrencyCode: "USD"
							},
							FeeDiscountMonetaryAmount: {
								Amount: 70,
								CurrencyCode: "USD"
							},
							FeesEstimate: {
								TimeOfFeesEstimated: "2020-07-13T19:42:04.284Z",
								TotalFeesEstimate: {
									Amount: 90,
									CurrencyCode: "USD"
								},
								FeeDetails: [{
									FeeType: "feeType",
									FeeAmount: {
										Amount: 10,
										CurrencyCode: "USD"
									},
									TaxAmount: {
										Amount: 20,
										CurrencyCode: "USD"
									},
									FeePromotion: {
										Amount: 30,
										CurrencyCode: "USD"
									},
									FinalFee: {
										Amount: 40,
										CurrencyCode: "USD"
									},
									IncludedFees: [{
										FeeType: "feeType",
										FeeAmount: {
											Amount: 10,
											CurrencyCode: "USD"
										},
										TaxAmount: {
											Amount: 20,
											CurrencyCode: "USD"
										},
										FeePromotion: {
											Amount: 30,
											CurrencyCode: "USD"
										},
										FinalFee: {
											Amount: 40,
											CurrencyCode: "USD"
										}
									}, {
										FeeType: "feeType",
										FeeAmount: {
											Amount: 10,
											CurrencyCode: "USD"
										},
										TaxAmount: {
											Amount: 20,
											CurrencyCode: "USD"
										},
										FeePromotion: {
											Amount: 30,
											CurrencyCode: "USD"
										},
										FinalFee: {
											Amount: 40,
											CurrencyCode: "USD"
										}
									}]
								}, {
									FeeType: "feeType",
									FeeAmount: {
										Amount: 10,
										CurrencyCode: "USD"
									},
									TaxAmount: {
										Amount: 20,
										CurrencyCode: "USD"
									},
									FeePromotion: {
										Amount: 30,
										CurrencyCode: "USD"
									},
									FinalFee: {
										Amount: 40,
										CurrencyCode: "USD"
									},
									IncludedFees: [{
										FeeType: "feeType",
										FeeAmount: {
											Amount: 10,
											CurrencyCode: "USD"
										},
										TaxAmount: {
											Amount: 20,
											CurrencyCode: "USD"
										},
										FeePromotion: {
											Amount: 30,
											CurrencyCode: "USD"
										},
										FinalFee: {
											Amount: 40,
											CurrencyCode: "USD"
										}
									}, {
										FeeType: "feeType",
										FeeAmount: {
											Amount: 10,
											CurrencyCode: "USD"
										},
										TaxAmount: {
											Amount: 20,
											CurrencyCode: "USD"
										},
										FeePromotion: {
											Amount: 30,
											CurrencyCode: "USD"
										},
										FinalFee: {
											Amount: 40,
											CurrencyCode: "USD"
										}
									}]
								}]
							}
						}]],
						additionalItems: true,
						items: {
							$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionInformation/items",
							anyOf: [{
								$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionInformation/items/anyOf/0",
								type: "object",
								title: "The first anyOf schema",
								description: "An explanation about the purpose of this instance.",
								default: {},
								examples: [{
									FeeType: "FeeType",
									FeeDiscountType: "FeeDiscountType",
									FeeDiscountValue: 10.3,
									PriceThreshold: {
										Amount: 60,
										CurrencyCode: "USD"
									},
									FeeDiscountMonetaryAmount: {
										Amount: 70,
										CurrencyCode: "USD"
									},
									FeesEstimate: {
										TimeOfFeesEstimated: "2020-07-13T19:42:04.284Z",
										TotalFeesEstimate: {
											Amount: 90,
											CurrencyCode: "USD"
										},
										FeeDetails: [{
											FeeType: "feeType",
											FeeAmount: {
												Amount: 10,
												CurrencyCode: "USD"
											},
											TaxAmount: {
												Amount: 20,
												CurrencyCode: "USD"
											},
											FeePromotion: {
												Amount: 30,
												CurrencyCode: "USD"
											},
											FinalFee: {
												Amount: 40,
												CurrencyCode: "USD"
											},
											IncludedFees: [{
												FeeType: "feeType",
												FeeAmount: {
													Amount: 10,
													CurrencyCode: "USD"
												},
												TaxAmount: {
													Amount: 20,
													CurrencyCode: "USD"
												},
												FeePromotion: {
													Amount: 30,
													CurrencyCode: "USD"
												},
												FinalFee: {
													Amount: 40,
													CurrencyCode: "USD"
												}
											}, {
												FeeType: "feeType",
												FeeAmount: {
													Amount: 10,
													CurrencyCode: "USD"
												},
												TaxAmount: {
													Amount: 20,
													CurrencyCode: "USD"
												},
												FeePromotion: {
													Amount: 30,
													CurrencyCode: "USD"
												},
												FinalFee: {
													Amount: 40,
													CurrencyCode: "USD"
												}
											}]
										}, {
											FeeType: "feeType",
											FeeAmount: {
												Amount: 10,
												CurrencyCode: "USD"
											},
											TaxAmount: {
												Amount: 20,
												CurrencyCode: "USD"
											},
											FeePromotion: {
												Amount: 30,
												CurrencyCode: "USD"
											},
											FinalFee: {
												Amount: 40,
												CurrencyCode: "USD"
											},
											IncludedFees: [{
												FeeType: "feeType",
												FeeAmount: {
													Amount: 10,
													CurrencyCode: "USD"
												},
												TaxAmount: {
													Amount: 20,
													CurrencyCode: "USD"
												},
												FeePromotion: {
													Amount: 30,
													CurrencyCode: "USD"
												},
												FinalFee: {
													Amount: 40,
													CurrencyCode: "USD"
												}
											}, {
												FeeType: "feeType",
												FeeAmount: {
													Amount: 10,
													CurrencyCode: "USD"
												},
												TaxAmount: {
													Amount: 20,
													CurrencyCode: "USD"
												},
												FeePromotion: {
													Amount: 30,
													CurrencyCode: "USD"
												},
												FinalFee: {
													Amount: 40,
													CurrencyCode: "USD"
												}
											}]
										}]
									}
								}],
								required: [
									"FeeType",
									"FeeDiscountType",
									"FeeDiscountValue",
									"PriceThreshold",
									"FeeDiscountMonetaryAmount",
									"FeesEstimate"
								],
								properties: {
									FeeType: {
										$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionInformation/items/anyOf/0/properties/FeeType",
										type: "string",
										title: "The FeeType schema",
										description: "An explanation about the purpose of this instance.",
										default: "",
										examples: ["FeeType"]
									},
									FeeDiscountType: {
										$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionInformation/items/anyOf/0/properties/FeeDiscountType",
										type: "string",
										title: "The FeeDiscountType schema",
										description: "An explanation about the purpose of this instance.",
										default: "",
										examples: ["FeeDiscountType"]
									},
									FeeDiscountValue: {
										$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionInformation/items/anyOf/0/properties/FeeDiscountValue",
										type: "number",
										title: "The FeeDiscountValue schema",
										description: "An explanation about the purpose of this instance.",
										default: 0,
										examples: [10.3]
									},
									PriceThreshold: {
										$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionInformation/items/anyOf/0/properties/PriceThreshold",
										type: "object",
										title: "The PriceThreshold schema",
										description: "An explanation about the purpose of this instance.",
										default: {},
										examples: [{
											Amount: 60,
											CurrencyCode: "USD"
										}],
										required: ["Amount", "CurrencyCode"],
										properties: {
											Amount: {
												$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionInformation/items/anyOf/0/properties/PriceThreshold/properties/Amount",
												type: "integer",
												title: "The Amount schema",
												description: "An explanation about the purpose of this instance.",
												default: 0,
												examples: [60]
											},
											CurrencyCode: {
												$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionInformation/items/anyOf/0/properties/PriceThreshold/properties/CurrencyCode",
												type: "string",
												title: "The CurrencyCode schema",
												description: "An explanation about the purpose of this instance.",
												default: "",
												examples: ["USD"]
											}
										},
										additionalProperties: true
									},
									FeeDiscountMonetaryAmount: {
										$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionInformation/items/anyOf/0/properties/FeeDiscountMonetaryAmount",
										type: "object",
										title: "The FeeDiscountMonetaryAmount schema",
										description: "An explanation about the purpose of this instance.",
										default: {},
										examples: [{
											Amount: 70,
											CurrencyCode: "USD"
										}],
										required: ["Amount", "CurrencyCode"],
										properties: {
											Amount: {
												$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionInformation/items/anyOf/0/properties/FeeDiscountMonetaryAmount/properties/Amount",
												type: "integer",
												title: "The Amount schema",
												description: "An explanation about the purpose of this instance.",
												default: 0,
												examples: [70]
											},
											CurrencyCode: {
												$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionInformation/items/anyOf/0/properties/FeeDiscountMonetaryAmount/properties/CurrencyCode",
												type: "string",
												title: "The CurrencyCode schema",
												description: "An explanation about the purpose of this instance.",
												default: "",
												examples: ["USD"]
											}
										},
										additionalProperties: true
									},
									FeesEstimate: {
										$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionInformation/items/anyOf/0/properties/FeesEstimate",
										type: "object",
										title: "The FeesEstimate schema",
										description: "An explanation about the purpose of this instance.",
										default: {},
										examples: [{
											TimeOfFeesEstimated: "2020-07-13T19:42:04.284Z",
											TotalFeesEstimate: {
												Amount: 90,
												CurrencyCode: "USD"
											},
											FeeDetails: [{
												FeeType: "feeType",
												FeeAmount: {
													Amount: 10,
													CurrencyCode: "USD"
												},
												TaxAmount: {
													Amount: 20,
													CurrencyCode: "USD"
												},
												FeePromotion: {
													Amount: 30,
													CurrencyCode: "USD"
												},
												FinalFee: {
													Amount: 40,
													CurrencyCode: "USD"
												},
												IncludedFees: [{
													FeeType: "feeType",
													FeeAmount: {
														Amount: 10,
														CurrencyCode: "USD"
													},
													TaxAmount: {
														Amount: 20,
														CurrencyCode: "USD"
													},
													FeePromotion: {
														Amount: 30,
														CurrencyCode: "USD"
													},
													FinalFee: {
														Amount: 40,
														CurrencyCode: "USD"
													}
												}, {
													FeeType: "feeType",
													FeeAmount: {
														Amount: 10,
														CurrencyCode: "USD"
													},
													TaxAmount: {
														Amount: 20,
														CurrencyCode: "USD"
													},
													FeePromotion: {
														Amount: 30,
														CurrencyCode: "USD"
													},
													FinalFee: {
														Amount: 40,
														CurrencyCode: "USD"
													}
												}]
											}, {
												FeeType: "feeType",
												FeeAmount: {
													Amount: 10,
													CurrencyCode: "USD"
												},
												TaxAmount: {
													Amount: 20,
													CurrencyCode: "USD"
												},
												FeePromotion: {
													Amount: 30,
													CurrencyCode: "USD"
												},
												FinalFee: {
													Amount: 40,
													CurrencyCode: "USD"
												},
												IncludedFees: [{
													FeeType: "feeType",
													FeeAmount: {
														Amount: 10,
														CurrencyCode: "USD"
													},
													TaxAmount: {
														Amount: 20,
														CurrencyCode: "USD"
													},
													FeePromotion: {
														Amount: 30,
														CurrencyCode: "USD"
													},
													FinalFee: {
														Amount: 40,
														CurrencyCode: "USD"
													}
												}, {
													FeeType: "feeType",
													FeeAmount: {
														Amount: 10,
														CurrencyCode: "USD"
													},
													TaxAmount: {
														Amount: 20,
														CurrencyCode: "USD"
													},
													FeePromotion: {
														Amount: 30,
														CurrencyCode: "USD"
													},
													FinalFee: {
														Amount: 40,
														CurrencyCode: "USD"
													}
												}]
											}]
										}],
										required: [
											"TimeOfFeesEstimated",
											"TotalFeesEstimate",
											"FeeDetails"
										],
										properties: {
											TimeOfFeesEstimated: {
												$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionInformation/items/anyOf/0/properties/FeesEstimate/properties/TimeOfFeesEstimated",
												type: "string",
												title: "The TimeOfFeesEstimated schema",
												description: "An explanation about the purpose of this instance.",
												default: "",
												examples: ["2020-07-13T19:42:04.284Z"]
											},
											TotalFeesEstimate: {
												$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionInformation/items/anyOf/0/properties/FeesEstimate/properties/TotalFeesEstimate",
												type: "object",
												title: "The TotalFeesEstimate schema",
												description: "An explanation about the purpose of this instance.",
												default: {},
												examples: [{
													Amount: 90,
													CurrencyCode: "USD"
												}],
												required: ["Amount", "CurrencyCode"],
												properties: {
													Amount: {
														$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionInformation/items/anyOf/0/properties/FeesEstimate/properties/TotalFeesEstimate/properties/Amount",
														type: "integer",
														title: "The Amount schema",
														description: "An explanation about the purpose of this instance.",
														default: 0,
														examples: [90]
													},
													CurrencyCode: {
														$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionInformation/items/anyOf/0/properties/FeesEstimate/properties/TotalFeesEstimate/properties/CurrencyCode",
														type: "string",
														title: "The CurrencyCode schema",
														description: "An explanation about the purpose of this instance.",
														default: "",
														examples: ["USD"]
													}
												},
												additionalProperties: true
											},
											FeeDetails: {
												$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionInformation/items/anyOf/0/properties/FeesEstimate/properties/FeeDetails",
												type: "array",
												title: "The FeeDetails schema",
												description: "An explanation about the purpose of this instance.",
												default: [],
												examples: [[{
													FeeType: "feeType",
													FeeAmount: {
														Amount: 10,
														CurrencyCode: "USD"
													},
													TaxAmount: {
														Amount: 20,
														CurrencyCode: "USD"
													},
													FeePromotion: {
														Amount: 30,
														CurrencyCode: "USD"
													},
													FinalFee: {
														Amount: 40,
														CurrencyCode: "USD"
													},
													IncludedFees: [{
														FeeType: "feeType",
														FeeAmount: {
															Amount: 10,
															CurrencyCode: "USD"
														},
														TaxAmount: {
															Amount: 20,
															CurrencyCode: "USD"
														},
														FeePromotion: {
															Amount: 30,
															CurrencyCode: "USD"
														},
														FinalFee: {
															Amount: 40,
															CurrencyCode: "USD"
														}
													}, {
														FeeType: "feeType",
														FeeAmount: {
															Amount: 10,
															CurrencyCode: "USD"
														},
														TaxAmount: {
															Amount: 20,
															CurrencyCode: "USD"
														},
														FeePromotion: {
															Amount: 30,
															CurrencyCode: "USD"
														},
														FinalFee: {
															Amount: 40,
															CurrencyCode: "USD"
														}
													}]
												}, {
													FeeType: "feeType",
													FeeAmount: {
														Amount: 10,
														CurrencyCode: "USD"
													},
													TaxAmount: {
														Amount: 20,
														CurrencyCode: "USD"
													},
													FeePromotion: {
														Amount: 30,
														CurrencyCode: "USD"
													},
													FinalFee: {
														Amount: 40,
														CurrencyCode: "USD"
													},
													IncludedFees: [{
														FeeType: "feeType",
														FeeAmount: {
															Amount: 10,
															CurrencyCode: "USD"
														},
														TaxAmount: {
															Amount: 20,
															CurrencyCode: "USD"
														},
														FeePromotion: {
															Amount: 30,
															CurrencyCode: "USD"
														},
														FinalFee: {
															Amount: 40,
															CurrencyCode: "USD"
														}
													}, {
														FeeType: "feeType",
														FeeAmount: {
															Amount: 10,
															CurrencyCode: "USD"
														},
														TaxAmount: {
															Amount: 20,
															CurrencyCode: "USD"
														},
														FeePromotion: {
															Amount: 30,
															CurrencyCode: "USD"
														},
														FinalFee: {
															Amount: 40,
															CurrencyCode: "USD"
														}
													}]
												}]],
												additionalItems: true,
												items: {
													$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionInformation/items/anyOf/0/properties/FeesEstimate/properties/FeeDetails/items",
													anyOf: [{
														$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionInformation/items/anyOf/0/properties/FeesEstimate/properties/FeeDetails/items/anyOf/0",
														type: "object",
														title: "The first anyOf schema",
														description: "An explanation about the purpose of this instance.",
														default: {},
														examples: [{
															FeeType: "feeType",
															FeeAmount: {
																Amount: 10,
																CurrencyCode: "USD"
															},
															TaxAmount: {
																Amount: 20,
																CurrencyCode: "USD"
															},
															FeePromotion: {
																Amount: 30,
																CurrencyCode: "USD"
															},
															FinalFee: {
																Amount: 40,
																CurrencyCode: "USD"
															},
															IncludedFees: [{
																FeeType: "feeType",
																FeeAmount: {
																	Amount: 10,
																	CurrencyCode: "USD"
																},
																TaxAmount: {
																	Amount: 20,
																	CurrencyCode: "USD"
																},
																FeePromotion: {
																	Amount: 30,
																	CurrencyCode: "USD"
																},
																FinalFee: {
																	Amount: 40,
																	CurrencyCode: "USD"
																}
															}, {
																FeeType: "feeType",
																FeeAmount: {
																	Amount: 10,
																	CurrencyCode: "USD"
																},
																TaxAmount: {
																	Amount: 20,
																	CurrencyCode: "USD"
																},
																FeePromotion: {
																	Amount: 30,
																	CurrencyCode: "USD"
																},
																FinalFee: {
																	Amount: 40,
																	CurrencyCode: "USD"
																}
															}]
														}],
														required: [
															"FeeType",
															"FeeAmount",
															"TaxAmount",
															"FeePromotion",
															"FinalFee",
															"IncludedFees"
														],
														properties: {
															FeeType: {
																$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionInformation/items/anyOf/0/properties/FeesEstimate/properties/FeeDetails/items/anyOf/0/properties/FeeType",
																type: "string",
																title: "The FeeType schema",
																description: "An explanation about the purpose of this instance.",
																default: "",
																examples: ["feeType"]
															},
															FeeAmount: {
																$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionInformation/items/anyOf/0/properties/FeesEstimate/properties/FeeDetails/items/anyOf/0/properties/FeeAmount",
																type: "object",
																title: "The FeeAmount schema",
																description: "An explanation about the purpose of this instance.",
																default: {},
																examples: [{
																	Amount: 10,
																	CurrencyCode: "USD"
																}],
																required: ["Amount", "CurrencyCode"],
																properties: {
																	Amount: {
																		$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionInformation/items/anyOf/0/properties/FeesEstimate/properties/FeeDetails/items/anyOf/0/properties/FeeAmount/properties/Amount",
																		type: "integer",
																		title: "The Amount schema",
																		description: "An explanation about the purpose of this instance.",
																		default: 0,
																		examples: [10]
																	},
																	CurrencyCode: {
																		$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionInformation/items/anyOf/0/properties/FeesEstimate/properties/FeeDetails/items/anyOf/0/properties/FeeAmount/properties/CurrencyCode",
																		type: "string",
																		title: "The CurrencyCode schema",
																		description: "An explanation about the purpose of this instance.",
																		default: "",
																		examples: ["USD"]
																	}
																},
																additionalProperties: true
															},
															TaxAmount: {
																$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionInformation/items/anyOf/0/properties/FeesEstimate/properties/FeeDetails/items/anyOf/0/properties/TaxAmount",
																type: "object",
																title: "The TaxAmount schema",
																description: "An explanation about the purpose of this instance.",
																default: {},
																examples: [{
																	Amount: 20,
																	CurrencyCode: "USD"
																}],
																required: ["Amount", "CurrencyCode"],
																properties: {
																	Amount: {
																		$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionInformation/items/anyOf/0/properties/FeesEstimate/properties/FeeDetails/items/anyOf/0/properties/TaxAmount/properties/Amount",
																		type: "integer",
																		title: "The Amount schema",
																		description: "An explanation about the purpose of this instance.",
																		default: 0,
																		examples: [20]
																	},
																	CurrencyCode: {
																		$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionInformation/items/anyOf/0/properties/FeesEstimate/properties/FeeDetails/items/anyOf/0/properties/TaxAmount/properties/CurrencyCode",
																		type: "string",
																		title: "The CurrencyCode schema",
																		description: "An explanation about the purpose of this instance.",
																		default: "",
																		examples: ["USD"]
																	}
																},
																additionalProperties: true
															},
															FeePromotion: {
																$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionInformation/items/anyOf/0/properties/FeesEstimate/properties/FeeDetails/items/anyOf/0/properties/FeePromotion",
																type: "object",
																title: "The FeePromotion schema",
																description: "An explanation about the purpose of this instance.",
																default: {},
																examples: [{
																	Amount: 30,
																	CurrencyCode: "USD"
																}],
																required: ["Amount", "CurrencyCode"],
																properties: {
																	Amount: {
																		$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionInformation/items/anyOf/0/properties/FeesEstimate/properties/FeeDetails/items/anyOf/0/properties/FeePromotion/properties/Amount",
																		type: "integer",
																		title: "The Amount schema",
																		description: "An explanation about the purpose of this instance.",
																		default: 0,
																		examples: [30]
																	},
																	CurrencyCode: {
																		$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionInformation/items/anyOf/0/properties/FeesEstimate/properties/FeeDetails/items/anyOf/0/properties/FeePromotion/properties/CurrencyCode",
																		type: "string",
																		title: "The CurrencyCode schema",
																		description: "An explanation about the purpose of this instance.",
																		default: "",
																		examples: ["USD"]
																	}
																},
																additionalProperties: true
															},
															FinalFee: {
																$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionInformation/items/anyOf/0/properties/FeesEstimate/properties/FeeDetails/items/anyOf/0/properties/FinalFee",
																type: "object",
																title: "The FinalFee schema",
																description: "An explanation about the purpose of this instance.",
																default: {},
																examples: [{
																	Amount: 40,
																	CurrencyCode: "USD"
																}],
																required: ["Amount", "CurrencyCode"],
																properties: {
																	Amount: {
																		$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionInformation/items/anyOf/0/properties/FeesEstimate/properties/FeeDetails/items/anyOf/0/properties/FinalFee/properties/Amount",
																		type: "integer",
																		title: "The Amount schema",
																		description: "An explanation about the purpose of this instance.",
																		default: 0,
																		examples: [40]
																	},
																	CurrencyCode: {
																		$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionInformation/items/anyOf/0/properties/FeesEstimate/properties/FeeDetails/items/anyOf/0/properties/FinalFee/properties/CurrencyCode",
																		type: "string",
																		title: "The CurrencyCode schema",
																		description: "An explanation about the purpose of this instance.",
																		default: "",
																		examples: ["USD"]
																	}
																},
																additionalProperties: true
															},
															IncludedFees: {
																$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionInformation/items/anyOf/0/properties/FeesEstimate/properties/FeeDetails/items/anyOf/0/properties/IncludedFees",
																type: "array",
																title: "The IncludedFees schema",
																description: "An explanation about the purpose of this instance.",
																default: [],
																examples: [[{
																	FeeType: "feeType",
																	FeeAmount: {
																		Amount: 10,
																		CurrencyCode: "USD"
																	},
																	TaxAmount: {
																		Amount: 20,
																		CurrencyCode: "USD"
																	},
																	FeePromotion: {
																		Amount: 30,
																		CurrencyCode: "USD"
																	},
																	FinalFee: {
																		Amount: 40,
																		CurrencyCode: "USD"
																	}
																}, {
																	FeeType: "feeType",
																	FeeAmount: {
																		Amount: 10,
																		CurrencyCode: "USD"
																	},
																	TaxAmount: {
																		Amount: 20,
																		CurrencyCode: "USD"
																	},
																	FeePromotion: {
																		Amount: 30,
																		CurrencyCode: "USD"
																	},
																	FinalFee: {
																		Amount: 40,
																		CurrencyCode: "USD"
																	}
																}]],
																additionalItems: true,
																items: {
																	$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionInformation/items/anyOf/0/properties/FeesEstimate/properties/FeeDetails/items/anyOf/0/properties/IncludedFees/items",
																	anyOf: [{
																		$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionInformation/items/anyOf/0/properties/FeesEstimate/properties/FeeDetails/items/anyOf/0/properties/IncludedFees/items/anyOf/0",
																		type: "object",
																		title: "The first anyOf schema",
																		description: "An explanation about the purpose of this instance.",
																		default: {},
																		examples: [{
																			FeeType: "feeType",
																			FeeAmount: {
																				Amount: 10,
																				CurrencyCode: "USD"
																			},
																			TaxAmount: {
																				Amount: 20,
																				CurrencyCode: "USD"
																			},
																			FeePromotion: {
																				Amount: 30,
																				CurrencyCode: "USD"
																			},
																			FinalFee: {
																				Amount: 40,
																				CurrencyCode: "USD"
																			}
																		}],
																		required: [
																			"FeeType",
																			"FeeAmount",
																			"TaxAmount",
																			"FeePromotion",
																			"FinalFee"
																		],
																		properties: {
																			FeeType: {
																				$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionInformation/items/anyOf/0/properties/FeesEstimate/properties/FeeDetails/items/anyOf/0/properties/IncludedFees/items/anyOf/0/properties/FeeType",
																				type: "string",
																				title: "The FeeType schema",
																				description: "An explanation about the purpose of this instance.",
																				default: "",
																				examples: ["feeType"]
																			},
																			FeeAmount: {
																				$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionInformation/items/anyOf/0/properties/FeesEstimate/properties/FeeDetails/items/anyOf/0/properties/IncludedFees/items/anyOf/0/properties/FeeAmount",
																				type: "object",
																				title: "The FeeAmount schema",
																				description: "An explanation about the purpose of this instance.",
																				default: {},
																				examples: [{
																					Amount: 10,
																					CurrencyCode: "USD"
																				}],
																				required: ["Amount", "CurrencyCode"],
																				properties: {
																					Amount: {
																						$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionInformation/items/anyOf/0/properties/FeesEstimate/properties/FeeDetails/items/anyOf/0/properties/IncludedFees/items/anyOf/0/properties/FeeAmount/properties/Amount",
																						type: "integer",
																						title: "The Amount schema",
																						description: "An explanation about the purpose of this instance.",
																						default: 0,
																						examples: [10]
																					},
																					CurrencyCode: {
																						$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionInformation/items/anyOf/0/properties/FeesEstimate/properties/FeeDetails/items/anyOf/0/properties/IncludedFees/items/anyOf/0/properties/FeeAmount/properties/CurrencyCode",
																						type: "string",
																						title: "The CurrencyCode schema",
																						description: "An explanation about the purpose of this instance.",
																						default: "",
																						examples: ["USD"]
																					}
																				},
																				additionalProperties: true
																			},
																			TaxAmount: {
																				$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionInformation/items/anyOf/0/properties/FeesEstimate/properties/FeeDetails/items/anyOf/0/properties/IncludedFees/items/anyOf/0/properties/TaxAmount",
																				type: "object",
																				title: "The TaxAmount schema",
																				description: "An explanation about the purpose of this instance.",
																				default: {},
																				examples: [{
																					Amount: 20,
																					CurrencyCode: "USD"
																				}],
																				required: ["Amount", "CurrencyCode"],
																				properties: {
																					Amount: {
																						$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionInformation/items/anyOf/0/properties/FeesEstimate/properties/FeeDetails/items/anyOf/0/properties/IncludedFees/items/anyOf/0/properties/TaxAmount/properties/Amount",
																						type: "integer",
																						title: "The Amount schema",
																						description: "An explanation about the purpose of this instance.",
																						default: 0,
																						examples: [20]
																					},
																					CurrencyCode: {
																						$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionInformation/items/anyOf/0/properties/FeesEstimate/properties/FeeDetails/items/anyOf/0/properties/IncludedFees/items/anyOf/0/properties/TaxAmount/properties/CurrencyCode",
																						type: "string",
																						title: "The CurrencyCode schema",
																						description: "An explanation about the purpose of this instance.",
																						default: "",
																						examples: ["USD"]
																					}
																				},
																				additionalProperties: true
																			},
																			FeePromotion: {
																				$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionInformation/items/anyOf/0/properties/FeesEstimate/properties/FeeDetails/items/anyOf/0/properties/IncludedFees/items/anyOf/0/properties/FeePromotion",
																				type: "object",
																				title: "The FeePromotion schema",
																				description: "An explanation about the purpose of this instance.",
																				default: {},
																				examples: [{
																					Amount: 30,
																					CurrencyCode: "USD"
																				}],
																				required: ["Amount", "CurrencyCode"],
																				properties: {
																					Amount: {
																						$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionInformation/items/anyOf/0/properties/FeesEstimate/properties/FeeDetails/items/anyOf/0/properties/IncludedFees/items/anyOf/0/properties/FeePromotion/properties/Amount",
																						type: "integer",
																						title: "The Amount schema",
																						description: "An explanation about the purpose of this instance.",
																						default: 0,
																						examples: [30]
																					},
																					CurrencyCode: {
																						$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionInformation/items/anyOf/0/properties/FeesEstimate/properties/FeeDetails/items/anyOf/0/properties/IncludedFees/items/anyOf/0/properties/FeePromotion/properties/CurrencyCode",
																						type: "string",
																						title: "The CurrencyCode schema",
																						description: "An explanation about the purpose of this instance.",
																						default: "",
																						examples: ["USD"]
																					}
																				},
																				additionalProperties: true
																			},
																			FinalFee: {
																				$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionInformation/items/anyOf/0/properties/FeesEstimate/properties/FeeDetails/items/anyOf/0/properties/IncludedFees/items/anyOf/0/properties/FinalFee",
																				type: "object",
																				title: "The FinalFee schema",
																				description: "An explanation about the purpose of this instance.",
																				default: {},
																				examples: [{
																					Amount: 40,
																					CurrencyCode: "USD"
																				}],
																				required: ["Amount", "CurrencyCode"],
																				properties: {
																					Amount: {
																						$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionInformation/items/anyOf/0/properties/FeesEstimate/properties/FeeDetails/items/anyOf/0/properties/IncludedFees/items/anyOf/0/properties/FinalFee/properties/Amount",
																						type: "integer",
																						title: "The Amount schema",
																						description: "An explanation about the purpose of this instance.",
																						default: 0,
																						examples: [40]
																					},
																					CurrencyCode: {
																						$id: "#/properties/Payload/properties/FeePromotionNotification/properties/PromotionInformation/items/anyOf/0/properties/FeesEstimate/properties/FeeDetails/items/anyOf/0/properties/IncludedFees/items/anyOf/0/properties/FinalFee/properties/CurrencyCode",
																						type: "string",
																						title: "The CurrencyCode schema",
																						description: "An explanation about the purpose of this instance.",
																						default: "",
																						examples: ["USD"]
																					}
																				},
																				additionalProperties: true
																			}
																		},
																		additionalProperties: true
																	}]
																}
															}
														},
														additionalProperties: true
													}]
												}
											}
										},
										additionalProperties: true
									}
								},
								additionalProperties: true
							}]
						}
					}
				},
				additionalProperties: true
			} },
			additionalProperties: true
		}
	},
	additionalProperties: true
};
//#endregion
//#region src/notifications/feed-processing-finished-notification.ts
const feedProcessingFinishedNotification = {
	$id: "http://example.com/example.json",
	type: "object",
	description: "The root schema comprises the entire JSON document.",
	examples: [{
		notificationVersion: "2020-09-04",
		notificationType: "FEED_PROCESSING_FINISHED",
		payloadVersion: "2020-09-04",
		eventTime: "2020-07-13T19:42:04.284Z",
		payload: { feedProcessingFinishedNotification: {
			sellerId: "A3TH9S8BH6GOGM",
			accountId: "amzn1.merchant.o.A3TH9S8BH6GOGM",
			feedId: "53347018456",
			feedType: "POST_PRODUCT_DATA",
			processingStatus: "DONE",
			resultFeedDocumentId: "amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.URUTI57URI9BMZ"
		} },
		notificationMetadata: {
			applicationId: "amzn1.sellerapps.app.aacccfff-44aa-4b7c-b42b-ed4ec98dd746",
			subscriptionId: "subscription-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746",
			publishTime: "2020-07-13T19:42:04.284Z",
			notificationId: "d0e9e693-c3ad-4373-979f-ed4ec98dd746"
		}
	}, {
		notificationVersion: "2020-09-04",
		notificationType: "FEED_PROCESSING_FINISHED",
		payloadVersion: "2020-09-04",
		eventTime: "2020-07-13T19:42:04.284Z",
		payload: { feedProcessingFinishedNotification: {
			accountId: "amzn1.vg.6213651",
			feedId: "53347018456",
			feedType: "POST_PRODUCT_DATA",
			processingStatus: "DONE",
			resultFeedDocumentId: "amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.URUTI57URI9BMZ"
		} },
		notificationMetadata: {
			applicationId: "amzn1.sellerapps.app.aacccfff-44aa-4b7c-b42b-ed4ec98dd746",
			subscriptionId: "subscription-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746",
			publishTime: "2020-07-13T19:42:04.284Z",
			notificationId: "d0e9e693-c3ad-4373-979f-ed4ec98dd746"
		}
	}],
	required: [
		"notificationVersion",
		"notificationType",
		"payloadVersion",
		"eventTime",
		"payload",
		"notificationMetadata"
	],
	properties: {
		notificationVersion: {
			$id: "#/properties/notificationVersion",
			type: "string",
			description: "The version of the notification.",
			examples: ["2020-09-04"]
		},
		notificationType: {
			$id: "#/properties/notificationType",
			type: "string",
			description: "The type of the notification.",
			examples: ["FEED_PROCESSING_FINISHED"]
		},
		payloadVersion: {
			$id: "#/properties/payloadVersion",
			type: "string",
			description: "The version of the payload.",
			examples: ["2020-09-04"]
		},
		eventTime: {
			$id: "#/properties/eventTime",
			type: "string",
			description: "The timestamp of the event, formatted as ISO 8601 date-time.",
			examples: ["2020-07-13T19:42:04.284Z"]
		},
		payload: {
			$id: "#/properties/payload",
			type: "object",
			description: "The details of this notification.",
			examples: [{ feedProcessingFinishedNotification: {
				sellerId: "A3TH9S8BH6GOGM",
				accountId: "amzn1.merchant.o.A3TH9S8BH6GOGM",
				feedId: "53347018456",
				feedType: "POST_PRODUCT_DATA",
				processingStatus: "DONE",
				resultFeedDocumentId: "amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.URUTI57URI9BMZ"
			} }, { feedProcessingFinishedNotification: {
				accountId: "amzn1.vg.6213651",
				feedId: "53347018456",
				feedType: "POST_PRODUCT_DATA",
				processingStatus: "DONE",
				resultFeedDocumentId: "amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.URUTI57URI9BMZ"
			} }],
			required: ["feedProcessingFinishedNotification"],
			properties: { feedProcessingFinishedNotification: {
				$id: "#/properties/payload/properties/feedProcessingFinishedNotification",
				type: "object",
				description: "An explanation about the purpose of this instance.",
				examples: [{
					sellerId: "A3TH9S8BH6GOGM",
					accountId: "amzn1.merchant.o.A3TH9S8BH6GOGM",
					feedId: "53347018456",
					feedType: "POST_PRODUCT_DATA",
					processingStatus: "DONE",
					resultFeedDocumentId: "amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.URUTI57URI9BMZ"
				}, {
					accountId: "amzn1.vg.6213651",
					feedId: "53347018456",
					feedType: "POST_PRODUCT_DATA",
					processingStatus: "DONE",
					resultFeedDocumentId: "amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.URUTI57URI9BMZ"
				}],
				required: [
					"accountId",
					"feedId",
					"feedType",
					"processingStatus"
				],
				properties: {
					sellerId: {
						$id: "#/properties/payload/properties/feedProcessingFinishedNotification/properties/sellerId",
						type: "string",
						description: "The merchant customer identifier of the selling partner account on whose behalf the feed was submitted. This field will be null when the feed was submitted on behalf of a vendor group identifier.",
						examples: ["A3TH9S8BH6GOGM"]
					},
					accountId: {
						$id: "#/properties/payload/properties/feedProcessingFinishedNotification/properties/accountId",
						type: "string",
						description: "The merchant customer identifier or vendor group identifier of the selling partner account on whose behalf the feed was submitted.",
						examples: ["amzn1.merchant.o.A3TH9S8BH6GOGM", "amzn1.vg.6213651"]
					},
					feedId: {
						$id: "#/properties/payload/properties/feedProcessingFinishedNotification/properties/feedId",
						type: "string",
						description: "The feed identifier.",
						examples: ["53347018456"]
					},
					feedType: {
						$id: "#/properties/payload/properties/feedProcessingFinishedNotification/properties/feedType",
						type: "string",
						description: "The feed type.",
						examples: ["POST_PRODUCT_DATA"]
					},
					processingStatus: {
						$id: "#/properties/payload/properties/feedProcessingFinishedNotification/properties/processingStatus",
						type: "string",
						description: "The processing status of the feed.",
						examples: [
							"CANCELLED",
							"DONE",
							"FATAL"
						],
						enum: [
							"CANCELLED",
							"DONE",
							"FATAL"
						]
					},
					resultFeedDocumentId: {
						$id: "#/properties/payload/properties/feedProcessingFinishedNotification/properties/resultFeedDocumentId",
						type: "string",
						description: "The feed document identifier. This identifier is unique only in combination with a seller ID.",
						examples: ["amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.URUTI57URI9BMZ"]
					}
				}
			} }
		},
		notificationMetadata: {
			$id: "#/properties/notificationMetadata",
			type: "object",
			description: "The metadata of the notification.",
			examples: [{
				applicationId: "amzn1.sellerapps.app.aacccfff-44aa-4b7c-b42b-ed4ec98dd746",
				subscriptionId: "subscription-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746",
				publishTime: "2020-07-13T19:42:04.284Z",
				notificationId: "d0e9e693-c3ad-4373-979f-ed4ec98dd746"
			}],
			required: [
				"applicationId",
				"subscriptionId",
				"publishTime",
				"notificationId"
			],
			properties: {
				applicationId: {
					$id: "#/properties/notificationMetadata/properties/applicationId",
					type: "string",
					description: "The application identifier.",
					examples: ["amzn1.sellerapps.app.aacccfff-44aa-4b7c-b42b-ed4ec98dd746"]
				},
				subscriptionId: {
					$id: "#/properties/notificationMetadata/properties/subscriptionId",
					type: "string",
					description: "The subscription identifier.",
					examples: ["subscription-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746"]
				},
				publishTime: {
					$id: "#/properties/notificationMetadata/properties/publishTime",
					type: "string",
					description: "The timestamp of when the notification was published, formatted as ISO 8601 date-time.",
					examples: ["2020-07-13T19:42:04.284Z"]
				},
				notificationId: {
					$id: "#/properties/notificationMetadata/properties/notificationId",
					type: "string",
					description: "The notification identifier.",
					examples: ["d0e9e693-c3ad-4373-979f-ed4ec98dd746"]
				}
			}
		}
	}
};
//#endregion
//#region src/notifications/fulfillment-order-status-notification.ts
const fulfillmentOrderStatusNotification = {
	$id: "http://example.com/example.json",
	type: "object",
	title: "The root schema",
	description: "The root schema comprises the entire JSON document.",
	default: {},
	examples: [{
		NotificationVersion: "1.0",
		NotificationType: "FULFILLMENT_ORDER_STATUS",
		PayloadVersion: "1.0",
		EventTime: "2020-07-13T19:42:04.284Z",
		Payload: { FulfillmentOrderStatusNotification: {
			SellerId: "A3TH9S8BH6GOGM",
			EventType: "TYPE3945",
			StatusUpdatedDateTime: "2020-07-13T19:42:04.284Z",
			SellerFulfillmentOrderId: "SFOID2345",
			FulfillmentOrderStatus: "PROCESSED",
			FulfillmentShipment: {
				FulfillmentShipmentStatus: "PROCESSED",
				AmazonShipmentId: "ASID49535",
				EstimatedArrivalDateTime: "2020-07-13T19:42:04.284Z",
				info: {
					PackageNumber: 1,
					CarrierCode: "2-930434",
					TrackingNumber: "1Z84456456573405"
				},
				FulfillmentShipmentPackages: [
					{
						PackageNumber: 1,
						CarrierCode: "2-930434",
						TrackingNumber: "1Z84456456573405"
					},
					{
						PackageNumber: 2,
						CarrierCode: "1-930434",
						TrackingNumber: "1Z84456456573405"
					},
					{
						PackageNumber: 3,
						CarrierCode: "3-930434",
						TrackingNumber: "1Z885647654573405"
					}
				]
			},
			FulfillmentReturnItem: {
				ReceivedDateTime: "2020-07-13T19:42:04.284Z",
				ReturnedQuantity: 12,
				SellerSKU: "SELLERSKU9345"
			}
		} },
		NotificationMetadata: {
			ApplicationId: "app-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746",
			SubscriptionId: "subscription-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746",
			PublishTime: "2020-07-13T19:42:04.284Z",
			NotificationId: "d0e9e693-c3ad-4373-979f-ed4ec98dd746"
		}
	}],
	required: [
		"NotificationVersion",
		"NotificationType",
		"PayloadVersion",
		"EventTime",
		"Payload",
		"NotificationMetadata"
	],
	properties: {
		NotificationVersion: {
			$id: "#/properties/NotificationVersion",
			type: "string",
			title: "The NotificationVersion schema",
			description: "An explanation about the purpose of this instance.",
			default: "",
			examples: ["1.0"]
		},
		NotificationType: {
			$id: "#/properties/NotificationType",
			type: "string",
			title: "The NotificationType schema",
			description: "An explanation about the purpose of this instance.",
			default: "",
			examples: ["FULFILLMENT_ORDER_STATUS"]
		},
		PayloadVersion: {
			$id: "#/properties/PayloadVersion",
			type: "string",
			title: "The PayloadVersion schema",
			description: "An explanation about the purpose of this instance.",
			default: "",
			examples: ["1.0"]
		},
		EventTime: {
			$id: "#/properties/EventTime",
			type: "string",
			title: "The EventTime schema",
			description: "An explanation about the purpose of this instance.",
			default: "",
			examples: ["2020-07-13T19:42:04.284Z"]
		},
		Payload: {
			$id: "#/properties/Payload",
			type: "object",
			title: "The Payload schema",
			description: "An explanation about the purpose of this instance.",
			default: {},
			examples: [{ FulfillmentOrderStatusNotification: {
				SellerId: "A3TH9S8BH6GOGM",
				EventType: "TYPE3945",
				StatusUpdatedDateTime: "2020-07-13T19:42:04.284Z",
				SellerFulfillmentOrderId: "SFOID2345",
				FulfillmentOrderStatus: "PROCESSED",
				FulfillmentShipment: {
					FulfillmentShipmentStatus: "PROCESSED",
					AmazonShipmentId: "ASID49535",
					EstimatedArrivalDateTime: "2020-07-13T19:42:04.284Z",
					info: {
						PackageNumber: 1,
						CarrierCode: "2-930434",
						TrackingNumber: "1Z84456456573405"
					},
					FulfillmentShipmentPackages: [
						{
							PackageNumber: 1,
							CarrierCode: "2-930434",
							TrackingNumber: "1Z84456456573405"
						},
						{
							PackageNumber: 2,
							CarrierCode: "1-930434",
							TrackingNumber: "1Z84456456573405"
						},
						{
							PackageNumber: 3,
							CarrierCode: "3-930434",
							TrackingNumber: "1Z885647654573405"
						}
					]
				},
				FulfillmentReturnItem: {
					ReceivedDateTime: "2020-07-13T19:42:04.284Z",
					ReturnedQuantity: 12,
					SellerSKU: "SELLERSKU9345"
				}
			} }],
			required: ["FulfillmentOrderStatusNotification"],
			properties: { FulfillmentOrderStatusNotification: {
				$id: "#/properties/Payload/properties/FulfillmentOrderStatusNotification",
				type: "object",
				title: "The FulfillmentOrderStatusNotification schema",
				description: "An explanation about the purpose of this instance.",
				default: {},
				examples: [{
					SellerId: "A3TH9S8BH6GOGM",
					EventType: "TYPE3945",
					StatusUpdatedDateTime: "2020-07-13T19:42:04.284Z",
					SellerFulfillmentOrderId: "SFOID2345",
					FulfillmentOrderStatus: "PROCESSED",
					FulfillmentShipment: {
						FulfillmentShipmentStatus: "PROCESSED",
						AmazonShipmentId: "ASID49535",
						EstimatedArrivalDateTime: "2020-07-13T19:42:04.284Z",
						info: {
							PackageNumber: 1,
							CarrierCode: "2-930434",
							TrackingNumber: "1Z84456456573405"
						},
						FulfillmentShipmentPackages: [
							{
								PackageNumber: 1,
								CarrierCode: "2-930434",
								TrackingNumber: "1Z84456456573405"
							},
							{
								PackageNumber: 2,
								CarrierCode: "1-930434",
								TrackingNumber: "1Z84456456573405"
							},
							{
								PackageNumber: 3,
								CarrierCode: "3-930434",
								TrackingNumber: "1Z885647654573405"
							}
						]
					},
					FulfillmentReturnItem: {
						ReceivedDateTime: "2020-07-13T19:42:04.284Z",
						ReturnedQuantity: 12,
						SellerSKU: "SELLERSKU9345"
					}
				}],
				required: [
					"SellerId",
					"EventType",
					"StatusUpdatedDateTime",
					"SellerFulfillmentOrderId",
					"FulfillmentOrderStatus",
					"FulfillmentShipment",
					"FulfillmentReturnItem"
				],
				properties: {
					SellerId: {
						$id: "#/properties/Payload/properties/FulfillmentOrderStatusNotification/properties/SellerId",
						type: "string",
						title: "The SellerId schema",
						description: "An explanation about the purpose of this instance.",
						default: "",
						examples: ["A3TH9S8BH6GOGM"]
					},
					EventType: {
						$id: "#/properties/Payload/properties/FulfillmentOrderStatusNotification/properties/EventType",
						type: "string",
						title: "The EventType schema",
						description: "An explanation about the purpose of this instance.",
						default: "",
						examples: ["TYPE3945"]
					},
					StatusUpdatedDateTime: {
						$id: "#/properties/Payload/properties/FulfillmentOrderStatusNotification/properties/StatusUpdatedDateTime",
						type: "string",
						title: "The StatusUpdatedDateTime schema",
						description: "An explanation about the purpose of this instance.",
						default: "",
						examples: ["2020-07-13T19:42:04.284Z"]
					},
					SellerFulfillmentOrderId: {
						$id: "#/properties/Payload/properties/FulfillmentOrderStatusNotification/properties/SellerFulfillmentOrderId",
						type: "string",
						title: "The SellerFulfillmentOrderId schema",
						description: "An explanation about the purpose of this instance.",
						default: "",
						examples: ["SFOID2345"]
					},
					FulfillmentOrderStatus: {
						$id: "#/properties/Payload/properties/FulfillmentOrderStatusNotification/properties/FulfillmentOrderStatus",
						type: "string",
						title: "The FulfillmentOrderStatus schema",
						description: "An explanation about the purpose of this instance.",
						default: "",
						examples: ["PROCESSED"]
					},
					FulfillmentShipment: {
						$id: "#/properties/Payload/properties/FulfillmentOrderStatusNotification/properties/FulfillmentShipment",
						type: "object",
						title: "The FulfillmentShipment schema",
						description: "An explanation about the purpose of this instance.",
						default: {},
						examples: [{
							FulfillmentShipmentStatus: "PROCESSED",
							AmazonShipmentId: "ASID49535",
							EstimatedArrivalDateTime: "2020-07-13T19:42:04.284Z",
							info: {
								PackageNumber: 1,
								CarrierCode: "2-930434",
								TrackingNumber: "1Z84456456573405"
							},
							FulfillmentShipmentPackages: [
								{
									PackageNumber: 1,
									CarrierCode: "2-930434",
									TrackingNumber: "1Z84456456573405"
								},
								{
									PackageNumber: 2,
									CarrierCode: "1-930434",
									TrackingNumber: "1Z84456456573405"
								},
								{
									PackageNumber: 3,
									CarrierCode: "3-930434",
									TrackingNumber: "1Z885647654573405"
								}
							]
						}],
						required: [
							"FulfillmentShipmentStatus",
							"AmazonShipmentId",
							"EstimatedArrivalDateTime",
							"info",
							"FulfillmentShipmentPackages"
						],
						properties: {
							FulfillmentShipmentStatus: {
								$id: "#/properties/Payload/properties/FulfillmentOrderStatusNotification/properties/FulfillmentShipment/properties/FulfillmentShipmentStatus",
								type: "string",
								title: "The FulfillmentShipmentStatus schema",
								description: "An explanation about the purpose of this instance.",
								default: "",
								examples: ["PROCESSED"]
							},
							AmazonShipmentId: {
								$id: "#/properties/Payload/properties/FulfillmentOrderStatusNotification/properties/FulfillmentShipment/properties/AmazonShipmentId",
								type: "string",
								title: "The AmazonShipmentId schema",
								description: "An explanation about the purpose of this instance.",
								default: "",
								examples: ["ASID49535"]
							},
							EstimatedArrivalDateTime: {
								$id: "#/properties/Payload/properties/FulfillmentOrderStatusNotification/properties/FulfillmentShipment/properties/EstimatedArrivalDateTime",
								type: "string",
								title: "The EstimatedArrivalDateTime schema",
								description: "An explanation about the purpose of this instance.",
								default: "",
								examples: ["2020-07-13T19:42:04.284Z"]
							},
							FulfillmentShipmentPackages: {
								$id: "#/properties/Payload/properties/FulfillmentOrderStatusNotification/properties/FulfillmentShipment/properties/FulfillmentShipmentPackages",
								type: "array",
								title: "The FulfillmentShipmentPackages schema",
								description: "An explanation about the purpose of this instance.",
								default: [],
								examples: [[{
									PackageNumber: 1,
									CarrierCode: "2-930434",
									TrackingNumber: "1Z84456456573405"
								}, {
									PackageNumber: 2,
									CarrierCode: "1-930434",
									TrackingNumber: "1Z84456456573405"
								}]],
								properties: { FulfillmentShipmentPackageItem: {
									$id: "#/properties/Payload/properties/FulfillmentOrderStatusNotification/properties/FulfillmentShipment/properties/FulfillmentShipmentPackages/properties/FulfillmentShipmentPackageItem",
									type: "object",
									title: "The info schema",
									description: "An explanation about the purpose of this instance.",
									default: {},
									examples: [{
										PackageNumber: 1,
										CarrierCode: "2-930434",
										TrackingNumber: "1Z84456456573405"
									}],
									required: [
										"PackageNumber",
										"CarrierCode",
										"TrackingNumber"
									],
									properties: {
										PackageNumber: {
											$id: "#/properties/Payload/properties/FulfillmentOrderStatusNotification/properties/FulfillmentShipment/properties/info/properties/PackageNumber",
											type: "integer",
											title: "The PackageNumber schema",
											description: "An explanation about the purpose of this instance.",
											default: 0,
											examples: [1]
										},
										CarrierCode: {
											$id: "#/properties/Payload/properties/FulfillmentOrderStatusNotification/properties/FulfillmentShipment/properties/info/properties/CarrierCode",
											type: "string",
											title: "The CarrierCode schema",
											description: "An explanation about the purpose of this instance.",
											default: "",
											examples: ["2-930434"]
										},
										TrackingNumber: {
											$id: "#/properties/Payload/properties/FulfillmentOrderStatusNotification/properties/FulfillmentShipment/properties/info/properties/TrackingNumber",
											type: "string",
											title: "The TrackingNumber schema",
											description: "An explanation about the purpose of this instance.",
											default: "",
											examples: ["1Z84456456573405"]
										}
									},
									additionalProperties: true
								} },
								additionalItems: true,
								items: {
									$id: "#/properties/Payload/properties/FulfillmentOrderStatusNotification/properties/FulfillmentShipment/properties/FulfillmentShipmentPackages/properties/FulfillmentShipmentPackageItem",
									anyOf: [{
										$id: "#/properties/Payload/properties/FulfillmentOrderStatusNotification/properties/FulfillmentShipment/properties/FulfillmentShipmentPackages/items/anyOf/0",
										type: "object",
										title: "The first anyOf schema",
										description: "An explanation about the purpose of this instance.",
										default: {},
										examples: [{
											PackageNumber: 1,
											CarrierCode: "2-930434",
											TrackingNumber: "1Z84456456573405"
										}],
										required: [
											"PackageNumber",
											"CarrierCode",
											"TrackingNumber"
										],
										properties: {
											PackageNumber: {
												$id: "#/properties/Payload/properties/FulfillmentOrderStatusNotification/properties/FulfillmentShipment/properties/FulfillmentShipmentPackages/items/anyOf/0/properties/PackageNumber",
												type: "integer",
												title: "The PackageNumber schema",
												description: "An explanation about the purpose of this instance.",
												default: 0,
												examples: [1]
											},
											CarrierCode: {
												$id: "#/properties/Payload/properties/FulfillmentOrderStatusNotification/properties/FulfillmentShipment/properties/FulfillmentShipmentPackages/items/anyOf/0/properties/CarrierCode",
												type: "string",
												title: "The CarrierCode schema",
												description: "An explanation about the purpose of this instance.",
												default: "",
												examples: ["2-930434"]
											},
											TrackingNumber: {
												$id: "#/properties/Payload/properties/FulfillmentOrderStatusNotification/properties/FulfillmentShipment/properties/FulfillmentShipmentPackages/items/anyOf/0/properties/TrackingNumber",
												type: "string",
												title: "The TrackingNumber schema",
												description: "An explanation about the purpose of this instance.",
												default: "",
												examples: ["1Z84456456573405"]
											}
										},
										additionalProperties: true
									}]
								}
							}
						},
						additionalProperties: true
					},
					FulfillmentReturnItem: {
						$id: "#/properties/Payload/properties/FulfillmentOrderStatusNotification/properties/FulfillmentReturnItem",
						type: "object",
						title: "The FulfillmentReturnItem schema",
						description: "An explanation about the purpose of this instance.",
						default: {},
						examples: [{
							ReceivedDateTime: "2020-07-13T19:42:04.284Z",
							ReturnedQuantity: 12,
							SellerSKU: "SELLERSKU9345"
						}],
						required: [
							"ReceivedDateTime",
							"ReturnedQuantity",
							"SellerSKU"
						],
						properties: {
							ReceivedDateTime: {
								$id: "#/properties/Payload/properties/FulfillmentOrderStatusNotification/properties/FulfillmentReturnItem/properties/ReceivedDateTime",
								type: "string",
								title: "The ReceivedDateTime schema",
								description: "An explanation about the purpose of this instance.",
								default: "",
								examples: ["2020-07-13T19:42:04.284Z"]
							},
							ReturnedQuantity: {
								$id: "#/properties/Payload/properties/FulfillmentOrderStatusNotification/properties/FulfillmentReturnItem/properties/ReturnedQuantity",
								type: "integer",
								title: "The ReturnedQuantity schema",
								description: "An explanation about the purpose of this instance.",
								default: 0,
								examples: [12]
							},
							SellerSKU: {
								$id: "#/properties/Payload/properties/FulfillmentOrderStatusNotification/properties/FulfillmentReturnItem/properties/SellerSKU",
								type: "string",
								title: "The SellerSKU schema",
								description: "An explanation about the purpose of this instance.",
								default: "",
								examples: ["SELLERSKU9345"]
							}
						},
						additionalProperties: true
					}
				},
				additionalProperties: true
			} },
			additionalProperties: true
		},
		NotificationMetadata: {
			$id: "#/properties/NotificationMetadata",
			type: "object",
			title: "The NotificationMetadata schema",
			description: "An explanation about the purpose of this instance.",
			default: {},
			examples: [{
				ApplicationId: "app-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746",
				SubscriptionId: "subscription-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746",
				PublishTime: "2020-07-13T19:42:04.284Z",
				NotificationId: "d0e9e693-c3ad-4373-979f-ed4ec98dd746"
			}],
			required: [
				"ApplicationId",
				"SubscriptionId",
				"PublishTime",
				"NotificationId"
			],
			properties: {
				ApplicationId: {
					$id: "#/properties/NotificationMetadata/properties/ApplicationId",
					type: "string",
					title: "The ApplicationId schema",
					description: "An explanation about the purpose of this instance.",
					default: "",
					examples: ["app-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746"]
				},
				SubscriptionId: {
					$id: "#/properties/NotificationMetadata/properties/SubscriptionId",
					type: "string",
					title: "The SubscriptionId schema",
					description: "An explanation about the purpose of this instance.",
					default: "",
					examples: ["subscription-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746"]
				},
				PublishTime: {
					$id: "#/properties/NotificationMetadata/properties/PublishTime",
					type: "string",
					title: "The PublishTime schema",
					description: "An explanation about the purpose of this instance.",
					default: "",
					examples: ["2020-07-13T19:42:04.284Z"]
				},
				NotificationId: {
					$id: "#/properties/NotificationMetadata/properties/NotificationId",
					type: "string",
					title: "The NotificationId schema",
					description: "An explanation about the purpose of this instance.",
					default: "",
					examples: ["d0e9e693-c3ad-4373-979f-ed4ec98dd746"]
				}
			},
			additionalProperties: true
		}
	},
	additionalProperties: true
};
//#endregion
//#region src/notifications/item-inventory-event-change-notification.ts
const itemInventoryEventChangeNotification = {
	$id: "https://example.com/example.json",
	type: "object",
	description: "The root schema comprises the entire JSON document.",
	examples: [{
		notificationVersion: "2020-09-04",
		notificationType: "ITEM_INVENTORY_EVENT_CHANGE",
		payloadVersion: "2020-09-04",
		eventTime: "2023-02-07T16:05:32.378Z",
		payload: { itemInventoryEventChanges: [{
			accountId: "amzn1.merchant.o.A21CXK3C4ERTY8",
			marketplaceId: "ATVPDKIKX0DER",
			startTime: "2023-02-07T15:00:00Z",
			endTime: "2023-02-07T16:00:00Z",
			asin: "B00032HE0O",
			highlyAvailableInventory: 650
		}, {
			accountId: "amzn1.merchant.o.A21CXK3C4ERTY8",
			marketplaceId: "ATVPDKIKX0DER",
			startTime: "2023-02-07T15:00:00Z",
			endTime: "2023-02-07T16:00:00Z",
			asin: "B00094A20U",
			highlyAvailableInventory: 519
		}] },
		notificationMetadata: {
			applicationId: "amzn1.sellerapps.app.aacccfff-4455-4b7c-4422-664ecacdd336",
			subscriptionId: "d0e9e693-c3ad-4373-979f-ed4ec98dd746",
			publishTime: "2023-02-07T16:45:32.378Z",
			notificationId: "d0e9e693-c3ad-4373-979f-ed4ec98dd746"
		}
	}],
	required: [
		"notificationVersion",
		"notificationType",
		"payloadVersion",
		"eventTime",
		"payload",
		"notificationMetadata"
	],
	properties: {
		notificationVersion: {
			$id: "#/properties/notificationVersion",
			type: "string",
			examples: ["2020-09-04"]
		},
		notificationType: {
			$id: "#/properties/notificationType",
			type: "string",
			examples: ["ITEM_INVENTORY_EVENT_CHANGE"]
		},
		payloadVersion: {
			$id: "#/properties/payloadVersion",
			type: "string",
			examples: ["2020-09-04"]
		},
		eventTime: {
			$id: "#/properties/eventTime",
			type: "string",
			examples: ["2023-02-07T16:45:32.378Z"]
		},
		payload: {
			$id: "#/properties/payload",
			$ref: "#/definitions/Payload"
		},
		notificationMetadata: {
			$id: "#/properties/notificationMetadata",
			$ref: "#/definitions/NotificationMetadata"
		}
	},
	definitions: {
		Payload: {
			type: "object",
			examples: [{ itemInventoryEventChanges: [{
				accountId: "amzn1.merchant.o.A21CXK3C4ERTY8",
				marketplaceId: "ATVPDKIKX0DER",
				startTime: "2023-02-07T15:00:00Z",
				endTime: "2023-02-07T16:00:00Z",
				asin: "B00032HE0O",
				highlyAvailableInventory: 650
			}, {
				accountId: "amzn1.merchant.o.A21CXK3C4ERTY8",
				marketplaceId: "ATVPDKIKX0DER",
				startTime: "2023-02-07T15:00:00Z",
				endTime: "2023-02-07T16:00:00Z",
				asin: "B00094A20U",
				highlyAvailableInventory: 519
			}] }],
			required: ["itemInventoryEventChanges"],
			properties: { itemInventoryEventChanges: {
				$id: "#/definitions/Payload/properties/itemInventoryEventChanges",
				$ref: "#/definitions/ItemInventoryEventChanges"
			} }
		},
		ItemInventoryEventChanges: {
			type: "array",
			examples: [[{
				accountId: "amzn1.merchant.o.A21CXK3C4ERTY8",
				marketplaceId: "ATVPDKIKX0DER",
				startTime: "2023-02-07T15:00:00Z",
				endTime: "2023-02-07T16:00:00Z",
				asin: "B00032HE0O",
				highlyAvailableInventory: 650
			}, {
				accountId: "amzn1.merchant.o.A21CXK3C4ERTY8",
				marketplaceId: "ATVPDKIKX0DER",
				startTime: "2023-02-07T15:00:00Z",
				endTime: "2023-02-07T16:00:00Z",
				asin: "B00094A20U",
				highlyAvailableInventory: 519
			}]],
			items: { $ref: "#/definitions/ItemInventoryEventChange" }
		},
		ItemInventoryEventChange: {
			type: "object",
			examples: [{
				accountId: "amzn1.merchant.o.A21CXK3C4ERTY8",
				marketplaceId: "ATVPDKIKX0DER",
				startTime: "2023-02-07T15:00:00Z",
				endTime: "2023-02-07T16:00:00Z",
				asin: "B00032HE0O",
				highlyAvailableInventory: 650
			}],
			required: [
				"accountId",
				"marketplaceId",
				"startTime",
				"endTime",
				"asin",
				"highlyAvailableInventory"
			],
			properties: {
				accountId: {
					$id: "#/definitions/ItemInventoryEventChange/properties/accountId",
					type: "string",
					description: "The merchant customer ID or vendor group ID of the partner account this notification is sent to.",
					examples: ["amzn1.merchant.o.A21CXK3C4ERTY8", "amzn1.vg.6213651"]
				},
				marketplaceId: {
					$id: "#/definitions/ItemInventoryEventChange/properties/marketplaceId",
					type: "string",
					description: "The marketplace identifier of the inventory data.",
					examples: ["ATVPDKIKX0DER"]
				},
				startTime: {
					$id: "#/definitions/ItemInventoryEventChange/properties/startTime",
					type: "string",
					format: "date-time",
					description: "The start of the date-time range of the inventory data in ISO 8601 format in UTC time.",
					examples: ["2023-02-07T15:00:00Z"]
				},
				endTime: {
					$id: "#/definitions/ItemInventoryEventChange/properties/endTime",
					type: "string",
					format: "date-time",
					description: "The end of the date-time range of the inventory data in ISO 8601 format in UTC time.",
					examples: ["2023-02-07T16:00:00Z"]
				},
				asin: {
					$id: "#/definitions/ItemInventoryEventChange/properties/asin",
					type: "string",
					description: "The Amazon Standard Identification Number of the product.",
					examples: ["B00032HE0O"]
				},
				highlyAvailableInventory: {
					$id: "#/definitions/ItemInventoryEventChange/properties/highlyAvailableInventory",
					type: "integer",
					description: "The number of units available to be sold on the website, based on units in Amazon fulfillment centers that are in sellable condition, minus units in customer shopping carts or otherwise bound for other orders (for example, subscribe-and-save orders).",
					minimum: 0,
					examples: [650]
				}
			}
		},
		NotificationMetadata: {
			type: "object",
			examples: [{
				applicationId: "amzn1.sellerapps.app.aacccfff-4455-4b7c-4422-664ecacdd336",
				subscriptionId: "d0e9e693-c3ad-4373-979f-ed4ec98dd746",
				publishTime: "2023-02-07T16:45:32.378Z",
				notificationId: "d0e9e693-c3ad-4373-979f-ed4ec98dd746"
			}],
			required: [
				"applicationId",
				"subscriptionId",
				"publishTime",
				"notificationId"
			],
			properties: {
				applicationId: {
					$id: "#/definitions/NotificationMetadata/properties/applicationId",
					type: "string",
					examples: ["amzn1.sellerapps.app.aacccfff-4455-4b7c-4422-664ecacdd336"]
				},
				subscriptionId: {
					$id: "#/definitions/NotificationMetadata/properties/subscriptionId",
					type: "string",
					examples: ["d0e9e693-c3ad-4373-979f-ed4ec98dd746"]
				},
				publishTime: {
					$id: "#/definitions/NotificationMetadata/properties/publishTime",
					type: "string",
					examples: ["2023-02-07T16:45:32.378Z"]
				},
				notificationId: {
					$id: "#/definitions/NotificationMetadata/properties/notificationId",
					type: "string",
					examples: ["d0e9e693-c3ad-4373-979f-ed4ec98dd746"]
				}
			}
		}
	}
};
//#endregion
//#region src/notifications/item-product-type-change-notification.ts
const itemProductTypeChangeNotification = {
	$id: "http://example.com/example.json",
	type: "object",
	title: "The root schema",
	description: "The root schema comprises the entire JSON document.",
	default: {},
	examples: [{
		NotificationVersion: "1.0",
		NotificationType: "ITEM_PRODUCT_TYPE_CHANGE",
		PayloadVersion: "1.0",
		EventTime: "2019-03-20T18:59:30.194Z",
		Payload: {
			MarketplaceId: "ATVPDKIKX0DER",
			Asin: "B1234567",
			PreviousProductType: "PET_HEALTH_CARE",
			CurrentProductType: "PET_APPAREL"
		},
		NotificationMetadata: {
			ApplicationId: "amzn1.sellerapps.app.f1234566-aaec-55a6-b123-bcb752069ec5",
			SubscriptionId: "93b098e1-c42-2f45-93a1-78910a6a8369",
			PublishTime: "2019-03-20T18:59:48.768Z",
			NotificationId: "0e999936-da2c-4f9c-9fc2-02b67bae5f49"
		}
	}],
	required: [
		"NotificationVersion",
		"NotificationType",
		"PayloadVersion",
		"EventTime",
		"Payload",
		"NotificationMetadata"
	],
	properties: {
		NotificationVersion: {
			$id: "#/properties/NotificationVersion",
			type: "string",
			title: "The NotificationVersion schema",
			description: "An explanation about the purpose of this instance.",
			default: "",
			examples: ["1.0"]
		},
		NotificationType: {
			$id: "#/properties/NotificationType",
			type: "string",
			title: "The NotificationType schema",
			description: "An explanation about the purpose of this instance.",
			default: "",
			examples: ["ITEM_PRODUCT_TYPE_CHANGE"]
		},
		PayloadVersion: {
			$id: "#/properties/PayloadVersion",
			type: "string",
			title: "The PayloadVersion schema",
			description: "An explanation about the purpose of this instance.",
			default: "",
			examples: ["1.0"]
		},
		EventTime: {
			$id: "#/properties/EventTime",
			type: "string",
			title: "The EventTime schema",
			description: "An explanation about the purpose of this instance.",
			default: "",
			examples: ["2019-03-20T18:59:30.194Z"]
		},
		Payload: {
			$id: "#/properties/Payload",
			type: "object",
			title: "The Payload schema",
			description: "An explanation about the purpose of this instance.",
			default: {},
			examples: [{
				MarketplaceId: "ATVPDKIKX0DER",
				Asin: "B1234567",
				PreviousProductType: "PET_HEALTH_CARE",
				CurrentProductType: "PET_APPAREL"
			}],
			required: [
				"MarketplaceId",
				"Asin",
				"PreviousProductType",
				"CurrentProductType"
			],
			properties: {
				MarketplaceId: {
					$id: "#/properties/Payload/properties/MarketplaceId",
					type: "string",
					title: "The MarketplaceId schema",
					description: "An explanation about the purpose of this instance.",
					default: "",
					examples: ["ATVPDKIKX0DER"]
				},
				Asin: {
					$id: "#/properties/Payload/properties/Asin",
					type: "string",
					title: "The Asin schema",
					description: "An explanation about the purpose of this instance.",
					default: "",
					examples: ["B1234567"]
				},
				PreviousProductType: {
					$id: "#/properties/Payload/properties/PreviousProductType",
					type: "string",
					title: "The PreviousProductType schema",
					description: "An explanation about the purpose of this instance.",
					default: "",
					examples: ["PET_HEALTH_CARE"]
				},
				CurrentProductType: {
					$id: "#/properties/Payload/properties/CurrentProductType",
					type: "string",
					title: "The CurrentProductType schema",
					description: "An explanation about the purpose of this instance.",
					default: "",
					examples: ["PET_APPAREL"]
				}
			},
			additionalProperties: true
		},
		NotificationMetadata: {
			$id: "#/properties/NotificationMetadata",
			type: "object",
			title: "The NotificationMetadata schema",
			description: "An explanation about the purpose of this instance.",
			default: {},
			examples: [{
				ApplicationId: "amzn1.sellerapps.app.f1234566-aaec-55a6-b123-bcb752069ec5",
				SubscriptionId: "93b098e1-c42-2f45-93a1-78910a6a8369",
				PublishTime: "2019-03-20T18:59:48.768Z",
				NotificationId: "0e999936-da2c-4f9c-9fc2-02b67bae5f49"
			}],
			required: [
				"ApplicationId",
				"SubscriptionId",
				"PublishTime",
				"NotificationId"
			],
			properties: {
				ApplicationId: {
					$id: "#/properties/NotificationMetadata/properties/ApplicationId",
					type: "string",
					title: "The ApplicationId schema",
					description: "An explanation about the purpose of this instance.",
					default: "",
					examples: ["amzn1.sellerapps.app.f1234566-aaec-55a6-b123-bcb752069ec5"]
				},
				SubscriptionId: {
					$id: "#/properties/NotificationMetadata/properties/SubscriptionId",
					type: "string",
					title: "The SubscriptionId schema",
					description: "An explanation about the purpose of this instance.",
					default: "",
					examples: ["93b098e1-c42-2f45-93a1-78910a6a8369"]
				},
				PublishTime: {
					$id: "#/properties/NotificationMetadata/properties/PublishTime",
					type: "string",
					title: "The PublishTime schema",
					description: "An explanation about the purpose of this instance.",
					default: "",
					examples: ["2019-03-20T18:59:48.768Z"]
				},
				NotificationId: {
					$id: "#/properties/NotificationMetadata/properties/NotificationId",
					type: "string",
					title: "The NotificationId schema",
					description: "An explanation about the purpose of this instance.",
					default: "",
					examples: ["0e999936-da2c-4f9c-9fc2-02b67bae5f49"]
				}
			},
			additionalProperties: true
		}
	},
	additionalProperties: true
};
//#endregion
//#region src/notifications/item-sales-event-change-notification.ts
const itemSalesEventChangeNotification = {
	$id: "https://example.com/example.json",
	type: "object",
	description: "The root schema comprises the entire JSON document.",
	examples: [{
		notificationVersion: "2020-09-04",
		notificationType: "ITEM_SALES_EVENT_CHANGE",
		payloadVersion: "2020-09-04",
		eventTime: "2023-02-07T16:05:32.378Z",
		payload: { itemSalesEventChanges: [{
			accountId: "amzn1.merchant.o.A21CXK3C4ERTY8",
			marketplaceId: "ATVPDKIKX0DER",
			currencyCode: "USD",
			startTime: "2023-02-07T15:00:00Z",
			endTime: "2023-02-07T16:00:00Z",
			asin: "B00032HE0O",
			orderedUnits: 9,
			orderedRevenue: 80.91
		}, {
			accountId: "amzn1.merchant.o.A21CXK3C4ERTY8",
			marketplaceId: "ATVPDKIKX0DER",
			currencyCode: "USD",
			startTime: "2023-02-07T15:00:00Z",
			endTime: "2023-02-07T16:00:00Z",
			asin: "B00094A20U",
			orderedUnits: 5,
			orderedRevenue: 527.6
		}] },
		notificationMetadata: {
			applicationId: "amzn1.sellerapps.app.aacccfff-4455-4b7c-4422-664ecacdd336",
			subscriptionId: "d0e9e693-c3ad-4373-979f-ed4ec98dd746",
			publishTime: "2023-02-07T16:45:32.378Z",
			notificationId: "d0e9e693-c3ad-4373-979f-ed4ec98dd746"
		}
	}],
	required: [
		"notificationVersion",
		"notificationType",
		"payloadVersion",
		"eventTime",
		"payload",
		"notificationMetadata"
	],
	properties: {
		notificationVersion: {
			$id: "#/properties/notificationVersion",
			type: "string",
			examples: ["2020-09-04"]
		},
		notificationType: {
			$id: "#/properties/notificationType",
			type: "string",
			examples: ["ITEM_SALES_EVENT_CHANGE"]
		},
		payloadVersion: {
			$id: "#/properties/payloadVersion",
			type: "string",
			examples: ["2020-09-04"]
		},
		eventTime: {
			$id: "#/properties/eventTime",
			type: "string",
			examples: ["2023-02-07T16:45:32.378Z"]
		},
		payload: {
			$id: "#/properties/payload",
			$ref: "#/definitions/Payload"
		},
		notificationMetadata: {
			$id: "#/properties/notificationMetadata",
			$ref: "#/definitions/NotificationMetadata"
		}
	},
	definitions: {
		Payload: {
			type: "object",
			examples: [{ itemSalesEventChanges: [{
				accountId: "amzn1.merchant.o.A21CXK3C4ERTY8",
				marketplaceId: "ATVPDKIKX0DER",
				currencyCode: "USD",
				startTime: "2023-02-07T15:00:00Z",
				endTime: "2023-02-07T16:00:00Z",
				asin: "B00032HE0O",
				orderedUnits: 9,
				orderedRevenue: 80.91
			}, {
				accountId: "amzn1.merchant.o.A21CXK3C4ERTY8",
				marketplaceId: "ATVPDKIKX0DER",
				currencyCode: "USD",
				startTime: "2023-02-07T15:00:00Z",
				endTime: "2023-02-07T16:00:00Z",
				asin: "B00094A20U",
				orderedUnits: 5,
				orderedRevenue: 527.6
			}] }],
			required: ["itemSalesEventChanges"],
			properties: { itemSalesEventChanges: {
				$id: "#/definitions/Payload/properties/itemSalesEventChanges",
				$ref: "#/definitions/ItemSalesEventChanges"
			} }
		},
		ItemSalesEventChanges: {
			type: "array",
			examples: [[{
				accountId: "amzn1.merchant.o.A21CXK3C4ERTY8",
				marketplaceId: "ATVPDKIKX0DER",
				currencyCode: "USD",
				startTime: "2023-02-07T15:00:00Z",
				endTime: "2023-02-07T16:00:00Z",
				asin: "B00032HE0O",
				orderedUnits: 9,
				orderedRevenue: 80.91
			}, {
				accountId: "amzn1.merchant.o.A21CXK3C4ERTY8",
				marketplaceId: "ATVPDKIKX0DER",
				currencyCode: "USD",
				startTime: "2023-02-07T15:00:00Z",
				endTime: "2023-02-07T16:00:00Z",
				asin: "B00094A20U",
				orderedUnits: 5,
				orderedRevenue: 527.6
			}]],
			items: { $ref: "#/definitions/ItemSalesEventChange" }
		},
		ItemSalesEventChange: {
			type: "object",
			examples: [{
				accountId: "amzn1.merchant.o.A21CXK3C4ERTY8",
				marketplaceId: "ATVPDKIKX0DER",
				currencyCode: "USD",
				startTime: "2023-02-07T15:00:00Z",
				endTime: "2023-02-07T16:00:00Z",
				asin: "B00032HE0O",
				orderedUnits: 9,
				orderedRevenue: 80.91
			}],
			required: [
				"accountId",
				"marketplaceId",
				"currencyCode",
				"startTime",
				"endTime",
				"asin",
				"orderedUnits",
				"orderedRevenue"
			],
			properties: {
				accountId: {
					$id: "#/definitions/ItemSalesEventChange/properties/accountId",
					type: "string",
					description: "The merchant customer ID or vendor group ID of the partner account this notification is sent to.",
					examples: ["amzn1.merchant.o.A21CXK3C4ERTY8", "amzn1.vg.6213651"]
				},
				marketplaceId: {
					$id: "#/definitions/ItemSalesEventChange/properties/marketplaceId",
					type: "string",
					description: "The marketplace identifier of the sales data.",
					examples: ["ATVPDKIKX0DER"]
				},
				currencyCode: {
					$id: "#/definitions/ItemSalesEventChange/properties/currencyCode",
					type: "string",
					description: "The currency code of any monetary amounts in ISO 4217 format.",
					examples: ["USD"]
				},
				startTime: {
					$id: "#/definitions/ItemSalesEventChange/properties/startTime",
					type: "string",
					format: "date-time",
					description: "The start of the date-time range of the sales data in ISO 8601 format in UTC time.",
					examples: ["2023-02-07T15:00:00Z"]
				},
				endTime: {
					$id: "#/definitions/ItemSalesEventChange/properties/endTime",
					type: "string",
					format: "date-time",
					description: "The end of the date-time range of the sales data in ISO 8601 format in UTC time.",
					examples: ["2023-02-07T16:00:00Z"]
				},
				asin: {
					$id: "#/definitions/ItemSalesEventChange/properties/asin",
					type: "string",
					description: "The Amazon Standard Identification Number of the product.",
					examples: ["B00032HE0O"]
				},
				orderedUnits: {
					$id: "#/definitions/ItemSalesEventChange/properties/orderedUnits",
					type: "integer",
					description: "The number of units ordered by Amazon customers in the specified time frame. This number can be negative if there are more cancellations than orders.",
					examples: [9, -5]
				},
				orderedRevenue: {
					$id: "#/definitions/ItemSalesEventChange/properties/orderedRevenue",
					type: "number",
					description: "The ordered product sales in the specified time frame. Adjustments are made for cancellations.",
					examples: [80.91, -4.2]
				}
			}
		},
		NotificationMetadata: {
			type: "object",
			examples: [{
				applicationId: "amzn1.sellerapps.app.aacccfff-4455-4b7c-4422-664ecacdd336",
				subscriptionId: "d0e9e693-c3ad-4373-979f-ed4ec98dd746",
				publishTime: "2023-02-07T16:45:32.378Z",
				notificationId: "d0e9e693-c3ad-4373-979f-ed4ec98dd746"
			}],
			required: [
				"applicationId",
				"subscriptionId",
				"publishTime",
				"notificationId"
			],
			properties: {
				applicationId: {
					$id: "#/definitions/NotificationMetadata/properties/applicationId",
					type: "string",
					examples: ["amzn1.sellerapps.app.aacccfff-4455-4b7c-4422-664ecacdd336"]
				},
				subscriptionId: {
					$id: "#/definitions/NotificationMetadata/properties/subscriptionId",
					type: "string",
					examples: ["d0e9e693-c3ad-4373-979f-ed4ec98dd746"]
				},
				publishTime: {
					$id: "#/definitions/NotificationMetadata/properties/publishTime",
					type: "string",
					examples: ["2023-02-07T16:45:32.378Z"]
				},
				notificationId: {
					$id: "#/definitions/NotificationMetadata/properties/notificationId",
					type: "string",
					examples: ["d0e9e693-c3ad-4373-979f-ed4ec98dd746"]
				}
			}
		}
	}
};
//#endregion
//#region src/notifications/listings-item-issues-change-notification.ts
const listingsItemIssuesChangeNotification = {
	title: "Listings Item Issues Change Notification",
	description: "To be delivered when issues are created, changed, or resolved for a listings item.",
	type: "object",
	examples: [{
		NotificationVersion: "1.0",
		NotificationType: "LISTINGS_ITEM_ISSUES_CHANGE",
		PayloadVersion: "1.0",
		EventTime: "2021-02-05T18:59:30.194Z",
		Payload: {
			SellerId: "AXXXXXXXXXXXXX",
			MarketplaceId: "ATVPDKIKX0DER",
			Asin: "BT6RZ7JM4H",
			Sku: "NLS-SHOES-03",
			Severities: ["ERROR", "WARNING"],
			EnforcementActions: ["SEARCH_SUPPRESSED"]
		},
		NotificationMetadata: {
			ApplicationId: "amzn1.sellerapps.app.f108f511-eeac-46a6-b125-bcb752069ed0",
			SubscriptionId: "93b098e1-c42-2f45-93a1-78910a6a8369",
			PublishTime: "2021-02-05T18:59:48.768Z",
			NotificationId: "8e009934-da2c-4f9c-9bc7-93f23b7e1f60"
		}
	}],
	required: [
		"NotificationVersion",
		"NotificationType",
		"PayloadVersion",
		"EventTime",
		"Payload",
		"NotificationMetadata"
	],
	properties: {
		NotificationVersion: {
			type: "string",
			title: "Notification Version",
			description: "The version of the notification.",
			examples: ["1.0"]
		},
		NotificationType: {
			type: "string",
			title: "Notification Type",
			description: "The type of the notification.",
			enum: ["LISTINGS_ITEM_ISSUES_CHANGE"]
		},
		PayloadVersion: {
			type: "string",
			title: "Payload Version",
			description: "The version of the payload.",
			examples: ["1.0"]
		},
		EventTime: {
			type: "string",
			format: "date-time",
			title: "Event Time",
			description: "Timestamp of the event, formatted as ISO8601 date-time.",
			examples: ["2019-03-20T18:59:30.194Z"]
		},
		Payload: {
			type: "object",
			title: "Payload",
			description: "The details of this notification.",
			examples: [{
				SellerId: "A3AYAZLIQ7AX77",
				MarketplaceId: "ATVPDKIKX0DER",
				Asin: "BT6RZ7JM4H",
				Sku: "NLS-SHOES-03",
				Severities: ["ERROR", "WARNING"],
				EnforcementActions: ["SEARCH_SUPPRESSED"]
			}],
			required: [
				"SellerId",
				"Sku",
				"Severities"
			],
			properties: {
				SellerId: {
					type: "string",
					title: "Seller ID",
					description: "Selling partner identifier, such as a merchant account or vendor code, of the affected listings item.",
					examples: ["AXXXXXXXXXXXXX", "TXXXX"]
				},
				MarketplaceId: {
					type: "string",
					title: "Marketplace ID",
					description: "Amazon marketplace identifier of the affected listings item.",
					examples: ["ATVPDKIKX0DER"]
				},
				Asin: {
					type: "string",
					title: "ASIN",
					description: "The Amazon Standard Identification Number (ASIN) identifier of the catalog item associated with the listings item.",
					examples: ["BT6RZ7JM4H"]
				},
				Sku: {
					type: "string",
					title: "SKU",
					description: "Identifier of the affected listings item.",
					examples: ["NLS-SHOES-03"]
				},
				Severities: {
					type: "array",
					title: "Severities",
					description: "Array of severities for the issues currently associated with the affected listings item. When no issues are affecting the listings item, \"NONE\" is provided instead.",
					items: {
						type: "string",
						enum: [
							"NONE",
							"ERROR",
							"WARNING"
						],
						"x-docgen-enum-table-extension": [
							{
								value: "NONE",
								description: "When provided, no issues are affecting the listings item."
							},
							{
								value: "ERROR",
								description: "When provided, at least one issue with \"ERROR\" severity is affecting the listings item."
							},
							{
								value: "WARNING",
								description: "When provided, at least one issue with \"WARNING\" severity is affecting the listings item."
							}
						]
					},
					uniqueItems: true,
					examples: [["ERROR", "WARNING"]]
				},
				EnforcementActions: {
					type: "array",
					title: "Enforcement Actions Taken",
					description: "Array of enforcement actions taken by Amazon for the issues associated with the affected listings item.",
					items: {
						type: "string",
						enum: ["SEARCH_SUPPRESSED"],
						"x-docgen-enum-table-extension": [{
							value: "SEARCH_SUPPRESSED",
							description: "When provided, the listing item is suppressed from search results caused by at least one issue currently associated with the affected listing item."
						}]
					},
					uniqueItems: true,
					examples: [["SEARCH_SUPPRESSED"]]
				}
			}
		},
		NotificationMetadata: {
			type: "object",
			title: "Notification Metadata",
			description: "The metadata of the notification.",
			examples: [{
				ApplicationId: "amzn1.sellerapps.app.f1234566-aaec-55a6-b123-bcb752069ec5",
				SubscriptionId: "93b098e1-c42-2f45-93a1-78910a6a8369",
				PublishTime: "2019-03-20T18:59:48.768Z",
				NotificationId: "8e009934-da2c-4f9c-9bc7-93f23b7e1f60"
			}],
			required: [
				"ApplicationId",
				"SubscriptionId",
				"PublishTime",
				"NotificationId"
			],
			properties: {
				ApplicationId: {
					type: "string",
					title: "Application ID",
					description: "Identifies the application.",
					examples: ["amzn1.sellerapps.app.f1234566-aaec-55a6-b123-bcb752069ec5"]
				},
				SubscriptionId: {
					type: "string",
					title: "Subscription ID",
					description: "Identifies the subscription.",
					examples: ["93b098e1-c42-2f45-93a1-78910a6a8369"]
				},
				PublishTime: {
					type: "string",
					format: "date-time",
					title: "Publish Time",
					description: "Timestamp of when the notification was published, formatted as ISO8601 date-time.",
					examples: ["2019-03-20T18:59:48.768Z"]
				},
				NotificationId: {
					type: "string",
					title: "Notification ID",
					description: "Identifies the notification.",
					examples: ["8e009934-da2c-4f9c-9bc7-93f23b7e1f60"]
				}
			}
		}
	}
};
//#endregion
//#region src/notifications/listings-item-issues-change-notification-2023-12-13.ts
const listingsItemIssuesChangeNotification20231213 = {
	title: "Listings Item Issues Change Notification",
	description: "To be delivered when issues are created, changed, or resolved for a listings item.",
	type: "object",
	examples: [{
		NotificationVersion: "1.0",
		NotificationType: "LISTINGS_ITEM_ISSUES_CHANGE",
		PayloadVersion: "2023-12-13",
		EventTime: "2024-02-05T18:59:30.194Z",
		Payload: {
			SellerId: "AXXXXXXXXXXXXX",
			MarketplaceId: "ATVPDKIKX0DER",
			Asin: "BT6RZ7JM4H",
			Sku: "NLS-SHOES-03",
			Severities: ["ERROR", "WARNING"],
			EnforcementActions: [
				"SEARCH_SUPPRESSED",
				"LISTING_SUPPRESSED",
				"ATTRIBUTE_SUPPRESSED",
				"CATALOG_ITEM_REMOVED"
			]
		},
		NotificationMetadata: {
			ApplicationId: "amzn1.sellerapps.app.f108f511-eeac-46a6-b125-bcb752069ed0",
			SubscriptionId: "93b098e1-c42-2f45-93a1-78910a6a8369",
			PublishTime: "2024-02-05T18:59:48.768Z",
			NotificationId: "8e009934-da2c-4f9c-9bc7-93f23b7e1f60"
		}
	}],
	required: [
		"NotificationVersion",
		"NotificationType",
		"PayloadVersion",
		"EventTime",
		"Payload",
		"NotificationMetadata"
	],
	properties: {
		NotificationVersion: {
			type: "string",
			title: "Notification Version",
			description: "The version of the notification.",
			examples: ["1.0"]
		},
		NotificationType: {
			type: "string",
			title: "Notification Type",
			description: "The type of the notification.",
			enum: ["LISTINGS_ITEM_ISSUES_CHANGE"]
		},
		PayloadVersion: {
			type: "string",
			title: "Payload Version",
			description: "The version of the payload.",
			examples: ["2023-12-13"]
		},
		EventTime: {
			type: "string",
			format: "date-time",
			title: "Event Time",
			description: "Timestamp of the event, formatted as ISO8601 date-time.",
			examples: ["2019-03-20T18:59:30.194Z"]
		},
		Payload: {
			type: "object",
			title: "Payload",
			description: "The details of this notification.",
			examples: [{
				SellerId: "A3AYAZLIQ7AX77",
				MarketplaceId: "ATVPDKIKX0DER",
				Asin: "BT6RZ7JM4H",
				Sku: "NLS-SHOES-03",
				Severities: ["ERROR", "WARNING"],
				EnforcementActions: [
					"SEARCH_SUPPRESSED",
					"LISTING_SUPPRESSED",
					"ATTRIBUTE_SUPPRESSED",
					"CATALOG_ITEM_REMOVED"
				]
			}],
			required: [
				"SellerId",
				"Sku",
				"Severities"
			],
			properties: {
				SellerId: {
					type: "string",
					title: "Seller ID",
					description: "Selling partner identifier, such as a merchant account or vendor code, of the affected listings item.",
					examples: ["AXXXXXXXXXXXXX", "TXXXX"]
				},
				MarketplaceId: {
					type: "string",
					title: "Marketplace ID",
					description: "Amazon marketplace identifier of the affected listings item.",
					examples: ["ATVPDKIKX0DER"]
				},
				Asin: {
					type: "string",
					title: "ASIN",
					description: "The Amazon Standard Identification Number (ASIN) identifier of the catalog item associated with the listings item.",
					examples: ["BT6RZ7JM4H"]
				},
				Sku: {
					type: "string",
					title: "SKU",
					description: "Identifier of the affected listings item.",
					examples: ["NLS-SHOES-03"]
				},
				Severities: {
					type: "array",
					title: "Severities",
					description: "Array of severities for the issues currently associated with the affected listings item. When no issues are affecting the listings item, \"NONE\" is provided instead.",
					items: {
						type: "string",
						enum: [
							"NONE",
							"ERROR",
							"WARNING"
						],
						"x-docgen-enum-table-extension": [
							{
								value: "NONE",
								description: "When provided, no issues are affecting the listings item."
							},
							{
								value: "ERROR",
								description: "When provided, at least one issue with \"ERROR\" severity is affecting the listings item."
							},
							{
								value: "WARNING",
								description: "When provided, at least one issue with \"WARNING\" severity is affecting the listings item."
							}
						]
					},
					uniqueItems: true,
					examples: [["ERROR", "WARNING"]]
				},
				EnforcementActions: {
					type: "array",
					title: "Enforcement Actions Taken",
					description: "Array of enforcement actions taken by Amazon for the issues associated with the affected listings item. Possible values: 'LISTING_SUPPRESSED' - This enforcement takes down the current listing item's buyability. 'ATTRIBUTE_SUPPRESSED' - An attribute's value on the listing item is invalid, which causes it to be rejected by Amazon. 'CATALOG_ITEM_REMOVED' - This catalog item is inactive on Amazon, and all offers against it in the applicable marketplace are non-buyable. 'SEARCH_SUPPRESSED' - This value indicates that the catalog item is hidden from search results.",
					items: { type: "string" },
					uniqueItems: true,
					examples: [[
						"SEARCH_SUPPRESSED",
						"LISTING_SUPPRESSED",
						"ATTRIBUTE_SUPPRESSED",
						"CATALOG_ITEM_REMOVED"
					]]
				}
			}
		},
		NotificationMetadata: {
			type: "object",
			title: "Notification Metadata",
			description: "The metadata of the notification.",
			examples: [{
				ApplicationId: "amzn1.sellerapps.app.f1234566-aaec-55a6-b123-bcb752069ec5",
				SubscriptionId: "93b098e1-c42-2f45-93a1-78910a6a8369",
				PublishTime: "2019-03-20T18:59:48.768Z",
				NotificationId: "8e009934-da2c-4f9c-9bc7-93f23b7e1f60"
			}],
			required: [
				"ApplicationId",
				"SubscriptionId",
				"PublishTime",
				"NotificationId"
			],
			properties: {
				ApplicationId: {
					type: "string",
					title: "Application ID",
					description: "Identifies the application.",
					examples: ["amzn1.sellerapps.app.f1234566-aaec-55a6-b123-bcb752069ec5"]
				},
				SubscriptionId: {
					type: "string",
					title: "Subscription ID",
					description: "Identifies the subscription.",
					examples: ["93b098e1-c42-2f45-93a1-78910a6a8369"]
				},
				PublishTime: {
					type: "string",
					format: "date-time",
					title: "Publish Time",
					description: "Timestamp of when the notification was published, formatted as ISO8601 date-time.",
					examples: ["2019-03-20T18:59:48.768Z"]
				},
				NotificationId: {
					type: "string",
					title: "Notification ID",
					description: "Identifies the notification.",
					examples: ["8e009934-da2c-4f9c-9bc7-93f23b7e1f60"]
				}
			}
		}
	}
};
//#endregion
//#region src/notifications/listings-item-mfn-quantity-change.ts
const listingsItemMfnQuantityChange = {
	title: "Listings Item MFN Quantity Change Notification",
	description: "To be delivered when the inventory quantity of a MFN Seller listing changes.",
	type: "object",
	examples: [{
		NotificationVersion: "1.0",
		NotificationType: "LISTINGS_ITEM_MFN_QUANTITY_CHANGE",
		PayloadVersion: "1.0",
		EventTime: "2021-02-03T18:59:30.194Z",
		Payload: {
			SellerId: "AXXXXXXXXXXXXX",
			FulfillmentChannelCode: "DEFAULT",
			Sku: "NLS-SHOES-03",
			Quantity: 99
		},
		NotificationMetadata: {
			ApplicationId: "amzn1.sellerapps.app.f108f511-eeac-46a6-b125-bcb752069ed0",
			SubscriptionId: "93b098e1-c42-2f45-93a1-78910a6a8369",
			PublishTime: "2021-02-03T18:59:30.194Z",
			NotificationId: "8e009934-da2c-4f9c-9bc7-93f23b7e1f60"
		}
	}],
	required: [
		"NotificationVersion",
		"NotificationType",
		"PayloadVersion",
		"EventTime",
		"Payload",
		"NotificationMetadata"
	],
	properties: {
		NotificationVersion: {
			type: "string",
			title: "Notification Version",
			description: "The version of the notification.",
			examples: ["1.0"]
		},
		NotificationType: {
			type: "string",
			title: "Notification Type",
			description: "The type of the notification.",
			enum: ["LISTINGS_ITEM_MFN_QUANTITY_CHANGE"]
		},
		PayloadVersion: {
			type: "string",
			title: "Payload Version",
			description: "The version of the payload.",
			examples: ["1.0"]
		},
		EventTime: {
			type: "string",
			format: "date-time",
			title: "Event Time",
			description: "Timestamp of the event, formatted as ISO8601 date-time.",
			examples: ["2019-03-20T18:59:30.194Z"]
		},
		Payload: {
			type: "object",
			title: "Payload",
			description: "The details of this notification.",
			examples: [{
				SellerId: "AXXXXXXXXXXXXX",
				FulfillmentChannelCode: "DEFAULT",
				Sku: "NLS-SHOES-03",
				Quantity: 99
			}],
			required: [
				"SellerId",
				"FulfillmentChannelCode",
				"Sku",
				"Quantity"
			],
			properties: {
				SellerId: {
					type: "string",
					title: "Seller ID",
					description: "Selling partner identifier, such as a merchant ID, of the affected listings item.",
					examples: ["AXXXXXXXXXXXXX"]
				},
				FulfillmentChannelCode: {
					type: "string",
					title: "Fulfillment Channel Code",
					description: "The Fulfillment channel code representing the MFN (seller-fulfilled) fulfillment program, network, or channel where the quantity is applicable.",
					examples: ["DEFAULT"]
				},
				Sku: {
					type: "string",
					title: "SKU",
					description: "A selling partner provided identifier for an Amazon listing.",
					examples: ["NLS-SHOES-03"]
				},
				Quantity: {
					type: "integer",
					title: "Quantity",
					description: "The available quantity for MFN (seller-fulfillment) with the fulfillment program, network, or channel.",
					examples: [99]
				}
			}
		},
		NotificationMetadata: {
			type: "object",
			title: "Notification Metadata",
			description: "The metadata of the notification.",
			examples: [{
				ApplicationId: "amzn1.sellerapps.app.f1234566-aaec-55a6-b123-bcb752069ec5",
				SubscriptionId: "93b098e1-c42-2f45-93a1-78910a6a8369",
				PublishTime: "2019-03-20T18:59:48.768Z",
				NotificationId: "8e009934-da2c-4f9c-9bc7-93f23b7e1f60"
			}],
			required: [
				"ApplicationId",
				"SubscriptionId",
				"PublishTime",
				"NotificationId"
			],
			properties: {
				ApplicationId: {
					type: "string",
					title: "Application ID",
					description: "An identifier of the application.",
					examples: ["amzn1.sellerapps.app.f1234566-aaec-55a6-b123-bcb752069ec5"]
				},
				SubscriptionId: {
					type: "string",
					title: "Subscription ID",
					description: "An identifier of the subscription.",
					examples: ["93b098e1-c42-2f45-93a1-78910a6a8369"]
				},
				PublishTime: {
					type: "string",
					format: "date-time",
					title: "Publish Time",
					description: "Timestamp of when the notification was published, formatted as ISO8601 date-time.",
					examples: ["2019-03-20T18:59:48.768Z"]
				},
				NotificationId: {
					type: "string",
					title: "Notification ID",
					description: "An identifier of the notification.",
					examples: ["8e009934-da2c-4f9c-9bc7-93f23b7e1f60"]
				}
			}
		}
	}
};
//#endregion
//#region src/notifications/listings-item-status-change-notification.ts
const listingsItemStatusChangeNotification = {
	title: "Listings Item Status Change Notification",
	description: "To be delivered when the status (e.g. buyability, discoverability) of a listings item changes.",
	type: "object",
	examples: [{
		NotificationVersion: "1.0",
		NotificationType: "LISTINGS_ITEM_STATUS_CHANGE",
		PayloadVersion: "1.0",
		EventTime: "2021-02-03T18:59:30.194Z",
		Payload: {
			SellerId: "A3AYAZLIQ7AX77",
			MarketplaceId: "ATVPDKIKX0DER",
			Asin: "BT6RZ7JM4H",
			Sku: "NLS-SHOES-03",
			CreatedDate: "2021-02-03T18:50:26.196Z",
			Status: ["BUYABLE", "DISCOVERABLE"]
		},
		NotificationMetadata: {
			ApplicationId: "amzn1.sellerapps.app.f108f511-eeac-46a6-b125-bcb752069ed0",
			SubscriptionId: "93b098e1-c42-2f45-93a1-78910a6a8369",
			PublishTime: "2021-02-03T18:59:30.194Z",
			NotificationId: "8e009934-da2c-4f9c-9bc7-93f23b7e1f60"
		}
	}],
	required: [
		"NotificationVersion",
		"NotificationType",
		"PayloadVersion",
		"EventTime",
		"Payload",
		"NotificationMetadata"
	],
	properties: {
		NotificationVersion: {
			type: "string",
			title: "Notification Version",
			description: "The version of the notification.",
			examples: ["1.0"]
		},
		NotificationType: {
			type: "string",
			title: "Notification Type",
			description: "The type of the notification.",
			enum: ["LISTINGS_ITEM_STATUS_CHANGED"]
		},
		PayloadVersion: {
			type: "string",
			title: "Payload Version",
			description: "The version of the payload.",
			examples: ["1.0"]
		},
		EventTime: {
			type: "string",
			format: "date-time",
			title: "Event Time",
			description: "Timestamp of the event, formatted as ISO8601 date-time.",
			examples: ["2019-03-20T18:59:30.194Z"]
		},
		Payload: {
			type: "object",
			title: "Payload",
			description: "The details of this notification.",
			examples: [{
				SellerId: "A3AYAZLIQ7AX77",
				MarketplaceId: "ATVPDKIKX0DER",
				Asin: "BT6RZ7JM4H",
				Sku: "NLS-SHOES-03",
				CreatedDate: "2021-02-03T18:50:26.196Z",
				Status: ["BUYABLE", "DISCOVERABLE"]
			}],
			required: [
				"SellerId",
				"Sku",
				"Status"
			],
			properties: {
				SellerId: {
					type: "string",
					title: "Seller ID",
					description: "Selling partner identifier, such as a merchant account, of the affected listings item.",
					examples: ["A3AYAZLIQ7AX77"]
				},
				MarketplaceId: {
					type: "string",
					title: "Marketplace ID",
					description: "Amazon marketplace identifier of the affected listings item.",
					examples: ["ATVPDKIKX0DER"]
				},
				Asin: {
					type: "string",
					title: "ASIN",
					description: "The Amazon Standard Identification Number (ASIN) identifier of the catalog item associated with the listings item.",
					examples: ["BT6RZ7JM4H"]
				},
				Sku: {
					type: "string",
					title: "SKU",
					description: "Identifier of the affected listings item.",
					examples: ["NLS-SHOES-03"]
				},
				CreatedDate: {
					type: "string",
					format: "date-time",
					title: "Created Date",
					description: "Timestamp of when the listings item was created, formatted as ISO8601 date-time.",
					examples: ["2021-02-03T18:50:26.196Z"]
				},
				Status: {
					type: "array",
					title: "Status",
					description: "Array of status states currently associated with the affected listings item. The absence of a value indicates the status state is not currently applicable to the listings item. For example, if \"BUYABLE\" is not present, the listings item is not currently buyable.",
					items: {
						type: "string",
						enum: [
							"BUYABLE",
							"DISCOVERABLE",
							"DELETED"
						],
						"x-docgen-enum-table-extension": [
							{
								value: "BUYABLE",
								description: "When provided, the listings item is buyable. When omitted, the listings item is non-buyable."
							},
							{
								value: "DISCOVERABLE",
								description: "When provided, the listings item is discoverable. When omitted, the listings item is non-discoverable."
							},
							{
								value: "DELETED",
								description: "When provided, the listings item is deleted. When omitted, the listings item is non-deleted."
							}
						]
					},
					uniqueItems: true,
					examples: [["BUYABLE", "DISCOVERABLE"]]
				}
			}
		},
		NotificationMetadata: {
			type: "object",
			title: "Notification Metadata",
			description: "The metadata of the notification.",
			examples: [{
				ApplicationId: "amzn1.sellerapps.app.f1234566-aaec-55a6-b123-bcb752069ec5",
				SubscriptionId: "93b098e1-c42-2f45-93a1-78910a6a8369",
				PublishTime: "2019-03-20T18:59:48.768Z",
				NotificationId: "8e009934-da2c-4f9c-9bc7-93f23b7e1f60"
			}],
			required: [
				"ApplicationId",
				"SubscriptionId",
				"PublishTime",
				"NotificationId"
			],
			properties: {
				ApplicationId: {
					type: "string",
					title: "Application ID",
					description: "Identifies the application.",
					examples: ["amzn1.sellerapps.app.f1234566-aaec-55a6-b123-bcb752069ec5"]
				},
				SubscriptionId: {
					type: "string",
					title: "Subscription ID",
					description: "Identifies the subscription.",
					examples: ["93b098e1-c42-2f45-93a1-78910a6a8369"]
				},
				PublishTime: {
					type: "string",
					format: "date-time",
					title: "Publish Time",
					description: "Timestamp of when the notification was published, formatted as ISO8601 date-time.",
					examples: ["2019-03-20T18:59:48.768Z"]
				},
				NotificationId: {
					type: "string",
					title: "Notification ID",
					description: "Identifies the notification.",
					examples: ["8e009934-da2c-4f9c-9bc7-93f23b7e1f60"]
				}
			}
		}
	}
};
//#endregion
//#region src/notifications/order-change-notification.ts
const orderChangeNotification = {
	$id: "http://example.com/example.json",
	type: "object",
	title: "The root schema",
	description: "The notification response schema that comprises the entire JSON document for ORDER_CHANGE notification.",
	examples: [{
		NotificationVersion: "1.0",
		NotificationType: "ORDER_CHANGE",
		PayloadVersion: "1.0",
		EventTime: "2020-01-11T00:09:53.109Z",
		Payload: { OrderChangeNotification: {
			NotificationLevel: "OrderLevel",
			SellerId: "A3TH9S8BH6GOGM",
			AmazonOrderId: "903-8868176-2219830",
			OrderChangeType: "BuyerRequestedChange",
			OrderChangeTrigger: {
				TimeOfOrderChange: "2022-11-29T19:42:04.284Z",
				ChangeReason: "Buyer Requested Cancel"
			},
			Summary: {
				MarketplaceId: "ATVPDKIKX0DER",
				OrderStatus: "Unshipped",
				PurchaseDate: "2022-07-13T19:42:04.284Z",
				DestinationPostalCode: "48110",
				FulfillmentType: "MFN",
				OrderType: "StandardOrder",
				NumberOfItemsShipped: 0,
				NumberOfItemsUnshipped: 10,
				EarliestDeliveryDate: "2022-11-07T19:42:04.284Z",
				LatestDeliveryDate: "2022-12-07T19:42:04.284Z",
				EarliestShipDate: "2022-11-07T19:42:04.284Z",
				LatestShipDate: "2022-12-07T19:42:04.284Z",
				CancelNotifyDate: "2022-12-07T19:42:04.284Z",
				OrderPrograms: ["Business"],
				ShippingPrograms: ["EasyShip"],
				EasyShipShipmentStatus: "Delivered",
				ElectronicInvoiceStatus: "NotFound",
				OrderItems: [{
					OrderItemId: "OIID34853450",
					SellerSKU: "SellerSKUID1",
					SupplySourceId: "d7679e14-031b-4ab3-a81b-ec4fc7a460b3",
					OrderItemStatus: "Unshipped",
					Quantity: 10,
					QuantityShipped: 0,
					IsBuyerRequestedCancel: true,
					ItemEarliestDeliveryDate: "2022-11-07T19:42:04.284Z",
					ItemLatestDeliveryDate: "2022-12-07T19:42:04.284Z"
				}]
			}
		} },
		NotificationMetadata: {
			ApplicationId: "app-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746",
			SubscriptionId: "subscription-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746",
			PublishTime: "2020-07-13T19:42:04.284Z",
			NotificationId: "d0e9e693-c3ad-4373-979f-ed4ec98dd746"
		}
	}],
	required: [
		"NotificationVersion",
		"NotificationType",
		"PayloadVersion",
		"EventTime",
		"Payload",
		"NotificationMetadata"
	],
	properties: {
		NotificationVersion: {
			$id: "#/properties/NotificationVersion",
			type: "string",
			title: "The NotificationVersion schema",
			description: "The notification version.",
			examples: ["1.0"]
		},
		NotificationType: {
			$id: "#/properties/NotificationType",
			type: "string",
			title: "The NotificationType schema",
			description: "The type of this notification, used to differentiate different notifications. Combined with payload version controls the structure of payload object.",
			examples: ["ORDER_CHANGE"]
		},
		PayloadVersion: {
			$id: "#/properties/PayloadVersion",
			type: "string",
			title: "The PayloadVersion schema",
			description: "The payload version of the notification.",
			examples: ["1.0"]
		},
		EventTime: {
			$id: "#/properties/EventTime",
			type: "string",
			title: "The EventTime schema",
			description: "The time when this notification was published, presented in ISO-8601 date/time format.",
			examples: ["2020-01-11T00:09:53.109Z"]
		},
		Payload: {
			$id: "#/properties/Payload",
			type: "object",
			title: "The Payload schema",
			description: "The payload for this ORDER_CHANGE notification. It's unique for different event type and will provide more in-depth information about this notification.",
			examples: [{ OrderChangeNotification: {
				NotificationLevel: "OrderLevel",
				SellerId: "A3TH9S8BH6GOGM",
				AmazonOrderId: "903-8868176-2219830",
				OrderChangeType: "BuyerRequestedChange",
				OrderChangeTrigger: {
					TimeOfOrderChange: "2022-11-29T19:42:04.284Z",
					ChangeReason: "Buyer Requested Cancel"
				},
				Summary: {
					MarketplaceId: "ATVPDKIKX0DER",
					OrderStatus: "Unshipped",
					PurchaseDate: "2022-07-13T19:42:04.284Z",
					DestinationPostalCode: "48110",
					FulfillmentType: "MFN",
					OrderType: "StandardOrder",
					NumberOfItemsShipped: 0,
					NumberOfItemsUnshipped: 10,
					EarliestDeliveryDate: "2022-11-07T19:42:04.284Z",
					LatestDeliveryDate: "2022-12-07T19:42:04.284Z",
					EarliestShipDate: "2022-11-07T19:42:04.284Z",
					LatestShipDate: "2022-12-07T19:42:04.284Z",
					CancelNotifyDate: "2022-12-07T19:42:04.284Z",
					OrderPrograms: ["Business"],
					ShippingPrograms: ["EasyShip"],
					EasyShipShipmentStatus: "Delivered",
					ElectronicInvoiceStatus: "NotFound",
					OrderItems: [{
						OrderItemId: "OIID34853450",
						SellerSKU: "SellerSKUID1",
						SupplySourceId: "d7679e14-031b-4ab3-a81b-ec4fc7a460b3",
						OrderItemStatus: "Unshipped",
						Quantity: 10,
						QuantityShipped: 0,
						IsBuyerRequestedCancel: true,
						ItemEarliestDeliveryDate: "2022-11-07T19:42:04.284Z",
						ItemLatestDeliveryDate: "2022-12-07T19:42:04.284Z"
					}]
				}
			} }],
			required: ["OrderChangeNotification"],
			properties: { OrderChangeNotification: {
				$id: "#/properties/Payload/properties/OrderChangeNotification",
				type: "object",
				title: "The OrderChangeNotification schema",
				description: "An explanation about the ORDER_CHANGE notification.",
				examples: [{
					NotificationLevel: "OrderLevel",
					SellerId: "A3TH9S8BH6GOGM",
					AmazonOrderId: "903-8868176-2219830",
					OrderChangeType: "BuyerRequestedChange",
					OrderChangeTrigger: {
						TimeOfOrderChange: "2022-11-29T19:42:04.284Z",
						ChangeReason: "Buyer Requested Cancel"
					},
					Summary: {
						MarketplaceId: "ATVPDKIKX0DER",
						OrderStatus: "Unshipped",
						PurchaseDate: "2022-07-13T19:42:04.284Z",
						DestinationPostalCode: "48110",
						FulfillmentType: "MFN",
						OrderType: "StandardOrder",
						NumberOfItemsShipped: 0,
						NumberOfItemsUnshipped: 10,
						EarliestDeliveryDate: "2022-11-07T19:42:04.284Z",
						LatestDeliveryDate: "2022-12-07T19:42:04.284Z",
						EarliestShipDate: "2022-11-07T19:42:04.284Z",
						LatestShipDate: "2022-12-07T19:42:04.284Z",
						CancelNotifyDate: "2022-12-07T19:42:04.284Z",
						OrderPrograms: ["Business"],
						ShippingPrograms: ["EasyShip"],
						EasyShipShipmentStatus: "Delivered",
						ElectronicInvoiceStatus: "NotFound",
						OrderItems: [{
							OrderItemId: "OIID34853450",
							SellerSKU: "SellerSKUID1",
							SupplySourceId: "d7679e14-031b-4ab3-a81b-ec4fc7a460b3",
							OrderItemStatus: "Unshipped",
							Quantity: 10,
							QuantityShipped: 0,
							IsBuyerRequestedCancel: true,
							ItemEarliestDeliveryDate: "2022-11-07T19:42:04.284Z",
							ItemLatestDeliveryDate: "2022-12-07T19:42:04.284Z"
						}]
					}
				}],
				required: [
					"NotificationLevel",
					"SellerId",
					"AmazonOrderId",
					"OrderChangeType",
					"OrderChangeTrigger",
					"Summary"
				],
				properties: {
					NotificationLevel: {
						$id: "#/properties/Payload/properties/OrderChangeNotification/properties/NotificationLevel",
						type: "string",
						enum: ["OrderItemLevel", "OrderLevel"],
						title: "The NotificationLevel schema",
						description: "The notification level of current notification.",
						examples: ["OrderLevel"]
					},
					SellerId: {
						$id: "#/properties/Payload/properties/OrderChangeNotification/properties/SellerId",
						type: "string",
						title: "The SellerId schema",
						description: "The selling partner identifier.",
						examples: ["AXXXXXXXXXXXXX"]
					},
					AmazonOrderId: {
						$id: "#/properties/Payload/properties/OrderChangeNotification/properties/AmazonOrderId",
						type: "string",
						title: "The AmazonOrderId schema",
						description: "The Amazon order identifier, in 3-7-7 format.",
						examples: ["903-8868176-2219830"]
					},
					OrderChangeType: {
						$id: "#/properties/Payload/properties/OrderChangeNotification/properties/OrderChangeType",
						type: "string",
						enum: [
							"BuyerRequestedChange",
							"DeliveryTipChange",
							"OrderStatusChange"
						],
						title: "The OrderChangeType schema",
						description: "Change type of this notification. The possible values include BuyerRequestedChange, DeliveryTipChange, OrderStatusChange.",
						examples: ["BuyerRequestedChange"]
					},
					OrderChangeTrigger: {
						$id: "#/properties/Payload/properties/OrderChangeNotification/properties/OrderChangeTrigger",
						type: "object",
						title: "The OrderChangeTrigger schema",
						description: "Details about what triggered this ORDER_CHANGE notification.",
						examples: [{
							TimeOfOrderChange: "2022-11-29T19:42:04.284Z",
							ChangeReason: "Buyer Requested Cancel"
						}],
						required: ["TimeOfOrderChange", "ChangeReason"],
						properties: {
							TimeOfOrderChange: {
								$id: "#/properties/Payload/properties/OrderChangeNotification/properties/OrderChangeTrigger/properties/TimeOfOrderChange",
								type: ["string", "null"],
								title: "The TimeOfOrderChange schema",
								description: "The timestamp for the change that caused this notification, presented in ISO-8601 date/time format. It will be null when there is no related timestamp.",
								examples: ["2022-11-29T19:42:04.284Z"]
							},
							ChangeReason: {
								$id: "#/properties/Payload/properties/OrderChangeNotification/properties/OrderChangeTrigger/properties/ChangeReason",
								type: "string",
								title: "The ChangeReason schema",
								description: "The reason for this ORDER_CHANGE notification.",
								examples: ["Buyer Requested Cancel"]
							}
						}
					},
					Summary: {
						$id: "#/properties/Payload/properties/OrderChangeNotification/properties/Summary",
						type: "object",
						title: "The Summary schema",
						description: "Information about order and order items that had the change.",
						examples: [{
							MarketplaceId: "ATVPDKIKX0DER",
							OrderStatus: "Unshipped",
							PurchaseDate: "2022-07-13T19:42:04.284Z",
							DestinationPostalCode: "48110",
							FulfillmentType: "MFN",
							OrderType: "StandardOrder",
							NumberOfItemsShipped: 0,
							NumberOfItemsUnshipped: 10,
							EarliestDeliveryDate: "2022-11-07T19:42:04.284Z",
							LatestDeliveryDate: "2022-12-07T19:42:04.284Z",
							EarliestShipDate: "2022-11-07T19:42:04.284Z",
							LatestShipDate: "2022-12-07T19:42:04.284Z",
							CancelNotifyDate: "2022-12-07T19:42:04.284Z",
							OrderPrograms: ["Business"],
							ShippingPrograms: ["EasyShip"],
							EasyShipShipmentStatus: "Delivered",
							ElectronicInvoiceStatus: "NotFound",
							OrderItems: [{
								OrderItemId: "OIID34853450",
								SellerSKU: "SellerSKUID1",
								OrderItemStatus: "Unshipped",
								Quantity: 10,
								QuantityShipped: 0,
								IsBuyerRequestedCancel: true,
								ItemEarliestDeliveryDate: "2022-11-07T19:42:04.284Z",
								ItemLatestDeliveryDate: "2022-12-07T19:42:04.284Z"
							}]
						}],
						required: [
							"MarketplaceId",
							"OrderStatus",
							"PurchaseDate",
							"DestinationPostalCode",
							"FulfillmentType",
							"OrderType",
							"OrderItems"
						],
						properties: {
							MarketplaceId: {
								$id: "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/MarketplaceId",
								type: "string",
								title: "The MarketplaceId schema",
								description: "The Amazon marketplace identifier of the order.",
								examples: ["ATVPDKIKX0DER"]
							},
							OrderStatus: {
								$id: "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/OrderStatus",
								type: "string",
								enum: [
									"Pending",
									"Unshipped",
									"PartiallyShipped",
									"Shipped",
									"Canceled",
									"Unfulfillable",
									"InvoiceUnconfirmed",
									"PendingAvailability"
								],
								title: "The OrderStatus schema",
								description: "The current order status.",
								examples: ["Unshipped"]
							},
							PurchaseDate: {
								$id: "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/PurchaseDate",
								type: ["string", "null"],
								title: "The PurchaseDate schema",
								description: "The purchase date of the order, presented in ISO-8601 date/time format. It will be null when there is no related information.",
								examples: ["2022-07-13T19:42:04.284Z"]
							},
							DestinationPostalCode: {
								$id: "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/DestinationPostalCode",
								type: ["string", "null"],
								title: "The DestinationPostalCode schema",
								description: "The destination postal code. It will be null when there is no related information.",
								examples: ["48110"]
							},
							FulfillmentType: {
								$id: "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/FulfillmentType",
								type: "string",
								enum: ["AFN", "MFN"],
								title: "The FulfillmentType schema",
								description: "Fulfillment type of the affected order, MFN or AFN.",
								examples: ["MFN"]
							},
							OrderType: {
								$id: "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/OrderType",
								type: "string",
								enum: [
									"StandardOrder",
									"LongLeadTimeOrder",
									"Preorder",
									"BackOrder",
									"SourcingOnDemandOrder"
								],
								title: "The OrderType schema",
								description: "The type of the order.",
								examples: ["StandardOrder"]
							},
							NumberOfItemsShipped: {
								$id: "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/NumberOfItemsShipped",
								type: "integer",
								title: "The NumberOfItemsShipped schema",
								description: "The number of items shipped.",
								examples: [0]
							},
							NumberOfItemsUnshipped: {
								$id: "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/NumberOfItemsUnshipped",
								type: "integer",
								title: "The NumberOfItemsUnshipped schema",
								description: "The number of items unshipped.",
								examples: [10]
							},
							EarliestDeliveryDate: {
								$id: "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/EarliestDeliveryDate",
								type: "string",
								title: "The EarliestDeliveryDate schema",
								description: "The start of the time period within which you have committed to fulfill the order, presented in ISO-8601 date/time format. Returned only for seller-fulfilled orders.",
								examples: ["2022-11-07T19:42:04.284Z"]
							},
							LatestDeliveryDate: {
								$id: "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/LatestDeliveryDate",
								type: "string",
								title: "The LatestDeliveryDate schema",
								description: "The end of the time period within which you have committed to fulfill the order, presented in ISO-8601 date/time format. Returned only for seller-fulfilled orders that do not have a PendingAvailability, Pending, or Canceled status.",
								examples: ["2022-12-07T19:42:04.284Z"]
							},
							EarliestShipDate: {
								$id: "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/EarliestShipDate",
								type: "string",
								title: "The EarliestShipDate schema",
								description: "The start of the time period within which you have committed to ship the order, presented in ISO-8601 date/time format.",
								examples: ["2022-11-07T19:42:04.284Z"]
							},
							LatestShipDate: {
								$id: "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/LatestShipDate",
								type: "string",
								title: "The LatestShipDate schema",
								description: "The end of the time period within which you have committed to ship the order, presented in ISO-8601 date/time format.",
								examples: ["2022-12-07T19:42:04.284Z"]
							},
							CancelNotifyDate: {
								$id: "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/CancelNotifyDate",
								type: "string",
								title: "The CancelNotifyDate schema",
								description: "The end of the time period which you cancel notify for the order, presented in ISO-8601 date/time format.",
								examples: ["2022-12-07T19:42:04.284Z"]
							},
							OrderPrograms: {
								$id: "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/OrderPrograms",
								type: "array",
								title: "The OrderPrograms schema",
								description: "The order programs, if any, in which this order participates.",
								items: {
									type: "string",
									enum: [
										"Business",
										"Prime",
										"Premium",
										"IBA",
										"Replacement"
									]
								},
								examples: [["Business"]]
							},
							ShippingPrograms: {
								$id: "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/ShippingPrograms",
								type: "array",
								title: "The ShippingPrograms schema",
								description: "The shipping programs, if any, in which this order participates.",
								items: {
									type: "string",
									enum: [
										"ShipDateSet",
										"GlobalExpress",
										"ISPU",
										"AccessPoint",
										"TFM",
										"EasyShip"
									]
								},
								examples: [["EasyShip"]]
							},
							EasyShipShipmentStatus: {
								$id: "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/EasyShipShipmentStatus",
								type: "string",
								enum: [
									"PendingSchedule",
									"PendingPickUp",
									"PendingDropOff",
									"LabelCanceled",
									"PickedUp",
									"DroppedOff",
									"AtOriginFC",
									"AtDestinationFC",
									"Delivered",
									"RejectedByBuyer",
									"Undeliverable",
									"ReturningToSeller",
									"ReturnedToSeller",
									"Lost",
									"OutForDelivery",
									"Damaged"
								],
								title: "The EasyShipShipmentStatus schema",
								description: "The status of the Amazon Easy Ship order. This property is included only for Amazon Easy Ship orders.",
								examples: ["Delivered"]
							},
							ElectronicInvoiceStatus: {
								$id: "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/ElectronicInvoiceStatus",
								type: "string",
								enum: [
									"NotRequired",
									"NotFound",
									"Processing",
									"Errored",
									"Accepted"
								],
								title: "The ElectronicInvoiceStatus schema",
								description: "The status of the electronic invoice.",
								examples: ["NotFound"]
							},
							OrderItems: {
								$id: "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/OrderItems",
								type: "array",
								title: "The OrderItems schema",
								description: "Information about order items included in this order. For OrderItemLevel notification, one payload include one item, while for OrderLevel notification, one payload include all items.",
								examples: [[{
									OrderItemId: "OIID34853450",
									SellerSKU: "SellerSKUID1",
									SupplySourceId: "d7679e14-031b-4ab3-a81b-ec4fc7a460b3",
									OrderItemStatus: "Unshipped",
									Quantity: 10,
									QuantityShipped: 0,
									IsBuyerRequestedCancel: true,
									ItemEarliestDeliveryDate: "2022-11-07T19:42:04.284Z",
									ItemLatestDeliveryDate: "2022-12-07T19:42:04.284Z"
								}]],
								items: {
									type: "object",
									title: "The OrderItem schema",
									description: "Information about every order item.",
									examples: [{
										OrderItemId: "OIID34853450",
										SellerSKU: "SellerSKUID1",
										SupplySourceId: "d7679e14-031b-4ab3-a81b-ec4fc7a460b3",
										OrderItemStatus: "Unshipped",
										Quantity: 10,
										QuantityShipped: 0,
										IsBuyerRequestedCancel: true,
										ItemEarliestDeliveryDate: "2022-11-07T19:42:04.284Z",
										ItemLatestDeliveryDate: "2022-12-07T19:42:04.284Z"
									}],
									required: [
										"OrderItemId",
										"SellerSKU",
										"SupplySourceId",
										"Quantity"
									],
									properties: {
										OrderItemId: {
											$id: "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/OrderItems/OrderItemId",
											type: "string",
											title: "The OrderItemId schema",
											description: "The Amazon-defined order item identifier.",
											examples: ["OIID34853450"]
										},
										SellerSKU: {
											$id: "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/OrderItems/SellerSKU",
											type: "string",
											title: "The SellerSKU schema",
											description: "The seller-specific SKU identifier for an item.",
											examples: ["SellerSKUID1"]
										},
										SupplySourceId: {
											$id: "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/OrderItems/SupplySourceId",
											type: ["string", "null"],
											title: "The SupplySourceId schema",
											description: "The unique identifier of the supply source. It will be null when there is no related information.",
											examples: ["d7679e14-031b-4ab3-a81b-ec4fc7a460b3"]
										},
										OrderItemStatus: {
											$id: "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/OrderItems/OrderItemStatus",
											type: "string",
											enum: ["Unshipped", "Shipped"],
											title: "The OrderItemStatus schema",
											description: "The current status of the order item. Will display it when items' status are different.",
											examples: ["Unshipped"]
										},
										Quantity: {
											$id: "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/OrderItems/Quantity",
											type: "integer",
											title: "The Quantity schema",
											description: "The number of items in the order.",
											examples: [10]
										},
										QuantityShipped: {
											$id: "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/OrderItems/QuantityShipped",
											type: "integer",
											title: "The QuantityShipped schema",
											description: "The number of items shipped.",
											examples: [0]
										},
										IsBuyerRequestedCancel: {
											$id: "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/OrderItems/IsBuyerRequestedCancel",
											type: "boolean",
											title: "The IsBuyerRequestedCancel schema",
											description: "Information about whether or not a buyer requested cancellation. When true, the buyer has requested cancellation.",
											examples: [true]
										},
										ItemEarliestDeliveryDate: {
											$id: "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/OrderItems/ItemEarliestDeliveryDate",
											type: "string",
											title: "The ItemEarliestDeliveryDate schema",
											description: "The start of the time period within which you have committed to fulfill the order item.",
											examples: ["2022-11-07T19:42:04.284Z"]
										},
										ItemLatestDeliveryDate: {
											$id: "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/OrderItems/ItemLatestDeliveryDate",
											type: "string",
											title: "The ItemLatestDeliveryDate schema",
											description: "The end of the time period within which you have committed to fulfill the order item.",
											examples: ["2022-12-07T19:42:04.284Z"]
										}
									}
								}
							}
						}
					}
				}
			} }
		},
		NotificationMetadata: {
			$id: "#/properties/NotificationMetadata",
			type: "object",
			title: "The NotificationMetadata schema",
			description: "The notification metadata.",
			examples: [{
				ApplicationId: "app-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746",
				SubscriptionId: "subscription-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746",
				PublishTime: "2020-07-13T19:42:04.284Z",
				NotificationId: "d0e9e693-c3ad-4373-979f-ed4ec98dd746"
			}],
			required: [
				"ApplicationId",
				"SubscriptionId",
				"PublishTime",
				"NotificationId"
			],
			properties: {
				ApplicationId: {
					$id: "#/properties/NotificationMetadata/properties/ApplicationId",
					type: "string",
					title: "The ApplicationId schema",
					description: "The identifier for the application that uses the notifications.",
					examples: ["app-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746"]
				},
				SubscriptionId: {
					$id: "#/properties/NotificationMetadata/properties/SubscriptionId",
					type: "string",
					title: "The SubscriptionId schema",
					description: "A unique identifier for the subscription which resulted in this notification.",
					examples: ["subscription-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746"]
				},
				PublishTime: {
					$id: "#/properties/NotificationMetadata/properties/PublishTime",
					type: "string",
					title: "The PublishTime schema",
					description: "The date and time (in UTC) that the notification was sent, presented in ISO-8601 date/time format.",
					examples: ["2020-07-13T19:42:04.284Z"]
				},
				NotificationId: {
					$id: "#/properties/NotificationMetadata/properties/NotificationId",
					type: "string",
					title: "The NotificationId schema",
					description: "A unique identifier for this notification instance.",
					examples: ["d0e9e693-c3ad-4373-979f-ed4ec98dd746"]
				}
			}
		}
	}
};
//#endregion
//#region src/notifications/pricing-health-notification.ts
const pricingHealthNotification = {
	type: "object",
	description: "The notification response schema that comprises the entire JSON document for PRICING_HEALTH notification",
	examples: [{
		notificationVersion: "1.0",
		notificationType: "PRICING_HEALTH",
		payloadVersion: "1.0",
		eventTime: "2020-09-23T21:30:13.713Z",
		payload: {
			issueType: "BuyBoxDisqualification",
			sellerId: "A3EZFOFNDPFB8R",
			offerChangeTrigger: {
				marketplaceId: "ATVPDKIKX0DER",
				asin: "B007IBIWZY",
				itemCondition: "new",
				timeOfOfferChange: "2020-09-23T21:30:13.409Z"
			},
			merchantOffer: {
				condition: "new",
				fulfillmentType: "MFN",
				listingPrice: {
					amount: 8184.23,
					currencyCode: "USD"
				},
				shipping: {
					amount: 4.49,
					currencyCode: "USD"
				},
				landedPrice: {
					amount: 8188.72,
					currencyCode: "USD"
				},
				points: { pointsNumber: 34343 }
			},
			summary: {
				numberOfOffers: [{
					condition: "new",
					fulfillmentType: "MFN",
					offerCount: 3
				}],
				buyBoxEligibleOffers: [{
					condition: "new",
					fulfillmentType: "MFN",
					offerCount: 3
				}],
				buyBoxPrices: [{
					condition: "new",
					listingPrice: {
						amount: 8184.23,
						currencyCode: "USD"
					},
					shipping: {
						amount: 4.49,
						currencyCode: "USD"
					},
					landedPrice: {
						amount: 8188.72,
						currencyCode: "USD"
					},
					points: { pointsNumber: 34343 }
				}],
				salesRankings: [{
					productCategoryId: "lawn_and_garden_display_on_website",
					rank: 4013
				}, {
					productCategoryId: "home_garden_display_on_website",
					rank: 17316
				}],
				referencePrice: {
					averageSellingPrice: {
						amount: 7500,
						currencyCode: "USD"
					},
					competitivePriceThreshold: {
						amount: 8e3,
						currencyCode: "USD"
					},
					msrpPrice: {
						amount: 7900,
						currencyCode: "USD"
					},
					retailOfferPrice: {
						amount: 8e3,
						currencyCode: "USD"
					}
				}
			}
		},
		notificationMetadata: {
			applicationId: "amzn1.sellerapps.app.1da85d14-a68d-4ff3-9ff0-df6429e00d9a",
			subscriptionId: "e3a059ca-677a-442a-8d39-05b2848971b6",
			publishTime: "2020-09-23T21:30:16.903Z",
			notificationId: "23ae41cd-3537-4676-af46-6ee9abf8802e"
		}
	}],
	$ref: "#/definitions/notificationResponse",
	definitions: {
		offerChangeTrigger: {
			type: "object",
			description: "The event that caused the notification to be sent",
			required: [
				"marketplaceId",
				"asin",
				"itemCondition",
				"timeOfOfferChange"
			],
			properties: {
				marketplaceId: {
					type: "string",
					description: "The marketplace identifier of the item that had an offer change"
				},
				asin: {
					type: "string",
					description: "The asin for the item that had an offer change"
				},
				itemCondition: {
					type: "string",
					description: "The condition of the item that had an offer change"
				},
				timeOfOfferChange: {
					type: "string",
					description: "The update time for the offer that caused this notification"
				}
			}
		},
		condition: {
			type: "string",
			description: "Indicates the condition of the item"
		},
		fulfillmentType: {
			type: "string",
			description: "Indicates whether the item is fulfilled by Amazon or by the seller",
			enum: ["AFN", "MFN"]
		},
		offerCount: {
			type: "object",
			required: [
				"condition",
				"fulfillmentType",
				"offerCount"
			],
			properties: {
				condition: { $ref: "#/definitions/condition" },
				fulfillmentType: { $ref: "#/definitions/fulfillmentType" },
				offerCount: {
					type: "integer",
					description: "The total number of offers for the specified condition and fulfillment channel"
				}
			}
		},
		moneyType: {
			type: "object",
			required: ["amount", "currencyCode"],
			properties: {
				amount: { type: "number" },
				currencyCode: { type: "string" }
			}
		},
		landedPrice: {
			$ref: "#/definitions/moneyType",
			description: "ListingPrice + Shipping"
		},
		listingPrice: {
			$ref: "#/definitions/moneyType",
			description: "The price of the item"
		},
		shipping: {
			$ref: "#/definitions/moneyType",
			description: "The shipping cost"
		},
		points: {
			type: "object",
			description: "The number of Amazon Points offered with the purchase of an item",
			required: ["pointsNumber"],
			properties: { pointsNumber: {
				type: "integer",
				description: "The number of Amazon Points offered with the purchase of an item"
			} }
		},
		merchantOffer: {
			type: "object",
			description: "Offer details of the merchant receiving the notification",
			required: [
				"condition",
				"fulfillmentType",
				"landedPrice",
				"shipping",
				"listingPrice"
			],
			properties: {
				condition: { $ref: "#/definitions/condition" },
				fulfillmentType: { $ref: "#/definitions/fulfillmentType" },
				landedPrice: { $ref: "#/definitions/landedPrice" },
				listingPrice: { $ref: "#/definitions/listingPrice" },
				shipping: { $ref: "#/definitions/shipping" },
				points: { $ref: "#/definitions/points" }
			}
		},
		buyBoxPrice: {
			type: "object",
			required: [
				"condition",
				"landedPrice",
				"shipping",
				"listingPrice"
			],
			properties: {
				condition: { $ref: "#/definitions/condition" },
				landedPrice: { $ref: "#/definitions/landedPrice" },
				listingPrice: { $ref: "#/definitions/listingPrice" },
				shipping: { $ref: "#/definitions/shipping" },
				points: { $ref: "#/definitions/points" }
			}
		},
		salesRank: {
			type: "object",
			required: ["productCategoryId", "rank"],
			properties: {
				productCategoryId: {
					type: "string",
					description: "The product category for the rank"
				},
				rank: {
					type: "integer",
					description: "The sales rank of the ASIN"
				}
			}
		},
		averageSellingPrice: {
			$ref: "#/definitions/moneyType",
			description: "The average selling price of the item"
		},
		competitivePriceThreshold: {
			$ref: "#/definitions/moneyType",
			description: "The competitive price threshold from external competitors of Amazon"
		},
		retailOfferPrice: {
			$ref: "#/definitions/moneyType",
			description: "The 14 day maximum of retail offer price"
		},
		msrpPrice: {
			$ref: "#/definitions/moneyType",
			description: "The manufacturer suggested retail price for the ASIN"
		},
		referencePrice: {
			type: "object",
			description: "A set of reference prices for the given ASIN",
			properties: {
				averageSellingPrice: { $ref: "#/definitions/averageSellingPrice" },
				competitivePriceThreshold: { $ref: "#/definitions/competitivePriceThreshold" },
				retailOfferPrice: { $ref: "#/definitions/retailOfferPrice" },
				msrpPrice: { $ref: "#/definitions/msrpPrice" }
			}
		},
		summary: {
			type: "object",
			required: [
				"numberOfOffers",
				"buyBoxEligibleOffers",
				"referencePrice"
			],
			properties: {
				numberOfOffers: {
					type: "array",
					description: "A list that contains the total number of offers for the item for the given conditions and fulfillment channels",
					additionalItems: true,
					items: [{ $ref: "#/definitions/offerCount" }]
				},
				buyBoxEligibleOffers: {
					type: "array",
					description: "A list that contains the total number of offers that are eligible for the Buy Box for the given conditions and fulfillment channels",
					additionalItems: true,
					items: [{ $ref: "#/definitions/offerCount" }]
				},
				buyBoxPrices: {
					type: "array",
					description: "A list that contains the Buy Box price of the item for the given conditions",
					additionalItems: true,
					items: [{ $ref: "#/definitions/buyBoxPrice" }]
				},
				salesRankings: {
					type: "array",
					description: "A list that contains the sales rankings of the asin in various product categories",
					additionalItems: true,
					items: [{ $ref: "#/definitions/salesRank" }]
				},
				referencePrice: { $ref: "#/definitions/referencePrice" }
			}
		},
		payload: {
			type: "object",
			required: [
				"issueType",
				"sellerId",
				"offerChangeTrigger",
				"merchantOffer",
				"summary"
			],
			properties: {
				sellerId: {
					type: "string",
					description: "The seller identifier for the offer"
				},
				issueType: {
					type: "string",
					description: "The issue type for the notification"
				},
				offerChangeTrigger: { $ref: "#/definitions/offerChangeTrigger" },
				merchantOffer: { $ref: "#/definitions/merchantOffer" },
				summary: { $ref: "#/definitions/summary" }
			}
		},
		notificationMetadata: {
			type: "object",
			required: [
				"applicationId",
				"subscriptionId",
				"publishTime",
				"notificationId"
			],
			properties: {
				applicationId: {
					type: "string",
					description: "The identifier for the application that uses the notifications"
				},
				subscriptionId: {
					type: "string",
					description: "A unique identifier for the subscription which resulted in this notification"
				},
				publishTime: {
					type: "string",
					description: "The date and time (in UTC) that the notification was sent"
				},
				notificationId: {
					type: "string",
					description: "A unique identifier for this notification instance"
				}
			}
		},
		notificationResponse: {
			type: "object",
			required: [
				"notificationVersion",
				"notificationType",
				"payloadVersion",
				"eventTime",
				"payload",
				"notificationMetadata"
			],
			properties: {
				notificationVersion: {
					type: "string",
					description: "The notification version. This controls the structure of the notification"
				},
				notificationType: {
					type: "string",
					description: "The notification type. Combined with payload version controls the structure of payload object"
				},
				payloadVersion: {
					type: "string",
					description: "The payload version. Combined with notification type controls the structure of payload"
				},
				eventTime: {
					type: "string",
					description: "The date and time (in UTC) that the event which triggered the notification occurred"
				},
				payload: { $ref: "#/definitions/payload" },
				notificationMetadata: { $ref: "#/definitions/notificationMetadata" }
			}
		}
	}
};
//#endregion
//#region src/notifications/product-type-definitions-change-notification.ts
const productTypeDefinitionsChangeNotification = {
	$id: "http://example.com/example.json",
	type: "object",
	title: "The root schema",
	description: "The root schema comprises the entire JSON document.",
	default: {},
	examples: [{
		NotificationVersion: "1.0",
		NotificationType: "PRODUCT_TYPE_DEFINITIONS_CHANGE",
		PayloadVersion: "1.0",
		EventTime: "2021-02-03T18:59:30.194Z",
		Payload: {
			AccountId: "AXXXXXXXXXXX",
			MarketplaceId: "ATVPDKIKX0DER",
			ProductTypeVersion: "Uyp-Z6z_y2HhQD2x8sDBXkRAuxBqBionr",
			NewProductTypes: ["LUGGAGE", "SHOES"]
		},
		NotificationMetadata: {
			ApplicationId: "amzn1.sellerapps.app.f1234566-aaec-55a6-b123-bcb752069ec5",
			SubscriptionId: "93b098e1-c42-2f45-93a1-78910a6a8369",
			PublishTime: "2021-02-03T18:59:30.194Z",
			NotificationId: "0e999936-da2c-4f9c-9fc2-02b67bae5f49"
		}
	}],
	required: [
		"NotificationVersion",
		"NotificationType",
		"PayloadVersion",
		"EventTime",
		"Payload",
		"NotificationMetadata"
	],
	properties: {
		NotificationVersion: {
			$id: "#/properties/NotificationVersion",
			type: "string",
			title: "The NotificationVersion schema",
			description: "An explanation about the purpose of this instance.",
			default: "",
			examples: ["1.0"]
		},
		NotificationType: {
			$id: "#/properties/NotificationType",
			type: "string",
			title: "The NotificationType schema",
			description: "An explanation about the purpose of this instance.",
			default: "",
			examples: ["PRODUCT_TYPE_DEFINITIONS_CHANGE"]
		},
		PayloadVersion: {
			$id: "#/properties/PayloadVersion",
			type: "string",
			title: "The PayloadVersion schema",
			description: "An explanation about the purpose of this instance.",
			default: "",
			examples: ["1.0"]
		},
		EventTime: {
			$id: "#/properties/EventTime",
			type: "string",
			title: "The EventTime schema",
			description: "An explanation about the purpose of this instance.",
			default: "",
			examples: ["2019-03-20T18:59:30.194Z"]
		},
		Payload: {
			$id: "#/properties/Payload",
			type: "object",
			title: "The Payload schema",
			description: "An explanation about the purpose of this instance.",
			default: {},
			examples: [{
				AccountId: "AXXXXXXXXXXX",
				MarketplaceId: "ATVPDKIKX0DER",
				ProductTypeVersion: "Uyp-Z6z_y2HhQD2x8sDBXkRAuxBqBionr",
				NewProductTypes: ["LUGGAGE", "SHOES"]
			}, {
				AccountId: "AXXXXXXXXXXX",
				ProductTypeVersion: "Uyp-Z6z_y2HhQD2x8sDBXkRAuxBqBionr"
			}],
			required: ["AccountId", "ProductTypeVersion"],
			properties: {
				MarketplaceId: {
					$id: "#/properties/Payload/properties/MarketplaceId",
					type: "string",
					title: "The MarketplaceId schema",
					description: "The marketplace where the Product Type Definition has changed",
					default: "",
					examples: ["ATVPDKIKX0DER"]
				},
				AccountId: {
					$id: "#/properties/Payload/properties/AccountId",
					type: "string",
					title: "The Merchant Id or Vendor Group Id.",
					description: "The Merchant Id or Vendor Group Id related to the subscription.",
					default: "",
					examples: ["AXXXXXXXXXXX"]
				},
				ProductTypeVersion: {
					$id: "#/properties/Payload/properties/ProductTypeVersion",
					type: "string",
					title: "The version of latest Product Type Definitions",
					description: "Provides the latest released Product Type Definition version.",
					default: "",
					examples: ["Uyp-Z6z_y2HhQD2x8sDBXkRAuxBqBionr"]
				},
				NewProductTypes: {
					$id: "#/properties/Payload/properties/NewProductTypes",
					type: "array",
					title: "New Product Types",
					description: "List of new Product Types release in the marketplace.",
					default: "",
					examples: [["LUGGAGE", "SHOES"]]
				}
			},
			additionalProperties: true
		},
		NotificationMetadata: {
			$id: "#/properties/NotificationMetadata",
			type: "object",
			title: "The NotificationMetadata schema",
			description: "An explanation about the purpose of this instance.",
			default: {},
			examples: [{
				ApplicationId: "amzn1.sellerapps.app.f1234566-aaec-55a6-b123-bcb752069ec5",
				SubscriptionId: "93b098e1-c42-2f45-93a1-78910a6a8369",
				PublishTime: "2019-03-20T18:59:48.768Z",
				NotificationId: "8e009934-da2c-4f9c-9bc7-93f23b7e1f60"
			}],
			required: [
				"ApplicationId",
				"SubscriptionId",
				"PublishTime",
				"NotificationId"
			],
			properties: {
				ApplicationId: {
					$id: "#/properties/NotificationMetadata/properties/ApplicationId",
					type: "string",
					title: "The ApplicationId schema",
					description: "An explanation about the purpose of this instance.",
					default: "",
					examples: ["amzn1.sellerapps.app.f1234566-aaec-55a6-b123-bcb752069ec5"]
				},
				SubscriptionId: {
					$id: "#/properties/NotificationMetadata/properties/SubscriptionId",
					type: "string",
					title: "The SubscriptionId schema",
					description: "An explanation about the purpose of this instance.",
					default: "",
					examples: ["93b098e1-c42-2f45-93a1-78910a6a8369"]
				},
				PublishTime: {
					$id: "#/properties/NotificationMetadata/properties/PublishTime",
					type: "string",
					title: "The PublishTime schema",
					description: "An explanation about the purpose of this instance.",
					default: "",
					examples: ["2019-03-20T18:59:48.768Z"]
				},
				NotificationId: {
					$id: "#/properties/NotificationMetadata/properties/NotificationId",
					type: "string",
					title: "The NotificationId schema",
					description: "An explanation about the purpose of this instance.",
					default: "",
					examples: ["8e009934-da2c-4f9c-9bc7-93f23b7e1f60"]
				}
			},
			additionalProperties: true
		}
	},
	additionalProperties: true
};
//#endregion
//#region src/notifications/report-processing-finished-notification.ts
const reportProcessingFinishedNotification = {
	$id: "http://example.com/example.json",
	type: "object",
	description: "The root schema comprises the entire JSON document.",
	examples: [{
		notificationVersion: "2020-09-04",
		notificationType: "REPORT_PROCESSING_FINISHED",
		payloadVersion: "2020-09-04",
		eventTime: "2020-07-14T03:35:13.214Z",
		payload: { reportProcessingFinishedNotification: {
			sellerId: "A3TH9S8BH6GOGM",
			accountId: "amzn1.merchant.o.A3TH9S8BH6GOGM",
			reportId: "54517018502",
			reportType: "GET_FLAT_FILE_ACTIONABLE_ORDER_DATA",
			processingStatus: "CANCELLED",
			reportDocumentId: "amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.REP4567URI9BMZ"
		} },
		notificationMetadata: {
			applicationId: "amzn1.sellerapps.app.aacccfff-4455-4b7c-4422-664ecacdd336",
			subscriptionId: "subscription-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746",
			publishTime: "2020-07-13T19:42:04.284Z",
			notificationId: "d0e9e693-c3ad-4373-979f-ed4ec98dd746"
		}
	}, {
		notificationVersion: "2020-09-04",
		notificationType: "REPORT_PROCESSING_FINISHED",
		payloadVersion: "2020-09-04",
		eventTime: "2020-07-14T03:35:13.214Z",
		payload: { reportProcessingFinishedNotification: {
			accountId: "amzn1.vg.6213651",
			reportId: "54517018502",
			reportType: "GET_FLAT_FILE_ACTIONABLE_ORDER_DATA",
			processingStatus: "CANCELLED",
			reportDocumentId: "amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.REP4567URI9BMZ"
		} },
		notificationMetadata: {
			applicationId: "amzn1.sellerapps.app.aacccfff-4455-4b7c-4422-664ecacdd336",
			subscriptionId: "subscription-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746",
			publishTime: "2020-07-13T19:42:04.284Z",
			notificationId: "d0e9e693-c3ad-4373-979f-ed4ec98dd746"
		}
	}],
	required: [
		"notificationVersion",
		"notificationType",
		"payloadVersion",
		"eventTime",
		"payload",
		"notificationMetadata"
	],
	properties: {
		notificationVersion: {
			$id: "#/properties/notificationVersion",
			type: "string",
			description: "The version of the notification.",
			examples: ["2020-09-04"]
		},
		notificationType: {
			$id: "#/properties/notificationType",
			type: "string",
			description: "The type of the notification.",
			examples: ["REPORT_PROCESSING_FINISHED"]
		},
		payloadVersion: {
			$id: "#/properties/payloadVersion",
			type: "string",
			description: "The version of the payload.",
			examples: ["2020-09-04"]
		},
		eventTime: {
			$id: "#/properties/eventTime",
			type: "string",
			description: "The timestamp of the event, formatted as ISO 8601 date-time.",
			examples: ["2020-07-14T03:35:13.214Z"]
		},
		payload: {
			$id: "#/properties/payload",
			type: "object",
			description: "The details of this notification.",
			examples: [{ reportProcessingFinishedNotification: {
				sellerId: "A3TH9S8BH6GOGM",
				accountId: "amzn1.merchant.o.A3TH9S8BH6GOGM",
				reportId: "54517018502",
				reportType: "GET_FLAT_FILE_ACTIONABLE_ORDER_DATA",
				processingStatus: "CANCELLED",
				reportDocumentId: "amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.REP4567URI9BMZ"
			} }, { reportProcessingFinishedNotification: {
				accountId: "amzn1.vg.6213651",
				reportId: "54517018502",
				reportType: "GET_FLAT_FILE_ACTIONABLE_ORDER_DATA",
				processingStatus: "CANCELLED",
				reportDocumentId: "amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.REP4567URI9BMZ"
			} }],
			required: ["reportProcessingFinishedNotification"],
			properties: { reportProcessingFinishedNotification: {
				$id: "#/properties/payload/properties/reportProcessingFinishedNotification",
				type: "object",
				description: "An explanation about the purpose of this instance.",
				examples: [{
					sellerId: "A3TH9S8BH6GOGM",
					accountId: "amzn1.merchant.o.A3TH9S8BH6GOGM",
					reportId: "54517018502",
					reportType: "GET_FLAT_FILE_ACTIONABLE_ORDER_DATA",
					processingStatus: "CANCELLED",
					reportDocumentId: "amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.REP4567URI9BMZ"
				}, {
					accountId: "amzn1.vg.6213651",
					reportId: "54517018502",
					reportType: "GET_FLAT_FILE_ACTIONABLE_ORDER_DATA",
					processingStatus: "CANCELLED",
					reportDocumentId: "amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.REP4567URI9BMZ"
				}],
				required: [
					"accountId",
					"reportId",
					"reportType",
					"processingStatus"
				],
				properties: {
					sellerId: {
						$id: "#/properties/payload/properties/reportProcessingFinishedNotification/properties/sellerId",
						type: "string",
						description: "The merchant customer identifier of the selling partner account on whose behalf the report was submitted. This field will be null when the report was submitted on behalf of a vendor group identifier.",
						examples: ["A3TH9S8BH6GOGM"]
					},
					accountId: {
						$id: "#/properties/payload/properties/reportProcessingFinishedNotification/properties/accountId",
						type: "string",
						description: "The merchant customer identifier or vendor group identifier of the selling partner account on whose behalf the report was submitted.",
						examples: ["amzn1.merchant.o.A3TH9S8BH6GOGM", "amzn1.vg.6213651"]
					},
					reportId: {
						$id: "#/properties/payload/properties/reportProcessingFinishedNotification/properties/reportId",
						type: "string",
						description: "The report identifier.",
						examples: ["54517018502"]
					},
					reportType: {
						$id: "#/properties/payload/properties/reportProcessingFinishedNotification/properties/reportType",
						type: "string",
						description: "The report type.",
						examples: ["GET_FLAT_FILE_ACTIONABLE_ORDER_DATA"]
					},
					processingStatus: {
						$id: "#/properties/payload/properties/reportProcessingFinishedNotification/properties/processingStatus",
						type: "string",
						description: "The processing status of the report.",
						examples: [
							"CANCELLED",
							"DONE",
							"FATAL"
						],
						enum: [
							"CANCELLED",
							"DONE",
							"FATAL"
						]
					},
					reportDocumentId: {
						$id: "#/properties/payload/properties/reportProcessingFinishedNotification/properties/reportDocumentId",
						type: "string",
						description: "The report document identifier. This identifier is unique only in combination with a seller ID.",
						examples: ["amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.REP4567URI9BMZ"]
					}
				}
			} }
		},
		notificationMetadata: {
			$id: "#/properties/notificationMetadata",
			type: "object",
			description: "The metadata of the notification.",
			examples: [{
				applicationId: "amzn1.sellerapps.app.aacccfff-4455-4b7c-4422-664ecacdd336",
				subscriptionId: "subscription-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746",
				publishTime: "2020-07-13T19:42:04.284Z",
				notificationId: "d0e9e693-c3ad-4373-979f-ed4ec98dd746"
			}],
			required: [
				"applicationId",
				"subscriptionId",
				"publishTime",
				"notificationId"
			],
			properties: {
				applicationId: {
					$id: "#/properties/notificationMetadata/properties/applicationId",
					type: "string",
					description: "The application identifier.",
					examples: ["amzn1.sellerapps.app.aacccfff-4455-4b7c-4422-664ecacdd336"]
				},
				subscriptionId: {
					$id: "#/properties/notificationMetadata/properties/subscriptionId",
					type: "string",
					description: "The subscription identifier.",
					examples: ["subscription-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746"]
				},
				publishTime: {
					$id: "#/properties/notificationMetadata/properties/publishTime",
					type: "string",
					description: "The timestamp of when the notification was published, formatted as ISO 8601 date-time.",
					examples: ["2020-07-13T19:42:04.284Z"]
				},
				notificationId: {
					$id: "#/properties/notificationMetadata/properties/notificationId",
					type: "string",
					description: "The notification identifier.",
					examples: ["d0e9e693-c3ad-4373-979f-ed4ec98dd746"]
				}
			}
		}
	}
};
//#endregion
//#region src/notifications/shipment-tracking-milestone-changed-notification.ts
const shipmentTrackingMilestoneChangedNotification = {
	title: "Shipment Tracking Milestone Change Notification Schema.",
	description: "Notification sent when a shipment tracking milestone changes.",
	$ref: "#/definitions/Notification",
	examples: [{
		notificationVersion: "1.0",
		notificationType: "SHIPMENT_TRACKING_MILESTONE_CHANGED",
		payloadVersion: "2026-01-30",
		eventTime: "2025-08-08T12:45:48.501Z",
		notificationMetadata: {
			applicationId: "amzn1.sellerapps.app.g2134566-aaec-55a6-b123-bcb752069ba4",
			subscriptionId: "7b28cc50-95c8-4641-add7-10af4b1fecd8",
			publishTime: "2025-08-08T12:47:50.501Z",
			notificationId: "6712e8e5-b365-4cb1-9fd8-be9dfc6d5bda"
		},
		payload: { shipmentTrackingMilestoneChangedNotification: { trackingDetail: {
			identifier: { aftn: "AFTN987654321" },
			latestMilestone: {
				status: {
					code: "DELIVERED",
					subCode: "PORCH",
					description: "Shipment delivered to porch"
				},
				location: { address: {
					city: "Austin",
					region: "Texas",
					countryCode: "US"
				} },
				occurredAt: "2026-06-14T01:26:56Z"
			},
			milestoneHistory: [
				{
					status: {
						code: "DELIVERED",
						subCode: "PORCH",
						description: "Shipment delivered to porch"
					},
					location: { address: {
						city: "Austin",
						region: "Texas",
						countryCode: "US"
					} },
					occurredAt: "2026-06-14T01:26:56Z"
				},
				{
					status: {
						code: "OUT_FOR_DELIVERY",
						description: "Shipment is out for delivery"
					},
					location: { address: {
						city: "Buda",
						region: "Texas",
						countryCode: "US"
					} },
					occurredAt: "2026-06-13T16:20:51Z"
				},
				{
					status: {
						code: "SHIPPED",
						description: "Shipment has departed origin"
					},
					occurredAt: "2026-06-13T05:21:43Z"
				},
				{
					status: {
						code: "CARRIER_ASSIGNED",
						description: "Carrier was assigned"
					},
					occurredAt: "2026-06-13T04:41:37Z"
				},
				{
					status: {
						code: "ORDER_PREPARING",
						description: "Order is preparing to ship"
					},
					occurredAt: "2026-06-12T19:43:40Z"
				}
			],
			trackingEstimates: [{
				type: "ESTIMATED_DELIVERY_DATE",
				estimatedInterval: {
					startTime: "2026-06-14T03:00:00Z",
					endTime: "2026-06-14T03:00:00Z"
				},
				lastUpdatedTime: "2026-06-13T05:21:43Z"
			}],
			trackingUrl: "https://www.swiship.com/track?id=AFTN987654321"
		} } }
	}],
	definitions: {}
};
//#endregion
//#region src/notifications/transaction-update-notification.ts
const transactionUpdateNotification = {
	$id: "http://example.com/example.json",
	type: "object",
	title: "The root schema",
	description: "The notification response schema that comprises the entire JSON document for the notification.",
	examples: [{
		NotificationVersion: "1.0",
		NotificationType: "TRANSACTION_UPDATE",
		PayloadVersion: "1.0",
		EventTime: "2023-07-14T03:35:13.214Z",
		NotificationMetadata: {
			ApplicationId: "amzn1.sellerapps.app.aacccfff-4455-4b7c-4422-664ecacdd336",
			SubscriptionId: "subscription-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746",
			PublishTime: "2023-07-14T03:35:13.214Z",
			NotificationId: "d0e9e693-c3ad-4373-979f-ed4ec98dd746"
		},
		Payload: { TransactionUpdateNotification: {
			SellingPartnerMetadata: {
				SellingPartnerId: "A3TH9S8BH6GOGM",
				MarketplaceId: "ATIV93840DER",
				AccountType: "PAYABLE"
			},
			RelatedIdentifiers: [{
				RelatedIdentifierName: "OrderId",
				RelatedIdentifierValue: "8129762527551"
			}],
			TransactionType: "Shipment",
			PostedDate: "2023-07-14T03:35:13.214Z",
			TotalAmount: {
				CurrencyAmount: 10,
				CurrencyCode: "USD"
			}
		} }
	}],
	required: [
		"NotificationVersion",
		"NotificationType",
		"PayloadVersion",
		"EventTime",
		"Payload",
		"NotificationMetadata"
	],
	properties: {
		NotificationVersion: {
			$id: "#/properties/NotificationVersion",
			type: "string",
			title: "The NotificationVersion schema",
			description: "The notification version.",
			examples: ["1.0"]
		},
		NotificationType: {
			$id: "#/properties/NotificationType",
			type: "string",
			title: "The NotificationType schema",
			description: "The type of this notification, used to differentiate different notifications. Combined with payload version controls the structure of payload object.",
			examples: ["TRANSACTION_UPDATE"]
		},
		PayloadVersion: {
			$id: "#/properties/PayloadVersion",
			type: "string",
			title: "The PayloadVersion schema",
			description: "The payload version of the notification.",
			examples: ["1.0"]
		},
		EventTime: {
			$id: "#/properties/EventTime",
			type: "string",
			title: "The EventTime schema",
			description: "The time when this notification was published, presented in ISO-8601 date/time format.",
			examples: ["2023-07-14T03:35:13.214Z"]
		},
		Payload: {
			$id: "#/properties/Payload",
			type: "object",
			title: "The Payload schema",
			description: "The payload for this TRANSACTION_UPDATE notification. It's unique for different event type and will provide more in-depth information about this notification.",
			examples: [{ TransactionUpdateNotification: {
				SellingPartnerMetadata: {
					SellingPartnerId: "A3TH9S8BH6GOGM",
					MarketplaceId: "ATIV93840DER",
					AccountType: "PAYABLE"
				},
				RelatedIdentifiers: [{
					RelatedIdentifierName: "OrderId",
					RelatedIdentifierValue: "8129762527551"
				}],
				TransactionType: "Shipment",
				PostedDate: "2023-07-14T03:35:13.214Z",
				TotalAmount: {
					CurrencyAmount: 10,
					CurrencyCode: "USD"
				}
			} }],
			required: ["TransactionUpdateNotification"],
			properties: { TransactionUpdateNotification: {
				$id: "#/properties/Payload/properties/TransactionUpdateNotification",
				type: "object",
				title: "The TransactionUpdateNotification schema",
				description: "An explanation about the TRANSACTION_UPDATE notification.",
				examples: [{
					SellingPartnerMetadata: {
						SellingPartnerId: "A3TH9S8BH6GOGM",
						MarketplaceId: "ATIV93840DER",
						AccountType: "PAYABLE"
					},
					RelatedIdentifiers: [{
						RelatedIdentifierName: "OrderId",
						RelatedIdentifierValue: "8129762527551"
					}],
					TransactionType: "Shipment",
					PostedDate: "2023-07-14T03:35:13.214Z",
					TotalAmount: {
						CurrencyAmount: 10,
						CurrencyCode: "USD"
					}
				}],
				required: [
					"SellingPartnerMetadata",
					"TransactionType",
					"PostedDate",
					"TotalAmount"
				],
				properties: {
					SellingPartnerMetadata: {
						$id: "#/properties/Payload/properties/TransactionUpdateNotification/properties/SellingPartnerMetadata",
						type: "object",
						description: "Metadata describing the seller.",
						examples: [{
							SellingPartnerId: "A3TH9S8BH6GOGM",
							MarketplaceId: "ATIV93840DER",
							AccountType: "PAYABLE"
						}],
						required: [
							"SellingPartnerId",
							"MarketplaceId",
							"AccountType"
						],
						properties: {
							SellingPartnerId: {
								$id: "#/properties/Payload/properties/TransactionUpdateNotification/properties/SellingPartnerMetadata/properties/SellingPartnerId",
								type: "string",
								description: "Unique seller identifier.",
								examples: ["A3TH9S8BH6GOGM"]
							},
							MarketplaceId: {
								$id: "#/properties/Payload/properties/TransactionUpdateNotification/properties/SellingPartnerMetadata/properties/MarketplaceId",
								type: "string",
								description: "Marketplace identifier of transaction.",
								examples: ["ATIV93840DER"]
							},
							AccountType: {
								$id: "#/properties/Payload/properties/TransactionUpdateNotification/properties/SellingPartnerMetadata/properties/AccountType",
								type: "string",
								description: "Account type of transaction.",
								examples: ["PAYABLE"]
							}
						}
					},
					RelatedIdentifiers: {
						$id: "#/properties/Payload/properties/TransactionUpdateNotification/properties/RelatedIdentifiers",
						type: "array",
						description: "Related business identifiers of the transaction.",
						examples: [[{
							RelatedIdentifierName: "OrderId",
							RelatedIdentifierValue: "8129762527551"
						}]],
						items: {
							type: "object",
							description: "Related business identifier of the transaction.",
							examples: [{
								RelatedIdentifierName: "OrderId",
								RelatedIdentifierValue: "8129762527551"
							}],
							required: ["RelatedIdentifierName", "RelatedIdentifierValue"],
							properties: {
								RelatedIdentifierName: {
									$id: "#/properties/Payload/properties/TransactionUpdateNotification/properties/RelatedIdentifiers/RelatedIdentifierName",
									type: "string",
									description: "Enumerated set of related business identifier names.",
									examples: ["OrderId"]
								},
								RelatedIdentifierValue: {
									$id: "#/properties/Payload/properties/TransactionUpdateNotification/properties/RelatedIdentifiers/RelatedIdentifierValue",
									type: "string",
									description: "Corresponding value of RelatedIdentifierName",
									examples: ["8129762527551"]
								}
							}
						}
					},
					TransactionType: {
						$id: "#/properties/Payload/properties/TransactionUpdateNotification/properties/TransactionType",
						type: "string",
						description: "Type of transaction.",
						examples: ["Shipment"]
					},
					PostedDate: {
						$id: "#/properties/Payload/properties/TransactionUpdateNotification/properties/PostedDate",
						type: "string",
						description: "The date and time when the transaction was posted.",
						examples: ["2023-07-14T03:35:13.214Z"]
					},
					TotalAmount: {
						$id: "#/properties/Payload/properties/TransactionUpdateNotification/properties/TotalAmount",
						type: "object",
						description: "Total amount of transaction.",
						examples: [{
							CurrencyAmount: 10,
							CurrencyCode: "USD"
						}],
						required: ["CurrencyAmount", "CurrencyCode"],
						properties: {
							CurrencyAmount: {
								$id: "#/properties/Payload/properties/TransactionUpdateNotification/properties/TotalAmount/properties/CurrencyAmount",
								type: "number",
								description: "Amount value of transaction.",
								examples: [10]
							},
							CurrencyCode: {
								$id: "#/properties/Payload/properties/TransactionUpdateNotification/properties/TotalAmount/properties/CurrencyCode",
								type: "string",
								description: "Currency code of transaction.",
								examples: ["USD"]
							}
						}
					}
				}
			} }
		},
		NotificationMetadata: {
			$id: "#/properties/NotificationMetadata",
			type: "object",
			title: "The NotificationMetadata schema",
			description: "The notification metadata.",
			examples: [{
				ApplicationId: "app-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746",
				SubscriptionId: "subscription-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746",
				PublishTime: "2023-07-13T19:42:04.284Z",
				NotificationId: "d0e9e693-c3ad-4373-979f-ed4ec98dd746"
			}],
			required: [
				"ApplicationId",
				"SubscriptionId",
				"PublishTime",
				"NotificationId"
			],
			properties: {
				ApplicationId: {
					$id: "#/properties/NotificationMetadata/properties/ApplicationId",
					type: "string",
					title: "The ApplicationId schema",
					description: "The identifier for the application that uses the notifications.",
					examples: ["app-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746"]
				},
				SubscriptionId: {
					$id: "#/properties/NotificationMetadata/properties/SubscriptionId",
					type: "string",
					title: "The SubscriptionId schema",
					description: "A unique identifier for the subscription which resulted in this notification.",
					examples: ["subscription-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746"]
				},
				PublishTime: {
					$id: "#/properties/NotificationMetadata/properties/PublishTime",
					type: "string",
					title: "The PublishTime schema",
					description: "The date and time (in UTC) that the notification was sent, presented in ISO-8601 date/time format.",
					examples: ["2023-07-14T19:42:04.284Z"]
				},
				NotificationId: {
					$id: "#/properties/NotificationMetadata/properties/NotificationId",
					type: "string",
					title: "The NotificationId schema",
					description: "A unique identifier for this notification instance.",
					examples: ["d0e9e693-c3ad-4373-979f-ed4ec98dd746"]
				}
			}
		}
	}
};
//#endregion
//#region src/notifications/index.ts
var notifications_exports = /* @__PURE__ */ __exportAll({
	anyOfferChangedNotification: () => anyOfferChangedNotification,
	b2bAnyOfferChangedNotification: () => b2bAnyOfferChangedNotification,
	brandedItemContentChangeNotification: () => brandedItemContentChangeNotification,
	dataKioskQueryProcessingFinishedNotification: () => dataKioskQueryProcessingFinishedNotification,
	detailPageTrafficEventNotification: () => detailPageTrafficEventNotification,
	fbaInventoryAvailabilityChangeNotification: () => fbaInventoryAvailabilityChangeNotification,
	fbaOutboundShipmentStatusNotification: () => fbaOutboundShipmentStatusNotification,
	feePromotionNotification: () => feePromotionNotification,
	feedProcessingFinishedNotification: () => feedProcessingFinishedNotification,
	fulfillmentOrderStatusNotification: () => fulfillmentOrderStatusNotification,
	itemInventoryEventChangeNotification: () => itemInventoryEventChangeNotification,
	itemProductTypeChangeNotification: () => itemProductTypeChangeNotification,
	itemSalesEventChangeNotification: () => itemSalesEventChangeNotification,
	listingsItemIssuesChangeNotification: () => listingsItemIssuesChangeNotification,
	listingsItemIssuesChangeNotification20231213: () => listingsItemIssuesChangeNotification20231213,
	listingsItemMfnQuantityChange: () => listingsItemMfnQuantityChange,
	listingsItemStatusChangeNotification: () => listingsItemStatusChangeNotification,
	orderChangeNotification: () => orderChangeNotification,
	pricingHealthNotification: () => pricingHealthNotification,
	productTypeDefinitionsChangeNotification: () => productTypeDefinitionsChangeNotification,
	reportProcessingFinishedNotification: () => reportProcessingFinishedNotification,
	shipmentTrackingMilestoneChangedNotification: () => shipmentTrackingMilestoneChangedNotification,
	transactionUpdateNotification: () => transactionUpdateNotification
});
//#endregion
//#region src/reports/account-health-report-2020-11-18.ts
const accountHealthReport20201118 = {
	type: "object",
	description: "The root schema comprises the entire JSON document.",
	definitions: {
		DefectsCount: {
			type: "integer",
			description: "The number of defects within a given reporting date range for 1 requested marketplace.",
			examples: [27833]
		},
		OrderCount: {
			type: "integer",
			description: "The number of orders within a given reporting date range.",
			examples: [869118]
		},
		OrderDefectRate: {
			type: "object",
			description: "Seller's order defect rate within a given reporting date range for 1 requested marketplace.",
			examples: [{
				reportingDateRange: {
					reportingDateFrom: "2020-09-06T00:00Z",
					reportingDateTo: "2020-11-04T23:59Z"
				},
				orderCount: 539e3,
				orderWithDefects: {
					count: 1078,
					status: "GOOD"
				},
				claims: {
					count: 442,
					status: "NONE"
				},
				chargebacks: {
					count: 15,
					status: "NONE"
				},
				negativeFeedback: {
					count: 628,
					status: "NONE"
				},
				fulfillmentType: "mfn",
				status: "GOOD",
				rate: .009,
				targetValue: .01,
				targetCondition: "LESS_THAN"
			}],
			required: [
				"reportingDateRange",
				"orderCount",
				"orderWithDefects",
				"claims",
				"chargebacks",
				"negativeFeedback",
				"fulfillmentType",
				"status",
				"rate",
				"targetValue",
				"targetCondition"
			],
			properties: {
				reportingDateRange: { $ref: "#/definitions/ReportingDateRange" },
				orderCount: { $ref: "#/definitions/OrderCount" },
				orderWithDefects: {
					type: "object",
					description: "Order defects.",
					examples: [{
						count: 1061,
						status: "GOOD"
					}],
					required: ["count", "status"],
					properties: {
						count: {
							description: "Order defects count.",
							type: "integer",
							examples: [27833]
						},
						status: { $ref: "#/definitions/Status" }
					}
				},
				claims: {
					description: "Order defects due to claims",
					type: "object",
					examples: [{
						count: 1061,
						status: "GOOD"
					}],
					required: ["count", "status"],
					properties: {
						count: {
							description: "Order defects count.",
							type: "integer",
							examples: [27833]
						},
						status: { $ref: "#/definitions/Status" }
					}
				},
				chargebacks: {
					description: "Order defects due to chargebacks",
					type: "object",
					examples: [{
						count: 1061,
						status: "GOOD"
					}],
					required: ["count", "status"],
					properties: {
						count: {
							description: "Order defects count.",
							type: "integer",
							examples: [27833]
						},
						status: { $ref: "#/definitions/Status" }
					}
				},
				negativeFeedback: {
					description: "Order defects due to negative feedback",
					type: "object",
					examples: [{
						count: 1061,
						status: "GOOD"
					}],
					required: ["count", "status"],
					properties: {
						count: {
							description: "Order defects count.",
							type: "integer",
							examples: [27833]
						},
						status: { $ref: "#/definitions/Status" }
					}
				},
				status: { $ref: "#/definitions/Status" },
				rate: { $ref: "#/definitions/Rate" },
				targetValue: { $ref: "#/definitions/TargetValue" },
				targetCondition: { $ref: "#/definitions/TargetCondition" }
			}
		},
		Rate: {
			type: "number",
			description: "Performance metric rate in percentage within a given reporting date range for 1 requested marketplace.",
			examples: [.005]
		},
		ReportingDateRange: {
			description: "ReportingDateRange with start timestamp and end timestamp defined.",
			type: "object",
			examples: [{
				reportingDateFrom: "2020-10-20T00:00Z",
				reportingDateTo: "2020-11-18T23:59Z"
			}],
			required: ["reportingDateTo", "reportingDateFrom"],
			properties: {
				reportingDateTo: {
					description: "Reporting end date in UTC.",
					type: "string",
					examples: ["2020-11-18T23:59Z"]
				},
				reportingDateFrom: {
					description: "Reporting start date in UTC.",
					type: "string",
					examples: ["2020-10-20T00:00Z"]
				}
			}
		},
		Status: {
			type: "string",
			description: "Listing level violations status within a given reporting date range for 1 requested marketplace. It could be GOOD or BAD or NONE.",
			examples: ["GOOD"],
			enum: [
				"GOOD",
				"BAD",
				"NONE"
			]
		},
		TargetValue: {
			type: "number",
			description: "Performance metric target value to stay in good status.",
			examples: [.04]
		},
		TargetCondition: {
			type: "string",
			description: "Performance metric target condition to stay in good status. Possible values are GREATER_THAN, LESS_THAN and EQUALS.",
			examples: ["EQUALS"],
			enum: [
				"GREATER_THAN",
				"LESS_THAN",
				"EQUALS"
			]
		},
		ListingLevelViolation: {
			type: "object",
			description: "Seller's listing level violation metric within a given reporting date range for 1 requested marketplace.",
			examples: [{
				reportingDateRange: {
					reportingDateFrom: "2020-05-24T00:00Z",
					reportingDateTo: "2020-11-19T23:59Z"
				},
				defectsCount: 86,
				status: "BAD",
				targetValue: 0,
				targetCondition: "EQUALS"
			}],
			required: [
				"reportingDateRange",
				"defectsCount",
				"status",
				"targetValue",
				"targetCondition"
			],
			properties: {
				reportingDateRange: { $ref: "#/definitions/ReportingDateRange" },
				defectsCount: { $ref: "#/definitions/DefectsCount" },
				status: { $ref: "#/definitions/Status" },
				targetValue: { $ref: "#/definitions/TargetValue" },
				targetCondition: { $ref: "#/definitions/TargetCondition" }
			}
		}
	},
	examples: [{
		accountStatuses: [
			{
				marketplaceId: "ATVPDKIKX0DER",
				status: "AT_RISK"
			},
			{
				marketplaceId: "A2EUQ1WTGCTBG2",
				status: "NORMAL"
			},
			{
				marketplaceId: "A1AM78C64UM0Y8",
				status: "SUSPENDED"
			}
		],
		performanceMetrics: [{
			invoiceDefectRate: {
				reportingDateRange: {
					reportingDateFrom: "2020-10-21T00:00Z",
					reportingDateTo: "2020-10-27T23:59Z"
				},
				orderCount: 9001,
				invoiceDefect: {
					count: 315,
					status: "GOOD"
				},
				missingInvoice: {
					count: 214,
					status: "NONE"
				},
				lateInvoice: {
					count: 101,
					status: "NONE"
				},
				status: "GOOD",
				rate: .03499611,
				targetValue: .05,
				targetCondition: "LESS_THAN"
			},
			lateShipmentRate: {
				reportingDateRange: {
					reportingDateFrom: "2020-10-21T00:00Z",
					reportingDateTo: "2020-11-19T23:59Z"
				},
				orderCount: 870669,
				lateShipmentCount: 27896,
				status: "GOOD",
				rate: .03203973037,
				targetValue: .04,
				targetCondition: "LESS_THAN"
			},
			productSafetyCustomerComplaints: {
				reportingDateRange: {
					reportingDateFrom: "2020-05-22T00:00Z",
					reportingDateTo: "2020-11-17T23:59Z"
				},
				defectsCount: 165,
				status: "BAD",
				targetValue: 0,
				targetCondition: "EQUALS"
			},
			prefulfillmentCancelRate: {
				reportingDateRange: {
					reportingDateFrom: "2020-11-12T00:00Z",
					reportingDateTo: "2020-11-18T23:59Z"
				},
				orderCount: 17197,
				cancellationCount: 551,
				status: "GOOD",
				rate: .005,
				targetValue: .01,
				targetCondition: "LESS_THAN"
			},
			receivedIntellectualPropertyComplaints: {
				reportingDateRange: {
					reportingDateFrom: "2020-05-24T00:00Z",
					reportingDateTo: "2020-11-19T23:59Z"
				},
				defectsCount: 75,
				status: "BAD",
				targetValue: 0,
				targetCondition: "EQUALS"
			},
			onTimeDeliveryRate: {
				reportingDateRange: {
					reportingDateFrom: "2020-10-11T00:00Z",
					reportingDateTo: "2020-11-09T23:59Z"
				},
				shipmentCountWithValidTracking: 808046,
				onTimeDeliveryCount: 847987,
				status: "GOOD",
				rate: .9529,
				targetValue: .95,
				targetCondition: "GREATER_THAN"
			},
			unitOnTimeDeliveryRate: {
				reportingDateRange: {
					reportingDateFrom: "2020-10-11T00:00Z",
					reportingDateTo: "2020-11-09T23:59Z"
				},
				status: "GOOD",
				targetValue: .9,
				targetCondition: "GREATER_THAN",
				unitOnTimeDeliveryCount: 146,
				totalUnitCount: 165,
				rate: .8848
			},
			listingPolicyViolations: {
				reportingDateRange: {
					reportingDateFrom: "2020-05-24T00:00Z",
					reportingDateTo: "2020-11-19T23:59Z"
				},
				defectsCount: 86,
				status: "BAD",
				targetValue: 0,
				targetCondition: "EQUALS"
			},
			accountHealthRating: {
				ahrStatus: "WARNED",
				reportingDateRange: {
					reportingDateFrom: "2020-05-23T00:00Z",
					reportingDateTo: "2020-11-19T23:59Z"
				}
			},
			foodAndProductSafetyIssues: {
				reportingDateRange: {
					reportingDateFrom: "2020-05-24T00:00Z",
					reportingDateTo: "2020-11-19T23:59Z"
				},
				defectsCount: 37,
				status: "BAD",
				targetValue: 0,
				targetCondition: "EQUALS"
			},
			productAuthenticityCustomerComplaints: {
				reportingDateRange: {
					reportingDateFrom: "2020-05-22T00:00Z",
					reportingDateTo: "2020-11-17T23:59Z"
				},
				defectsCount: 212,
				status: "BAD",
				targetValue: 0,
				targetCondition: "EQUALS"
			},
			marketplaceId: "ATVPDKIKX0DER",
			orderDefectRate: {
				mfn: {
					reportingDateRange: {
						reportingDateFrom: "2020-09-06T00:00Z",
						reportingDateTo: "2020-11-04T23:59Z"
					},
					orderCount: 539e3,
					orderWithDefects: {
						count: 1078,
						status: "GOOD"
					},
					claims: {
						count: 442,
						status: "NONE"
					},
					chargebacks: {
						count: 15,
						status: "NONE"
					},
					negativeFeedback: {
						count: 628,
						status: "NONE"
					},
					fulfillmentType: "mfn",
					status: "GOOD",
					rate: .009,
					targetValue: .01,
					targetCondition: "LESS_THAN"
				},
				afn: {
					reportingDateRange: {
						reportingDateFrom: "2020-09-06T00:00Z",
						reportingDateTo: "2020-11-04T23:59Z"
					},
					orderCount: 539e3,
					orderWithDefects: {
						count: 1078,
						status: "GOOD"
					},
					claims: {
						count: 442,
						status: "NONE"
					},
					chargebacks: {
						count: 15,
						status: "NONE"
					},
					negativeFeedback: {
						count: 628,
						status: "NONE"
					},
					fulfillmentType: "mfn",
					status: "GOOD",
					rate: .009,
					targetValue: .01,
					targetCondition: "LESS_THAN"
				}
			},
			documentRequest: {
				reportingDateRange: {
					reportingDateFrom: "2020-11-21T00:00Z",
					reportingDateTo: "2020-11-19T23:59Z"
				},
				defectsCount: 8,
				status: "GOOD",
				targetValue: 0,
				targetCondition: "EQUALS"
			},
			validTrackingRate: {
				reportingDateRange: {
					reportingDateFrom: "2020-10-11T00:00Z",
					reportingDateTo: "2020-11-09T23:59Z"
				},
				shipmentCount: 878443,
				validTrackingCount: 896462,
				status: "GOOD",
				rate: .9529,
				targetValue: .95,
				targetCondition: "GREATER_THAN"
			},
			productConditionCustomerComplaints: {
				reportingDateRange: {
					reportingDateFrom: "2020-05-22T00:00Z",
					reportingDateTo: "2020-11-17T23:59Z"
				},
				defectsCount: 337,
				status: "BAD",
				targetValue: 0,
				targetCondition: "EQUALS"
			},
			otherPolicyViolations: {
				reportingDateRange: {
					reportingDateFrom: "2020-05-24T00:00Z",
					reportingDateTo: "2020-11-19T23:59Z"
				},
				defectsCount: 86,
				status: "BAD",
				targetValue: 0,
				targetCondition: "EQUALS"
			},
			warningState: [{
				warningType: "spammingSellerMessaging",
				status: "BAD"
			}]
		}]
	}],
	required: ["accountStatuses", "performanceMetrics"],
	properties: {
		accountStatuses: {
			type: "array",
			description: "Seller's corresponding account status for each requested marketplace.",
			additionalItems: false,
			examples: [[
				{
					marketplaceId: "ATVPDKIKX0DER",
					status: "AT_RISK"
				},
				{
					marketplaceId: "A2EUQ1WTGCTBG2",
					status: "NORMAL"
				},
				{
					marketplaceId: "A1AM78C64UM0Y8",
					status: "SUSPENDED"
				}
			]],
			items: {
				type: "object",
				description: "Seller's corresponding account status for 1 requested marketplace.",
				examples: [{
					marketplaceId: "A1AM78C64UM0Y8",
					status: "SUSPENDED"
				}],
				required: ["marketplaceId", "status"],
				properties: {
					marketplaceId: {
						description: "A requested marketplace ID.",
						type: "string",
						examples: ["ATVPDKIKX0DER"]
					},
					status: {
						description: "Seller's account status for a requested marketplace.",
						type: "string",
						examples: ["DEACTIVATED"],
						enum: [
							"NORMAL",
							"AT_RISK",
							"DEACTIVATED"
						]
					}
				}
			}
		},
		performanceMetrics: {
			type: "array",
			description: "Seller's performance metrics for requeted marketpalces.",
			additionalItems: false,
			examples: [{
				invoiceDefectRate: {
					reportingDateRange: {
						reportingDateFrom: "2020-10-21T00:00Z",
						reportingDateTo: "2020-10-27T23:59Z"
					},
					orderCount: 9001,
					invoiceDefect: {
						count: 315,
						status: "GOOD"
					},
					missingInvoice: {
						count: 214,
						status: "NONE"
					},
					lateInvoice: {
						count: 101,
						status: "NONE"
					},
					status: "GOOD",
					rate: .03499611,
					targetValue: .05,
					targetCondition: "LESS_THAN"
				},
				lateShipmentRate: {
					reportingDateRange: {
						reportingDateFrom: "2020-10-21T00:00Z",
						reportingDateTo: "2020-11-19T23:59Z"
					},
					orderCount: 870669,
					lateShipmentCount: 27896,
					status: "GOOD",
					rate: .03203973037,
					targetValue: .04,
					targetCondition: "LESS_THAN"
				},
				productSafetyCustomerComplaints: {
					reportingDateRange: {
						reportingDateFrom: "2020-05-22T00:00Z",
						reportingDateTo: "2020-11-17T23:59Z"
					},
					defectsCount: 165,
					status: "BAD",
					targetValue: 0,
					targetCondition: "EQUALS"
				},
				prefulfillmentCancelRate: {
					reportingDateRange: {
						reportingDateFrom: "2020-11-12T00:00Z",
						reportingDateTo: "2020-11-18T23:59Z"
					},
					orderCount: 17197,
					cancellationCount: 551,
					status: "GOOD",
					rate: .005,
					targetValue: .01,
					targetCondition: "LESS_THAN"
				},
				receivedIntellectualPropertyComplaints: {
					reportingDateRange: {
						reportingDateFrom: "2020-05-24T00:00Z",
						reportingDateTo: "2020-11-19T23:59Z"
					},
					defectsCount: 75,
					status: "BAD",
					targetValue: 0,
					targetCondition: "EQUALS"
				},
				onTimeDeliveryRate: {
					reportingDateRange: {
						reportingDateFrom: "2020-10-11T00:00Z",
						reportingDateTo: "2020-11-09T23:59Z"
					},
					shipmentCountWithValidTracking: 808046,
					onTimeDeliveryCount: 847987,
					status: "GOOD",
					rate: .9529,
					targetValue: .95,
					targetCondition: "GREATER_THAN"
				},
				unitOnTimeDeliveryRate: {
					reportingDateRange: {
						reportingDateFrom: "2020-10-11T00:00Z",
						reportingDateTo: "2020-11-09T23:59Z"
					},
					status: "GOOD",
					targetValue: .9,
					targetCondition: "GREATER_THAN",
					unitOnTimeDeliveryCount: 146,
					totalUnitCount: 165,
					rate: .8848
				},
				listingPolicyViolations: {
					reportingDateRange: {
						reportingDateFrom: "2020-05-24T00:00Z",
						reportingDateTo: "2020-11-19T23:59Z"
					},
					defectsCount: 86,
					status: "BAD",
					targetValue: 0,
					targetCondition: "EQUALS"
				},
				accountHealthRating: {
					ahrStatus: "WARNED",
					reportingDateRange: {
						reportingDateFrom: "2020-05-23T00:00Z",
						reportingDateTo: "2020-11-19T23:59Z"
					}
				},
				foodAndProductSafetyIssues: {
					reportingDateRange: {
						reportingDateFrom: "2020-05-24T00:00Z",
						reportingDateTo: "2020-11-19T23:59Z"
					},
					defectsCount: 37,
					status: "BAD",
					targetValue: 0,
					targetCondition: "EQUALS"
				},
				productAuthenticityCustomerComplaints: {
					reportingDateRange: {
						reportingDateFrom: "2020-05-22T00:00Z",
						reportingDateTo: "2020-11-17T23:59Z"
					},
					defectsCount: 212,
					status: "BAD",
					targetValue: 0,
					targetCondition: "EQUALS"
				},
				marketplaceId: "ATVPDKIKX0DER",
				orderDefectRate: {
					mfn: {
						reportingDateRange: {
							reportingDateFrom: "2020-09-06T00:00Z",
							reportingDateTo: "2020-11-04T23:59Z"
						},
						orderCount: 539e3,
						orderWithDefects: {
							count: 1078,
							status: "GOOD"
						},
						claims: {
							count: 442,
							status: "NONE"
						},
						chargebacks: {
							count: 15,
							status: "NONE"
						},
						negativeFeedback: {
							count: 628,
							status: "NONE"
						},
						fulfillmentType: "mfn",
						status: "GOOD",
						rate: .009,
						targetValue: .01,
						targetCondition: "LESS_THAN"
					},
					afn: {
						reportingDateRange: {
							reportingDateFrom: "2020-09-06T00:00Z",
							reportingDateTo: "2020-11-04T23:59Z"
						},
						orderCount: 539e3,
						orderWithDefects: {
							count: 1078,
							status: "GOOD"
						},
						claims: {
							count: 442,
							status: "NONE"
						},
						chargebacks: {
							count: 15,
							status: "NONE"
						},
						negativeFeedback: {
							count: 628,
							status: "NONE"
						},
						fulfillmentType: "mfn",
						status: "GOOD",
						rate: .009,
						targetValue: .01,
						targetCondition: "LESS_THAN"
					}
				},
				documentRequest: {
					reportingDateRange: {
						reportingDateFrom: "2020-11-21T00:00Z",
						reportingDateTo: "2020-11-19T23:59Z"
					},
					defectsCount: 8,
					status: "GOOD",
					targetValue: 0,
					targetCondition: "EQUALS"
				},
				validTrackingRate: {
					reportingDateRange: {
						reportingDateFrom: "2020-10-11T00:00Z",
						reportingDateTo: "2020-11-09T23:59Z"
					},
					shipmentCount: 878443,
					validTrackingCount: 896462,
					status: "GOOD",
					rate: .9529,
					targetValue: .95,
					targetCondition: "GREATER_THAN"
				},
				productConditionCustomerComplaints: {
					reportingDateRange: {
						reportingDateFrom: "2020-05-22T00:00Z",
						reportingDateTo: "2020-11-17T23:59Z"
					},
					defectsCount: 337,
					status: "BAD",
					targetValue: 0,
					targetCondition: "EQUALS"
				},
				otherPolicyViolations: {
					reportingDateRange: {
						reportingDateFrom: "2020-05-24T00:00Z",
						reportingDateTo: "2020-11-19T23:59Z"
					},
					defectsCount: 86,
					status: "BAD",
					targetValue: 0,
					targetCondition: "EQUALS"
				},
				warningState: [{
					warningType: "spammingSellerMessaging",
					status: "BAD"
				}]
			}],
			items: {
				type: "object",
				description: "Report data for the program.",
				required: [
					"marketplaceId",
					"invoiceDefectRate",
					"lateShipmentRate",
					"orderDefectRate",
					"onTimeDeliveryRate",
					"unitOnTimeDeliveryRate",
					"validTrackingRate",
					"preFulfillmentCancellationRate",
					"warningStates",
					"accountHealthRating",
					"listingPolicyViolations",
					"productAuthenticityCustomerComplaints",
					"productConditionCustomerComplaints",
					"productSafetyCustomerComplaints",
					"receivedIntellectualPropertyComplaints",
					"restrictedProductPolicyViolations",
					"suspectedIntellectualPropertyViolations",
					"foodAndProductSafetyIssues",
					"otherPolicyViolations",
					"documentRequests"
				],
				properties: {
					marketplaceId: {
						description: "A requested marketplace ID.",
						type: "string"
					},
					invoiceDefectRate: {
						type: "object",
						description: "Seller's invoice defect rate within a given reporting date range for 1 requested marketplace.",
						examples: [{
							reportingDateRange: {
								reportingDateFrom: "2020-10-21T00:00Z",
								reportingDateTo: "2020-10-27T23:59Z"
							},
							orderCount: 9001,
							invoiceDefect: {
								count: 315,
								status: "GOOD"
							},
							missingInvoice: {
								count: 214,
								status: "NONE"
							},
							lateInvoice: {
								count: 101,
								status: "NONE"
							},
							status: "GOOD",
							rate: .03499611,
							targetValue: .05,
							targetCondition: "LESS_THAN"
						}],
						required: [
							"reportingDateRange",
							"orderCount",
							"invoiceDefect",
							"missingInvoice",
							"lateInvoice",
							"status",
							"rate",
							"targetValue",
							"targetCondition"
						],
						properties: {
							reportingDateRange: { $ref: "#/definitions/ReportingDateRange" },
							orderCount: { $ref: "#/definitions/OrderCount" },
							invoiceDefect: {
								description: "Total invoice defects count due to missing invoice and late invoice.",
								type: "object",
								examples: [{
									count: 315,
									status: "GOOD"
								}],
								required: ["count", "status"],
								properties: {
									count: {
										description: "Invoice defects count.",
										type: "integer",
										examples: [315]
									},
									status: { $ref: "#/definitions/Status" }
								}
							},
							missingInvoice: {
								description: "Total missing invoice count in the time window.",
								type: "object",
								examples: [{
									count: 214,
									status: "GOOD"
								}],
								required: ["count", "status"],
								properties: {
									count: {
										description: "Missing invoice defects count.",
										type: "integer",
										examples: [214]
									},
									status: { $ref: "#/definitions/Status" }
								}
							},
							lateInvoice: {
								description: "Total late invoice count in the time window.",
								type: "object",
								examples: [{
									count: 101,
									status: "GOOD"
								}],
								required: ["count", "status"],
								properties: {
									count: {
										description: "Late invoice defects count.",
										type: "integer",
										examples: [101]
									},
									status: { $ref: "#/definitions/Status" }
								}
							},
							status: { $ref: "#/definitions/Status" },
							rate: { $ref: "#/definitions/Rate" },
							targetValue: { $ref: "#/definitions/TargetValue" },
							targetCondition: { $ref: "#/definitions/TargetCondition" }
						}
					},
					lateShipmentRate: {
						type: "object",
						description: "Seller's late shipment rate within a given reporting date range for 1 requested marketplace.",
						examples: [{
							reportingDateRange: {
								reportingDateFrom: "2020-10-21T00:00Z",
								reportingDateTo: "2020-11-19T23:59Z"
							},
							orderCount: 870669,
							lateShipmentCount: 27896,
							status: "GOOD",
							rate: .03203973037,
							targetValue: .04,
							targetCondition: "LESS_THAN"
						}],
						required: [
							"reportingDateRange",
							"orderCount",
							"lateShipmentCount",
							"status",
							"rate",
							"targetValue",
							"targetCondition"
						],
						properties: {
							reportingDateRange: { $ref: "#/definitions/ReportingDateRange" },
							orderCount: { $ref: "#/definitions/OrderCount" },
							lateShipmentCount: {
								type: "integer",
								description: "Order defects count due to late shipment.",
								examples: [27833]
							},
							status: { $ref: "#/definitions/Status" },
							rate: { $ref: "#/definitions/Rate" },
							targetValue: { $ref: "#/definitions/TargetValue" },
							targetCondition: { $ref: "#/definitions/TargetCondition" }
						}
					},
					orderDefectRate: {
						type: "object",
						description: "Seller's MFN/AFN order defect rate within a given reporting date range for 1 requested marketplace.",
						examples: [{
							mfn: {
								reportingDateRange: {
									reportingDateFrom: "2020-09-06T00:00Z",
									reportingDateTo: "2020-11-04T23:59Z"
								},
								orderCount: 539e3,
								orderWithDefects: {
									count: 1078,
									status: "GOOD"
								},
								claims: {
									count: 442,
									status: "NONE"
								},
								chargebacks: {
									count: 15,
									status: "NONE"
								},
								negativeFeedback: {
									count: 628,
									status: "NONE"
								},
								fulfillmentType: "mfn",
								status: "GOOD",
								rate: .009,
								targetValue: .01,
								targetCondition: "LESS_THAN"
							},
							afn: {
								reportingDateRange: {
									reportingDateFrom: "2020-09-06T00:00Z",
									reportingDateTo: "2020-11-04T23:59Z"
								},
								orderCount: 539e3,
								orderWithDefects: {
									count: 1078,
									status: "GOOD"
								},
								claims: {
									count: 442,
									status: "NONE"
								},
								chargebacks: {
									count: 15,
									status: "NONE"
								},
								negativeFeedback: {
									count: 628,
									status: "NONE"
								},
								fulfillmentType: "mfn",
								status: "GOOD",
								rate: .009,
								targetValue: .01,
								targetCondition: "LESS_THAN"
							}
						}],
						required: ["mfn", "afn"],
						properties: {
							mfn: { $ref: "#/definitions/OrderDefectRate" },
							afn: { $ref: "#/definitions/OrderDefectRate" }
						}
					},
					onTimeDeliveryRate: {
						type: "object",
						description: "Seller's on-time delivery rate within a given reporting date range for 1 requested marketplace.",
						examples: [{
							reportingDateRange: {
								reportingDateFrom: "2020-10-11T00:00Z",
								reportingDateTo: "2020-11-09T23:59Z"
							},
							shipmentCountWithValidTracking: 808046,
							onTimeDeliveryCount: 847987,
							status: "GOOD",
							rate: .9529,
							targetValue: .95,
							targetCondition: "GREATER_THAN"
						}],
						required: [
							"reportingDateRange",
							"shipmentCountWithValidTracking",
							"onTimeDeliveryCount",
							"status",
							"rate",
							"targetValue",
							"targetCondition"
						],
						properties: {
							reportingDateRange: { $ref: "#/definitions/ReportingDateRange" },
							shipmentCountWithValidTracking: {
								description: "The number of shipments with valid tracking associated within a given reporting date range for 1 requested marketplace.",
								type: "number",
								examples: [1234]
							},
							onTimeDeliveryCount: {
								description: "On-time delivered shipment count within a given reporting date range for 1 requested marketplace.",
								type: "integer",
								examples: [1061]
							},
							status: { $ref: "#/definitions/Status" },
							rate: { $ref: "#/definitions/Rate" },
							targetValue: { $ref: "#/definitions/TargetValue" },
							targetCondition: { $ref: "#/definitions/TargetCondition" }
						}
					},
					unitOnTimeDeliveryRate: {
						type: "object",
						description: "The seller's on-time delivery rate at a unit level within a reporting date range for one marketplace that you specify. This metric is only available in the US marketplace.",
						examples: [{
							reportingDateRange: {
								reportingDateFrom: "2020-10-11T00:00Z",
								reportingDateTo: "2020-11-09T23:59Z"
							},
							status: "GOOD",
							targetValue: .9,
							targetCondition: "GREATER_THAN",
							unitOnTimeDeliveryCount: 146,
							totalUnitCount: 165,
							rate: .8848
						}],
						required: [
							"reportingDateRange",
							"status",
							"targetValue",
							"targetCondition",
							"unitOnTimeDeliveryCount",
							"totalUnitCount",
							"rate"
						],
						properties: {
							reportingDateRange: { $ref: "#/definitions/ReportingDateRange" },
							status: { $ref: "#/definitions/Status" },
							targetValue: { $ref: "#/definitions/TargetValue" },
							targetCondition: { $ref: "#/definitions/TargetCondition" },
							unitOnTimeDeliveryCount: {
								description: "The on-time delivery unit count within a reporting date range for one marketplace that you specify.",
								type: "integer",
								examples: [1061]
							},
							totalUnitCount: {
								description: "The total unit count within a reporting date range for one marketplace that you specify.",
								type: "integer",
								examples: [2e3]
							},
							rate: { $ref: "#/definitions/Rate" }
						}
					},
					validTrackingRate: {
						type: "object",
						description: "Seller's valid tracking rate within a given reporting date range for 1 requested marketplace.",
						examples: [{
							reportingDateRange: {
								reportingDateFrom: "2020-10-11T00:00Z",
								reportingDateTo: "2020-11-09T23:59Z"
							},
							shipmentCount: 878443,
							validTrackingCount: 896462,
							status: "GOOD",
							rate: .9529,
							targetValue: .95,
							targetCondition: "GREATER_THAN"
						}],
						required: [
							"reportingDateRange",
							"shipmentCount",
							"validTrackingCount",
							"status",
							"rate",
							"targetValue",
							"targetCondition"
						],
						properties: {
							reportingDateRange: { $ref: "#/definitions/ReportingDateRange" },
							shipmentCount: {
								description: "The number of shipments within a given reporting date range for 1 requested marketplace.",
								type: "integer",
								examples: [1234]
							},
							validTrackingCount: {
								description: "Shipment with valid tracking count within a given reporting date range for 1 requested marketplace.",
								type: "integer",
								examples: [1061]
							},
							status: { $ref: "#/definitions/Status" },
							rate: { $ref: "#/definitions/Rate" },
							targetValue: { $ref: "#/definitions/TargetValue" },
							targetCondition: { $ref: "#/definitions/TargetCondition" }
						}
					},
					preFulfillmentCancellationRate: {
						type: "object",
						description: "Seller's pre-fulfillment cancellation rate within a given reporting date range for 1 requested marketplace.",
						examples: [{
							reportingDateRange: {
								reportingDateFrom: "2020-11-12T00:00Z",
								reportingDateTo: "2020-11-18T23:59Z"
							},
							orderCount: 17197,
							cancellationCount: 551,
							status: "GOOD",
							rate: .005,
							targetValue: .01,
							targetCondition: "LESS_THAN"
						}],
						required: [
							"reportingDateRange",
							"orderCount",
							"cancellationCount",
							"status",
							"rate",
							"targetValue",
							"targetCondition"
						],
						properties: {
							reportingDateRange: { $ref: "#/definitions/ReportingDateRange" },
							orderCount: { $ref: "#/definitions/OrderCount" },
							cancellationCount: {
								type: "integer",
								description: "The number of seller faulted cancelled orders within a given reporting date range for 1 requested marketplace.",
								examples: [27833]
							},
							status: { $ref: "#/definitions/Status" },
							rate: { $ref: "#/definitions/Rate" },
							targetValue: { $ref: "#/definitions/TargetValue" },
							targetCondition: { $ref: "#/definitions/TargetCondition" }
						}
					},
					warningStates: {
						type: "array",
						description: "A list of seller warning states for 1 requested marketplace.",
						additionalItems: false,
						examples: [[{
							warningType: "spammingSellerMessaging",
							status: "BAD"
						}]],
						items: {
							type: "object",
							description: "Seller account warning state for 1 requested marketplace.",
							required: ["warningType", "status"],
							properties: {
								warningType: {
									description: "Seller account warning type for 1 requested marketplace.",
									type: "string",
									examples: ["spammingSellerMessaging"]
								},
								status: {
									description: "Seller account warning state status for 1 requested marketplace. It could be GOOD or BAD or NONE.",
									type: "string",
									examples: ["BAD"],
									enum: [
										"GOOD",
										"BAD",
										"NONE"
									]
								}
							}
						}
					},
					accountHealthRating: {
						type: "object",
						description: "Seller's account health rating within a given reporting date range for 1 requested marketplace.",
						examples: [{
							ahrStatus: "WARNED",
							reportingDateRange: {
								reportingDateFrom: "2020-05-23T00:00Z",
								reportingDateTo: "2020-11-19T23:59Z",
								dateOffset: {
									duration: 181,
									offset: 0
								}
							}
						}],
						required: ["ahrStatus", "reportingDateRange"],
						properties: {
							reportingDateRange: { $ref: "#/definitions/ReportingDateRange" },
							accountHealthRatingStatus: {
								type: "string",
								description: "Seller's overall Account Health Rating status within a given reporting date range for 1 requested marketplace. It could be GREAT or WARNED",
								examples: ["WARNED"],
								enum: ["GREAT", "WARNED"]
							}
						}
					},
					listingPolicyViolations: { $ref: "#/definitions/ListingLevelViolation" },
					productAuthenticityCustomerComplaints: { $ref: "#/definitions/ListingLevelViolation" },
					productConditionCustomerComplaints: { $ref: "#/definitions/ListingLevelViolation" },
					productSafetyCustomerComplaints: { $ref: "#/definitions/ListingLevelViolation" },
					receivedIntellectualPropertyComplaints: { $ref: "#/definitions/ListingLevelViolation" },
					restrictedProductPolicyViolations: { $ref: "#/definitions/ListingLevelViolation" },
					suspectedIntellectualPropertyViolations: { $ref: "#/definitions/ListingLevelViolation" },
					foodAndProductSafetyIssues: { $ref: "#/definitions/ListingLevelViolation" },
					otherPolicyViolations: { $ref: "#/definitions/ListingLevelViolation" },
					documentRequests: { $ref: "#/definitions/ListingLevelViolation" }
				}
			}
		}
	}
};
//#endregion
//#region src/reports/b-2-b-product-opportunities-not-yet-on-amazon-report-2020-11-19.ts
const b2bProductOpportunitiesNotYetOnAmazonReport20201119 = {
	type: "object",
	description: "Provides B2B product recommendations based on predicted incremental units sold, unmet buyer demand, and other factors for products not yet listed on Amazon. The recommendations are personalized to the seller based on past sales activity.",
	examples: [{ recommendations: [{
		itemName: "Exclusive Home Cabana Indoor/Outdoor Grommet Top Curtain Panel Pair",
		brand: "EXCLUSIVE HOME",
		category: "Furniture",
		ean: "6424721049560",
		initialB2bBuyerRequestedDate: "2020-11-14 00:00:00"
	}] }],
	required: ["recommendations"],
	properties: { recommendations: {
		type: "array",
		description: "A list of B2B product opportunity recommendation objects.",
		additionalItems: true,
		items: {
			type: "object",
			description: "The recommendation result object.",
			required: [],
			properties: {
				itemName: {
					type: "string",
					description: "The title of the product."
				},
				brand: {
					type: "string",
					description: "The brand name of the product."
				},
				category: {
					type: "string",
					description: "The primary product category."
				},
				initialB2bBuyerIndustry: {
					type: "string",
					description: "The industry of the first customer who requested the product."
				},
				partNumber: {
					type: "string",
					description: "The Manufacturer Part Number (MPN) of the product."
				},
				ean: {
					type: "string",
					description: "The European Article Number (EAN) of the product."
				},
				upc: {
					type: "string",
					description: "The Universal Product Code (UPC) of the product."
				},
				modelNumber: {
					type: "string",
					description: "The Model Number of the product."
				},
				isbn: {
					type: "string",
					description: "The International Standard Book Number (ISBN) of the product."
				},
				initialB2bBuyerRequestedDate: {
					type: "string",
					description: "The date the product may not be on Amazon as the result of the customer request."
				}
			}
		}
	} }
};
//#endregion
//#region src/reports/b-2-b-product-opportunities-recommended-for-you-report-2020-11-19.ts
const b2bProductOpportunitiesRecommendedForYouReport20201119 = {
	$id: "http://example.com/example.json",
	type: "object",
	description: "Provides B2B product recommendations based on predicted incremental units sold, unmet buyer demand, low offer count, and other factors for products already offered on Amazon. The recommendations are personalized to the Seller based on past sales activity.",
	examples: [
		{ recommendations: [{
			asin: "B001F0R1FG",
			itemName: "HP 05A | CE505A | Toner Cartridge | Black",
			link: "https://www.amazon.com/dp/B001F0R1FG/ref_=mbop",
			brand: "HP",
			category: "Office Products",
			subCategory: "0375 Toner",
			lowestPriceInTheLastWeek: {
				amount: 43.95,
				currencyCode: "USD"
			},
			hasFBAOffer: true,
			offerCount: 50,
			hasAmazonOffer: true,
			hasOfferWithVatInvoiceGeneration: false,
			reviewCount: 439,
			b2bSalesRank: 2158,
			b2bSalesRankGrowth: "LOW",
			pageViews: "MEDIUM",
			partNumber: "CE505A",
			ean: "3663361254702",
			upc: "701748596694",
			modelNumber: "CE505A",
			isBrandYouOffer: true,
			isCategoryYouOffer: true,
			productPerformance: "TIER_1",
			isProductOnAmazon: false
		}] },
		{ recommendations: [{
			asin: "B07F77R77F",
			itemName: "Nitras Motion TEX VIZ Veste Softshell Haute visibilité | Veste de Travail avec Bordure réfléchissante 3M | Coupe-Vent | XXL",
			link: "https://www.amazon.fr/dp/B07F77R77F/ref_=mbop",
			brand: "NITRAS",
			category: "Apparel",
			subCategory: "1950 Men's Other",
			lowestPriceInTheLastWeek: {
				amount: 59.98,
				currencyCode: "EUR"
			},
			hasFBAOffer: true,
			offerCount: 1,
			hasAmazonOffer: false,
			hasOfferWithVatInvoiceGeneration: false,
			reviewCount: 5,
			b2bSalesRank: 1156,
			b2bSalesRankGrowth: "LOW",
			pageViews: "HIGH",
			partNumber: "7171-2XL",
			ean: "4061553011352",
			modelNumber: "7171_XXL",
			isBrandYouOffer: false,
			isCategoryYouOffer: true,
			productPerformance: "TIER_3",
			isProductOnAmazon: false
		}] },
		{ recommendations: [{
			asin: "B08DYCHX68",
			itemName: "無印良品 公園の時計 大 ヌメ革 腕時計 MJ-PCWB2 ソーラー充電 公園の時計大",
			link: "https://www.amazon.co.jp/dp/B08DYCHX68/ref_=mbop",
			brand: "ノーブランド品",
			category: "Toys",
			subCategory: "0600 Hobbies",
			lowestPriceInTheLastWeek: {
				amount: 13803,
				currencyCode: "JPY"
			},
			hasFBAOffer: false,
			offerCount: 139,
			hasAmazonOffer: false,
			hasOfferWithVatInvoiceGeneration: false,
			reviewCount: 0,
			b2bSalesRank: 499,
			b2bSalesRankGrowth: "LOW",
			pageViews: "HIGH",
			partNumber: "7171-2XL",
			ean: "4061553011352",
			modelNumber: "7171_XXL",
			isBrandYouOffer: true,
			isCategoryYouOffer: true,
			productPerformance: "TIER_3",
			isProductOnAmazon: false
		}] },
		{ recommendations: [{
			asin: "B07NYFV364",
			itemName: "HandPro Black Nitrile Powder free hand gloves 1 Box (Medium)",
			link: "https://www.amazon.in/dp/B07NYFV364/ref_=mbop",
			brand: "HandPRO",
			category: "Biss",
			subCategory: "3100 Professional Medical",
			lowestPriceInTheLastWeek: {
				amount: 699,
				currencyCode: "INR"
			},
			hasFBAOffer: false,
			offerCount: 1,
			hasAmazonOffer: false,
			hasOfferWithVatInvoiceGeneration: false,
			reviewCount: 13,
			b2bSalesRank: 53,
			b2bSalesRankGrowth: "HIGH",
			pageViews: "MEDIUM",
			isBrandYouOffer: true,
			isCategoryYouOffer: true,
			productPerformance: "TIER_1",
			isProductOnAmazon: false
		}] }
	],
	required: ["recommendations"],
	properties: { recommendations: {
		type: "array",
		description: "A list of B2B product opportunity recommendation objects.",
		additionalItems: true,
		items: {
			type: "object",
			description: "The recommendation result object.",
			required: ["asin"],
			properties: {
				asin: {
					type: "string",
					description: "The Amazon Standard Identification Number (ASIN)."
				},
				itemName: {
					type: "string",
					description: "The title of the product."
				},
				link: {
					type: "string",
					description: "A hyperlink to the Amazon product detail page."
				},
				brand: {
					type: "string",
					description: "The brand name of the product."
				},
				category: {
					type: "string",
					description: "The primary product category (For example, Office Products)."
				},
				subCategory: {
					type: "string",
					description: "The secondary product category (For example, Computer Monitors)."
				},
				lowestPriceInTheLastWeek: {
					type: "object",
					description: "The lowest priced offer on the product in the last week.",
					required: ["amount", "currencyCode"],
					properties: {
						amount: {
							type: "number",
							description: "The currency amount."
						},
						currencyCode: {
							description: "Three-digit currency code. In ISO 4217 format.",
							type: "string"
						}
					}
				},
				hasFBAOffer: {
					type: "boolean",
					description: "A 'true' means at least one Fulfillment by Amazon (FBA) offer exists on the product. A 'false' means there are no FBA offers for the product."
				},
				offerCount: {
					type: "integer",
					description: "The total number of active offers on the product (including Amazon Retail)."
				},
				hasAmazonOffer: {
					type: "boolean",
					description: "A 'true' means that an active Amazon (retail) offer exists on the product. A 'false' means there are no active Amazon offers for the product."
				},
				hasOfferWithVatInvoiceGeneration: {
					type: "boolean",
					description: "This field will be equal to 'true' only if it has at least one offer from a seller who has adopted an automated solution for VAT invoice generation. This type of offer will guarantee that the buyer will have access to a downloadable VAT invoice."
				},
				reviewCount: {
					type: "integer",
					description: "The total number of customer reviews for the product."
				},
				b2bSalesRank: {
					type: "integer",
					description: "The sales rank of the product, at the Category level, based only on Amazon Business customer purchases."
				},
				b2bSalesRankGrowth: {
					type: "string",
					description: "A general measure of how much the business sales rank has grown (relative to other products in the category) over the past 30 days displayed as 'HIGH', 'MEDIUM', or 'LOW'.",
					enum: [
						"HIGH",
						"MEDIUM",
						"LOW"
					],
					"x-docgen-enum-table-extension": [
						{
							value: "HIGH",
							description: "'HIGH' means that the product’s business sales rank has grown over 33% from the previous month."
						},
						{
							value: "MEDIUM",
							description: "'MEDIUM' means that it has grown from 0% to 33%."
						},
						{
							value: "LOW",
							description: "'LOW' means that the Business Sales Rank has decreased (growth less than 0%)."
						}
					]
				},
				pageViews: {
					type: "string",
					description: "A general measure of how many times the product has been viewed in the past 30 days displayed as 'HIGH', 'MEDIUM', or 'LOW'.",
					enum: [
						"HIGH",
						"MEDIUM",
						"LOW"
					],
					"x-docgen-enum-table-extension": [
						{
							value: "HIGH",
							description: "'HIGH' means that the product is in the top 40% of the product’s category."
						},
						{
							value: "MEDIUM",
							description: "'MEDIUM' means the product is in the next 40%."
						},
						{
							value: "LOW",
							description: "'LOW' means that the product is in the bottom 20% of its category."
						}
					]
				},
				partNumber: {
					type: "string",
					description: "The Manufacturer Part Number (MPN) of the product."
				},
				ean: {
					type: "string",
					description: "The European Article Number (EAN) of the product."
				},
				upc: {
					type: "string",
					description: "The Universal Product Code (UPC) of the product."
				},
				modelNumber: {
					type: "string",
					description: "The Model Number of the product."
				},
				isbn: {
					type: "string",
					description: "The International Standard Book Number (ISBN) of the product."
				},
				isBrandYouOffer: {
					type: "boolean",
					description: "A 'true' means that the product shares a brand with at least one of your active offers. A 'false' means the product does not share a brand with any of your active offers."
				},
				isCategoryYouOffer: {
					type: "boolean",
					description: "A 'true' means the product shares a category with at least one of your active offers. A 'false' means the product does not share a category with any of your active offers."
				},
				productPerformance: {
					type: "string",
					description: "A general measure of product sales to Amazon Business customers over the past 30 days displayed as 'TIER_1', 'TIER_2', and 'TIER_3' where 'TIER_1' is best performing and 'TIER_3' is least performing. Product performance is based on the business sales rank.",
					enum: [
						"TIER_1",
						"TIER_2",
						"TIER_3"
					],
					"x-docgen-enum-table-extension": [
						{
							value: "TIER_1",
							description: "If the product has a business sales rank under 10,000, it is considered 'TIER_1'."
						},
						{
							value: "TIER_2",
							description: "If a product has a business sales rank between 10,000 and 20,000, then the product is considered 'TIER_2'."
						},
						{
							value: "TIER_3",
							description: "If the product has a business sales rank over 20,000, it is considered 'TIER_3'."
						}
					]
				},
				isProductOnAmazon: {
					type: "boolean",
					description: "A 'true' means the product is listed on Amazon. A 'false' means the product is not listed on Amazon."
				}
			}
		}
	} }
};
//#endregion
//#region src/reports/end-user-data-report.ts
const endUserDataReport = {
	type: "object",
	description: "Provides end user (customer) data to IE, ES, FR, BE, NL, DE, IT, SE, and PL selling partners. The data contains customer personal data that includes contact information, page view (glance view), and order data for customers that elect to share this data with specific sellers. The customer data is accessible across various reporting periods (DAY, WEEK, and MONTH). Developers can choose start and end dates and the reporting period for data retrieval and aggregation. If the customer does not elect to share their data, the report does not generate data.",
	examples: [{
		reportSpecification: {
			dataStartTime: "2023-09-10",
			dataEndTime: "2023-09-16",
			reportType: "END_USER_DATA_REPORT",
			reportOptions: { reportPeriod: "WEEK" },
			marketplaceIds: ["A1PA6795UKMFR9", "APJ6JRA9NG5V4"]
		},
		endUserData: [{
			fullName: "John Doe",
			mailingAddress: {
				addressLine1: "ABC Blvd",
				addressLine2: "Apartment 000",
				addressLine3: "",
				city: "Berlin",
				stateOrRegion: "Berlin",
				districtOrCounty: "",
				postalCode: "10115",
				countryCode: "DE"
			},
			primaryEmail: "jdoe@xyz.com",
			asinMetrics: [{
				startDate: "2023-09-10",
				endDate: "2023-09-16",
				marketplaceId: "A1PA6795UKMFR9",
				asin: "B00EZ1IGCO",
				pageViews: 12352,
				gms: 145.2,
				currencyCode: "EUR"
			}, {
				startDate: "2023-09-10",
				endDate: "2023-09-16",
				marketplaceId: "A1PA6795UKMFR9",
				asin: "A0DEZ1IKDB",
				pageViews: 432,
				gms: 98.8,
				currencyCode: "EUR"
			}]
		}, {
			fullName: "Oliver Smith",
			mailingAddress: {
				addressLine1: "000 XYZ Street",
				addressLine2: "",
				addressLine3: "",
				city: "Rome",
				stateOrRegion: "Lazio",
				districtOrCounty: "",
				postalCode: "39100",
				countryCode: "IT"
			},
			primaryEmail: "osmith@xyz.com",
			asinMetrics: [{
				startDate: "2023-09-10",
				endDate: "2023-09-16",
				marketplaceId: "APJ6JRA9NG5V4",
				asin: "B00EZ1IGCO",
				pageViews: 12352,
				gms: 145.2,
				currencyCode: "EUR"
			}, {
				startDate: "2023-09-10",
				endDate: "2023-09-16",
				marketplaceId: "APJ6JRA9NG5V4",
				asin: "A0DEZ1IKDB",
				pageViews: 432,
				gms: 98.8,
				currencyCode: "EUR"
			}]
		}]
	}, {
		reportSpecification: {
			reportType: "END_USER_DATA_REPORT",
			marketplaceIds: ["A1PA6795UKMFR9"],
			dataStartTime: "2022-08-15",
			dataEndTime: "2023-10-05"
		},
		endUserData: [{
			fullName: "John Doe",
			mailingAddress: {
				addressLine1: "ABC Blvd",
				addressLine2: "Apartment 000",
				addressLine3: "",
				city: "Berlin",
				stateOrRegion: "Berlin",
				districtOrCounty: "",
				postalCode: "10115",
				countryCode: "DE"
			},
			primaryEmail: "jdoe@xyz.com",
			asinMetrics: [
				{
					startDate: "2023-09-01",
					endDate: "2023-09-30",
					marketplaceId: "A1PA6795UKMFR9",
					asin: "B00EZ1IGCO",
					pageViews: 1256,
					gms: 125.2,
					currencyCode: "EUR"
				},
				{
					startDate: "2023-08-01",
					endDate: "2023-08-31",
					marketplaceId: "A1PA6795UKMFR9",
					asin: "B00EZ1IGCO",
					pageViews: 12352,
					gms: 145.2,
					currencyCode: "EUR"
				},
				{
					startDate: "2023-07-01",
					endDate: "2023-07-31",
					marketplaceId: "A1PA6795UKMFR9",
					asin: "B00EZ1IGCO",
					pageViews: 12352,
					gms: 145.2,
					currencyCode: "EUR"
				},
				{
					startDate: "2023-06-01",
					endDate: "2023-06-30",
					marketplaceId: "A1PA6795UKMFR9",
					asin: "B00EZ1IGCO",
					pageViews: 12352,
					gms: 145.2,
					currencyCode: "EUR"
				},
				{
					startDate: "2023-05-01",
					endDate: "2023-05-31",
					marketplaceId: "A1PA6795UKMFR9",
					asin: "B00EZ1IGCO",
					pageViews: 12352,
					gms: 145.2,
					currencyCode: "EUR"
				},
				{
					startDate: "2023-04-01",
					endDate: "2023-04-30",
					marketplaceId: "A1PA6795UKMFR9",
					asin: "B00EZ1IGCO",
					pageViews: 12352,
					gms: 145.2,
					currencyCode: "EUR"
				},
				{
					startDate: "2023-03-01",
					endDate: "2023-03-31",
					marketplaceId: "A1PA6795UKMFR9",
					asin: "B00EZ1IGCO",
					pageViews: 12352,
					gms: 145.2,
					currencyCode: "EUR"
				},
				{
					startDate: "2023-02-01",
					endDate: "2023-02-28",
					marketplaceId: "A1PA6795UKMFR9",
					asin: "B00EZ1IGCO",
					pageViews: 12352,
					gms: 145.2,
					currencyCode: "EUR"
				},
				{
					startDate: "2023-01-01",
					endDate: "2023-01-31",
					marketplaceId: "A1PA6795UKMFR9",
					asin: "B00EZ1IGCO",
					pageViews: 12352,
					gms: 145.2,
					currencyCode: "EUR"
				},
				{
					startDate: "2022-12-01",
					endDate: "2022-12-31",
					marketplaceId: "A1PA6795UKMFR9",
					asin: "B00EZ1IGCO",
					pageViews: 12352,
					gms: 145.2,
					currencyCode: "EUR"
				},
				{
					startDate: "2022-11-01",
					endDate: "2022-11-30",
					marketplaceId: "A1PA6795UKMFR9",
					asin: "B00EZ1IGCO",
					pageViews: 12352,
					gms: 145.2,
					currencyCode: "EUR"
				},
				{
					startDate: "2022-10-01",
					endDate: "2022-10-31",
					marketplaceId: "A1PA6795UKMFR9",
					asin: "B00EZ1IGCO",
					pageViews: 12352,
					gms: 145.2,
					currencyCode: "EUR"
				},
				{
					startDate: "2022-09-01",
					endDate: "2022-09-30",
					marketplaceId: "A1PA6795UKMFR9",
					asin: "B00EZ1IGCO",
					pageViews: 12352,
					gms: 145.2,
					currencyCode: "EUR"
				}
			]
		}]
	}],
	required: ["reportSpecification", "endUserData"],
	properties: {
		reportSpecification: {
			type: "object",
			description: "Summarizes the report request.",
			required: [
				"reportType",
				"marketplaceIds",
				"dataStartTime",
				"dataEndTime"
			],
			properties: {
				reportType: {
					type: "string",
					description: "The report type."
				},
				reportOptions: {
					type: "object",
					description: "Used to specify the report period.",
					properties: { reportPeriod: {
						type: "string",
						description: "The granularity of the data in the report. Valid values are: DAY, WEEK, and MONTH. If no granularity is specified, reportPeriod defaults to MONTH.",
						enum: [
							"DAY",
							"WEEK",
							"MONTH"
						]
					} }
				},
				dataStartTime: {
					type: "string",
					format: "date",
					description: "Determines the start date of the report - the time component is ignored. If the provided start date occurs mid-week or mid-month, the following Sunday for weekly reporting periods or the first day of the next month for monthly reporting periods will be used instead.",
					examples: ["2023-06-06"]
				},
				dataEndTime: {
					type: "string",
					format: "date",
					description: "Determines the end date of the report - the time component is ignored. If the provided end date occurs mid-week or mid-month, the preceding Saturday for weekly reporting periods or the last day of the previous month for monthly reporting periods will be used instead. Additionally if the end date differs from the start date by more than 365 days, it will be adjusted to the closest end date with a maximum 365 day difference based on the selected reporting period.",
					examples: ["2021-06-19"]
				},
				marketplaceIds: {
					type: "array",
					description: "Any of the EU(8) marketplaces. DE, FR, IT, ES, NL, PL, SE and BE",
					items: {
						type: "string",
						description: "Any EU(8) Marketplace ID. DE, FR, IT, ES, NL, PL, SE and BE. The ID for the marketplace can be found on the SP-API documentation. - https://developer-docs.amazon.com/sp-api/docs/marketplace-ids"
					}
				}
			}
		},
		endUserData: {
			type: "array",
			description: "A list of consented end users (buyers) and their data.",
			items: { $ref: "#/definitions/EndUserData" }
		}
	},
	definitions: {
		EndUserData: {
			type: "object",
			description: "Contains end user contact information, page view and GMS metrics.",
			required: [
				"fullName",
				"mailingAddress",
				"primaryEmail",
				"asinMetrics"
			],
			properties: {
				fullName: {
					type: "string",
					description: "Full Name of the end user."
				},
				mailingAddress: {
					type: "object",
					description: "Mailing address of the end user.",
					properties: {
						addressLine1: {
							type: "string",
							description: "The first line of the address."
						},
						addressLine2: {
							type: "string",
							description: "Additional address."
						},
						addressLine3: {
							type: "string",
							description: "Additional address."
						},
						city: {
							type: "string",
							description: "City."
						},
						stateOrRegion: {
							type: "string",
							description: "State or Region."
						},
						districtOrCounty: {
							type: "string",
							description: "District or County."
						},
						postalCode: {
							type: "string",
							description: "Postal code."
						},
						countryCode: {
							type: "string",
							description: "The two letter ISO 3166-1 alpha-2 country code.",
							examples: [
								"IT",
								"DE",
								"FR"
							]
						}
					}
				},
				primaryEmail: {
					type: "string",
					description: "Primary email of the end user."
				},
				asinMetrics: {
					type: "array",
					description: "A list of Asin Page View and GMS metrics of an end user.",
					items: { $ref: "#/definitions/AsinMetrics" }
				}
			}
		},
		AsinMetrics: {
			type: "object",
			description: "Page view and GMS metrics of the end user.",
			required: [
				"startDate",
				"endDate",
				"marketplaceId",
				"asin"
			],
			properties: {
				startDate: {
					type: "string",
					format: "date",
					description: "Start date of the aggregation window.",
					examples: ["2023-01-16"]
				},
				endDate: {
					type: "string",
					format: "date",
					description: "End date of the aggregation window.",
					examples: ["2023-01-23"]
				},
				marketplaceId: {
					type: "string",
					description: "Marketplace for which the metrics are provided.",
					examples: ["A1PA6795UKMFR9"]
				},
				asin: {
					type: "string",
					description: "ASIN for which the metrics are provided. Only ASINs with an active offer from the Seller are included.",
					examples: ["B00EZ1IGCO"]
				},
				pageViews: {
					type: "integer",
					description: "End user's page views (count) for the ASIN.",
					minimum: 0,
					examples: [12352]
				},
				gms: {
					type: "number",
					description: "End user's GMS for the ASIN. GMS = (Product Price * Quantity) + Shipping + Giftwrap - Returns - Promotional Discounts.",
					minimum: 0,
					examples: [15.23]
				},
				currencyCode: {
					type: "string",
					description: "The ISO 4217 currency code in which GMS is calculated.",
					examples: ["EUR"]
				}
			}
		}
	}
};
//#endregion
//#region src/reports/marketplace-asin-page-view-metrics.ts
const marketplaceAsinPageViewMetrics = {
	type: "object",
	description: "Provides information on the ASIN page view (glance view) metrics for the DE, FR, IT, ES, NL, PL, SE, BE (EU-8) and UK marketplaces, with data available up to the last seven days. A page view is a customer view of the product's detail page for a given ASIN. Developers have the option to specify a start and end date to retrieve data within that range. If no dates are specified, the report will provide the data for the latest available day. For marketplaces and product categories where the seller does not have a meaningful presence (40 units sold), the report will not return any data.",
	examples: [{
		reportSpecification: {
			dataStartTime: "2023-04-27",
			dataEndTime: "2023-05-03",
			reportType: "MARKETPLACE_ASIN_PAGE_VIEW_METRICS",
			reportOptions: { productType: "AUTO_BATTERY" },
			marketplaceIds: ["A1PA6795UKMFR9", "APJ6JRA9NG5V4"]
		},
		marketplaceAsinPageViewMetrics: [
			{
				startTime: "2023-04-27T00:00:00Z",
				endTime: "2023-04-28T00:00:00Z",
				marketplaceId: "A1PA6795UKMFR9",
				asin: "B00EZ1IGCO",
				pageViews: 12352
			},
			{
				startTime: "2023-04-28T00:00:00Z",
				endTime: "2023-04-29T00:00:00Z",
				marketplaceId: "A1PA6795UKMFR9",
				asin: "B00EZ1IGCO",
				pageViews: 12321
			},
			{
				startTime: "2023-04-29T00:00:00Z",
				endTime: "2023-04-30T00:00:00Z",
				marketplaceId: "A1PA6795UKMFR9",
				asin: "B00EZ1IGCO",
				pageViews: 10021
			},
			{
				startTime: "2023-04-30T00:00:00Z",
				endTime: "2023-05-01T00:00:00Z",
				marketplaceId: "A1PA6795UKMFR9",
				asin: "B00EZ1IGCO",
				pageViews: 1432
			},
			{
				startTime: "2023-05-01T00:00:00Z",
				endTime: "2023-05-02T00:00:00Z",
				marketplaceId: "A1PA6795UKMFR9",
				asin: "B00EZ1IGCO",
				pageViews: 342
			},
			{
				startTime: "2023-05-02T00:00:00Z",
				endTime: "2023-05-03T00:00:00Z",
				marketplaceId: "A1PA6795UKMFR9",
				asin: "B00EZ1IGCO",
				pageViews: 450
			},
			{
				startTime: "2023-05-03T00:00:00Z",
				endTime: "2023-05-04T00:00:00Z",
				marketplaceId: "A1PA6795UKMFR9",
				asin: "B00EZ1IGCO",
				pageViews: 1250
			},
			{
				startTime: "2023-04-27T00:00:00Z",
				endTime: "2023-04-28T00:00:00Z",
				marketplaceId: "APJ6JRA9NG5V4",
				asin: "A0DEZ1IKDB",
				pageViews: 12352
			},
			{
				startTime: "2023-04-28T00:00:00Z",
				endTime: "2023-04-29T00:00:00Z",
				marketplaceId: "APJ6JRA9NG5V4",
				asin: "A0DEZ1IKDB",
				pageViews: 12321
			},
			{
				startTime: "2023-04-29T00:00:00Z",
				endTime: "2023-04-30T00:00:00Z",
				marketplaceId: "APJ6JRA9NG5V4",
				asin: "A0DEZ1IKDB",
				pageViews: 10021
			},
			{
				startTime: "2023-04-30T00:00:00Z",
				endTime: "2023-05-01T00:00:00Z",
				marketplaceId: "APJ6JRA9NG5V4",
				asin: "A0DEZ1IKDB",
				pageViews: 1432
			},
			{
				startTime: "2023-05-01T00:00:00Z",
				endTime: "2023-05-02T00:00:00Z",
				marketplaceId: "APJ6JRA9NG5V4",
				asin: "A0DEZ1IKDB",
				pageViews: 342
			},
			{
				startTime: "2023-05-02T00:00:00Z",
				endTime: "2023-05-03T00:00:00Z",
				marketplaceId: "APJ6JRA9NG5V4",
				asin: "A0DEZ1IKDB",
				pageViews: 450
			},
			{
				startTime: "2023-05-03T00:00:00Z",
				endTime: "2023-05-04T00:00:00Z",
				marketplaceId: "APJ6JRA9NG5V4",
				asin: "A0DEZ1IKDB",
				pageViews: 1250
			}
		]
	}, {
		reportSpecification: {
			reportType: "MARKETPLACE_ASIN_PAGE_VIEW_METRICS",
			reportOptions: { productType: "AUTO_BATTERY" },
			marketplaceIds: ["A1PA6795UKMFR9", "APJ6JRA9NG5V4"]
		},
		marketplaceAsinPageViewMetrics: [{
			startTime: "2023-05-03T00:00:00Z",
			endTime: "2023-05-04T00:00:00Z",
			marketplaceId: "A1PA6795UKMFR9",
			asin: "B00EZ1IGCO",
			pageViews: 1250
		}, {
			startTime: "2023-05-03T00:00:00Z",
			endTime: "2023-05-04T00:00:00Z",
			marketplaceId: "APJ6JRA9NG5V4",
			asin: "A0DEZ1IKDB",
			pageViews: 1250
		}]
	}],
	required: ["reportSpecification", "marketplaceAsinPageViewMetrics"],
	properties: {
		reportSpecification: {
			type: "object",
			description: "Summarizes the report request.",
			required: [
				"reportType",
				"reportOptions",
				"marketplaceIds"
			],
			properties: {
				reportType: {
					type: "string",
					description: "The report type."
				},
				reportOptions: {
					type: "object",
					description: "Specifies the product type.",
					required: ["productType"],
					properties: { productType: {
						type: "string",
						description: "The Amazon product type of the ASINs for which the report is being requested. All ASINs with the productType will be included. The value for the product type can be found by following instructions on Seller Central's Help page. - https://developer-docs.amazon.com/sp-api/docs/seller-central-urls",
						examples: [
							"AUTO_BATTERY",
							"LUGGAGE",
							"SHOES"
						]
					} }
				},
				dataStartTime: {
					type: "string",
					format: "date",
					description: "Determines the start date of the report - the time component is ignored. If the start date of the report is more than seven days ago, the report will be cancelled. If the start date of the report is not provided, it will default to the start date of the most recently available daily data.",
					examples: ["2021-06-06"]
				},
				dataEndTime: {
					type: "string",
					format: "date",
					description: "Determines the end date of the report - the time component is ignored. If the end date of the report is not within the seven days from start date, the report will be cancelled. If the end date of the report is not provided, it will default to the end date of the most recently available daily date.",
					examples: ["2021-06-19"]
				},
				marketplaceIds: {
					type: "array",
					description: "Any of the EU(8) or UK marketplaces. DE, FR, IT, ES, NL, PL, SE, BE and UK",
					items: {
						type: "string",
						description: "Any EU(8) or UK Marketplace ID. DE, FR, IT, ES, NL, PL, SE, BE and UK. The ID for the marketplace can be found on the SP-API documentation. - https://developer-docs.amazon.com/sp-api/docs/marketplace-ids"
					}
				}
			}
		},
		marketplaceAsinPageViewMetrics: {
			type: "array",
			description: "A list of ASIN page view metrics.",
			items: { $ref: "#/definitions/MarketplaceAsinPageViewMetrics" }
		}
	},
	definitions: { MarketplaceAsinPageViewMetrics: {
		type: "object",
		description: "Contains aggregate ASIN page view metrics.",
		required: [
			"startTime",
			"endTime",
			"marketplaceId",
			"asin",
			"pageViews"
		],
		properties: {
			startTime: {
				type: "string",
				format: "date-time",
				description: "Start time of the aggregation window in UTC.",
				examples: ["2023-01-16T00:00:00Z"]
			},
			endTime: {
				type: "string",
				format: "date-time",
				description: "End time of the aggregation window in UTC.",
				examples: ["2023-01-23T00:00:00Z"]
			},
			marketplaceId: {
				type: "string",
				description: "Marketplace for which the page view metrics are provided.",
				examples: ["A1PA6795UKMFR9"]
			},
			asin: {
				type: "string",
				description: "ASIN for which the page view metrics are provided.",
				examples: ["B00EZ1IGCO"]
			},
			pageViews: {
				type: "integer",
				description: "Total page views (count).",
				minimum: 0,
				examples: ["12352"]
			}
		}
	} }
};
//#endregion
//#region src/reports/promotion-report.ts
const promotionReport = {
	type: "object",
	description: "The Promotion Performance report contains data to help vendors optimize their promotions and adjust their advertising strategies. Currently three promotion types are supported: Best Deal, Lightning Deal, and Price Discount. This report supports start dates up to two years before the current date.",
	examples: [{
		reportSpecification: {
			reportType: "GET_PROMOTION_PERFORMANCE_REPORT",
			reportOptions: {
				promotionStartDateFrom: "2020-11-23T15:33:26Z",
				promotionStartDateTo: "2020-12-06T15:33:26Z"
			},
			marketplaceIds: ["ATVPDKIKX0DER"]
		},
		promotions: [{
			promotionId: "16913551269",
			promotionName: "Save on BrandX Product Name",
			vendorCode: "ABCDE",
			merchantId: "A21MAFL4G6JTR3",
			unitsSold: 121,
			amountSpent: 9338.2,
			amountSpentCurrencyCode: "USD",
			revenue: 32917.01,
			revenueCurrencyCode: "USD",
			startDateTime: "2020-11-23T12:34:56Z",
			endDateTime: "2020-11-23T12:34:56Z",
			type: "BEST_DEAL",
			status: "APPROVED",
			creationChannel: "SELF-SERVICE",
			marketplaceId: "ATVPDKIKX0DER",
			fundingAgreementId: "58985408",
			glanceViews: 41084,
			createdDateTime: "2020-09-18T13:24:39Z",
			lastUpdatedDateTime: "2020-09-18T13:24:39Z",
			includedProducts: [{
				asin: "B08755Z2ND",
				productName: "BrandX Product, Travel Size, 3 Pack",
				productGlanceViews: 380,
				productUnitsSold: 20,
				productAmountSpent: 4425.22,
				productAmountSpentCurrencyCode: "USD",
				productRevenue: 16371.85,
				productRevenueCurrencyCode: "USD"
			}]
		}]
	}],
	required: ["reportSpecification", "promotions"],
	properties: {
		reportSpecification: {
			type: "object",
			description: "Summarizes the original report request.",
			examples: [{
				reportType: "GET_PROMOTION_PERFORMANCE_REPORT",
				reportOptions: {
					promotionStartDateFrom: "2020-11-23T15:33:26Z",
					promotionStartDateTo: "2020-12-06T15:33:26Z"
				},
				marketplaceIds: ["ATVPDKIKX0DER"]
			}],
			required: [
				"reportType",
				"reportOptions",
				"marketplaceIds"
			],
			properties: {
				reportType: {
					type: "string",
					description: "The report type.",
					examples: ["GET_PROMOTION_PERFORMANCE_REPORT"]
				},
				reportOptions: {
					type: "object",
					description: "Report options specifying the parameters promotionStartDateFrom and promotionStartDateTo.",
					required: ["promotionStartDateFrom", "promotionStartDateTo"],
					properties: {
						promotionStartDateFrom: {
							type: "string",
							format: "date-time",
							description: "The start of a date and time range in ISO 8601 format used for selecting promotions to report on. All promotions with a start date-time that falls within the range will be included.",
							examples: ["2020-11-23T15:33:26Z"]
						},
						promotionStartDateTo: {
							type: "string",
							format: "date-time",
							description: "The end of a date and time range in ISO 8601 format used for selecting promotions to report on. All promotions with a start date-time that falls within the range will be included.",
							examples: ["2020-12-06T15:33:26Z"]
						}
					}
				},
				marketplaceIds: {
					type: "array",
					description: "The marketplace IDs specified in the report request.",
					examples: [["ATVPDKIKX0DER"]],
					items: {
						type: "string",
						description: "The marketplace ID.",
						examples: ["ATVPDKIKX0DER"]
					}
				}
			}
		},
		promotions: {
			type: "array",
			description: "The list of included promotions.",
			items: { $ref: "#/definitions/DetailsByPromotion" }
		}
	},
	definitions: {
		DetailsByPromotion: {
			type: "object",
			description: "An object that contains details about a promotion and every included product.",
			examples: [{
				promotionId: "16913551269",
				promotionName: "Save on BrandX Product Name",
				vendorCode: "ABCDE",
				merchantId: "A21MAFL4G6JTR3",
				unitsSold: 121,
				amountSpent: 9338.2,
				amountSpentCurrencyCode: "USD",
				revenue: 32917.01,
				revenueCurrencyCode: "USD",
				startDateTime: "2020-11-23T12:34:56Z",
				endDateTime: "2020-11-23T12:34:56Z",
				type: "BEST_DEAL",
				status: "APPROVED",
				creationChannel: "SELF-SERVICE",
				marketplaceId: "ATVPDKIKX0DER",
				fundingAgreementId: "58985408",
				glanceViews: 41084,
				createdDateTime: "2020-09-18T13:24:39Z",
				lastUpdatedDateTime: "2020-09-18T13:24:39Z",
				includedProducts: [{
					asin: "B08755Z2ND",
					productName: "Save on BrandX Product Name",
					productGlanceViews: 380,
					productUnitsSold: 20,
					productAmountSpent: 4425.22,
					productAmountSpentCurrencyCode: "USD",
					productRevenue: 16371.85,
					productRevenueCurrencyCode: "USD"
				}]
			}],
			required: [
				"promotionId",
				"promotionName",
				"unitsSold",
				"revenue",
				"revenueCurrencyCode",
				"startDateTime",
				"endDateTime",
				"type",
				"status",
				"creationChannel",
				"marketplaceId",
				"createdDateTime",
				"lastUpdatedDateTime",
				"includedProducts"
			],
			properties: {
				promotionId: {
					type: "string",
					description: "The unique identifier of the promotion.",
					examples: ["16913551269"]
				},
				promotionName: {
					type: "string",
					description: "The customer facing name of the promotion.",
					examples: ["Save on BrandX Product Name"]
				},
				vendorCode: {
					type: "string",
					description: "The vendor code associated with the promotion funding agreement. For vendors only.",
					examples: ["ABCDE"]
				},
				merchantId: {
					type: "string",
					description: "The merchant customer ID associated with the promotion funding agreement. For sellers only.",
					examples: ["A21MAFL4G6JTR3"]
				},
				unitsSold: {
					type: "integer",
					description: "The number of units sold across all ASINs in the promotion.",
					minimum: 0,
					examples: [121]
				},
				amountSpent: {
					type: "number",
					description: "Total funding provided across all ASINs in the promotion. For vendors only.",
					minimum: 0,
					examples: [9338.2]
				},
				amountSpentCurrencyCode: {
					type: "string",
					description: "The ISO 4217 currency code of amountSpent.",
					examples: ["USD"]
				},
				revenue: {
					type: "number",
					description: "The total revenue generated across all ASINs in the promotion. For sellers, this is equivalent to \"sales\" in the Seller Central UI.",
					minimum: 0,
					examples: [32917.01]
				},
				revenueCurrencyCode: {
					type: "string",
					description: "The ISO 4217 currency code of revenue.",
					examples: ["USD"]
				},
				startDateTime: {
					type: "string",
					format: "date-time",
					description: "Promotion start date-time in ISO 8601 format in UTC.",
					examples: ["2020-11-23T12:34:56Z"]
				},
				endDateTime: {
					type: "string",
					format: "date-time",
					description: "Promotion end date-time in ISO 8601 format in UTC.",
					examples: ["2020-11-23T12:34:56Z"]
				},
				type: {
					type: "string",
					description: "The type of the promotion.",
					enum: [
						"BEST_DEAL",
						"DEAL_OF_THE_DAY",
						"LIGHTNING_DEAL",
						"PRICE_DISCOUNT",
						"SALES_DISCOUNT",
						"COUPON",
						"PROMO_CODE"
					]
				},
				status: {
					type: "string",
					description: "The state that the promotion is in.",
					enum: [
						"APPROVED",
						"PENDING_APPROVAL",
						"NEEDS_YOUR_ATTENTION",
						"CANCELED"
					]
				},
				creationChannel: {
					type: "string",
					description: "The mode of creation for the promotion.",
					enum: [
						"SELF-SERVICE",
						"FULL-SERVICE",
						"AUTOMATED",
						"MANUAL"
					],
					"x-docgen-enum-table-extension": [
						{
							value: "SELF-SERVICE",
							description: "Created by the vendor/seller directly in Vendor/Seller Central."
						},
						{
							value: "FULL-SERVICE",
							description: "Created on behalf of the vendor/seller by account managers."
						},
						{
							value: "AUTOMATED",
							description: "Created automatically by a system in response to a trigger. For example, Deal-O-Matic."
						},
						{
							value: "MANUAL",
							description: "Only used for digital point-of-sale discounts created in Vendisto."
						}
					]
				},
				marketplaceId: {
					type: "string",
					description: "The marketplace the promotion is running in.",
					examples: ["ATVPDKIKX0DER"]
				},
				fundingAgreementId: {
					type: "string",
					description: "The ID for the funding agreement. For vendors only.",
					examples: ["58985408"]
				},
				glanceViews: {
					type: "integer",
					description: "The total customer views for all product detail pages.",
					minimum: 0,
					examples: [41084]
				},
				createdDateTime: {
					type: "string",
					format: "date-time",
					description: "The promotion creation date-time in ISO 8601 format in UTC.",
					examples: ["2020-09-18T13:24:39Z"]
				},
				lastUpdatedDateTime: {
					type: "string",
					format: "date-time",
					description: "The promotion last updated date-time in ISO 8601 format in UTC.",
					examples: ["2020-09-18T13:24:39Z"]
				},
				includedProducts: {
					type: "array",
					description: "List of included products and their details.",
					items: { $ref: "#/definitions/DetailsByProduct" }
				}
			}
		},
		DetailsByProduct: {
			type: "object",
			description: "An object that contains details about a product.",
			examples: [{
				asin: "B08755Z2ND",
				productName: "BrandX Product, Travel Size, 3 Pack",
				productGlanceViews: 380,
				productUnitsSold: 20,
				productAmountSpent: 4425.22,
				productAmountSpentCurrencyCode: "USD",
				productRevenue: 16371.85,
				productRevenueCurrencyCode: "USD"
			}],
			required: [
				"asin",
				"productName",
				"productUnitsSold",
				"productRevenue",
				"productRevenueCurrencyCode"
			],
			properties: {
				asin: {
					type: "string",
					description: "The product ASIN.",
					examples: ["B08755Z2ND"]
				},
				productName: {
					type: "string",
					description: "The product name.",
					examples: ["BrandX Product, Travel Size, 3 Pack"]
				},
				productGlanceViews: {
					type: "integer",
					description: "The number of customer views of the product detail page.",
					minimum: 0,
					examples: [380]
				},
				productUnitsSold: {
					type: "integer",
					description: "The number of units sold at the promotional price.",
					minimum: 0,
					examples: [20]
				},
				productAmountSpent: {
					type: "number",
					description: "Total funding provided by the vendor at the ASIN level. For vendors only.",
					minimum: 0,
					examples: [4425.22]
				},
				productAmountSpentCurrencyCode: {
					type: "string",
					description: "ISO 4217 currency code of productAmountSpent.",
					examples: ["USD"]
				},
				productRevenue: {
					type: "number",
					description: "The total revenue generated at the ASIN level. For sellers, this is equivalent to \"sales\" in the Seller Central UI.",
					minimum: 0,
					examples: [16371.85]
				},
				productRevenueCurrencyCode: {
					type: "string",
					description: "ISO 4217 currency code of productRevenue.",
					examples: ["USD"]
				}
			}
		}
	}
};
//#endregion
//#region src/reports/seller-coupon-report.ts
const sellerCouponReport = {
	type: "object",
	description: "This report contains data to help sellers optimize their coupons and adjust their advertising strategies. This report supports start dates up to two years before the current date.",
	examples: [{
		reportSpecification: {
			reportType: "GET_COUPON_PERFORMANCE_REPORT",
			reportOptions: {
				couponStartDateFrom: "2021-11-01T15:33:26Z",
				couponStartDateTo: "2021-11-30T15:33:26Z"
			},
			marketplaceIds: ["ATVPDKIKX0DER"]
		},
		coupons: [{
			couponId: "A2NW32V27GZS2T",
			merchantId: "A21MAFL4G6JTR3",
			marketplaceId: "ATVPDKIKX0DER",
			currencyCode: "USD",
			name: "Product $40 Off",
			websiteMessage: "Save on BrandX Product",
			startDateTime: "2021-11-26T05:59:59Z",
			endDateTime: "2021-11-29T23:59:59Z",
			customerSegment: "All (Default)",
			discountType: "PERCENT_OFF_LIST_PRICE",
			discountAmount: 10,
			clips: 13,
			redemptions: 1,
			budget: 1e4,
			totalDiscount: 40,
			budgetSpent: 42.29,
			budgetRemaining: 9957.71,
			budgetPercentageUsed: .4,
			sales: 62.1,
			asins: [{ asin: "B08XJWMYR5" }, { asin: "B07Z7XTQKZ" }]
		}]
	}],
	required: ["reportSpecification", "coupons"],
	properties: {
		reportSpecification: {
			type: "object",
			description: "Summarizes the original report request.",
			examples: [{
				reportType: "GET_COUPON_PERFORMANCE_REPORT",
				reportOptions: {
					couponStartDateFrom: "2021-11-01T15:33:26Z",
					couponStartDateTo: "2021-11-30T15:33:26Z"
				},
				marketplaceIds: ["ATVPDKIKX0DER"]
			}],
			required: [
				"reportType",
				"reportOptions",
				"marketplaceIds"
			],
			properties: {
				reportType: {
					type: "string",
					description: "The report type.",
					examples: ["GET_COUPON_PERFORMANCE_REPORT"]
				},
				reportOptions: {
					type: "object",
					description: "Report options specifying parameters couponStartDateFrom and couponStartDateTo.",
					required: ["couponStartDateFrom", "couponStartDateTo"],
					properties: {
						couponStartDateFrom: {
							type: "string",
							format: "date-time",
							description: "The start of a date-time range in UTC used for selecting coupons to report on. All coupons with a start date-time that falls within the range will be included.",
							examples: ["2021-11-01T15:33:26Z"]
						},
						couponStartDateTo: {
							type: "string",
							format: "date-time",
							description: "The end of a date-time range in UTC used for selecting coupons to report on. All coupons with a start date-time that falls within the range will be included.",
							examples: ["2021-11-30T15:33:26Z"]
						}
					}
				},
				marketplaceIds: {
					type: "array",
					description: "Marketplace IDs as specified in the report request.",
					examples: [["ATVPDKIKX0DER"]],
					items: {
						type: "string",
						description: "The marketplace ID.",
						examples: ["ATVPDKIKX0DER"]
					}
				}
			}
		},
		coupons: {
			type: "array",
			description: "A list of included coupons.",
			items: { $ref: "#/definitions/CouponDetails" }
		}
	},
	definitions: {
		CouponDetails: {
			type: "object",
			description: "Contains details about a coupon.",
			examples: [{
				couponId: "A2NW32V27GZS2T",
				merchantId: "A21MAFL4G6JTR3",
				marketplaceId: "ATVPDKIKX0DER",
				currencyCode: "USD",
				name: "Product $40 Off",
				websiteMessage: "Save on BrandX Product",
				startDateTime: "2021-11-26T05:59:59Z",
				endDateTime: "2021-11-29T23:59:59Z",
				customerSegment: "All (Default)",
				discountType: "PERCENT_OFF_LIST_PRICE",
				discountAmount: 10,
				clips: 13,
				redemptions: 1,
				budget: 1e4,
				totalDiscount: 40,
				budgetSpent: 42.29,
				budgetRemaining: 9957.71,
				budgetPercentageUsed: .4,
				sales: 62.1,
				asins: [{ asin: "B08XJWMYR5" }, { asin: "B07Z7XTQKZ" }]
			}],
			required: [
				"couponId",
				"merchantId",
				"marketplaceId",
				"currencyCode",
				"startDateTime",
				"endDateTime",
				"customerSegment",
				"clips",
				"redemptions",
				"totalDiscount",
				"budgetSpent",
				"budgetPercentageUsed",
				"asins"
			],
			properties: {
				couponId: {
					type: "string",
					description: "Unique identifier of the coupon.",
					examples: ["A2NW32V27GZS2T"]
				},
				merchantId: {
					type: "string",
					description: "Merchant customer ID associated with the coupon.",
					examples: ["A21MAFL4G6JTR3"]
				},
				marketplaceId: {
					type: "string",
					description: "Marketplace the coupon is running in.",
					examples: ["ATVPDKIKX0DER"]
				},
				currencyCode: {
					type: "string",
					description: "The ISO 4217 currency code of all currency values in the coupon.",
					examples: ["USD"]
				},
				name: {
					type: "string",
					description: "The name given to the coupon.",
					examples: ["Product $40 Off"]
				},
				websiteMessage: {
					type: "string",
					description: "The message displayed with the coupon on the product page.",
					examples: ["Save on BrandX Product"]
				},
				startDateTime: {
					type: "string",
					format: "date-time",
					description: "Coupon start date-time in UTC.",
					examples: ["2021-11-26T05:59:59Z"]
				},
				endDateTime: {
					type: "string",
					format: "date-time",
					description: "Coupon end date-time in UTC.",
					examples: ["2021-11-29T23:59:59Z"]
				},
				customerSegment: {
					type: "string",
					description: "Customer segment that the coupon is available to.",
					examples: [
						"All (Default)",
						"Amazon Prime",
						"Amazon Student"
					]
				},
				discountType: {
					type: "string",
					description: "Whether the discount is given as a fixed amount or a percentage off the list price.",
					enum: ["PERCENT_OFF_LIST_PRICE", "AMOUNT_OFF_LIST_PRICE"]
				},
				discountAmount: {
					type: "number",
					description: "Discount amount the customer receives. Reflects a percentage when discountType is PERCENT_OFF_LIST_PRICE and a currency value when discountType is AMOUNT_OFF_LIST_PRICE.",
					minimum: 0,
					examples: [10]
				},
				clips: {
					type: "integer",
					description: "Number of times the coupon has been applied on the product page by unique customers.",
					minimum: 0,
					examples: [13]
				},
				redemptions: {
					type: "integer",
					description: "Number of times the coupon has been used for a purchase. Represents a gross value, including purchases that were returned or cancelled.",
					minimum: 0,
					examples: [1]
				},
				budget: {
					type: "number",
					description: "The budget allocated to the coupon to cover discount offering and clip/redemption fees. Currency value.",
					minimum: 0,
					examples: [1e4]
				},
				totalDiscount: {
					type: "number",
					description: "Total amount saved by customers redeeming the coupon. Currency value. Represents a gross value, including purchases that were returned or cancelled.",
					minimum: 0,
					examples: [40]
				},
				budgetSpent: {
					type: "number",
					description: "Total amount spent by the seller on the coupon, including clip fees and redemption fees. Currency value. Represents a gross value, including purchases that were returned or cancelled.",
					minimum: 0,
					examples: [42.29]
				},
				budgetRemaining: {
					type: "number",
					description: "The budget remaining for the coupon, equal to budget minus budgetSpent. Currency value. Represents a gross value, including purchases that were returned or cancelled.",
					minimum: 0,
					examples: [9957.71]
				},
				budgetPercentageUsed: {
					type: "number",
					description: "Percentage of the allocated budget that has been spent, equal to the budgetSpent divided by budget.",
					minimum: 0,
					maximum: 100,
					examples: [.4]
				},
				sales: {
					type: "number",
					description: "Total revenue generated by redemptions of the coupon after the discount. Currency value. Represents a gross value, including purchases that were returned or cancelled.",
					minimum: 0,
					examples: [62.1]
				},
				asins: {
					type: "array",
					description: "Products associated with the coupon.",
					items: { $ref: "#/definitions/AsinDetails" }
				}
			}
		},
		AsinDetails: {
			type: "object",
			description: "Contains details about an asin.",
			examples: [{ asin: "B08XJWMYR5" }, { asin: "B07Z7XTQKZ" }],
			required: ["asin"],
			properties: { asin: {
				type: "string",
				description: "The asin of the product.",
				examples: ["B08XJWMYR5"]
			} }
		}
	}
};
//#endregion
//#region src/reports/seller-sales-and-traffic-report.ts
const sellerSalesAndTrafficReport = {
	type: "object",
	description: "This report shares data on the sales performance and page traffic of the seller's items aggregated by date (across the seller's entire catalog of items) and aggregated by ASIN. Aggregated data is available at different date range aggregation levels: DAY, WEEK, MONTH. Per-ASIN data is available at different ASIN aggregation levels: PARENT, CHILD, SKU. Requests can span multiple date range periods.",
	examples: [
		{
			reportSpecification: {
				reportType: "GET_SALES_AND_TRAFFIC_REPORT",
				reportOptions: {
					dateGranularity: "DAY",
					asinGranularity: "SKU"
				},
				dataStartTime: "2021-06-11",
				dataEndTime: "2021-06-14",
				marketplaceIds: ["ATVPDKIKX0DER"]
			},
			salesAndTrafficByDate: [
				{
					date: "2021-06-11",
					salesByDate: {
						orderedProductSales: {
							amount: 238.44,
							currencyCode: "USD"
						},
						unitsOrdered: 23,
						totalOrderItems: 20,
						averageSalesPerOrderItem: {
							amount: 11.92,
							currencyCode: "USD"
						},
						averageUnitsPerOrderItem: 1.15,
						averageSellingPrice: {
							amount: 10.37,
							currencyCode: "USD"
						},
						unitsRefunded: 1,
						refundRate: 4.35,
						claimsGranted: 0,
						claimsAmount: {
							amount: 0,
							currencyCode: "USD"
						},
						shippedProductSales: {
							amount: 650.72,
							currencyCode: "USD"
						},
						unitsShipped: 59,
						ordersShipped: 54
					},
					trafficByDate: {
						browserPageViews: 1158,
						mobileAppPageViews: 500,
						pageViews: 1658,
						browserSessions: 906,
						mobileAppSessions: 94,
						sessions: 1e3,
						buyBoxPercentage: 10.54,
						orderItemSessionPercentage: 2.21,
						unitSessionPercentage: 2.54,
						averageOfferCount: 9686,
						averageParentItems: 9630,
						feedbackReceived: 10,
						negativeFeedbackReceived: 1,
						receivedNegativeFeedbackRate: 10
					}
				},
				{
					date: "2021-06-12",
					salesByDate: {
						orderedProductSales: {
							amount: 217.7,
							currencyCode: "USD"
						},
						unitsOrdered: 18,
						totalOrderItems: 18,
						averageSalesPerOrderItem: {
							amount: 12.09,
							currencyCode: "USD"
						},
						averageUnitsPerOrderItem: 1,
						averageSellingPrice: {
							amount: 12.09,
							currencyCode: "USD"
						},
						unitsRefunded: 0,
						refundRate: 0,
						claimsGranted: 0,
						claimsAmount: {
							amount: 0,
							currencyCode: "USD"
						},
						shippedProductSales: {
							amount: 0,
							currencyCode: "USD"
						},
						unitsShipped: 0,
						ordersShipped: 0
					},
					trafficByDate: {
						browserPageViews: 1209,
						mobileAppPageViews: 191,
						pageViews: 1400,
						browserSessions: 937,
						mobileAppSessions: 163,
						sessions: 1100,
						buyBoxPercentage: 10.92,
						orderItemSessionPercentage: 1.92,
						unitSessionPercentage: 1.92,
						averageOfferCount: 9702,
						averageParentItems: 9646,
						feedbackReceived: 0,
						negativeFeedbackReceived: 0,
						receivedNegativeFeedbackRate: 0
					}
				},
				{
					date: "2021-06-13",
					salesByDate: {
						orderedProductSales: {
							amount: 277.06,
							currencyCode: "USD"
						},
						unitsOrdered: 25,
						totalOrderItems: 23,
						averageSalesPerOrderItem: {
							amount: 12.05,
							currencyCode: "USD"
						},
						averageUnitsPerOrderItem: 1.09,
						averageSellingPrice: {
							amount: 11.08,
							currencyCode: "USD"
						},
						unitsRefunded: 0,
						refundRate: 0,
						claimsGranted: 0,
						claimsAmount: {
							amount: 0,
							currencyCode: "USD"
						},
						shippedProductSales: {
							amount: 519.96,
							currencyCode: "USD"
						},
						unitsShipped: 46,
						ordersShipped: 43
					},
					trafficByDate: {
						browserPageViews: 1231,
						mobileAppPageViews: 69,
						pageViews: 1300,
						browserSessions: 988,
						mobileAppSessions: 112,
						sessions: 1100,
						buyBoxPercentage: 11.62,
						orderItemSessionPercentage: 2.33,
						unitSessionPercentage: 2.53,
						averageOfferCount: 9701,
						averageParentItems: 9645,
						feedbackReceived: 0,
						negativeFeedbackReceived: 0,
						receivedNegativeFeedbackRate: 0
					}
				},
				{
					date: "2021-06-14",
					salesByDate: {
						orderedProductSales: {
							amount: 349.94,
							currencyCode: "USD"
						},
						unitsOrdered: 31,
						totalOrderItems: 30,
						averageSalesPerOrderItem: {
							amount: 11.66,
							currencyCode: "USD"
						},
						averageUnitsPerOrderItem: 1.03,
						averageSellingPrice: {
							amount: 11.29,
							currencyCode: "USD"
						},
						unitsRefunded: 0,
						refundRate: 0,
						claimsGranted: 0,
						claimsAmount: {
							amount: 0,
							currencyCode: "USD"
						},
						shippedProductSales: {
							amount: 0,
							currencyCode: "USD"
						},
						unitsShipped: 0,
						ordersShipped: 0
					},
					trafficByDate: {
						browerPageViews: 1463,
						mobileAppPageViews: 537,
						pageViews: 2e3,
						browserSessions: 1141,
						mobileAppSessions: 112,
						sessions: 1253,
						buyBoxPercentage: 13.4,
						orderItemSessionPercentage: 2.63,
						unitSessionPercentage: 2.72,
						averageOfferCount: 9701,
						averageParentItems: 9645,
						feedbackReceived: 0,
						negativeFeedbackReceived: 0,
						receivedNegativeFeedbackRate: 0
					}
				}
			],
			salesAndTrafficByAsin: [
				{
					parentAsin: "B123456789",
					childAsin: "B123456789",
					sku: "AB-1C2D-EFGH",
					salesByAsin: {
						unitsOrdered: 1,
						orderedProductSales: {
							amount: 16.79,
							currencyCode: "USD"
						},
						totalOrderItems: 1
					},
					trafficByAsin: {
						browserSessions: 13,
						mobileAppSessions: 5,
						sessions: 18,
						browserSessionPercentage: .33,
						mobileAppSessionPercentage: .2,
						sessionPercentage: .26,
						browserPageViews: 21,
						mobileAppPageViews: 22,
						pageViews: 43,
						browserPageViewsPercentage: .41,
						mobileAppPageViewsPercentage: .2,
						pageViewsPercentage: .3,
						buyBoxPercentage: 95.24,
						unitSessionPercentage: 7.69
					}
				},
				{
					parentAsin: "B234567890",
					childAsin: "B234567890",
					sku: "CD-2E3F-GHIJ",
					salesByAsin: {
						unitsOrdered: 3,
						orderedProductSales: {
							amount: 26.25,
							currencyCode: "USD"
						},
						totalOrderItems: 2
					},
					trafficByAsin: {
						browserSessions: 8,
						mobileAppSessions: 5,
						sessions: 13,
						browserSessionPercentage: .33,
						mobileAppSessionPercentage: .1,
						sessionPercentage: .2,
						browserPageViews: 21,
						mobileAppPageViews: 12,
						pageViews: 33,
						browserPageViewsPercentage: .41,
						mobileAppPageViewsPercentage: .25,
						pageViewsPercentage: .32,
						buyBoxPercentage: 0,
						unitSessionPercentage: 37.5
					}
				},
				{
					parentAsin: "B345678901",
					childAsin: "B345678901",
					sku: "EF-3G4H-IJKL",
					salesByAsin: {
						unitsOrdered: 3,
						orderedProductSales: {
							amount: 45,
							currencyCode: "USD"
						},
						totalOrderItems: 3
					},
					trafficByAsin: {
						browserSessions: 1,
						mobileAppSessions: 5,
						sessions: 6,
						browserSessionPercentage: .13,
						mobileAppSessionPercentage: .12,
						sessionPercentage: .12,
						browserPageViews: 41,
						mobileAppPageViews: 22,
						pageViews: 63,
						browserPageViewsPercentage: .41,
						mobileAppPageViewsPercentage: .2,
						pageViewsPercentage: .3,
						buyBoxPercentage: 100,
						unitSessionPercentage: 300
					}
				}
			]
		},
		{
			reportSpecification: {
				reportType: "GET_SALES_AND_TRAFFIC_REPORT",
				reportOptions: {
					dateGranularity: "WEEK",
					asinGranularity: "CHILD"
				},
				dataStartTime: "2021-06-11",
				dataEndTime: "2021-06-14",
				marketplaceIds: ["ATVPDKIKX0DER"]
			},
			salesAndTrafficByDate: [{
				date: "2021-06-06",
				salesByDate: {
					orderedProductSales: {
						amount: 456.14,
						currencyCode: "USD"
					},
					unitsOrdered: 41,
					totalOrderItems: 38,
					averageSalesPerOrderItem: {
						amount: 12,
						currencyCode: "USD"
					},
					averageUnitsPerOrderItem: 1.08,
					averageSellingPrice: {
						amount: 11.13,
						currencyCode: "USD"
					},
					unitsRefunded: 1,
					refundRate: 2.44,
					claimsGranted: 0,
					claimsAmount: {
						amount: 0,
						currencyCode: "USD"
					},
					shippedProductSales: {
						amount: 650.72,
						currencyCode: "USD"
					},
					unitsShipped: 59,
					ordersShipped: 54
				},
				trafficByDate: {
					browserPageViews: 2367,
					mobileAppPageViews: 1333,
					pageViews: 3700,
					browserSessions: 2009,
					mobileAppSessions: 220,
					sessions: 2229,
					buyBoxPercentage: 10.73,
					orderItemSessionPercentage: 2.06,
					unitSessionPercentage: 2.22,
					averageOfferCount: 9694,
					averageParentItems: 9638,
					feedbackReceived: 10,
					negativeFeedbackReceived: 1,
					receivedNegativeFeedbackRate: 10
				}
			}, {
				date: "2021-06-13",
				salesByDate: {
					orderedProductSales: {
						amount: 627,
						currencyCode: "USD"
					},
					unitsOrdered: 56,
					totalOrderItems: 53,
					averageSalesPerOrderItem: {
						amount: 11.83,
						currencyCode: "USD"
					},
					averageUnitsPerOrderItem: 1.06,
					averageSellingPrice: {
						amount: 11.2,
						currencyCode: "USD"
					},
					unitsRefunded: 0,
					refundRate: 0,
					claimsGranted: 0,
					claimsAmount: {
						amount: 0,
						currencyCode: "USD"
					},
					shippedProductSales: {
						amount: 519.96,
						currencyCode: "USD"
					},
					unitsShipped: 46,
					ordersShipped: 43
				},
				trafficByDate: {
					browserPageViews: 2694,
					mobileAppPageViews: 1300,
					pageViews: 3994,
					browserSessions: 2129,
					mobileAppSessions: 220,
					sessions: 2349,
					buyBoxPercentage: 12.58,
					orderItemSessionPercentage: 2.49,
					unitSessionPercentage: 2.63,
					averageOfferCount: 9701,
					averageParentItems: 9645,
					feedbackReceived: 0,
					negativeFeedbackReceived: 0,
					receivedNegativeFeedbackRate: 0
				}
			}],
			salesAndTrafficByAsin: [
				{
					parentAsin: "B123456789",
					childAsin: "B123456789",
					salesByAsin: {
						unitsOrdered: 1,
						orderedProductSales: {
							amount: 16.79,
							currencyCode: "USD"
						},
						totalOrderItems: 1
					},
					trafficByAsin: {
						browserSessions: 13,
						mobileAppSessions: 5,
						sessions: 18,
						browserSessionPercentage: .33,
						mobileAppSessionPercentage: .2,
						sessionPercentage: .26,
						browserPageViews: 21,
						mobileAppPageViews: 22,
						pageViews: 43,
						browserPageViewsPercentage: .41,
						mobileAppPageViewsPercentage: .2,
						pageViewsPercentage: .3,
						buyBoxPercentage: 95.24,
						unitSessionPercentage: 7.69
					}
				},
				{
					parentAsin: "B234567890",
					childAsin: "B234567890",
					salesByAsin: {
						unitsOrdered: 3,
						orderedProductSales: {
							amount: 26.25,
							currencyCode: "USD"
						},
						totalOrderItems: 2
					},
					trafficByAsin: {
						browserSessions: 13,
						mobileAppSessions: 15,
						sessions: 28,
						browserSessionPercentage: .33,
						mobileAppSessionPercentage: .2,
						sessionPercentage: .26,
						browserPageViews: 21,
						mobileAppPageViews: 42,
						pageViews: 63,
						browserPageViewsPercentage: .41,
						mobileAppPageViewsPercentage: .2,
						pageViewsPercentage: .3,
						buyBoxPercentage: 0,
						unitSessionPercentage: 37.5
					}
				},
				{
					parentAsin: "B345678901",
					childAsin: "B345678901",
					salesByAsin: {
						unitsOrdered: 3,
						orderedProductSales: {
							amount: 45,
							currencyCode: "USD"
						},
						totalOrderItems: 3
					},
					trafficByAsin: {
						browserSessions: 43,
						mobileAppSessions: 5,
						sessions: 48,
						browserSessionPercentage: .33,
						mobileAppSessionPercentage: .2,
						sessionPercentage: .26,
						browserPageViews: 41,
						mobileAppPageViews: 22,
						pageViews: 63,
						browserPageViewsPercentage: .41,
						mobileAppPageViewsPercentage: .2,
						pageViewsPercentage: .3,
						buyBoxPercentage: 100,
						unitSessionPercentage: 300
					}
				}
			]
		},
		{
			reportSpecification: {
				reportType: "GET_SALES_AND_TRAFFIC_REPORT",
				reportOptions: {
					dateGranularity: "MONTH",
					asinGranularity: "PARENT"
				},
				dataStartTime: "2021-06-11",
				dataEndTime: "2021-06-14",
				marketplaceIds: ["ATVPDKIKX0DER"]
			},
			salesAndTrafficByDate: [{
				date: "2021-06-01",
				salesByDate: {
					orderedProductSales: {
						amount: 6874.79,
						currencyCode: "USD"
					},
					unitsOrdered: 590,
					totalOrderItems: 561,
					averageSalesPerOrderItem: {
						amount: 12.25,
						currencyCode: "USD"
					},
					averageUnitsPerOrderItem: 1.05,
					averageSellingPrice: {
						amount: 11.65,
						currencyCode: "USD"
					},
					unitsRefunded: 1,
					refundRate: .17,
					claimsGranted: 0,
					claimsAmount: {
						amount: 0,
						currencyCode: "USD"
					},
					shippedProductSales: {
						amount: 1170.68,
						currencyCode: "USD"
					},
					unitsShipped: 105,
					ordersShipped: 97
				},
				trafficByDate: {
					browserPageViews: 5061,
					mobileAppPageViews: 1e3,
					pageViews: 6061,
					browserSessions: 3972,
					mobileAppSessions: 1028,
					sessions: 4100,
					buyBoxPercentage: 11.72,
					orderItemSessionPercentage: 14.12,
					unitSessionPercentage: 14.85,
					averageOfferCount: 9698,
					averageParentItems: 9642,
					feedbackReceived: 10,
					negativeFeedbackReceived: 1,
					receivedNegativeFeedbackRate: 10
				}
			}],
			salesAndTrafficByAsin: [
				{
					parentAsin: "B123456789",
					salesByAsin: {
						unitsOrdered: 1,
						orderedProductSales: {
							amount: 16.79,
							currencyCode: "USD"
						},
						totalOrderItems: 1
					},
					trafficByAsin: {
						browserSessions: 13,
						mobileAppSessions: 5,
						sessions: 18,
						browserSessionPercentage: .33,
						mobileAppSessionPercentage: .2,
						sessionPercentage: .26,
						browserPageViews: 21,
						mobileAppPageViews: 22,
						pageViews: 43,
						browserPageViewsPercentage: .41,
						mobileAppPageViewsPercentage: .2,
						pageViewsPercentage: .3,
						buyBoxPercentage: 95.24,
						unitSessionPercentage: 7.69
					}
				},
				{
					parentAsin: "B234567890",
					salesByAsin: {
						unitsOrdered: 3,
						orderedProductSales: {
							amount: 26.25,
							currencyCode: "USD"
						},
						totalOrderItems: 2
					},
					trafficByAsin: {
						browserSessions: 13,
						mobileAppSessions: 95,
						sessions: 108,
						browserSessionPercentage: .33,
						mobileAppSessionPercentage: .2,
						sessionPercentage: .26,
						browserPageViews: 81,
						mobileAppPageViews: 22,
						pageViews: 103,
						browserPageViewsPercentage: .41,
						mobileAppPageViewsPercentage: .2,
						pageViewsPercentage: .3,
						buyBoxPercentage: 0,
						unitSessionPercentage: 37.5
					}
				},
				{
					parentAsin: "B345678901",
					salesByAsin: {
						unitsOrdered: 3,
						orderedProductSales: {
							amount: 45,
							currencyCode: "USD"
						},
						totalOrderItems: 3
					},
					trafficByAsin: {
						browserSessions: 3,
						mobileAppSessions: 5,
						sessions: 8,
						browserSessionPercentage: .33,
						mobileAppSessionPercentage: .2,
						sessionPercentage: .26,
						browserPageViews: 1,
						mobileAppPageViews: 2,
						pageViews: 3,
						browserPageViewsPercentage: .41,
						mobileAppPageViewsPercentage: .2,
						pageViewsPercentage: .3,
						buyBoxPercentage: 100,
						unitSessionPercentage: 300
					}
				}
			]
		}
	],
	required: [
		"reportSpecification",
		"salesAndTrafficByDate",
		"salesAndTrafficByAsin"
	],
	properties: {
		reportSpecification: {
			type: "object",
			description: "Report summary including specified reporting date range, dateGranularity, and asinGranularity in the input.",
			examples: [{
				reportType: "GET_SALES_AND_TRAFFIC_REPORT",
				reportOptions: {
					dateGranularity: "WEEK",
					asinGranularity: "PARENT"
				},
				dataStartTime: "2021-06-11",
				dataEndTime: "2021-06-14",
				marketplaceIds: ["ATVPDKIKX0DER"]
			}],
			required: [
				"reportType",
				"reportOptions",
				"dataStartTime",
				"dataEndTime",
				"marketplaceIds"
			],
			properties: {
				reportType: {
					type: "string",
					description: "Type of the report.",
					enum: ["GET_SALES_AND_TRAFFIC_REPORT"]
				},
				reportOptions: {
					type: "object",
					description: "Report options specifying parameters such as dateGranularity and asinGranularity.",
					examples: [{
						dateGranularity: "DAY",
						asinGranularity: "CHILD"
					}],
					properties: {
						dateGranularity: {
							type: "string",
							description: "This parameter determines what granularity of the aggregated sales and traffic data is expected in the report. Valid values are: DAY, WEEK, MONTH. If this parameter is omitted, then the salesAndTrafficByDate section of this report will default to DAY granularity.",
							enum: [
								"DAY",
								"WEEK",
								"MONTH"
							]
						},
						asinGranularity: {
							type: "string",
							description: "This parameter determines what granularity of the ASIN sales and traffic data is expected in the report. Valid values are: PARENT, CHILD, SKU. If this parameter is omitted, then the salesAndTrafficByAsin section of this report will default to PARENT granularity.",
							enum: [
								"PARENT",
								"CHILD",
								"SKU"
							]
						}
					}
				},
				dataStartTime: {
					type: "string",
					format: "date",
					description: "This parameter determines the start date of the report - the time component is ignored. If the start date of the report is more than two years ago, the report will be cancelled. For WEEK and MONTH dateGranularity, if this value does not correspond to the first day in the specified dateGranularity then the report start date will be expanded to include the first day of the reporting period for the dateGranularity specified. The first day of the reporting period for the WEEK dateGranularity is Sunday and the first day of the reporting period for the MONTH dateGranularity is the first day of the month. For example, if the specified dataStartTime is 3 days after the start date of a WEEK dateGranularity, then the start date used to generate the report will be dataStartTime minus 3 days.",
					examples: ["2021-06-06"]
				},
				dataEndTime: {
					type: "string",
					format: "date",
					description: "This parameter determines the end date of the report - the time component is ignored. For WEEK and MONTH dateGranularity, if this value does not correspond to the last day in the specified dateGranularity then the report end date will be expanded to include the last day of the reporting period for the dateGranularity specified. The last day of the reporting period for the WEEK dateGranularity is Saturday and the last day of the reporting period for the MONTH dateGranularity is the last day of the month. For example, if the specified dataEndTime is 3 days before the end date of a WEEK dateGranularity, the end date used to generate the report will be dataEndTime plus 3 days.",
					examples: ["2021-06-19"]
				},
				marketplaceIds: {
					type: "array",
					description: "This parameter must match the marketplaceId of the seller's account. This report type supports only one marketplaceId per report. Specifying multiple marketplaces will result in failure to generate the report.",
					examples: [["ATVPDKIKX0DER"]],
					items: { type: "string" }
				}
			}
		},
		salesAndTrafficByDate: {
			type: "array",
			items: { $ref: "#/definitions/SalesAndTrafficByDate" }
		},
		salesAndTrafficByAsin: {
			type: "array",
			items: { $ref: "#/definitions/SalesAndTrafficByAsin" }
		}
	},
	definitions: {
		SalesAndTrafficByDate: {
			type: "object",
			description: "Object describing sales and traffic metrics for ASINs in the seller's account aggregated by date.",
			examples: [{
				date: "2021-06-11",
				salesByDate: {
					orderedProductSales: {
						amount: 636.63,
						currencyCode: "USD"
					},
					orderedProductSalesB2B: {
						amount: 636.63,
						currencyCode: "USD"
					},
					unitsOrdered: 54,
					unitsOrderedB2B: 54,
					totalOrderItems: 53,
					totalOrderItemsB2B: 53,
					averageSalesPerOrderItem: {
						amount: 12.01,
						currencyCode: "USD"
					},
					averageSalesPerOrderItemB2B: {
						amount: 12.01,
						currencyCode: "USD"
					},
					averageUnitsPerOrderItem: 1.02,
					averageUnitsPerOrderItemB2B: 1.02,
					averageSellingPrice: {
						amount: 11.79,
						currencyCode: "USD"
					},
					averageSellingPriceB2B: {
						amount: 11.79,
						currencyCode: "USD"
					},
					unitsRefunded: 1,
					refundRate: 1.85,
					claimsGranted: 0,
					claimsAmount: {
						amount: 0,
						currencyCode: "USD"
					},
					shippedProductSales: {
						amount: 542.9,
						currencyCode: "USD"
					},
					unitsShipped: 47,
					ordersShipped: 47
				},
				trafficByDate: {
					browserPageViews: 3569,
					browserPageViewsB2B: 3569,
					mobileAppPageViews: 1e3,
					mobileAppPageViewsB2B: 1e3,
					pageViews: 4569,
					pageViewsB2B: 4569,
					browserSessions: 2858,
					browserSessionsB2B: 2858,
					mobileAppSessions: 1e3,
					mobileAppSessionsB2B: 1e3,
					sessions: 3858,
					sessionsB2B: 3858,
					buyBoxPercentage: 12.08,
					buyBoxPercentageB2B: 12.08,
					orderItemSessionPercentage: 1.85,
					orderItemSessionPercentageB2B: 1.85,
					unitSessionPercentage: 1.89,
					unitSessionPercentageB2B: 1.89,
					averageOfferCount: 10223,
					averageParentItems: 10163,
					feedbackReceived: 10,
					negativeFeedbackReceived: 1,
					receivedNegativeFeedbackRate: 10
				}
			}],
			required: [
				"date",
				"salesByDate",
				"trafficByDate"
			],
			properties: {
				date: {
					type: "string",
					format: "date",
					description: "The start date of the period of the aggregated data.",
					examples: ["2021-06-06"]
				},
				salesByDate: {
					$ref: "#/definitions/SalesByDate",
					description: "Object describing sales metrics for ASINs in the seller's account aggregated by date."
				},
				trafficByDate: {
					$ref: "#/definitions/TrafficByDate",
					description: "Object describing traffic metrics for ASINs in the seller's account aggregated by date."
				}
			}
		},
		SalesByDate: {
			type: "object",
			description: "Object describing sales metrics for ASINs in the seller's account aggregated by date.",
			examples: [{
				orderedProductSales: {
					amount: 636.63,
					currencyCode: "USD"
				},
				orderedProductSalesB2B: {
					amount: 636.63,
					currencyCode: "USD"
				},
				unitsOrdered: 54,
				unitsOrderedB2B: 54,
				totalOrderItems: 53,
				totalOrderItemsB2B: 53,
				averageSalesPerOrderItem: {
					amount: 12.01,
					currencyCode: "USD"
				},
				averageSalesPerOrderItemB2B: {
					amount: 12.01,
					currencyCode: "USD"
				},
				averageUnitsPerOrderItem: 1.02,
				averageUnitsPerOrderItemB2B: 1.02,
				averageSellingPrice: {
					amount: 11.79,
					currencyCode: "USD"
				},
				averageSellingPriceB2B: {
					amount: 11.79,
					currencyCode: "USD"
				},
				unitsRefunded: 1,
				refundRate: 1.85,
				claimsGranted: 0,
				claimsAmount: {
					amount: 0,
					currencyCode: "USD"
				},
				shippedProductSales: {
					amount: 542.9,
					currencyCode: "USD"
				},
				unitsShipped: 47,
				ordersShipped: 47
			}],
			required: [
				"orderedProductSales",
				"unitsOrdered",
				"totalOrderItems",
				"averageSalesPerOrderItem",
				"averageUnitsPerOrderItem",
				"averageSellingPrice",
				"unitsRefunded",
				"refundRate",
				"claimsGranted",
				"claimsAmount",
				"shippedProductSales",
				"unitsShipped",
				"ordersShipped"
			],
			properties: {
				orderedProductSales: {
					$ref: "#/definitions/Amount",
					description: "The amount of ordered product sales, calculated by multiplying the price of products and the number of units sold for the selected time period."
				},
				orderedProductSalesB2B: {
					$ref: "#/definitions/Amount",
					description: "The amount of ordered product sales to Amazon Business customers, calculated by multiplying the price of products and the number of units sold for the selected time period. Note: This field is only populated when the seller is a B2B seller."
				},
				unitsOrdered: {
					type: "integer",
					minimum: 0,
					description: "The number of units ordered for the selected time period. For clarification on the difference between orders, order items, and units take the following order as an example: An order containing 2 copies of book A and 3 copies of book B; The number of orders is 1, the number of order items is 2 (book A and book B), and the number of units is 5 (2 + 3).",
					examples: [25]
				},
				unitsOrderedB2B: {
					type: "integer",
					minimum: 0,
					description: "The number of units ordered by Amazon Business customers for the selected time period. For clarification on the difference between orders, order items, and units take the following order as an example: An order containing 2 copies of book A and 3 copies of book B; The number of orders is 1, the number of order items is 2 (book A and book B), and the number of units is 5 (2 + 3). Note: This field is only populated when the seller is a B2B seller.",
					examples: [25]
				},
				totalOrderItems: {
					type: "integer",
					minimum: 0,
					description: "The number of items that were ordered for the selected time period. For clarification on the difference between orders, order items, and units take the following order as an example: An order containing 2 copies of book A and 3 copies of book B; The number of orders is 1, the number of order items is 2 (book A and book B), and the number of units is 5 (2 + 3).",
					examples: [25]
				},
				totalOrderItemsB2B: {
					type: "integer",
					minimum: 0,
					description: "The number of items that were ordered by Amazon Business customers for the selected time period. For clarification on the difference between orders, order items, and units take the following order as an example: An order containing 2 copies of book A and 3 copies of book B; The number of orders is 1, the number of order items is 2 (book A and book B), and the number of units is 5 (2 + 3). Note: This field is only populated when the seller is a B2B seller.",
					examples: [25]
				},
				averageSalesPerOrderItem: {
					$ref: "#/definitions/Amount",
					description: "The average ordered product sales, calculated by dividing orderedProductSales by totalOrderItems for the selected time period."
				},
				averageSalesPerOrderItemB2B: {
					$ref: "#/definitions/Amount",
					description: "The average ordered product sales to Amazon Business customers, calculated by dividing orderedProductSalesB2B by totalOrderItemsB2B for the selected time period. Note: This field is only populated when the seller is a B2B seller."
				},
				averageUnitsPerOrderItem: {
					type: "number",
					description: "The average number of units in each order item for the selected time period.",
					minimum: 0,
					examples: [33.33]
				},
				averageUnitsPerOrderItemB2B: {
					type: "number",
					description: "The average number of units in each order item ordered by Amazon Business customers for the selected time period. Note: This field is only populated when the seller is a B2B seller.",
					minimum: 0,
					examples: [33.33]
				},
				averageSellingPrice: {
					$ref: "#/definitions/Amount",
					description: "The average price of the units sold in the selected time period, calculated by dividing the orderedProductSales by unitsOrdered for the selected time period."
				},
				averageSellingPriceB2B: {
					$ref: "#/definitions/Amount",
					description: "The average price of the units sold to Amazon Business customers, calculated by dividing the orderedProductSalesB2B by unitsOrderedB2B for the selected time period. Note: This field is only populated when the seller is a B2B seller."
				},
				unitsRefunded: {
					type: "integer",
					description: "The number of units refunded in the selected time period.",
					minimum: 0,
					examples: [25]
				},
				refundRate: {
					type: "number",
					description: "The percentage conversion metric indicating how many orders were refunded by the seller, calculated by dividing unitsOrdered by unitsRefunded in the selected time period.",
					minimum: 0,
					maximum: 100,
					examples: [33.33]
				},
				claimsGranted: {
					type: "integer",
					description: "The number of A-to-z guarantee claims granted.",
					minimum: 0,
					examples: [25]
				},
				claimsAmount: {
					$ref: "#/definitions/Amount",
					description: "Monetary amount of filed A-to-z guarantee claims."
				},
				shippedProductSales: {
					$ref: "#/definitions/Amount",
					description: "The amount of ordered product sales shipped for the selected time period."
				},
				unitsShipped: {
					type: "integer",
					description: "The number of units shipped in the selected time period.",
					minimum: 0,
					examples: [25]
				},
				ordersShipped: {
					type: "integer",
					description: "The number of orders shipped in the selected time period.",
					minimum: 0,
					examples: [25]
				}
			}
		},
		TrafficByDate: {
			type: "object",
			description: "Object describing traffic metrics for ASINs in the seller's account aggregated by date.",
			examples: [{
				browserPageViews: 3569,
				browserPageViewsB2B: 3569,
				mobileAppPageViews: 1e3,
				mobileAppPageViewsB2B: 1e3,
				pageViews: 4569,
				pageViewsB2B: 4569,
				browserSessions: 2858,
				browserSessionsB2B: 2858,
				mobileAppSessions: 2e3,
				mobileAppSessionsB2B: 2e3,
				sessions: 4858,
				sessionsB2B: 4858,
				buyBoxPercentage: 12.08,
				buyBoxPercentageB2B: 12.08,
				orderItemSessionPercentage: 1.85,
				orderItemSessionPercentageB2B: 1.85,
				unitSessionPercentage: 1.89,
				unitSessionPercentageB2B: 1.89,
				averageOfferCount: 10223,
				averageParentItems: 10163,
				feedbackReceived: 10,
				negativeFeedbackReceived: 1,
				receivedNegativeFeedbackRate: 10
			}],
			required: [
				"browserPageViews",
				"mobileAppPageViews",
				"pageViews",
				"browserSessions",
				"mobileAppSessions",
				"sessions",
				"buyBoxPercentage",
				"orderItemSessionPercentage",
				"unitSessionPercentage",
				"averageOfferCount",
				"averageParentItems",
				"feedbackReceived",
				"negativeFeedbackReceived",
				"receivedNegativeFeedbackRate"
			],
			properties: {
				browserPageViews: {
					type: "integer",
					description: "Browser page views are the number of times any user visited your Amazon.com browser pages for the selected time period.",
					minimum: 0,
					examples: [25]
				},
				browserPageViewsB2B: {
					type: "integer",
					description: "Browser B2B page views are the number of times an Amazon Business customer visited your Amazon.com browser pages for the selected time period. Note: This field is only populated when the seller is a B2B seller.",
					minimum: 0,
					examples: [25]
				},
				mobileAppPageViews: {
					type: "integer",
					description: "Mobile app page views are the number of times any user visited your Amazon.com mobile app pages for the selected time period.",
					minimum: 0,
					examples: [25]
				},
				mobileAppPageViewsB2B: {
					type: "integer",
					description: "Mobile app B2B page views are the number of times an Amazon Business customer visited your Amazon.com mobile app pages for the selected time period. Note: This field is only populated when the seller is a B2B seller.",
					minimum: 0,
					examples: [25]
				},
				pageViews: {
					type: "integer",
					description: "Page views are the number of times any user visited your Amazon.com pages using browser or mobile app for the selected time period.",
					minimum: 0,
					examples: [25]
				},
				pageViewsB2B: {
					type: "integer",
					description: "B2B page views are the number of times an Amazon Business customer visited your Amazon.com pages using browser or mobile app for the selected time period. Note: This field is only populated when the seller is a B2B seller.",
					minimum: 0,
					examples: [25]
				},
				browserSessions: {
					type: "integer",
					description: "Browser sessions are visits to your Amazon.com browser pages by any user. All activity within a 24-hour period is considered a browser session. For example, if any user visits your pages using browser multiple times within a 24 hour period it is counted as a single session.",
					minimum: 0,
					examples: [25]
				},
				browserSessionsB2B: {
					type: "integer",
					description: "Browser B2B sessions are visits to your Amazon.com browser pages by an Amazon Business customer. All activity within a 24-hour period is considered a browser session. For example, if an Amazon Business customer visits your pages using browser multiple times within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller.",
					minimum: 0,
					examples: [25]
				},
				mobileAppSessions: {
					type: "integer",
					description: "Mobile app sessions are visits to your Amazon.com mobile app pages by any user. All activity within a 24-hour period is considered a mobile app session. For example, if any user visits your pages using mobile app multiple times within a 24 hour period it is counted as a single session.",
					minimum: 0,
					examples: [25]
				},
				mobileAppSessionsB2B: {
					type: "integer",
					description: "Mobile app B2B sessions are visits to your Amazon.com mobile app pages by an Amazon Business customer. All activity within a 24-hour period is considered a mobile app session. For example, if an Amazon Business customer visits your pages using mobile app multiple times within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller.",
					minimum: 0,
					examples: [25]
				},
				sessions: {
					type: "integer",
					description: "Sessions are visits to your Amazon.com pages using browser or mobile app by any user. All activity within a 24-hour period is considered a session. For example, if any user visits your pages multiple times using mobile app or browser within a 24 hour period it is counted as a single session.",
					minimum: 0,
					examples: [25]
				},
				sessionsB2B: {
					type: "integer",
					description: "B2B sessions are visits to your Amazon.com pages using browser or mobile app by an Amazon Business customer. All activity within a 24-hour period is considered a session. For example, if an Amazon Business customer visits your pages multiple times using mobile app or browser within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller.",
					minimum: 0,
					examples: [25]
				},
				buyBoxPercentage: {
					type: "number",
					description: "The percentage of page views where the buy box (the add to shopping cart link) appeared on the page for customers to add your product to their cart.",
					minimum: 0,
					maximum: 100,
					examples: [33.33]
				},
				buyBoxPercentageB2B: {
					type: "number",
					description: "The percentage of page views by Amazon Business customers where the buy box (the add to shopping cart link) appeared on the page for customers to add your product to their cart. Note: This field is only populated when the seller is a B2B seller.",
					minimum: 0,
					maximum: 100,
					examples: [33.33]
				},
				orderItemSessionPercentage: {
					type: "number",
					description: "The percentage conversion metric indicating how many order items were generated relative to the number of people who viewed the products.",
					minimum: 0,
					maximum: 100,
					examples: [33.33]
				},
				orderItemSessionPercentageB2B: {
					type: "number",
					description: "The percentage conversion metric indicating how many order items were generated by Amazon Business customers relative to the number of Amazon Business customers who viewed the products. Note: This field is only populated when the seller is a B2B seller.",
					minimum: 0,
					maximum: 100,
					examples: [33.33]
				},
				unitSessionPercentage: {
					type: "number",
					description: "The percentage conversion metric indicating how many units were purchased relative to the number of people who viewed the products.",
					minimum: 0,
					examples: [33.33]
				},
				unitSessionPercentageB2B: {
					type: "number",
					description: "The percentage conversion metric indicating how many units were purchased by Amazon Business customers relative to number of Amazon Business customers who viewed the products. Note: This field is only populated when the seller is a B2B seller.",
					minimum: 0,
					examples: [33.33]
				},
				averageOfferCount: {
					type: "integer",
					description: "The average number of offers listed for sale in the selected time period. It is calculated from the total number of offers and the total number of days in the selected time period.",
					minimum: 0,
					examples: [25]
				},
				averageParentItems: {
					type: "integer",
					description: "The average number of parent items listed for sale in the selected time period.",
					minimum: 0,
					examples: [25]
				},
				feedbackReceived: {
					type: "integer",
					description: "The number of customer feedback received in the selected time period.",
					minimum: 0,
					examples: [25]
				},
				negativeFeedbackReceived: {
					type: "integer",
					description: "The number of negative customer feedback received in the selected time period.",
					minimum: 0,
					examples: [25]
				},
				receivedNegativeFeedbackRate: {
					type: "number",
					description: "The negative feedback rate is the number of orders that have received a negative feedback divided by the number of orders in the selected time period.",
					minimum: 0,
					maximum: 100,
					examples: [33.33]
				}
			}
		},
		SalesAndTrafficByAsin: {
			type: "object",
			description: "Object describing sales and traffic metrics for ASINs in the seller's account aggregated by ASIN.",
			examples: [{
				parentAsin: "B123456789",
				childAsin: "B123456789",
				sku: "123456789",
				salesByAsin: {
					unitsOrdered: 3,
					unitsOrderedB2B: 3,
					orderedProductSales: {
						amount: 27.3,
						currencyCode: "USD"
					},
					orderedProductSalesB2B: {
						amount: 27.3,
						currencyCode: "USD"
					},
					totalOrderItems: 3,
					totalOrderItemsB2B: 3
				},
				trafficByAsin: {
					browserSessions: 33,
					browserSessionsB2B: 33,
					mobileAppSessions: 22,
					mobileAppSessionsB2B: 22,
					sessions: 55,
					sessionsB2B: 55,
					browserSessionPercentage: 10.96,
					browserSessionPercentageB2B: 10.96,
					mobileAppSessionPercentage: 12.04,
					mobileAppSessionPercentageB2B: 12.04,
					sessionPercentage: 11.42,
					sessionPercentageB2B: 11.42,
					browserPageViews: 50,
					browserPageViewsB2B: 50,
					mobilePageViews: 60,
					mobilePageViewsB2B: 60,
					pageViews: 110,
					pageViewsB2B: 110,
					browserPageViewsPercentage: 13.23,
					browserPageViewsPercentageB2B: 13.23,
					mobilePageViewsPercentage: 10.23,
					mobilePageViewsPercentageB2B: 10.23,
					pageViewsPercentage: 11.23,
					pageViewsPercentageB2B: 11.23,
					buyBoxPercentage: 54,
					buyBoxPercentageB2B: 54,
					unitSessionPercentage: 9.09,
					unitSessionPercentageB2B: 9.09
				}
			}],
			required: [
				"parentAsin",
				"salesByAsin",
				"trafficByAsin"
			],
			properties: {
				parentAsin: {
					description: "The Amazon Standard Identification Number of the parent product. A parent product appears in our catalog as a non-buyable, generic identifier for a product that has buyable variations (child products).",
					type: "string",
					examples: ["B123456789"]
				},
				childAsin: {
					description: "The Amazon Standard Identification Number of the child product. Child products are unique, sellable products that are related in our catalog to a single, non-sellable parent product. Note: This field is only present when ASIN aggregation is CHILD or SKU.",
					type: "string",
					examples: ["B123456789"]
				},
				sku: {
					description: "The Stock Keeping Unit of the product. The SKU is a seller specific product identifier. Note: This field is only present when ASIN aggregation is SKU.",
					type: "string",
					examples: ["123456789"]
				},
				salesByAsin: {
					$ref: "#/definitions/SalesByAsin",
					description: "Sales metrics for ASINs in the seller's account aggregated by ASIN"
				},
				trafficByAsin: {
					$ref: "#/definitions/TrafficByAsin",
					description: "Traffic metrics for ASINs in the seller's account aggregated by ASIN"
				}
			}
		},
		SalesByAsin: {
			type: "object",
			description: "Object describing sales and traffic metrics for ASINs in the seller's account aggregated by ASIN.",
			examples: [{
				unitsOrdered: 3,
				unitsOrderedB2B: 3,
				orderedProductSales: {
					amount: 27.3,
					currencyCode: "USD"
				},
				orderedProductSalesB2B: {
					amount: 27.3,
					currencyCode: "USD"
				},
				totalOrderItems: 3,
				totalOrderItemsB2B: 3
			}],
			required: [
				"unitsOrdered",
				"orderedProductSales",
				"totalOrderItems"
			],
			properties: {
				unitsOrdered: {
					type: "integer",
					description: "The number of units ordered.",
					minimum: 0,
					examples: [25]
				},
				unitsOrderedB2B: {
					type: "integer",
					description: "The number of units ordered by Amazon Business customers. Note: This field is only populated when the seller is a B2B seller.",
					minimum: 0,
					examples: [25]
				},
				orderedProductSales: {
					$ref: "#/definitions/Amount",
					description: "The amount of ordered product sales, calculated by multiplying the price of products and the number of units sold for the selected time period."
				},
				orderedProductSalesB2B: {
					$ref: "#/definitions/Amount",
					description: "The amount of ordered product sales to Amazon Business customers, calculated by multiplying the price of products and the number of units sold for the selected time period. Note: This field is only populated when the seller is a B2B seller."
				},
				totalOrderItems: {
					type: "integer",
					description: "The number of items that were ordered for the selected time period.",
					minimum: 0,
					examples: [25]
				},
				totalOrderItemsB2B: {
					type: "integer",
					description: "The number of items that were ordered by Amazon Business customers for the selected time period. Note: This field is only populated when the seller is a B2B seller.",
					minimum: 0,
					examples: [25]
				}
			}
		},
		TrafficByAsin: {
			type: "object",
			description: "Object describing traffic metrics for ASINs in the seller's account aggregated by ASIN.",
			examples: [{
				browserSessions: 33,
				browserSessionsB2B: 33,
				mobileAppSessions: 12,
				mobileAppSessionsB2B: 12,
				sessions: 45,
				sessionsB2B: 45,
				browserSessionPercentage: 10.96,
				browserSessionPercentageB2B: 10.96,
				mobileAppSessionPercentage: 5.04,
				mobileAppSessionPercentageB2B: 5.04,
				sessionPercentage: 8.04,
				sessionPercentageB2B: 8.04,
				browserPageViews: 50,
				browserPageViewsB2B: 50,
				mobileAppPageViews: 50,
				mobileAppPageViewsB2B: 50,
				pageViews: 100,
				pageViewsB2B: 100,
				browserPageViewsPercentage: 13.23,
				browserPageViewsPercentageB2B: 13.23,
				mobileAppPageViewsPercentage: 9.23,
				mobileAppPageViewsPercentageB2B: 9.23,
				pageViewsPercentage: 10.23,
				pageViewsPercentageB2B: 10.23,
				buyBoxPercentage: 54,
				buyBoxPercentageB2B: 54,
				unitSessionPercentage: 9.09,
				unitSessionPercentageB2B: 9.09
			}],
			required: [
				"browserSessions",
				"mobileAppSessions",
				"sessions",
				"browserSessionPercentage",
				"mobileAppSessionPercentage",
				"sessionPercentage",
				"browserPageViews",
				"mobileAppPageViews",
				"pageViews",
				"browserPageViewsPercentage",
				"mobileAppPageViewsPercentage",
				"pageViewsPercentage",
				"buyBoxPercentage",
				"unitSessionPercentage"
			],
			properties: {
				browserSessions: {
					type: "integer",
					description: "Browser sessions are visits to your Amazon.com browser pages by any user. All activity within a 24-hour period is considered a browser session. For example, if any user visits your pages using browser multiple times within a 24 hour period it is counted as a single session.",
					minimum: 0,
					examples: [25]
				},
				browserSessionsB2B: {
					type: "integer",
					description: "Browser B2B sessions are visits to your Amazon.com browser pages by an Amazon Business customer. All activity within a 24-hour period is considered a browser session. For example, if an Amazon Business customer visits your pages using browser multiple times within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller.",
					minimum: 0,
					examples: [25]
				},
				mobileAppSessions: {
					type: "integer",
					description: "Mobile app sessions are visits to your Amazon.com mobile app pages by any user. All activity within a 24-hour period is considered a mobile app session. For example, if any user visits your pages using mobile app multiple times within a 24 hour period it is counted as a single session.",
					minimum: 0,
					examples: [25]
				},
				mobileAppSessionsB2B: {
					type: "integer",
					description: "Mobile app B2B sessions are visits to your Amazon.com mobile app pages by an Amazon Business customer. All activity within a 24-hour period is considered a mobile app session. For example, if an Amazon Business customer visits your pages using mobile app multiple times within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller.",
					minimum: 0,
					examples: [25]
				},
				sessions: {
					type: "integer",
					description: "Sessions are visits to your Amazon.com pages using mobile app or browser by any user. All activity within a 24-hour period is considered a session. For example, if any user visits your pages multiple times within a 24 hour period it is counted as a single session.",
					minimum: 0,
					examples: [25]
				},
				sessionsB2B: {
					type: "integer",
					description: "B2B sessions are visits to your Amazon.com pages by Amazon Business customers using mobile app or browser. All activity within a 24-hour period is considered a session. For example, if an Amazon Business customer visits your pages multiple times within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller.",
					minimum: 0,
					examples: [25]
				},
				browserSessionPercentage: {
					type: "number",
					description: "The percentage of browser sessions that contain at least one page view for a particular SKU/ASIN relative to the total number of browser sessions for all products.",
					minimum: 0,
					maximum: 100,
					examples: [33.33]
				},
				browserSessionPercentageB2B: {
					type: "number",
					description: "The percentage of browser sessions that contain at least one page view by an Amazon Business customer for a particular SKU/ASIN relative to the total number of browser sessions by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller.",
					minimum: 0,
					maximum: 100,
					examples: [33.33]
				},
				mobileAppSessionPercentage: {
					type: "number",
					description: "The percentage of mobile app sessions that contain at least one page view for a particular SKU/ASIN relative to the total number of mobile app sessions for all products.",
					minimum: 0,
					maximum: 100,
					examples: [33.33]
				},
				mobileAppSessionPercentageB2B: {
					type: "number",
					description: "The percentage of mobile app sessions that contain at least one page view by an Amazon Business customer for a particular SKU/ASIN relative to the total number of mobile app sessions by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller.",
					minimum: 0,
					maximum: 100,
					examples: [33.33]
				},
				sessionPercentage: {
					type: "number",
					description: "The percentage of sessions that contain at least one page view for a particular SKU/ASIN relative to the total number of sessions for all products.",
					minimum: 0,
					maximum: 100,
					examples: [33.33]
				},
				sessionPercentageB2B: {
					type: "number",
					description: "The percentage of sessions that contain at least one page view by an Amazon Business customer for a particular SKU/ASIN relative to the total number of sessions by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller.",
					minimum: 0,
					maximum: 100,
					examples: [33.33]
				},
				browserPageViews: {
					type: "integer",
					description: "Browser page views are the number of times any user visited your Amazon.com browser pages for the selected time period.",
					minimum: 0,
					examples: [25]
				},
				browserPageViewsB2B: {
					type: "integer",
					description: "Browser page views are the number of times an Amazon Business customer visited your Amazon.com browser pages for the selected time period. Note: This field is only populated when the seller is a B2B seller.",
					minimum: 0,
					examples: [25]
				},
				mobileAppPageViews: {
					type: "integer",
					description: "Mobile app page views are the number of times any user visited your Amazon.com mobile app pages for the selected time period.",
					minimum: 0,
					examples: [25]
				},
				mobileAppPageViewsB2B: {
					type: "integer",
					description: "Mobile app B2B page views are the number of times an Amazon Business customer visited your Amazon.com mobile app pages for the selected time period. Note: This field is only populated when the seller is a B2B seller.",
					minimum: 0,
					examples: [25]
				},
				pageViews: {
					type: "integer",
					description: "Page views are the number of times any user visited your Amazon.com pages using browser or mobile app for the selected time period.",
					minimum: 0,
					examples: [25]
				},
				pageViewsB2B: {
					type: "integer",
					description: "B2B page views are the number of times an Amazon Business customer visited your Amazon.com pages using browser or mobile app for the selected time period. Note: This field is only populated when the seller is a B2B seller.",
					minimum: 0,
					examples: [25]
				},
				browserPageViewsPercentage: {
					type: "number",
					description: "The percentage of browser views that a particular SKU/ASIN receives relative to the total number of mobile page views for all products.",
					minimum: 0,
					maximum: 100,
					examples: [33.33]
				},
				browserPageViewsPercentageB2B: {
					type: "number",
					description: "The percentage of browser views by Amazon Business customers that a particular SKU/ASIN receives relative to the total number of mobile page views by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller.",
					minimum: 0,
					maximum: 100,
					examples: [33.33]
				},
				mobileAppPageViewsPercentage: {
					type: "number",
					description: "The percentage of mobile page views that a particular SKU/ASIN receives relative to the total number of mobile page views for all products.",
					minimum: 0,
					maximum: 100,
					examples: [33.33]
				},
				mobileAppPageViewsPercentageB2B: {
					type: "number",
					description: "The percentage of mobile page views by Amazon Business customers that a particular SKU/ASIN receives relative to the total number of mobile page views by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller.",
					minimum: 0,
					maximum: 100,
					examples: [33.33]
				},
				pageViewsPercentage: {
					type: "number",
					description: "The percentage of page views that a particular SKU/ASIN receives relative to the total number of page views for all products.",
					minimum: 0,
					maximum: 100,
					examples: [33.33]
				},
				pageViewsPercentageB2B: {
					type: "number",
					description: "The percentage of page views by Amazon Business customers that a particular SKU/ASIN receives relative to the total number of page views by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller.",
					minimum: 0,
					maximum: 100,
					examples: [33.33]
				},
				buyBoxPercentage: {
					type: "number",
					description: "The percentage of page views where the buy box (the add to shopping cart link) appeared on the page for customers to add your product to their cart.",
					minimum: 0,
					maximum: 100,
					examples: [33.33]
				},
				buyBoxPercentageB2B: {
					type: "number",
					description: "The percentage of page views by Amazon Business customers where the buy box (the add to shopping cart link) appeared on the page for customers to add your product to their cart. Note: This field is only populated when the seller is a B2B seller.",
					minimum: 0,
					maximum: 100,
					examples: [33.33]
				},
				unitSessionPercentage: {
					type: "number",
					description: "The percentage conversion metric indicating how many units were purchased relative to the number of people who viewed the products, calculated by dividing unitsOrdered by sessions.",
					minimum: 0,
					examples: [33.33]
				},
				unitSessionPercentageB2B: {
					type: "number",
					description: "The percentage conversion metric indicating how many units were purchased by Amazon Business customers relative to the number of Amazon Business customers who viewed the products, calculated by dividing unitsOrderedB2B by sessions. Note: This field is only populated when the seller is a B2B seller.",
					minimum: 0,
					examples: [33.33]
				}
			}
		},
		Amount: {
			type: "object",
			examples: [{
				amount: 0,
				currencyCode: "USD"
			}, {
				amount: 20,
				currencyCode: "EUR"
			}],
			required: ["amount", "currencyCode"],
			properties: {
				amount: {
					type: "number",
					description: "The amount.",
					examples: [20]
				},
				currencyCode: {
					type: "string",
					description: "Currency code of the amount. In ISO 4217 format.",
					examples: [
						"USD",
						"EUR",
						"AUD",
						"JPY"
					]
				}
			}
		}
	}
};
//#endregion
//#region src/reports/selling-partner-market-basket-analysis-report.ts
const sellingPartnerMarketBasketAnalysisReport = {
	type: "object",
	description: "The Market Basket report contains data on the items that are most commonly purchased in combination with the items in the customer's basket (cart) at checkout. The data is available across different reporting periods: DAY, WEEK, MONTH, and QUARTER. Requests can span multiple reporting periods. In this report, \"asin\" is an ASIN in the selling partner's catalog and \"purchasedWithAsin\" might or might not be an ASIN in the selling partner's catalog.",
	examples: [{
		reportSpecification: {
			reportType: "GET_BRAND_ANALYTICS_MARKET_BASKET_REPORT",
			reportOptions: { reportPeriod: "WEEK" },
			dataStartTime: "2021-06-06",
			dataEndTime: "2021-06-19",
			marketplaceIds: ["ATVPDKIKX0DER"]
		},
		dataByAsin: [
			{
				startDate: "2021-06-06",
				endDate: "2021-06-12",
				asin: "B123456789",
				purchasedWithAsin: "B1A345B78C",
				purchasedWithRank: 1,
				combinationPct: .028
			},
			{
				startDate: "2021-06-06",
				endDate: "2021-06-12",
				asin: "B123456789",
				purchasedWithAsin: "B1D345E78F",
				purchasedWithRank: 2,
				combinationPct: .0229
			},
			{
				startDate: "2021-06-06",
				endDate: "2021-06-12",
				asin: "B123456789",
				purchasedWithAsin: "B1G345H78I",
				purchasedWithRank: 3,
				combinationPct: .0212
			},
			{
				startDate: "2021-06-06",
				endDate: "2021-06-12",
				asin: "B987654321",
				purchasedWithAsin: "B9C765B32A",
				purchasedWithRank: 1,
				combinationPct: .4342
			},
			{
				startDate: "2021-06-06",
				endDate: "2021-06-12",
				asin: "B987654321",
				purchasedWithAsin: "B9F765E32D",
				purchasedWithRank: 2,
				combinationPct: .0378
			},
			{
				startDate: "2021-06-06",
				endDate: "2021-06-12",
				asin: "B987654321",
				purchasedWithAsin: "B9I765H32G",
				purchasedWithRank: 3,
				combinationPct: .0155
			}
		]
	}],
	required: ["reportSpecification", "dataByAsin"],
	properties: {
		reportSpecification: {
			type: "object",
			description: "Summarizes the original report request.",
			examples: [{
				reportType: "GET_BRAND_ANALYTICS_SEARCH_TERMS_REPORT",
				reportOptions: { reportPeriod: "WEEK" },
				dataStartTime: "2021-06-06",
				dataEndTime: "2021-06-12",
				marketplaceIds: ["ATVPDKIKX0DER"]
			}],
			required: [
				"reportType",
				"reportOptions",
				"dataStartTime",
				"dataEndTime",
				"marketplaceIds"
			],
			properties: {
				reportType: {
					type: "string",
					description: "Type of the report.",
					enum: ["GET_BRAND_ANALYTICS_MARKET_BASKET_REPORT"]
				},
				reportOptions: {
					type: "object",
					description: "Report options specifying parameters such as reportPeriod.",
					required: ["reportPeriod"],
					properties: { reportPeriod: {
						type: "string",
						description: "The granularity of the data in the report. Valid values are: DAY, WEEK, MONTH, QUARTER.",
						enum: [
							"DAY",
							"WEEK",
							"MONTH",
							"QUARTER"
						]
					} }
				},
				dataStartTime: {
					type: "string",
					format: "date",
					description: "The start date of the report (any time component is ignored). For WEEK, MONTH and QUARTER reportPeriods, this value must correspond to the first day in the specified reportPeriod or else a fatal error is returned. For example, dataStartTime must be a Sunday for the WEEK reportPeriod.",
					examples: ["2021-06-06"]
				},
				dataEndTime: {
					type: "string",
					format: "date",
					description: "The end date of the report (any time component is ignored). For WEEK, MONTH and QUARTER reportPeriods, this value must correspond to the last day in the specified reportPeriod or else a fatal error is returned. For example, dataEndTime must be a Saturday for the WEEK reportPeriod.",
					examples: ["2021-06-12"]
				},
				marketplaceIds: {
					type: "array",
					description: "This parameter must match the marketplaceId of the selling partner account. This report type supports only one marketplaceId per report. Specifying multiple marketplaces will result in a fatal error and fail to generate the report.",
					examples: [["ATVPDKIKX0DER"]]
				}
			}
		},
		dataByAsin: {
			type: "array",
			items: { $ref: "#/definitions/DetailsByAsin" }
		}
	},
	definitions: { DetailsByAsin: {
		type: "object",
		description: "Contains market basket analysis data for each ASIN in the selling partner's catalog.",
		examples: [{
			startDate: "2021-06-06",
			endDate: "2021-06-12",
			asin: "B123456789",
			purchasedWithAsin: "B1A345B78C",
			purchasedWithRank: 1,
			combinationPct: .028
		}, {
			startDate: "2021-06-06",
			endDate: "2021-06-12",
			asin: "B987654321",
			purchasedWithAsin: "B9F765E32D",
			purchasedWithRank: 2,
			combinationPct: .0378
		}],
		required: [
			"startDate",
			"endDate",
			"asin",
			"purchasedWithAsin",
			"purchasedWithRank",
			"combinationPct"
		],
		properties: {
			startDate: {
				type: "string",
				format: "date",
				description: "The start date of the data for the ASIN specified in the asin property. If the request spans multiple reportPeriods, byAsin data will be shared for each of these reportPeriods.",
				examples: ["2021-06-06"]
			},
			endDate: {
				type: "string",
				format: "date",
				description: "The end date of the data for the ASIN specified in the asin property.",
				examples: ["2021-06-06"]
			},
			asin: {
				type: "string",
				description: "Amazon Standard Identification Number.",
				examples: ["B123456789", "B987654321"]
			},
			purchasedWithAsin: {
				type: "string",
				description: "The Amazon Standard Identifier Number of a product that was purchased in the same customer order as the asin.",
				examples: ["B123456789", "B987654321"]
			},
			purchasedWithRank: {
				type: "integer",
				description: "The relative frequency of the purchasedWithAsin and the asin having been purchased together. Rank=1 means purchasedWithAsin is the most common product purchased in the same customer order as asin.",
				examples: [1, 3]
			},
			combinationPct: {
				type: "number",
				minimum: 0,
				maximum: 1,
				description: "Percentage of customer orders that contain both the selling partner's product and the purchasedWithAsin in comparison to the total number of customer orders that contained at least two different items including the selling partner's product.",
				examples: [.4342, .0155]
			}
		}
	} }
};
//#endregion
//#region src/reports/selling-partner-repeat-purchase-report.ts
const sellingPartnerRepeatPurchaseReport = {
	type: "object",
	description: "The Repeat Purchase report shares data on the quantity of repeated purchases of the selling partner's items. Data is available at different date range aggregation levels: WEEK, MONTH, QUARTER. Requests can span multiple reporting periods. In this report, \"asin\" is an ASIN in the selling partner's catalog.",
	examples: [{
		reportSpecification: {
			reportType: "GET_BRAND_ANALYTICS_REPEAT_PURCHASE_REPORT",
			reportOptions: { reportPeriod: "WEEK" },
			dataStartTime: "2021-06-06",
			dataEndTime: "2021-06-19",
			marketplaceIds: ["ATVPDKIKX0DER"]
		},
		dataByAsin: [
			{
				startDate: "2021-06-06",
				endDate: "2021-06-12",
				asin: "B123456789",
				orders: 1256,
				uniqueCustomers: 1201,
				repeatCustomersPctTotal: .0083,
				repeatPurchaseRevenue: {
					amount: 2246.13,
					currencyCode: "USD"
				},
				repeatPurchaseRevenuePctTotal: .0217
			},
			{
				startDate: "2021-06-06",
				endDate: "2021-06-12",
				asin: "B234567890",
				orders: 2561,
				uniqueCustomers: 43,
				repeatCustomersPctTotal: .1234,
				repeatPurchaseRevenue: {
					amount: 1234.56,
					currencyCode: "USD"
				},
				repeatPurchaseRevenuePctTotal: .0465
			},
			{
				startDate: "2021-06-13",
				endDate: "2021-06-19",
				asin: "B987654321",
				orders: 6541,
				uniqueCustomers: 123,
				repeatCustomersPctTotal: .0129,
				repeatPurchaseRevenue: {
					amount: 1662.46,
					currencyCode: "USD"
				},
				repeatPurchaseRevenuePctTotal: .8717
			}
		]
	}],
	required: ["reportSpecification", "dataByAsin"],
	properties: {
		reportSpecification: {
			type: "object",
			description: "Summarizes the original report request.",
			examples: [{
				reportType: "GET_BRAND_ANALYTICS_REPEAT_PURCHASE_REPORT",
				dataStartTime: "2021-06-06",
				dataEndTime: "2021-06-19",
				marketplaceIds: ["ATVPDKIKX0DER"]
			}],
			required: [
				"reportType",
				"reportOptions",
				"dataStartTime",
				"dataEndTime",
				"marketplaceIds"
			],
			properties: {
				reportType: {
					type: "string",
					description: "The report type.",
					enum: ["GET_BRAND_ANALYTICS_REPEAT_PURCHASE_REPORT"]
				},
				reportOptions: {
					type: "object",
					description: "Report options specifying parameters such as reportPeriod.",
					required: ["reportPeriod"],
					properties: { reportPeriod: {
						type: "string",
						description: "Determines what granularity of data is expected in the report. Valid values are: WEEK, MONTH, QUARTER.",
						enum: [
							"WEEK",
							"MONTH",
							"QUARTER"
						]
					} }
				},
				dataStartTime: {
					type: "string",
					format: "date",
					description: "Determines the start date of the report - the time component is ignored. For WEEK, MONTH and QUARTER reportPeriods, this value must correspond to the first day in the specified reportPeriod. For example, dataStartTime must be a Sunday for the WEEK reportPeriod.",
					examples: ["2021-06-06"]
				},
				dataEndTime: {
					type: "string",
					format: "date",
					description: "Determines the end date of the report - the time component is ignored. For WEEK, MONTH and QUARTER reportPeriods, this value must correspond to the last day in the specified reportPeriod. For example, dataEndTime must be a Saturday for the WEEK reportPeriod.",
					examples: ["2021-06-19"]
				},
				marketplaceIds: {
					type: "array",
					description: "This parameter must match the marketplaceId of the selling partner account. This report type supports only one marketplaceId per report. Specifying multiple marketplaces will result in failure to generate the report.",
					examples: [["ATVPDKIKX0DER"]],
					items: { type: "string" }
				}
			}
		},
		dataByAsin: {
			type: "array",
			items: { $ref: "#/definitions/DataByAsin" }
		}
	},
	definitions: { DataByAsin: {
		type: "object",
		description: "Contains repeat purchase analytics data for each ASIN in the selling partner's catalog",
		examples: [
			{
				startDate: "2021-06-06",
				endDate: "2021-06-12",
				asin: "B123456789",
				orders: 1256,
				uniqueCustomers: 1201,
				repeatCustomersPctTotal: .0083,
				repeatPurchaseRevenue: {
					amount: 2246.13,
					currencyCode: "USD"
				},
				repeatPurchaseRevenuePctTotal: .0217
			},
			{
				startDate: "2021-06-06",
				endDate: "2021-06-12",
				asin: "B234567890",
				orders: 2561,
				uniqueCustomers: 43,
				repeatCustomersPctTotal: .1234,
				repeatPurchaseRevenue: {
					amount: 1234.56,
					currencyCode: "USD"
				},
				repeatPurchaseRevenuePctTotal: .0465
			},
			{
				startDate: "2021-06-13",
				endDate: "2021-06-19",
				asin: "B987654321",
				orders: 6541,
				uniqueCustomers: 123,
				repeatCustomersPctTotal: .0129,
				repeatPurchaseRevenue: {
					amount: 1662.46,
					currencyCode: "USD"
				},
				repeatPurchaseRevenuePctTotal: .8717
			}
		],
		required: [
			"startDate",
			"endDate",
			"asin",
			"orders",
			"uniqueCustomers",
			"repeatCustomersPctTotal",
			"repeatPurchaseRevenue",
			"repeatPurchaseRevenuePctTotal"
		],
		properties: {
			startDate: {
				type: "string",
				format: "date",
				description: "The start date of the data contained within the object. If the request spans multiple reportPeriods, byAsin data will be shared for each of these reportPeriods.",
				examples: ["2021-06-06"]
			},
			endDate: {
				type: "string",
				format: "date",
				description: "The end date of the data contained within the object.",
				examples: ["2021-06-12"]
			},
			asin: {
				type: "string",
				description: "Amazon Standard Identification Number.",
				examples: ["B123456789", "B987654321"]
			},
			orders: {
				type: "integer",
				description: "The number of orders. An order may include multiple quantities of a product and differs from ordered units.",
				examples: [1256, 6541]
			},
			uniqueCustomers: {
				type: "integer",
				description: "Number of unique customers who placed an order containing the asin.",
				examples: [1201, 123]
			},
			repeatCustomersPctTotal: {
				type: "number",
				minimum: 0,
				maximum: 1,
				description: "Fraction of unique customers that are repeat customers.",
				examples: [.0083, .0129]
			},
			repeatPurchaseRevenue: {
				type: "object",
				description: "Ordered revenue from repeat customers. Returns are not reflected.",
				examples: [{
					amount: 2246.13,
					currencyCode: "USD"
				}],
				required: ["amount", "currencyCode"],
				properties: {
					amount: {
						type: "number",
						description: "The amount.",
						examples: [2246.13]
					},
					currencyCode: {
						type: "string",
						pattern: "[A-Z]{3}",
						description: "The currency code of the amount.",
						examples: [
							"USD",
							"EUR",
							"JPY"
						]
					}
				}
			},
			repeatPurchaseRevenuePctTotal: {
				type: "number",
				minimum: 0,
				maximum: 1,
				description: "Fraction of repeatPurchaseRevenue versus total revenue.",
				examples: [.0217, .8717]
			}
		}
	} }
};
//#endregion
//#region src/reports/selling-partner-search-catalog-performance-report.ts
const sellingPartnerSearchCatalogPerformanceReport = {
	type: "object",
	description: "The Search Catalog Performance report provides search engagement metrics, such as impressions, clicks, cart adds, and purchases for a date range that you specify. The data is available at different reporting periods: WEEK, MONTH, and QUARTER. Requests cannot span multiple periods. For example, a request at the WEEK level cannot start on 2025-01-05 and end on 2025-01-18 as this request spans two weeks.",
	examples: [{
		reportSpecification: {
			reportType: "GET_BRAND_ANALYTICS_SEARCH_CATALOG_PERFORMANCE_REPORT",
			reportOptions: {
				reportPeriod: "WEEK",
				asins: "B123456789 B987654321"
			},
			dataStartTime: "2025-01-05",
			dataEndTime: "2025-01-11",
			marketplaceIds: ["ATVPDKIKX0DER"]
		},
		dataByAsin: [{
			startDate: "2025-01-05",
			endDate: "2025-01-11",
			asin: "B123456789",
			impressionData: {
				impressionCount: 1e4,
				impressionMedianPrice: {
					amount: 19.99,
					currencyCode: "USD"
				},
				sameDayShippingImpressionCount: 5e3,
				oneDayShippingImpressionCount: 3e3,
				twoDayShippingImpressionCount: 2e3
			},
			clickData: {
				clickCount: 1e3,
				clickRate: .1,
				clickedMedianPrice: {
					amount: 19.99,
					currencyCode: "USD"
				},
				sameDayShippingClickCount: 500,
				oneDayShippingClickCount: 300,
				twoDayShippingClickCount: 200
			},
			cartAddData: {
				cartAddCount: 100,
				cartAddedMedianPrice: {
					amount: 19.99,
					currencyCode: "USD"
				},
				sameDayShippingCartAddCount: 50,
				oneDayShippingCartAddCount: 30,
				twoDayShippingCartAddCount: 20
			},
			purchaseData: {
				purchaseCount: 50,
				searchTrafficSales: {
					amount: 999.5,
					currencyCode: "USD"
				},
				conversionRate: .05,
				purchaseMedianPrice: {
					amount: 19.99,
					currencyCode: "USD"
				},
				sameDayShippingPurchaseCount: 25,
				oneDayShippingPurchaseCount: 15,
				twoDayShippingPurchaseCount: 10
			}
		}, {
			startDate: "2025-01-05",
			endDate: "2025-01-11",
			asin: "B987654321",
			impressionData: {
				impressionCount: 1e4,
				impressionMedianPrice: {
					amount: 19.99,
					currencyCode: "USD"
				},
				sameDayShippingImpressionCount: 5e3,
				oneDayShippingImpressionCount: 3e3,
				twoDayShippingImpressionCount: 2e3
			},
			clickData: {
				clickCount: 1e3,
				clickRate: .1,
				clickedMedianPrice: {
					amount: 19.99,
					currencyCode: "USD"
				},
				sameDayShippingClickCount: 500,
				oneDayShippingClickCount: 300,
				twoDayShippingClickCount: 200
			},
			cartAddData: {
				cartAddCount: 100,
				cartAddedMedianPrice: {
					amount: 19.99,
					currencyCode: "USD"
				},
				sameDayShippingCartAddCount: 50,
				oneDayShippingCartAddCount: 30,
				twoDayShippingCartAddCount: 20
			},
			purchaseData: {
				purchaseCount: 50,
				searchTrafficSales: {
					amount: 999.5,
					currencyCode: "USD"
				},
				conversionRate: .05,
				purchaseMedianPrice: {
					amount: 19.99,
					currencyCode: "USD"
				},
				sameDayShippingPurchaseCount: 25,
				oneDayShippingPurchaseCount: 15,
				twoDayShippingPurchaseCount: 10
			}
		}]
	}],
	required: ["reportSpecification", "dataByAsin"],
	properties: {
		reportSpecification: {
			type: "object",
			description: "Summarizes the original report request.",
			examples: [{
				reportType: "GET_BRAND_ANALYTICS_SEARCH_CATALOG_PERFORMANCE_REPORT",
				reportOptions: {
					reportPeriod: "WEEK",
					asins: "B123456789 B987654321"
				},
				dataStartTime: "2025-01-05",
				dataEndTime: "2025-01-11",
				marketplaceIds: ["ATVPDKIKX0DER"]
			}],
			required: [
				"reportType",
				"reportOptions",
				"dataStartTime",
				"dataEndTime",
				"marketplaceIds"
			],
			properties: {
				reportType: {
					type: "string",
					description: "The type of the report.",
					enum: ["GET_BRAND_ANALYTICS_SEARCH_CATALOG_PERFORMANCE_REPORT"]
				},
				reportOptions: {
					type: "object",
					description: "The report options that specify parameters, such as reportPeriod.",
					required: ["reportPeriod"],
					properties: {
						reportPeriod: {
							type: "string",
							description: "The granularity of the data in the report. Valid values are WEEK, MONTH, and QUARTER.",
							enum: [
								"WEEK",
								"MONTH",
								"QUARTER"
							]
						},
						asins: {
							type: "string",
							description: "A space-separated list of Amazon Standard Identification Number (ASINs) for which you can request the report. If you do not provide ASINs, the report returns search catalog performance data for all ASINs for which you are a brand owner. There is a 200-character limit.",
							examples: ["B123456789 B987654321"]
						}
					}
				},
				dataStartTime: {
					type: "string",
					format: "date",
					description: "The start date of the report (Amazon ignores the time component). For WEEK, MONTH, and QUARTER reportPeriods, this value must correspond to the first day in the reportPeriod that you specify or else a fatal error returns. For example, dataStartTime must be a Sunday for the WEEK reportPeriod.",
					examples: ["2025-01-05"]
				},
				dataEndTime: {
					type: "string",
					format: "date",
					description: "The end date of the report (Amazon ignores the time component). For WEEK, MONTH, and QUARTER reportPeriods, this value must correspond to the last day in the reportPeriod that you specify or else a fatal error returns. For example, dataEndTime must be a Saturday for the WEEK reportPeriod.",
					examples: ["2025-01-11"]
				},
				marketplaceIds: {
					type: "array",
					description: "This parameter must match the marketplaceId of the selling partner account. This report type supports only one marketplaceId per report. If you specify multiple marketplaces, a fatal error returns and report generation fails.",
					examples: [["ATVPDKIKX0DER"]],
					items: { type: "string" }
				}
			}
		},
		dataByAsin: {
			type: "array",
			items: { $ref: "#/definitions/SearchCatalogPerformanceData" }
		}
	},
	definitions: {
		SearchCatalogPerformanceData: {
			type: "object",
			description: "Contains search catalog performance data for ASINs in the selling partner's catalog.",
			examples: [{
				startDate: "2025-01-05",
				endDate: "2025-01-11",
				asin: "B123456789",
				impressionData: {
					impressionCount: 1e4,
					impressionMedianPrice: {
						amount: 19.99,
						currencyCode: "USD"
					},
					sameDayShippingImpressionCount: 5e3,
					oneDayShippingImpressionCount: 3e3,
					twoDayShippingImpressionCount: 2e3
				},
				clickData: {
					clickCount: 1e3,
					clickRate: .1,
					clickedMedianPrice: {
						amount: 19.99,
						currencyCode: "USD"
					},
					sameDayShippingClickCount: 500,
					oneDayShippingClickCount: 300,
					twoDayShippingClickCount: 200
				},
				cartAddData: {
					cartAddCount: 100,
					cartAddedMedianPrice: {
						amount: 19.99,
						currencyCode: "USD"
					},
					sameDayShippingCartAddCount: 50,
					oneDayShippingCartAddCount: 30,
					twoDayShippingCartAddCount: 20
				},
				purchaseData: {
					purchaseCount: 50,
					searchTrafficSales: {
						amount: 999.5,
						currencyCode: "USD"
					},
					conversionRate: .05,
					purchaseMedianPrice: {
						amount: 19.99,
						currencyCode: "USD"
					},
					sameDayShippingPurchaseCount: 25,
					oneDayShippingPurchaseCount: 15,
					twoDayShippingPurchaseCount: 10
				}
			}, {
				startDate: "2025-01-05",
				endDate: "2025-01-11",
				asin: "B987654321",
				impressionData: {
					impressionCount: 1e4,
					impressionMedianPrice: {
						amount: 19.99,
						currencyCode: "USD"
					},
					sameDayShippingImpressionCount: 5e3,
					oneDayShippingImpressionCount: 3e3,
					twoDayShippingImpressionCount: 2e3
				},
				clickData: {
					clickCount: 1e3,
					clickRate: .1,
					clickedMedianPrice: {
						amount: 19.99,
						currencyCode: "USD"
					},
					sameDayShippingClickCount: 500,
					oneDayShippingClickCount: 300,
					twoDayShippingClickCount: 200
				},
				cartAddData: {
					cartAddCount: 100,
					cartAddedMedianPrice: {
						amount: 19.99,
						currencyCode: "USD"
					},
					sameDayShippingCartAddCount: 50,
					oneDayShippingCartAddCount: 30,
					twoDayShippingCartAddCount: 20
				},
				purchaseData: {
					purchaseCount: 50,
					searchTrafficSales: {
						amount: 999.5,
						currencyCode: "USD"
					},
					conversionRate: .05,
					purchaseMedianPrice: {
						amount: 19.99,
						currencyCode: "USD"
					},
					sameDayShippingPurchaseCount: 25,
					oneDayShippingPurchaseCount: 15,
					twoDayShippingPurchaseCount: 10
				}
			}],
			required: [
				"startDate",
				"endDate",
				"asin",
				"impressionData",
				"clickData",
				"cartAddData",
				"purchaseData"
			],
			properties: {
				startDate: {
					type: "string",
					format: "date",
					description: "The start date of the data for the ASIN that you specify in the asin property.",
					examples: ["2025-01-05"]
				},
				endDate: {
					type: "string",
					format: "date",
					description: "The end date of the data for the ASIN that you specify in the asin property.",
					examples: ["2025-01-11"]
				},
				asin: {
					type: "string",
					description: "The Amazon Standard Identification Number.",
					examples: ["B123456789"]
				},
				impressionData: { $ref: "#/definitions/SearchCatalogPerformanceImpressionData" },
				clickData: { $ref: "#/definitions/SearchCatalogPerformanceClickData" },
				cartAddData: { $ref: "#/definitions/SearchCatalogPerformanceCartAddData" },
				purchaseData: { $ref: "#/definitions/SearchCatalogPerformancePurchaseData" }
			}
		},
		SearchCatalogPerformanceImpressionData: {
			type: "object",
			description: "The search impression data for your catalog.",
			required: [
				"impressionCount",
				"impressionMedianPrice",
				"sameDayShippingImpressionCount",
				"oneDayShippingImpressionCount",
				"twoDayShippingImpressionCount"
			],
			properties: {
				impressionCount: {
					type: "integer",
					description: "Total number of impressions for the given ASIN, which originates from the search results page across all search queries. Amazon counts an impression every time the ASIN displays in the search results page. Impressions include sponsored search results.",
					examples: [1e4]
				},
				impressionMedianPrice: { $ref: "#/definitions/CurrencyAmount" },
				sameDayShippingImpressionCount: {
					type: "integer",
					description: "The number of times the impressed ASIN displays with the same day delivery message in a search results page.",
					examples: [5e3]
				},
				oneDayShippingImpressionCount: {
					type: "integer",
					description: "The number of times the impressed ASIN displays with the one-day delivery message in a search results page.",
					examples: [3e3]
				},
				twoDayShippingImpressionCount: {
					type: "integer",
					description: "The number of times the impressed ASIN displays with the two-day delivery message in a search results page.",
					examples: [2e3]
				}
			}
		},
		SearchCatalogPerformanceClickData: {
			type: "object",
			description: "The search click data for your catalog.",
			required: [
				"clickCount",
				"clickRate",
				"clickedMedianPrice",
				"sameDayShippingClickCount",
				"oneDayShippingClickCount",
				"twoDayShippingClickCount"
			],
			properties: {
				clickCount: {
					type: "integer",
					description: "The total number of clicks on the ASIN that originates from the search results page.",
					examples: [1e3]
				},
				clickRate: {
					type: "number",
					description: "The number of clicks divided by the number of impressions for the ASIN.",
					examples: [.1]
				},
				clickedMedianPrice: { $ref: "#/definitions/CurrencyAmount" },
				sameDayShippingClickCount: {
					type: "integer",
					description: "The number of times customers click on the ASIN with the same day delivery message on the search results page.",
					examples: [500]
				},
				oneDayShippingClickCount: {
					type: "integer",
					description: "The number of times customers click on the ASIN with the one-day delivery message on the search results page.",
					examples: [300]
				},
				twoDayShippingClickCount: {
					type: "integer",
					description: "The number of times customers click on the ASIN with the two-day delivery message on the search results page.",
					examples: [200]
				}
			}
		},
		SearchCatalogPerformanceCartAddData: {
			type: "object",
			description: "The search attributed cart-add data for your catalog.",
			required: [
				"cartAddCount",
				"cartAddedMedianPrice",
				"sameDayShippingCartAddCount",
				"oneDayShippingCartAddCount",
				"twoDayShippingCartAddCount"
			],
			properties: {
				cartAddCount: {
					type: "integer",
					description: "The number of times customers add an ASIN to a cart. This data originates from the search results page.",
					examples: [100]
				},
				cartAddedMedianPrice: { $ref: "#/definitions/CurrencyAmount" },
				sameDayShippingCartAddCount: {
					type: "integer",
					description: "The number of times customers add an ASIN to a cart with the same day delivery message in the search results page.",
					examples: [50]
				},
				oneDayShippingCartAddCount: {
					type: "integer",
					description: "The number of times customers add an ASIN to a cart with the one-day delivery message in the search results page.",
					examples: [30]
				},
				twoDayShippingCartAddCount: {
					type: "integer",
					description: "The number of times customers add an ASIN to a cart with the two-day delivery message in the search results page.",
					examples: [20]
				}
			}
		},
		SearchCatalogPerformancePurchaseData: {
			type: "object",
			description: "The search attributed purchase data for your catalog.",
			required: [
				"purchaseCount",
				"searchTrafficSales",
				"conversionRate",
				"purchaseMedianPrice",
				"sameDayShippingPurchaseCount",
				"oneDayShippingPurchaseCount",
				"twoDayShippingPurchaseCount"
			],
			properties: {
				purchaseCount: {
					type: "integer",
					description: "The total number of purchases for an ASIN. This data originates from the search results page.",
					examples: [50]
				},
				searchTrafficSales: { $ref: "#/definitions/CurrencyAmount" },
				conversionRate: {
					type: "number",
					description: "The number of purchases divided by the number of clicks for the ASIN.",
					examples: [.05]
				},
				purchaseMedianPrice: { $ref: "#/definitions/CurrencyAmount" },
				sameDayShippingPurchaseCount: {
					type: "integer",
					description: "The number of times customers purchase an ASIN with the same day delivery message in the search results page.",
					examples: [25]
				},
				oneDayShippingPurchaseCount: {
					type: "integer",
					description: "The number of times customers purchase an ASIN with the one-day delivery message in the search results page.",
					examples: [15]
				},
				twoDayShippingPurchaseCount: {
					type: "integer",
					description: "The number of times customers purchase an ASIN with the two-day delivery message in the search results page.",
					examples: [10]
				}
			}
		},
		CurrencyAmount: {
			type: "object",
			description: "Represents an amount of money in a specific currency.",
			required: ["amount", "currencyCode"],
			properties: {
				amount: {
					type: "number",
					description: "The monetary amount.",
					examples: [19.99, 999.5]
				},
				currencyCode: {
					type: "string",
					pattern: "[A-Z]{3}",
					description: "The 3-letter currency code in ISO 4217 format.",
					examples: [
						"USD",
						"EUR",
						"JPY"
					]
				}
			}
		}
	}
};
//#endregion
//#region src/reports/selling-partner-search-query-performance-report.ts
const sellingPartnerSearchQueryPerformanceReport = {
	type: "object",
	description: "The Search Query Performance Report provides overall query performance, such as impressions, clicks, cart adds, and purchases for a list of Amazon Standard Identification Numbers (ASINs) and date range that you specify. Data is available at different reporting periods: WEEK, MONTH, and QUARTER. Requests cannot span multiple periods. For example, a request at the WEEK level cannot start on 2025-01-05 and end on 2025-01-18 as this request spans two weeks.",
	examples: [{
		reportSpecification: {
			reportType: "GET_BRAND_ANALYTICS_SEARCH_QUERY_PERFORMANCE_REPORT",
			reportOptions: {
				reportPeriod: "WEEK",
				asin: "B123456789 B987654321"
			},
			dataStartTime: "2025-01-05",
			dataEndTime: "2025-01-11",
			marketplaceIds: ["ATVPDKIKX0DER"]
		},
		dataByAsin: [{
			startDate: "2025-01-05",
			endDate: "2025-01-11",
			asin: "B123456789",
			searchQueryData: {
				searchQuery: "wireless headphones",
				searchQueryScore: 5,
				searchQueryVolume: 15e3
			},
			impressionData: {
				totalQueryImpressionCount: 1e4,
				asinImpressionCount: 765,
				asinImpressionShare: .0765
			},
			clickData: {
				totalClickCount: 1e3,
				totalClickRate: .1,
				asinClickCount: 50,
				asinClickShare: .05,
				totalMedianClickPrice: {
					amount: 19.99,
					currencyCode: "USD"
				},
				asinMedianClickPrice: {
					amount: 19.99,
					currencyCode: "USD"
				},
				totalSameDayShippingClickCount: 200,
				totalOneDayShippingClickCount: 300,
				totalTwoDayShippingClickCount: 500
			},
			cartAddData: {
				totalCartAddCount: 200,
				totalCartAddRate: .02,
				asinCartAddCount: 10,
				asinCartAddShare: .05,
				totalMedianCartAddPrice: {
					amount: 19.99,
					currencyCode: "USD"
				},
				asinMedianCartAddPrice: {
					amount: 19.99,
					currencyCode: "USD"
				},
				totalSameDayShippingCartAddCount: 40,
				totalOneDayShippingCartAddCount: 60,
				totalTwoDayShippingCartAddCount: 100
			},
			purchaseData: {
				totalPurchaseCount: 100,
				totalPurchaseRate: .01,
				asinPurchaseCount: 5,
				asinPurchaseShare: .05,
				totalMedianPurchasePrice: {
					amount: 19.99,
					currencyCode: "USD"
				},
				asinMedianPurchasePrice: {
					amount: 19.99,
					currencyCode: "USD"
				},
				totalSameDayShippingPurchaseCount: 20,
				totalOneDayShippingPurchaseCount: 30,
				totalTwoDayShippingPurchaseCount: 50
			}
		}, {
			startDate: "2025-01-05",
			endDate: "2025-01-11",
			asin: "B987654321",
			searchQueryData: {
				searchQuery: "wireless headphones",
				searchQueryScore: 5,
				searchQueryVolume: 15e3
			},
			impressionData: {
				totalQueryImpressionCount: 1e4,
				asinImpressionCount: 765,
				asinImpressionShare: .0765
			},
			clickData: {
				totalClickCount: 1e3,
				totalClickRate: .1,
				asinClickCount: 50,
				asinClickShare: .05,
				totalMedianClickPrice: {
					amount: 19.99,
					currencyCode: "USD"
				},
				asinMedianClickPrice: {
					amount: 19.99,
					currencyCode: "USD"
				},
				totalSameDayShippingClickCount: 200,
				totalOneDayShippingClickCount: 300,
				totalTwoDayShippingClickCount: 500
			},
			cartAddData: {
				totalCartAddCount: 200,
				totalCartAddRate: .02,
				asinCartAddCount: 10,
				asinCartAddShare: .05,
				totalMedianCartAddPrice: {
					amount: 19.99,
					currencyCode: "USD"
				},
				asinMedianCartAddPrice: {
					amount: 19.99,
					currencyCode: "USD"
				},
				totalSameDayShippingCartAddCount: 40,
				totalOneDayShippingCartAddCount: 60,
				totalTwoDayShippingCartAddCount: 100
			},
			purchaseData: {
				totalPurchaseCount: 100,
				totalPurchaseRate: .01,
				asinPurchaseCount: 5,
				asinPurchaseShare: .05,
				totalMedianPurchasePrice: {
					amount: 19.99,
					currencyCode: "USD"
				},
				asinMedianPurchasePrice: {
					amount: 19.99,
					currencyCode: "USD"
				},
				totalSameDayShippingPurchaseCount: 20,
				totalOneDayShippingPurchaseCount: 30,
				totalTwoDayShippingPurchaseCount: 50
			}
		}]
	}],
	required: ["reportSpecification", "dataByAsin"],
	properties: {
		reportSpecification: {
			type: "object",
			description: "Summarizes the original report request.",
			examples: [{
				reportType: "GET_BRAND_ANALYTICS_SEARCH_QUERY_PERFORMANCE_REPORT",
				reportOptions: {
					reportPeriod: "WEEK",
					asin: "B123456789 B987654321"
				},
				dataStartTime: "2025-01-05",
				dataEndTime: "2025-01-11",
				marketplaceIds: ["ATVPDKIKX0DER"]
			}],
			required: [
				"reportType",
				"reportOptions",
				"dataStartTime",
				"dataEndTime",
				"marketplaceIds"
			],
			properties: {
				reportType: {
					type: "string",
					description: "The type of the report.",
					enum: ["GET_BRAND_ANALYTICS_SEARCH_QUERY_PERFORMANCE_REPORT"]
				},
				reportOptions: {
					type: "object",
					description: "The report options that specify parameters, such as reportPeriod and asin.",
					required: ["reportPeriod", "asin"],
					properties: {
						reportPeriod: {
							type: "string",
							description: "The granularity of the data in the report. Valid values are WEEK, MONTH, and QUARTER.",
							enum: [
								"WEEK",
								"MONTH",
								"QUARTER"
							]
						},
						asin: {
							type: "string",
							description: "A space-separated list of ASINs for which you can request the report. There is a 200-character limit.",
							examples: ["B123456789 B987654321"]
						}
					}
				},
				dataStartTime: {
					type: "string",
					format: "date",
					description: "The start date of the report (Amazon ignores the time component). For WEEK, MONTH, and QUARTER reportPeriods, this value must correspond to the first day in the reportPeriod that you specify or else a fatal error returns. For example, dataStartTime must be a Sunday for the WEEK reportPeriod.",
					examples: ["2025-01-05"]
				},
				dataEndTime: {
					type: "string",
					format: "date",
					description: "The end date of the report (Amazon ignores the time component). For WEEK, MONTH, and QUARTER reportPeriods, this value must correspond to the last day in the reportPeriod that you specify or else a fatal error returns. For example, dataEndTime must be a Saturday for the WEEK reportPeriod.",
					examples: ["2025-01-11"]
				},
				marketplaceIds: {
					type: "array",
					description: "This parameter must match the marketplaceId of the selling partner account. This report type supports only one marketplaceId per report. If you specify multiple marketplaces, a fatal error returns and report generation fails.",
					items: { type: "string" },
					examples: [["ATVPDKIKX0DER"]]
				}
			}
		},
		dataByAsin: {
			type: "array",
			items: { $ref: "#/definitions/SearchQueryPerformanceData" }
		}
	},
	definitions: {
		SearchQueryPerformanceData: {
			type: "object",
			description: "Contains search query performance data at the ASIN level.",
			examples: [{
				startDate: "2025-01-05",
				endDate: "2025-01-11",
				asin: "B123456789",
				searchQueryData: {
					searchQuery: "wireless headphones",
					searchQueryScore: 5,
					searchQueryVolume: 15e3
				},
				impressionData: {
					totalQueryImpressionCount: 1e4,
					asinImpressionCount: 765,
					asinImpressionShare: .0765
				},
				clickData: {
					totalClickCount: 1e3,
					totalClickRate: .1,
					asinClickCount: 50,
					asinClickShare: .05,
					totalMedianClickPrice: {
						amount: 19.99,
						currencyCode: "USD"
					},
					asinMedianClickPrice: {
						amount: 19.99,
						currencyCode: "USD"
					},
					totalSameDayShippingClickCount: 200,
					totalOneDayShippingClickCount: 300,
					totalTwoDayShippingClickCount: 500
				},
				cartAddData: {
					totalCartAddCount: 200,
					totalCartAddRate: .02,
					asinCartAddCount: 10,
					asinCartAddShare: .05,
					totalMedianCartAddPrice: {
						amount: 19.99,
						currencyCode: "USD"
					},
					asinMedianCartAddPrice: {
						amount: 19.99,
						currencyCode: "USD"
					},
					totalSameDayShippingCartAddCount: 40,
					totalOneDayShippingCartAddCount: 60,
					totalTwoDayShippingCartAddCount: 100
				},
				purchaseData: {
					totalPurchaseCount: 100,
					totalPurchaseRate: .01,
					asinPurchaseCount: 5,
					asinPurchaseShare: .05,
					totalMedianPurchasePrice: {
						amount: 19.99,
						currencyCode: "USD"
					},
					asinMedianPurchasePrice: {
						amount: 19.99,
						currencyCode: "USD"
					},
					totalSameDayShippingPurchaseCount: 20,
					totalOneDayShippingPurchaseCount: 30,
					totalTwoDayShippingPurchaseCount: 50
				}
			}, {
				startDate: "2025-01-05",
				endDate: "2025-01-11",
				asin: "B987654321",
				searchQueryData: {
					searchQuery: "wireless headphones",
					searchQueryScore: 5,
					searchQueryVolume: 15e3
				},
				impressionData: {
					totalQueryImpressionCount: 1e4,
					asinImpressionCount: 765,
					asinImpressionShare: .0765
				},
				clickData: {
					totalClickCount: 1e3,
					totalClickRate: .1,
					asinClickCount: 50,
					asinClickShare: .05,
					totalMedianClickPrice: {
						amount: 19.99,
						currencyCode: "USD"
					},
					asinMedianClickPrice: {
						amount: 19.99,
						currencyCode: "USD"
					},
					totalSameDayShippingClickCount: 200,
					totalOneDayShippingClickCount: 300,
					totalTwoDayShippingClickCount: 500
				},
				cartAddData: {
					totalCartAddCount: 200,
					totalCartAddRate: .02,
					asinCartAddCount: 10,
					asinCartAddShare: .05,
					totalMedianCartAddPrice: {
						amount: 19.99,
						currencyCode: "USD"
					},
					asinMedianCartAddPrice: {
						amount: 19.99,
						currencyCode: "USD"
					},
					totalSameDayShippingCartAddCount: 40,
					totalOneDayShippingCartAddCount: 60,
					totalTwoDayShippingCartAddCount: 100
				},
				purchaseData: {
					totalPurchaseCount: 100,
					totalPurchaseRate: .01,
					asinPurchaseCount: 5,
					asinPurchaseShare: .05,
					totalMedianPurchasePrice: {
						amount: 19.99,
						currencyCode: "USD"
					},
					asinMedianPurchasePrice: {
						amount: 19.99,
						currencyCode: "USD"
					},
					totalSameDayShippingPurchaseCount: 20,
					totalOneDayShippingPurchaseCount: 30,
					totalTwoDayShippingPurchaseCount: 50
				}
			}],
			required: [
				"startDate",
				"endDate",
				"asin",
				"searchQueryData",
				"impressionData",
				"clickData",
				"cartAddData",
				"purchaseData"
			],
			properties: {
				startDate: {
					type: "string",
					format: "date",
					description: "The start date of the data for the ASIN that you specify.",
					examples: ["2025-01-05"]
				},
				endDate: {
					type: "string",
					format: "date",
					description: "The end date of the data for the ASIN that you specify.",
					examples: ["2025-01-11"]
				},
				asin: {
					type: "string",
					description: "A space-separated list of ASINs for which you can request the report. There is a 200-character limit.",
					examples: ["B123456789 B987654321"]
				},
				searchQueryData: { $ref: "#/definitions/SearchQueryData" },
				impressionData: { $ref: "#/definitions/SearchQueryPerformanceImpressionData" },
				clickData: { $ref: "#/definitions/SearchQueryPerformanceClickData" },
				cartAddData: { $ref: "#/definitions/SearchQueryPerformanceCartAddData" },
				purchaseData: { $ref: "#/definitions/SearchQueryPerformancePurchaseData" }
			}
		},
		SearchQueryData: {
			type: "object",
			description: "The search query data.",
			required: [
				"searchQuery",
				"searchQueryScore",
				"searchQueryVolume"
			],
			properties: {
				searchQuery: {
					type: "string",
					description: "A buying customer’s search query that is relevant to your branded catalog.",
					examples: ["wireless headphones"]
				},
				searchQueryScore: {
					type: "integer",
					description: "The rank for a search query in comparison to other queries for the ASIN. The ranking mechanism measures overall performance (the highest rank is 1).",
					examples: [5]
				},
				searchQueryVolume: {
					type: "integer",
					description: "The number of times customers search for a query at a select time period.",
					examples: [15e3]
				}
			}
		},
		SearchQueryPerformanceImpressionData: {
			type: "object",
			description: "The search query performance impression data.",
			required: [
				"totalQueryImpressionCount",
				"asinImpressionCount",
				"asinImpressionShare"
			],
			properties: {
				totalQueryImpressionCount: {
					type: "integer",
					description: "The total number of impressions that originate from the search results page for all ASINs with the current query.",
					examples: [1e4]
				},
				asinImpressionCount: {
					type: "integer",
					description: "The total number of impressions that originate from the search results page for the current ASIN with the current query.",
					examples: [765]
				},
				asinImpressionShare: {
					type: "number",
					description: "The fraction of impressions for the ASIN in comparison to the total impression count for the query.",
					examples: [.0765]
				}
			}
		},
		SearchQueryPerformanceClickData: {
			type: "object",
			description: "The search query performance click data.",
			required: [
				"totalClickCount",
				"totalClickRate",
				"asinClickCount",
				"asinClickShare",
				"totalMedianClickPrice",
				"asinMedianClickPrice",
				"totalSameDayShippingClickCount",
				"totalOneDayShippingClickCount",
				"totalTwoDayShippingClickCount"
			],
			properties: {
				totalClickCount: {
					type: "integer",
					description: "For a search query, the number of ASIN clicks that originate from the search results page for any ASIN.",
					examples: [1e3]
				},
				totalClickRate: {
					type: "number",
					description: "For a search query, the number of clicks divided by the search query volume.",
					examples: [.1]
				},
				asinClickCount: {
					type: "integer",
					description: "For a search query, the number of clicks for the current ASIN.",
					examples: [50]
				},
				asinClickShare: {
					type: "number",
					description: "The fraction of clicks for the current ASIN in comparison to the total click count for the query.",
					examples: [.05]
				},
				totalMedianClickPrice: { $ref: "#/definitions/CurrencyAmount" },
				asinMedianClickPrice: { $ref: "#/definitions/CurrencyAmount" },
				totalSameDayShippingClickCount: {
					type: "integer",
					description: "The number of times customers click on any ASIN with the same-day delivery message from the search results page for the specific query.",
					examples: [200]
				},
				totalOneDayShippingClickCount: {
					type: "integer",
					description: "The number of times customers click on any ASIN with the one-day delivery message from the search results page for the specific query.",
					examples: [300]
				},
				totalTwoDayShippingClickCount: {
					type: "integer",
					description: "The number of times customers click on any ASIN with the two-day delivery message from the search results page for the specific query.",
					examples: [500]
				}
			}
		},
		SearchQueryPerformanceCartAddData: {
			type: "object",
			description: "The search query performance cart add data.",
			required: [
				"totalCartAddCount",
				"totalCartAddRate",
				"asinCartAddCount",
				"asinCartAddShare",
				"totalMedianCartAddPrice",
				"asinMedianCartAddPrice",
				"totalSameDayShippingCartAddCount",
				"totalOneDayShippingCartAddCount",
				"totalTwoDayShippingCartAddCount"
			],
			properties: {
				totalCartAddCount: {
					type: "integer",
					description: "For a search query, the number of cart-adds that originate from the search result page across all ASINs.",
					examples: [200]
				},
				totalCartAddRate: {
					type: "number",
					description: "For a search query, the number of cart-adds across all ASINs divided by the search query volume.",
					examples: [.02]
				},
				asinCartAddCount: {
					type: "integer",
					description: "For a search query, the number of cart-adds for the ASIN that originates from the search results page.",
					examples: [10]
				},
				asinCartAddShare: {
					type: "number",
					description: "The fraction of cart-adds for the ASIN in comparison to the total cart-add count for the query.",
					examples: [.05]
				},
				totalMedianCartAddPrice: { $ref: "#/definitions/CurrencyAmount" },
				asinMedianCartAddPrice: { $ref: "#/definitions/CurrencyAmount" },
				totalSameDayShippingCartAddCount: {
					type: "integer",
					description: "The number of times customers add any ASIN with the same-day delivery message to a cart from the search results page for the specific query.",
					examples: [40]
				},
				totalOneDayShippingCartAddCount: {
					type: "integer",
					description: "The number of times customers add any ASIN with the one-day delivery message to a cart from the search results page for the specific query.",
					examples: [60]
				},
				totalTwoDayShippingCartAddCount: {
					type: "integer",
					description: "The number of times customers add any ASIN with the two-day delivery message to a cart from the search results page for the specific query.",
					examples: [100]
				}
			}
		},
		SearchQueryPerformancePurchaseData: {
			type: "object",
			description: "The search query performance purchase data.",
			required: [
				"totalPurchaseCount",
				"totalPurchaseRate",
				"asinPurchaseCount",
				"asinPurchaseShare",
				"totalMedianPurchasePrice",
				"asinMedianPurchasePrice",
				"totalSameDayShippingPurchaseCount",
				"totalOneDayShippingPurchaseCount",
				"totalTwoDayShippingPurchaseCount"
			],
			properties: {
				totalPurchaseCount: {
					type: "integer",
					description: "For a search query, the number of purchases that originate from the search result for any ASIN.",
					examples: [100]
				},
				totalPurchaseRate: {
					type: "number",
					description: "For a search query, the number of purchases divided by the search query volume.",
					examples: [.01]
				},
				asinPurchaseCount: {
					type: "integer",
					description: "For a search query, the number of purchases for the current ASIN.",
					examples: [5]
				},
				asinPurchaseShare: {
					type: "number",
					description: "The fraction of purchase actions for the ASIN in comparison to the total purchase count for the query.",
					examples: [.05]
				},
				totalMedianPurchasePrice: { $ref: "#/definitions/CurrencyAmount" },
				asinMedianPurchasePrice: { $ref: "#/definitions/CurrencyAmount" },
				totalSameDayShippingPurchaseCount: {
					type: "integer",
					description: "The number of times customers purchase any ASIN with the same-day delivery message from the search results page for the specific query.",
					examples: [20]
				},
				totalOneDayShippingPurchaseCount: {
					type: "integer",
					description: "The number of times customers purchase any ASIN with a one-day delivery message from the search results page for the specific query.",
					examples: [30]
				},
				totalTwoDayShippingPurchaseCount: {
					type: "integer",
					description: "The number of times customers purchase any ASIN with a two-day delivery message from the search results page for the specific query.",
					examples: [50]
				}
			}
		},
		CurrencyAmount: {
			type: "object",
			description: "Represents an amount of money in a specific currency.",
			required: ["amount", "currencyCode"],
			properties: {
				amount: {
					type: "number",
					description: "The monetary amount.",
					examples: [19.99]
				},
				currencyCode: {
					type: "string",
					pattern: "[A-Z]{3}",
					description: "The 3-letter currency code, in ISO 4217 format.",
					examples: ["USD"]
				}
			}
		}
	}
};
//#endregion
//#region src/reports/selling-partner-search-terms-report.ts
const sellingPartnerSearchTermsReport = {
	type: "object",
	description: "The Search Terms report shares data on the top-3 clicked ASINs by search keyword and department for a marketplace. Data is available at different date range aggregation levels: DAY, WEEK, MONTH, QUARTER. Requests cannot span multiple periods. For example, a request at WEEK level could not start on 2021-06-06 and end on 2021-06-19 as this would span two weeks.",
	examples: [{
		reportSpecification: {
			reportType: "GET_BRAND_ANALYTICS_SEARCH_TERMS_REPORT",
			reportOptions: { reportPeriod: "WEEK" },
			dataStartTime: "2021-06-06",
			dataEndTime: "2021-06-12",
			marketplaceIds: ["ATVPDKIKX0DER"]
		},
		dataByDepartmentAndSearchTerm: [
			{
				departmentName: "Amazon.com",
				searchTerm: "search term rank one",
				searchFrequencyRank: 1,
				clickedAsin: "B123456789",
				clickShareRank: 1,
				clickShare: .0771,
				conversionShare: .0874
			},
			{
				departmentName: "Amazon.com",
				searchTerm: "search term rank one",
				searchFrequencyRank: 1,
				clickedAsin: "B987654321",
				clickShareRank: 2,
				clickShare: .0726,
				conversionShare: .0974
			},
			{
				departmentName: "Amazon.com",
				searchTerm: "search term rank one",
				searchFrequencyRank: 1,
				clickedAsin: "B897654321",
				clickShareRank: 3,
				clickShare: .0405,
				conversionShare: .0854
			},
			{
				departmentName: "Amazon.com",
				searchTerm: "search term rank two",
				searchFrequencyRank: 2,
				clickedAsin: "B123454321",
				clickShareRank: 1,
				clickShare: .0567,
				conversionShare: .123
			},
			{
				departmentName: "Amazon.com",
				searchTerm: "search term rank two",
				searchFrequencyRank: 2,
				clickedAsin: "B567898765",
				clickShareRank: 2,
				clickShare: .0371,
				conversionShare: .0854
			},
			{
				departmentName: "Amazon.com",
				searchTerm: "search term rank two",
				searchFrequencyRank: 2,
				clickedAsin: "B135797531",
				clickShareRank: 3,
				clickShare: .0205,
				conversionShare: .0469
			},
			{
				departmentName: "Beauty",
				searchTerm: "beauty search term rank one",
				searchFrequencyRank: 1,
				clickedAsin: "B1212134343",
				clickShareRank: 1,
				clickShare: .1118,
				conversionShare: .0974
			},
			{
				departmentName: "Beauty",
				searchTerm: "beauty search term rank one",
				searchFrequencyRank: 1,
				clickedAsin: "B1313145454",
				clickShareRank: 2,
				clickShare: .0767,
				conversionShare: .0743
			},
			{
				departmentName: "Beauty",
				searchTerm: "beauty search term rank one",
				searchFrequencyRank: 1,
				clickedAsin: "B1414156565",
				clickShareRank: 3,
				clickShare: .0734,
				conversionShare: 0
			},
			{
				departmentName: "Beauty",
				searchTerm: "beauty search term rank two",
				searchFrequencyRank: 2,
				clickedAsin: "B2323254545",
				clickShareRank: 1,
				clickShare: .0677,
				conversionShare: .0582
			},
			{
				departmentName: "Beauty",
				searchTerm: "beauty search term rank two",
				searchFrequencyRank: 2,
				clickedAsin: "B2424276767",
				clickShareRank: 2,
				clickShare: .0411,
				conversionShare: .0031
			},
			{
				departmentName: "Beauty",
				searchTerm: "beauty search term rank two",
				searchFrequencyRank: 2,
				clickedAsin: "B2525287878",
				clickShareRank: 3,
				clickShare: .0374,
				conversionShare: .1429
			}
		]
	}],
	required: ["reportSpecification", "dataByDepartmentAndSearchTerm"],
	properties: {
		reportSpecification: {
			type: "object",
			description: "Summarizes the original report request.",
			examples: [{
				reportType: "GET_BRAND_ANALYTICS_SEARCH_TERMS_REPORT",
				dataStartTime: "2021-06-06",
				dataEndTime: "2021-06-12",
				marketplaceIds: ["ATVPDKIKX0DER"]
			}],
			required: [
				"reportType",
				"reportOptions",
				"dataStartTime",
				"dataEndTime",
				"marketplaceIds"
			],
			properties: {
				reportType: {
					type: "string",
					description: "The report type.",
					enum: ["GET_BRAND_ANALYTICS_SEARCH_TERMS_REPORT"]
				},
				reportOptions: {
					type: "object",
					description: "Report options specifying parameters such as reportPeriod.",
					required: ["reportPeriod"],
					properties: { reportPeriod: {
						type: "string",
						description: "Determines what granularity of data is expected in the report. Valid values are: DAY, WEEK, MONTH, QUARTER.",
						enum: [
							"DAY",
							"WEEK",
							"MONTH",
							"QUARTER"
						]
					} }
				},
				dataStartTime: {
					type: "string",
					format: "date",
					description: "Determines the start date of the report - the time component is ignored. For WEEK, MONTH and QUARTER reportPeriods, this value must correspond to the first day in the specified reportPeriod. For example, dataStartTime must be a Sunday for the WEEK reportPeriod.",
					examples: ["2021-06-06"]
				},
				dataEndTime: {
					type: "string",
					format: "date",
					description: "Determines the end date of the report - the time component is ignored. For WEEK, MONTH and QUARTER reportPeriods, this value must correspond to the last day in the specified reportPeriod. For example, dataEndTime must be a Saturday for the WEEK reportPeriod.",
					examples: ["2021-06-12"]
				},
				marketplaceIds: {
					type: "array",
					description: "This parameter must match the marketplaceId of the selling partner account. Each selling partner account belongs to one marketplaceId.",
					examples: [["ATVPDKIKX0DER"]],
					items: { type: "string" }
				}
			}
		},
		dataByDepartmentAndSearchTerm: {
			type: "array",
			items: { $ref: "#/definitions/DetailsByDepartmentAndSearchTerm" }
		}
	},
	definitions: { DetailsByDepartmentAndSearchTerm: {
		type: "object",
		description: "Contains search term analytics by department name and search term.",
		examples: [{
			departmentName: "Amazon.com",
			searchTerm: "search term rank one",
			searchFrequencyRank: 1,
			clickedAsin: "B123456789",
			clickShareRank: 1,
			clickShare: .0771,
			conversionShare: .0874
		}, {
			departmentName: "Beauty",
			searchTerm: "beauty search term rank two",
			searchFrequencyRank: 2,
			clickedAsin: "B2424276767",
			clickShareRank: 2,
			clickShare: .1411,
			conversionShare: .0031
		}],
		required: [
			"departmentName",
			"searchTerm",
			"searchFrequencyRank",
			"clickedAsin",
			"clickShareRank",
			"clickShare",
			"conversionShare"
		],
		properties: {
			departmentName: {
				type: "string",
				description: "The name of the Amazon search department the searchTerm was searched within. For example, customers may search across all of Amazon.com or within the Beauty department within Amazon.com.",
				examples: [
					"Amazon.com",
					"Beauty",
					"Books"
				]
			},
			searchTerm: {
				type: "string",
				description: "The term the customer used when searching for products.",
				examples: ["christmas day gifts", "hiking shoes"]
			},
			searchFrequencyRank: {
				type: "integer",
				description: "The relative ranking of the searchTerm within a departmentName based on frequency of searches for the specified reportPeriod.",
				minimum: 1,
				examples: [1, 2]
			},
			clickedAsin: {
				type: "string",
				description: "The Amazon Standard Identification Number of a product that the customer clicked on after using the searchTerm within a departmentName.",
				examples: ["B123456789", "B987654321"]
			},
			clickShareRank: {
				type: "integer",
				description: "The relative ranking of the clickedAsin based on clickShare.",
				minimum: 1,
				examples: [1, 2]
			},
			clickShare: {
				type: "number",
				description: "The fraction of clicks that the product received compared to the total clicks for the searchTerm within the departmentName for the specified reportPeriod. Multiply the value by 100 to represent as a percentage.",
				minimum: 0,
				maximum: 1,
				examples: [.123, .0765]
			},
			conversionShare: {
				type: "number",
				minimum: 0,
				maximum: 1,
				description: "The fraction of conversions that the product achieved in comparison to the total conversions that resulted from the departmentName and searchTerm in the respective reportPeriod. For example, if overall conversions for searchTerm=batteries was 98, and the conversions for clickedAsin were 13, conversionShare would be 13/98=0.1327. Multiply by 100 to express as a percentage.",
				examples: [.0854, .0123]
			}
		}
	} }
};
//#endregion
//#region src/reports/vendor-coupon-report.ts
const vendorCouponReport = {
	type: "object",
	description: "This report contains data to help vendors optimize their coupons and adjust their advertising strategies. This report supports start dates up to two years before the current date.",
	examples: [{
		reportSpecification: {
			reportType: "GET_COUPON_PERFORMANCE_REPORT",
			reportOptions: {
				campaignStartDateFrom: "2021-11-01T15:33:26Z",
				campaignStartDateTo: "2021-11-30T15:33:26Z"
			},
			marketplaceIds: ["ATVPDKIKX0DER"]
		},
		campaigns: [{
			campaignId: "AMZHYHN65T7OH",
			campaignName: "Thanksgiving 2021",
			vendorCode: "ABCDE",
			marketplaceId: "ATVPDKIKX0DER",
			creationDateTime: "2021-11-01T12:34:56Z",
			lastUpdatedDateTime: "2021-12-16T09:44:35Z",
			isSubscribeAndSave: false,
			budgetType: "PER_INDIVIDUAL_COUPON",
			totalClips: 13,
			totalRedemptions: 1,
			currencyCode: "USD",
			coupons: [{
				couponId: "A2NW32V27GZS2T",
				name: "Product $40 Off",
				websiteMessage: "Save on BrandX Product",
				startDateTime: "2021-11-26T05:59:59Z",
				endDateTime: "2021-11-29T23:59:59Z",
				isOncePerCustomer: true,
				customerSegment: "All (Default)",
				clips: 13,
				redemptions: 1,
				budget: 1e4,
				totalDiscount: 40,
				budgetSpent: 42.29,
				budgetRemaining: 9957.71,
				budgetPercentageUsed: .4,
				asins: [{
					asin: "B08XJWMYR5",
					discountType: "PERCENT_OFF_LIST_PRICE",
					discountAmount: 10
				}, {
					asin: "B07Z7XTQKZ",
					discountType: "AMOUNT_OFF_LIST_PRICE",
					discountAmount: 4.99
				}]
			}]
		}]
	}],
	required: ["reportSpecification", "campaigns"],
	properties: {
		reportSpecification: {
			type: "object",
			description: "Summarizes the original report request.",
			examples: [{
				reportType: "GET_COUPON_PERFORMANCE_REPORT",
				reportOptions: {
					campaignStartDateFrom: "2021-11-01T15:33:26Z",
					campaignStartDateTo: "2021-11-30T15:33:26Z"
				},
				marketplaceIds: ["ATVPDKIKX0DER"]
			}],
			required: [
				"reportType",
				"reportOptions",
				"marketplaceIds"
			],
			properties: {
				reportType: {
					type: "string",
					description: "The report type.",
					examples: ["GET_COUPON_PERFORMANCE_REPORT"]
				},
				reportOptions: {
					type: "object",
					description: "Report options specifying parameters campaignStartDateFrom and campaignStartDateTo.",
					required: ["campaignStartDateFrom", "campaignStartDateTo"],
					properties: {
						campaignStartDateFrom: {
							type: "string",
							format: "date-time",
							description: "The start of a date-time range in UTC used for selecting coupons to report on. All coupons with a start date-time that falls within the range will be included.",
							examples: ["2021-11-01T15:33:26Z"]
						},
						campaignStartDateTo: {
							type: "string",
							format: "date-time",
							description: "The end of a date-time range in UTC used for selecting coupons to report on. All coupons with a start date-time that falls within the range will be included.",
							examples: ["2021-11-30T15:33:26Z"]
						}
					}
				},
				marketplaceIds: {
					type: "array",
					description: "Marketplace IDs as specified in the report request.",
					examples: [["ATVPDKIKX0DER"]],
					items: {
						type: "string",
						description: "The marketplace ID.",
						examples: ["ATVPDKIKX0DER"]
					}
				}
			}
		},
		campaigns: {
			type: "array",
			description: "List of included campaigns.",
			items: { $ref: "#/definitions/DetailsByCampaign" }
		}
	},
	definitions: {
		DetailsByCampaign: {
			type: "object",
			description: "Contains details about a campaign and every included coupon.",
			examples: [{
				campaignId: "AMZHYHN65T7OH",
				campaignName: "Thanksgiving 2021",
				vendorCode: "ABCDE",
				marketplaceId: "ATVPDKIKX0DER",
				creationDateTime: "2021-11-01T12:34:56Z",
				lastUpdatedDateTime: "2021-12-16T09:44:35Z",
				isSubscribeAndSave: false,
				budgetType: "PER_INDIVIDUAL_COUPON",
				totalClips: 13,
				totalRedemptions: 1,
				currencyCode: "USD",
				coupons: [{
					couponId: "A2NW32V27GZS2T",
					name: "Product $40 Off",
					websiteMessage: "Save on BrandX Product",
					startDateTime: "2021-11-26T05:59:59Z",
					endDateTime: "2021-11-29T23:59:59Z",
					isOncePerCustomer: true,
					customerSegment: "All (Default)",
					clips: 13,
					redemptions: 1,
					budget: 1e4,
					totalDiscount: 40,
					budgetSpent: 42.29,
					budgetRemaining: 9957.71,
					budgetPercentageUsed: .4,
					asins: [{
						asin: "B08XJWMYR5",
						discountType: "PERCENT_OFF_LIST_PRICE",
						discountAmount: 10
					}, {
						asin: "B07Z7XTQKZ",
						discountType: "AMOUNT_OFF_LIST_PRICE",
						discountAmount: 4.99
					}]
				}]
			}, {
				campaignId: "AMZHYHN65T7OH",
				campaignName: "Thanksgiving 2021",
				vendorCode: "ABCDE",
				marketplaceId: "ATVPDKIKX0DER",
				creationDateTime: "2021-11-01T12:34:56Z",
				lastUpdatedDateTime: "2021-12-16T09:44:35Z",
				isSubscribeAndSave: false,
				budgetType: "SHARED_BUDGET",
				totalClips: 80,
				totalRedemptions: 36,
				currencyCode: "USD",
				totalBudget: 5e3,
				totalBudgetSpent: 127.85,
				totalBudgetRemaining: 4872.15,
				coupons: [{
					couponId: "A2NW32V27GZS2T",
					name: "B07KKXTNK1 $20, 11.26-11.29",
					websiteMessage: "Save on BrandY Product",
					startDateTime: "2021-11-26T05:59:59Z",
					endDateTime: "2021-11-29T23:59:59Z",
					isOncePerCustomer: false,
					customerSegment: "All (Default)",
					clips: 21,
					redemptions: 8,
					totalDiscount: 36.49,
					budgetSpent: 40.7,
					budgetPercentageUsed: .8,
					asins: [{
						asin: "B07KKXTNK1",
						discountType: "PERCENT_OFF_LIST_PRICE",
						discountAmount: 25
					}]
				}, {
					couponId: "A2NW32V27GZS2T",
					name: "B08W3JHG19 $20, 11.26-11.29",
					couponVendorCode: "ABCDE",
					websiteMessage: "Save on BrandZ Product",
					startDateTime: "2021-11-26T05:59:59Z",
					endDateTime: "2021-11-29T23:59:59Z",
					isOncePerCustomer: false,
					customerSegment: "All (Default)",
					clips: 59,
					redemptions: 28,
					totalDiscount: 74.88,
					budgetSpent: 87.15,
					budgetPercentageUsed: 1.7,
					asins: [{
						asin: "B08W3JHG19",
						discountType: "PERCENT_OFF_LIST_PRICE",
						discountAmount: 10
					}]
				}]
			}],
			required: [
				"campaignId",
				"campaignName",
				"vendorCode",
				"marketplaceId",
				"creationDateTime",
				"lastUpdatedDateTime",
				"isSubscribeAndSave",
				"budgetType",
				"totalClips",
				"totalRedemptions",
				"coupons"
			],
			properties: {
				campaignId: {
					type: "string",
					description: "Unique identifier of the campaign.",
					examples: ["AMZHYHN65T7OH"]
				},
				campaignName: {
					type: "string",
					description: "Name given to the campaign.",
					examples: ["Thanksgiving 2021"]
				},
				vendorCode: {
					type: "string",
					description: "The vendor code associated with the campaign.",
					examples: ["ABCDE"]
				},
				marketplaceId: {
					type: "string",
					description: "The marketplace the campaign is running in.",
					examples: ["ATVPDKIKX0DER"]
				},
				creationDateTime: {
					type: "string",
					format: "date-time",
					description: "Campaign creation date-time in UTC.",
					examples: ["2021-11-01T12:34:56Z"]
				},
				lastUpdatedDateTime: {
					type: "string",
					format: "date-time",
					description: "The latest date-time the campaign data in this report was updated. May be up to 24 hours before the current date-time.",
					examples: ["2021-12-16T09:44:35Z"]
				},
				isSubscribeAndSave: {
					type: "boolean",
					description: "Whether or not the campaign is a Subscribe and Save offer."
				},
				budgetType: {
					type: "string",
					description: "Whether the budget is allocated independently for each coupon or shared among all coupons.",
					enum: ["PER_INDIVIDUAL_COUPON", "SHARED_BUDGET"]
				},
				totalClips: {
					type: "integer",
					description: "Total number of times a coupon in the campaign has been applied on the product page, equal to the sum of all coupon clips.",
					minimum: 0,
					examples: [80]
				},
				totalRedemptions: {
					type: "integer",
					description: "Total number of times a coupon in the campaign has been used for a purchase, equal to the sum of all coupon redemptions.",
					minimum: 0,
					examples: [36]
				},
				currencyCode: {
					type: "string",
					description: "ISO 4217 currency code of all currency values in the campaign.",
					examples: ["USD"]
				},
				totalBudget: {
					type: "number",
					description: "Total budget allocated to the campaign. Currency value. Only present when budgetType is SHARED_BUDGET.",
					minimum: 0,
					examples: [5e3]
				},
				totalBudgetSpent: {
					type: "number",
					description: "Total amount spent by the vendor on the campaign, including clip fees and redemption fees, equal to the sum of all coupon budgetSpent. Currency value. Only present when budgetType is SHARED_BUDGET.",
					minimum: 0,
					examples: [127.85]
				},
				totalBudgetRemaining: {
					type: "number",
					description: "The budget remaining for the campaign, equal to totalBudget minus totalBudgetSpent. Currency value. Only present when budgetType is SHARED_BUDGET.",
					minimum: 0,
					examples: [4872.15]
				},
				coupons: {
					type: "array",
					description: "A list of included coupons and their details.",
					items: { $ref: "#/definitions/CouponDetails" }
				}
			}
		},
		CouponDetails: {
			type: "object",
			description: "Contains details about a coupon.",
			examples: [{
				couponId: "A2NW32V27GZS2T",
				name: "Product $40 Off",
				websiteMessage: "Save on BrandX Product",
				startDateTime: "2021-11-26T05:59:59Z",
				endDateTime: "2021-11-29T23:59:59Z",
				isOncePerCustomer: true,
				customerSegment: "All (Default)",
				clips: 13,
				redemptions: 1,
				budget: 1e4,
				totalDiscount: 40,
				budgetSpent: 42.29,
				budgetRemaining: 9957.71,
				budgetPercentageUsed: .4,
				asins: [{
					asin: "B08XJWMYR5",
					discountType: "PERCENT_OFF_LIST_PRICE",
					discountAmount: 10
				}, {
					asin: "B07Z7XTQKZ",
					discountType: "AMOUNT_OFF_LIST_PRICE",
					discountAmount: 5
				}]
			}],
			required: [
				"couponId",
				"startDateTime",
				"endDateTime",
				"isOncePerCustomer",
				"customerSegment",
				"clips",
				"redemptions",
				"totalDiscount",
				"budgetSpent",
				"budgetPercentageUsed",
				"asins"
			],
			properties: {
				couponId: {
					type: "string",
					description: "Unique identifier of the coupon.",
					examples: ["A2NW32V27GZS2T"]
				},
				name: {
					type: "string",
					description: "The name given to the coupon.",
					examples: ["Product $40 Off"]
				},
				websiteMessage: {
					type: "string",
					description: "Message displayed with the coupon on the product page.",
					examples: ["Save on BrandX Product"]
				},
				startDateTime: {
					type: "string",
					format: "date-time",
					description: "Coupon start date-time in UTC.",
					examples: ["2021-11-26T05:59:59Z"]
				},
				endDateTime: {
					type: "string",
					format: "date-time",
					description: "Coupon end date-time in UTC.",
					examples: ["2021-11-29T23:59:59Z"]
				},
				isOncePerCustomer: {
					type: "boolean",
					description: "Whether or not the coupon can only be redeemed once per customer account."
				},
				customerSegment: {
					type: "string",
					description: "The customer segment that the coupon is available to.",
					examples: [
						"All (Default)",
						"Amazon Prime",
						"Amazon Student"
					]
				},
				clips: {
					type: "integer",
					description: "Number of times the coupon has been applied on the product page.",
					minimum: 0,
					examples: [13]
				},
				redemptions: {
					type: "integer",
					description: "Number of times the coupon has been used for a purchase. Represents a gross value, including purchases that were returned or cancelled.",
					minimum: 0,
					examples: [1]
				},
				budget: {
					type: "number",
					description: "Budget allocated to the coupon. Currency value. Only present when campaign budgetType is PER_INDIVIDUAL_COUPON.",
					minimum: 0,
					examples: [1e4]
				},
				totalDiscount: {
					type: "number",
					description: "Total amount saved by customers redeeming the coupon. Currency value. Represents a gross value, including purchases that were returned or cancelled.",
					minimum: 0,
					examples: [40]
				},
				budgetSpent: {
					type: "number",
					description: "Total amount spent by the vendor on the coupon, including clip fees and redemption fees. Currency value. Represents a gross value, including purchases that were returned or cancelled.",
					minimum: 0,
					examples: [42.29]
				},
				budgetRemaining: {
					type: "number",
					description: "Budget remaining for the coupon, equal to budget minus budgetSpent. Currency value. Only present when campaign budgetType is PER_INDIVIDUAL_COUPON. Represents a gross value, including purchases that were returned or cancelled.",
					minimum: 0,
					examples: [9957.71]
				},
				budgetPercentageUsed: {
					type: "number",
					description: "Percentage of the allocated budget that has been spent, equal to the budgetSpent divided by budget or campaign totalBudget as appropriate.",
					minimum: 0,
					maximum: 100,
					examples: [.4]
				},
				asins: {
					type: "array",
					description: "Discount details of the products associated with the coupon.",
					items: { $ref: "#/definitions/AsinDetails" }
				}
			}
		},
		AsinDetails: {
			type: "object",
			description: "Contains details about an asin.",
			examples: [{
				asin: "B08XJWMYR5",
				discountType: "PERCENT_OFF_LIST_PRICE",
				discountAmount: 10
			}, {
				asin: "B07Z7XTQKZ",
				discountType: "AMOUNT_OFF_LIST_PRICE",
				discountAmount: 4.99
			}],
			required: [
				"asin",
				"discountType",
				"discountAmount"
			],
			properties: {
				asin: {
					type: "string",
					description: "Asin of the product.",
					examples: ["B08XJWMYR5"]
				},
				discountType: {
					type: "string",
					description: "Whether the discount is given as a fixed amount or a percentage off the list price.",
					enum: ["PERCENT_OFF_LIST_PRICE", "AMOUNT_OFF_LIST_PRICE"]
				},
				discountAmount: {
					type: "number",
					description: "Discount amount the customer receives on the product. Reflects a percentage when discountType is PERCENT_OFF_LIST_PRICE and a currency value when discountType is AMOUNT_OFF_LIST_PRICE.",
					minimum: 0,
					examples: [10]
				}
			}
		}
	}
};
//#endregion
//#region src/reports/vendor-forecasting-report.ts
const vendorForecastingReport = {
	type: "object",
	description: "Forecast customer demand of your products for production and inventory planning purposes.",
	examples: [{
		reportSpecification: {
			reportType: "GET_VENDOR_FORECASTING_REPORT",
			reportOptions: { sellingProgram: "RETAIL" },
			lastUpdatedDate: "2021-06-20",
			marketplaceIds: ["ATVPDKIKX0DER"]
		},
		forecastByAsin: [
			{
				forecastGenerationDate: "2021-06-06",
				asin: "B123456789",
				startDate: "2021-06-06",
				endDate: "2021-06-12",
				meanForecastUnits: 3.1,
				p70ForecastUnits: 3.9,
				p80ForecastUnits: 30.3,
				p90ForecastUnits: 300.7
			},
			{
				forecastGenerationDate: "2021-06-06",
				asin: "B123456789",
				startDate: "2021-06-13",
				endDate: "2021-06-19",
				meanForecastUnits: 3.1,
				p70ForecastUnits: 3.9,
				p80ForecastUnits: 30.3,
				p90ForecastUnits: 300.7
			},
			{
				forecastGenerationDate: "2021-06-06",
				asin: "B123456789",
				startDate: "2021-06-20",
				endDate: "2021-06-26",
				meanForecastUnits: 3.1,
				p70ForecastUnits: 3.9,
				p80ForecastUnits: 30.3,
				p90ForecastUnits: 300.7
			},
			{
				forecastGenerationDate: "2021-06-06",
				asin: "B123456789",
				startDate: "2021-06-27",
				endDate: "2021-07-03",
				meanForecastUnits: 3.1,
				p70ForecastUnits: 3.9,
				p80ForecastUnits: 30.3,
				p90ForecastUnits: 300.7
			},
			{
				forecastGenerationDate: "2021-06-06",
				asin: "B123456789",
				startDate: "2021-07-04",
				endDate: "2021-07-10",
				meanForecastUnits: 3.1,
				p70ForecastUnits: 3.9,
				p80ForecastUnits: 30.3,
				p90ForecastUnits: 300.7
			},
			{
				forecastGenerationDate: "2021-06-06",
				asin: "B123456789",
				startDate: "2021-07-11",
				endDate: "2021-07-17",
				meanForecastUnits: 3.1,
				p70ForecastUnits: 3.9,
				p80ForecastUnits: 30.3,
				p90ForecastUnits: 300.7
			},
			{
				forecastGenerationDate: "2021-06-06",
				asin: "B123456789",
				startDate: "2021-07-18",
				endDate: "2021-07-24",
				meanForecastUnits: 3.1,
				p70ForecastUnits: 3.9,
				p80ForecastUnits: 30.3,
				p90ForecastUnits: 300.7
			},
			{
				forecastGenerationDate: "2021-06-06",
				asin: "B123456789",
				startDate: "2021-07-25",
				endDate: "2021-07-31",
				meanForecastUnits: 3.1,
				p70ForecastUnits: 3.9,
				p80ForecastUnits: 30.3,
				p90ForecastUnits: 300.7
			},
			{
				forecastGenerationDate: "2021-06-06",
				asin: "B123456789",
				startDate: "2021-08-01",
				endDate: "2021-08-07",
				meanForecastUnits: 3.1,
				p70ForecastUnits: 3.9,
				p80ForecastUnits: 30.3,
				p90ForecastUnits: 300.7
			},
			{
				forecastGenerationDate: "2021-06-06",
				asin: "B123456789",
				startDate: "2021-08-08",
				endDate: "2021-08-14",
				meanForecastUnits: 3.1,
				p70ForecastUnits: 3.9,
				p80ForecastUnits: 30.3,
				p90ForecastUnits: 300.7
			},
			{
				forecastGenerationDate: "2021-06-06",
				asin: "B123456789",
				startDate: "2021-08-15",
				endDate: "2021-08-21",
				meanForecastUnits: 3.1,
				p70ForecastUnits: 3.9,
				p80ForecastUnits: 30.3,
				p90ForecastUnits: 300.7
			},
			{
				forecastGenerationDate: "2021-06-06",
				asin: "B123456789",
				startDate: "2021-08-22",
				endDate: "2021-08-28",
				meanForecastUnits: 3.1,
				p70ForecastUnits: 3.9,
				p80ForecastUnits: 30.3,
				p90ForecastUnits: 300.7
			},
			{
				forecastGenerationDate: "2021-06-06",
				asin: "B123456789",
				startDate: "2021-08-29",
				endDate: "2021-09-04",
				meanForecastUnits: 3.1,
				p70ForecastUnits: 3.9,
				p80ForecastUnits: 30.3,
				p90ForecastUnits: 300.7
			},
			{
				forecastGenerationDate: "2021-06-06",
				asin: "B123456789",
				startDate: "2021-09-05",
				endDate: "2021-09-11",
				meanForecastUnits: 3.1,
				p70ForecastUnits: 3.9,
				p80ForecastUnits: 30.3,
				p90ForecastUnits: 300.7
			},
			{
				forecastGenerationDate: "2021-06-06",
				asin: "B123456789",
				startDate: "2021-09-12",
				endDate: "2021-09-18",
				meanForecastUnits: 3.1,
				p70ForecastUnits: 3.9,
				p80ForecastUnits: 30.3,
				p90ForecastUnits: 300.7
			},
			{
				forecastGenerationDate: "2021-06-06",
				asin: "B123456789",
				startDate: "2021-09-19",
				endDate: "2021-09-25",
				meanForecastUnits: 3.1,
				p70ForecastUnits: 3.9,
				p80ForecastUnits: 30.3,
				p90ForecastUnits: 300.7
			},
			{
				forecastGenerationDate: "2021-06-06",
				asin: "B123456789",
				startDate: "2021-09-26",
				endDate: "2021-10-02",
				meanForecastUnits: 3.1,
				p70ForecastUnits: 3.9,
				p80ForecastUnits: 30.3,
				p90ForecastUnits: 300.7
			},
			{
				forecastGenerationDate: "2021-06-06",
				asin: "B123456789",
				startDate: "2021-10-03",
				endDate: "2021-10-09",
				meanForecastUnits: 3.1,
				p70ForecastUnits: 3.9,
				p80ForecastUnits: 30.3,
				p90ForecastUnits: 300.7
			},
			{
				forecastGenerationDate: "2021-06-06",
				asin: "B123456789",
				startDate: "2021-10-10",
				endDate: "2021-10-16",
				meanForecastUnits: 3.1,
				p70ForecastUnits: 3.9,
				p80ForecastUnits: 30.3,
				p90ForecastUnits: 300.7
			},
			{
				forecastGenerationDate: "2021-06-06",
				asin: "B123456789",
				startDate: "2021-10-17",
				endDate: "2021-10-23",
				meanForecastUnits: 3.1,
				p70ForecastUnits: 3.9,
				p80ForecastUnits: 30.3,
				p90ForecastUnits: 300.7
			},
			{
				forecastGenerationDate: "2021-06-06",
				asin: "B123456789",
				startDate: "2021-10-24",
				endDate: "2021-10-30",
				meanForecastUnits: 3.1,
				p70ForecastUnits: 3.9,
				p80ForecastUnits: 30.3,
				p90ForecastUnits: 300.7
			},
			{
				forecastGenerationDate: "2021-06-06",
				asin: "B123456789",
				startDate: "2021-10-31",
				endDate: "2021-11-06",
				meanForecastUnits: 3.1,
				p70ForecastUnits: 3.9,
				p80ForecastUnits: 30.3,
				p90ForecastUnits: 300.7
			},
			{
				forecastGenerationDate: "2021-06-06",
				asin: "B123456789",
				startDate: "2021-11-07",
				endDate: "2021-11-13",
				meanForecastUnits: 3.1,
				p70ForecastUnits: 3.9,
				p80ForecastUnits: 30.3,
				p90ForecastUnits: 300.7
			},
			{
				forecastGenerationDate: "2021-06-06",
				asin: "B123456789",
				startDate: "2021-11-14",
				endDate: "2021-11-20",
				meanForecastUnits: 3.1,
				p70ForecastUnits: 3.9,
				p80ForecastUnits: 30.3,
				p90ForecastUnits: 300.7
			},
			{
				forecastGenerationDate: "2021-06-06",
				asin: "B123456789",
				startDate: "2021-11-21",
				endDate: "2021-11-27",
				meanForecastUnits: 3.1,
				p70ForecastUnits: 3.9,
				p80ForecastUnits: 30.3,
				p90ForecastUnits: 300.7
			},
			{
				forecastGenerationDate: "2021-06-06",
				asin: "B123456789",
				startDate: "2021-11-28",
				endDate: "2021-12-04",
				meanForecastUnits: 3.1,
				p70ForecastUnits: 3.9,
				p80ForecastUnits: 30.3,
				p90ForecastUnits: 300.7
			},
			{
				forecastGenerationDate: "2021-06-06",
				asin: "B123456789",
				startDate: "2021-12-05",
				endDate: "2021-12-11",
				meanForecastUnits: 3.1,
				p70ForecastUnits: 3.9,
				p80ForecastUnits: 30.3,
				p90ForecastUnits: 300.7
			}
		]
	}],
	required: ["reportSpecification", "forecastByAsin"],
	properties: {
		reportSpecification: {
			type: "object",
			description: "The report input summary which includes the marketplace, selling program, and last updated date.",
			examples: [{
				reportType: "GET_VENDOR_FORECASTING_REPORT",
				reportOptions: { sellingProgram: "RETAIL" },
				lastUpdatedDate: "2021-06-20",
				marketplaceIds: ["ATVPDKIKX0DER"]
			}],
			required: [
				"reportType",
				"reportOptions",
				"lastUpdatedDate",
				"marketplaceIds"
			],
			properties: {
				reportType: {
					type: "string",
					description: "The report type.",
					enum: ["GET_VENDOR_FORECASTING_REPORT"]
				},
				reportOptions: {
					type: "object",
					description: "Report options specifying parameters such as sellingProgram.",
					examples: [{ sellingProgram: "RETAIL" }],
					required: ["sellingProgram"],
					properties: { sellingProgram: {
						type: "string",
						description: "The selling program.",
						enum: ["RETAIL", "FRESH"]
					} }
				},
				lastUpdatedDate: {
					type: "string",
					format: "date",
					description: "The date when the report was last updated. Follows the <a href='https://developer-docs.amazon.com/sp-api/docs/iso-8601'>ISO 8601</a> Date format of YYYY-MM-DD.",
					examples: ["2021-06-20"]
				},
				marketplaceIds: {
					type: "array",
					description: "This parameter must match the marketplaceId of the selling partner account. Each selling partner account belongs to only one marketplaceId.",
					examples: [["ATVPDKIKX0DER"]],
					items: { type: "string" }
				}
			}
		},
		forecastByAsin: {
			type: "array",
			items: { $ref: "#/definitions/ForecastByAsin" }
		}
	},
	definitions: { ForecastByAsin: {
		type: "object",
		description: "Describes forecast units for a particular ASIN for a specific period of time in the future.",
		examples: [{
			forecastGenerationDate: "2021-06-06",
			asin: "B123456789",
			startDate: "2021-06-06",
			endDate: "2021-06-12",
			meanForecastUnits: 3.1,
			p70ForecastUnits: 3.7,
			p80ForecastUnits: 30.2,
			p90ForecastUnits: 300.8
		}],
		required: [
			"forecastGenerationDate",
			"asin",
			"startDate",
			"endDate",
			"meanForecastUnits",
			"p70ForecastUnits",
			"p80ForecastUnits",
			"p90ForecastUnits"
		],
		properties: {
			forecastGenerationDate: {
				type: "string",
				format: "date",
				description: "The date that the forecast was generated.",
				examples: ["2021-06-06"]
			},
			asin: {
				description: "The Amazon Standard Identification Number.",
				type: "string",
				examples: ["B123456789"]
			},
			startDate: {
				type: "string",
				format: "date",
				description: "The start date of the time period being forecasted. The forecasted time period includes this date.",
				examples: ["2021-06-06"]
			},
			endDate: {
				type: "string",
				format: "date",
				description: "The end date of the time period being forecasted. The forecasted time period includes this date.",
				examples: ["2021-06-12"]
			},
			meanForecastUnits: {
				type: "number",
				minimum: 0,
				description: "The average amount of forecast units that Amazon has predicted for this date range. This means that, on average, Amazon predicts that this many stock units will be purchased during this date range.",
				examples: [1.25]
			},
			p70ForecastUnits: {
				type: "number",
				minimum: 0,
				description: "The 70th percentile of forecast units that Amazon has predicted for this date range. This means that Amazon has forecasted a 70% probability that the ASIN will not run out of stock during the date range if this many units of inventory are present at the start of the date range.",
				examples: [2.25]
			},
			p80ForecastUnits: {
				type: "number",
				minimum: 0,
				description: "The 80th percentile of forecast units that Amazon has predicted for this date range. This means that Amazon has forecasted an 80% probability that the ASIN will not run out of stock during the date range if this many units of inventory are present at the start of the date range.",
				examples: [3.25]
			},
			p90ForecastUnits: {
				type: "number",
				minimum: 0,
				description: "The 90th percentile of forecast units that Amazon has predicted for this date range. This means that Amazon has forecasted a 90% probability that the ASIN will not run out of stock during the date range if this many units of inventory are present at the start of the date range.",
				examples: [4.25]
			}
		}
	} }
};
//#endregion
//#region src/reports/vendor-inventory-report.ts
const vendorInventoryReport = {
	type: "object",
	description: "This report shares inventory data of a vendor's items both at an aggregated level (across the vendor's entire catalog of items) and at a per-ASIN level. Data is available at different date range aggregation levels: DAY, WEEK, MONTH, QUARTER, YEAR. Requests can span multiple date range periods. For example, if the customer specified reportPeriod=WEEK and a dataStartTime and dataEndTime that are 3 weeks apart, the report would contain data for each of those 3 contiguous weeks.",
	examples: [{
		reportSpecification: {
			reportType: "GET_VENDOR_INVENTORY_REPORT",
			reportOptions: {
				reportPeriod: "WEEK",
				sellingProgram: "RETAIL",
				distributorView: "MANUFACTURING"
			},
			lastUpdatedDate: "2021-06-20",
			dataStartTime: "2021-06-06",
			dataEndTime: "2021-06-19",
			marketplaceIds: ["ATVPDKIKX0DER"]
		},
		inventoryAggregate: [{
			startDate: "2021-06-06",
			endDate: "2021-06-12",
			vendorConfirmationRate: .88,
			netReceivedInventoryCost: {
				amount: 2345.5,
				currencyCode: "USD"
			},
			netReceivedInventoryUnits: 278,
			openPurchaseOrderUnits: 123,
			averageVendorLeadTimeDays: 10.2,
			sellThroughRate: .88,
			unfilledCustomerOrderedUnits: 12,
			sellableOnHandInventoryCost: {
				amount: 43123.99,
				currencyCode: "USD"
			},
			sellableOnHandInventoryUnits: 5490,
			unsellableOnHandInventoryCost: {
				amount: 2345.5,
				currencyCode: "USD"
			},
			unsellableOnHandInventoryUnits: 881,
			aged90PlusDaysSellableInventoryCost: {
				amount: 123.5,
				currencyCode: "USD"
			},
			aged90PlusDaysSellableInventoryUnits: 2234,
			unhealthyInventoryCost: {
				amount: 123.45,
				currencyCode: "USD"
			},
			unhealthyInventoryUnits: 114,
			procurableProductOutOfStockRate: .72,
			uft: .19,
			receiveFillRate: .67
		}, {
			startDate: "2021-06-13",
			endDate: "2021-06-19",
			vendorConfirmationRate: .98,
			netReceivedInventoryCost: {
				amount: 4335.5,
				currencyCode: "USD"
			},
			netReceivedInventoryUnits: 123,
			openPurchaseOrderUnits: 422,
			averageVendorLeadTimeDays: 5.2,
			sellThroughRate: .98,
			unfilledCustomerOrderedUnits: 3,
			sellableOnHandInventoryCost: {
				amount: 43123.99,
				currencyCode: "USD"
			},
			sellableOnHandInventoryUnits: 4490,
			unsellableOnHandInventoryCost: {
				amount: 3345.5,
				currencyCode: "USD"
			},
			unsellableOnHandInventoryUnits: 881,
			aged90PlusDaysSellableInventoryCost: {
				amount: 323.5,
				currencyCode: "USD"
			},
			aged90PlusDaysSellableInventoryUnits: 2234,
			unhealthyInventoryCost: {
				amount: 323.45,
				currencyCode: "USD"
			},
			unhealthyInventoryUnits: 314,
			procurableProductOutOfStockRate: .73,
			uft: .18,
			receiveFillRate: .77
		}],
		inventoryByAsin: [
			{
				startDate: "2021-06-06",
				endDate: "2021-06-12",
				asin: "B123456789",
				vendorConfirmationRate: .88,
				netReceivedInventoryCost: {
					amount: 2345.5,
					currencyCode: "USD"
				},
				netReceivedInventoryUnits: 278,
				openPurchaseOrderUnits: 123,
				averageVendorLeadTimeDays: 10.2,
				sellThroughRate: .88,
				unfilledCustomerOrderedUnits: 12,
				sellableOnHandInventoryCost: {
					amount: 43123.99,
					currencyCode: "USD"
				},
				sellableOnHandInventoryUnits: 5490,
				unsellableOnHandInventoryCost: {
					amount: 2345.5,
					currencyCode: "USD"
				},
				unsellableOnHandInventoryUnits: 881,
				aged90PlusDaysSellableInventoryCost: {
					amount: 123.5,
					currencyCode: "USD"
				},
				aged90PlusDaysSellableInventoryUnits: 2234,
				unhealthyInventoryCost: {
					amount: 123.45,
					currencyCode: "USD"
				},
				unhealthyInventoryUnits: 114,
				procurableProductOutOfStockRate: .47,
				uft: .26,
				receiveFillRate: .98
			},
			{
				startDate: "2021-06-06",
				endDate: "2021-06-12",
				asin: "B987654321",
				vendorConfirmationRate: .22,
				netReceivedInventoryCost: {
					amount: 235.5,
					currencyCode: "USD"
				},
				netReceivedInventoryUnits: 78,
				openPurchaseOrderUnits: 23,
				averageVendorLeadTimeDays: 1.2,
				sellThroughRate: .28,
				unfilledCustomerOrderedUnits: 1,
				sellableOnHandInventoryCost: {
					amount: 123.99,
					currencyCode: "USD"
				},
				sellableOnHandInventoryUnits: 590,
				unsellableOnHandInventoryCost: {
					amount: 245.5,
					currencyCode: "USD"
				},
				unsellableOnHandInventoryUnits: 81,
				aged90PlusDaysSellableInventoryCost: {
					amount: 13.5,
					currencyCode: "USD"
				},
				aged90PlusDaysSellableInventoryUnits: 234,
				unhealthyInventoryCost: {
					amount: 23.45,
					currencyCode: "USD"
				},
				unhealthyInventoryUnits: 14,
				procurableProductOutOfStockRate: .25,
				uft: .49,
				receiveFillRate: .81
			},
			{
				startDate: "2021-06-13",
				endDate: "2021-06-19",
				asin: "B123456789",
				vendorConfirmationRate: .12,
				netReceivedInventoryCost: {
					amount: 2325.5,
					currencyCode: "USD"
				},
				netReceivedInventoryUnits: 728,
				openPurchaseOrderUnits: 13,
				averageVendorLeadTimeDays: 15.2,
				sellThroughRate: .128,
				unfilledCustomerOrderedUnits: 12,
				sellableOnHandInventoryCost: {
					amount: 1223.99,
					currencyCode: "USD"
				},
				sellableOnHandInventoryUnits: 90,
				unsellableOnHandInventoryCost: {
					amount: 1245.5,
					currencyCode: "USD"
				},
				unsellableOnHandInventoryUnits: 811,
				aged90PlusDaysSellableInventoryCost: {
					amount: 123.5,
					currencyCode: "USD"
				},
				aged90PlusDaysSellableInventoryUnits: 2134,
				unhealthyInventoryCost: {
					amount: 231.45,
					currencyCode: "USD"
				},
				unhealthyInventoryUnits: 141,
				procurableProductOutOfStockRate: .89,
				uft: .67,
				receiveFillRate: .45
			},
			{
				startDate: "2021-06-13",
				endDate: "2021-06-19",
				asin: "B987654321",
				vendorConfirmationRate: .412,
				netReceivedInventoryCost: {
					amount: 1325.5,
					currencyCode: "USD"
				},
				netReceivedInventoryUnits: 7228,
				openPurchaseOrderUnits: 113,
				averageVendorLeadTimeDays: 5.2,
				sellThroughRate: 1.128,
				unfilledCustomerOrderedUnits: 122,
				sellableOnHandInventoryCost: {
					amount: 12223.99,
					currencyCode: "USD"
				},
				sellableOnHandInventoryUnits: 900,
				unsellableOnHandInventoryCost: {
					amount: 11245.5,
					currencyCode: "USD"
				},
				unsellableOnHandInventoryUnits: 1811,
				aged90PlusDaysSellableInventoryCost: {
					amount: 1123.5,
					currencyCode: "USD"
				},
				aged90PlusDaysSellableInventoryUnits: 1134,
				unhealthyInventoryCost: {
					amount: 2231.45,
					currencyCode: "USD"
				},
				unhealthyInventoryUnits: 241,
				procurableProductOutOfStockRate: .33,
				uft: .22,
				receiveFillRate: .11
			}
		]
	}],
	required: [
		"reportSpecification",
		"inventoryAggregate",
		"inventoryByAsin"
	],
	properties: {
		reportSpecification: {
			type: "object",
			description: "The report summary including a reporting date range, distributor view, selling program, and last updated date in the input.",
			examples: [{
				reportType: "GET_VENDOR_INVENTORY_REPORT",
				reportOptions: {
					distributorView: "MANUFACTURING",
					reportPeriod: "WEEK",
					sellingProgram: "RETAIL"
				},
				lastUpdatedDate: "2021-06-20",
				dataStartTime: "2021-06-06",
				dataEndTime: "2021-06-19",
				marketplaceIds: ["ATVPDKIKX0DER"]
			}],
			required: [
				"reportType",
				"reportOptions",
				"lastUpdatedDate",
				"dataStartTime",
				"dataEndTime",
				"marketplaceIds"
			],
			properties: {
				reportType: {
					type: "string",
					description: "The type of report.",
					enum: ["GET_VENDOR_INVENTORY_REPORT"]
				},
				reportOptions: {
					type: "object",
					description: "Report options specifying parameters such as reportPeriod, distributorView, and sellingProgram.",
					examples: [{
						distributorView: "MANUFACTURING",
						reportPeriod: "WEEK",
						sellingProgram: "RETAIL"
					}],
					required: [
						"distributorView",
						"reportPeriod",
						"sellingProgram"
					],
					properties: {
						distributorView: {
							type: "string",
							description: "The distributor view.",
							enum: ["MANUFACTURING", "SOURCING"]
						},
						reportPeriod: {
							type: "string",
							description: "Determines what granularity of data is expected in the report. Valid values are: DAY, WEEK, MONTH, QUARTER, YEAR.",
							enum: [
								"DAY",
								"WEEK",
								"MONTH",
								"QUARTER",
								"YEAR"
							]
						},
						sellingProgram: {
							type: "string",
							description: "The selling program.",
							enum: ["RETAIL", "FRESH"]
						}
					}
				},
				lastUpdatedDate: {
					type: "string",
					format: "date",
					description: "The date when the report was last updated. Follows the <a href='https://developer-docs.amazon.com/sp-api/docs/iso-8601'>ISO 8601</a> Date format of YYYY-MM-DD.",
					examples: ["2021-06-20"]
				},
				dataStartTime: {
					type: "string",
					format: "date",
					description: "Determines the start date of the report - the time component is ignored. For WEEK, MONTH, QUARTER, and YEAR reportPeriods, this value must correspond to the first day in the specified reportPeriod. For example, dataStartTime must be a Sunday for the WEEK reportPeriod.",
					examples: ["2021-06-06"]
				},
				dataEndTime: {
					type: "string",
					format: "date",
					description: "Determines the end date of the report - the time component is ignored. For WEEK, MONTH, QUARTER, and YEAR reportPeriods, this value must correspond to the last day in the specified reportPeriod. For example, dataEndTime must be a Saturday for the WEEK reportPeriod.",
					examples: ["2021-06-19"]
				},
				marketplaceIds: {
					type: "array",
					description: "This parameter must match the marketplaceId of the selling partner account (each selling partner account belongs to only one marketplaceId).",
					examples: [["ATVPDKIKX0DER"]],
					items: { type: "string" }
				}
			}
		},
		inventoryAggregate: {
			type: "array",
			items: { $ref: "#/definitions/InventoryAggregate" }
		},
		inventoryByAsin: {
			type: "array",
			items: { $ref: "#/definitions/InventoryByAsin" }
		}
	},
	definitions: {
		InventoryAggregate: {
			type: "object",
			description: "Describes the aggregated inventory metrics for all ASINs in the vendor's account.",
			examples: [{
				startDate: "2021-06-06",
				endDate: "2021-06-12",
				vendorConfirmationRate: .88,
				netReceivedInventoryCost: {
					amount: 2345.5,
					currencyCode: "USD"
				},
				netReceivedInventoryUnits: 278,
				openPurchaseOrderUnits: 123,
				averageVendorLeadTimeDays: 10.2,
				sellThroughRate: .88,
				unfilledCustomerOrderedUnits: 12,
				sellableOnHandInventoryCost: {
					amount: 43123.99,
					currencyCode: "USD"
				},
				sellableOnHandInventoryUnits: 5490,
				unsellableOnHandInventoryCost: {
					amount: 2345.5,
					currencyCode: "USD"
				},
				unsellableOnHandInventoryUnits: 881,
				aged90PlusDaysSellableInventoryCost: {
					amount: 123.5,
					currencyCode: "USD"
				},
				aged90PlusDaysSellableInventoryUnits: 2234,
				unhealthyInventoryCost: {
					amount: 123.45,
					currencyCode: "USD"
				},
				unhealthyInventoryUnits: 114
			}],
			required: [
				"startDate",
				"endDate",
				"netReceivedInventoryCost",
				"netReceivedInventoryUnits",
				"openPurchaseOrderUnits",
				"sellableOnHandInventoryCost",
				"sellableOnHandInventoryUnits"
			],
			properties: {
				startDate: {
					type: "string",
					format: "date",
					description: "The start date of the aggregated data.",
					examples: ["2021-06-06"]
				},
				endDate: {
					type: "string",
					format: "date",
					description: "The end date of the aggregated data.",
					examples: ["2021-06-12"]
				},
				procurableProductOutOfStockRate: {
					type: "number",
					minimum: 0,
					description: "The out of stock rate on all products that are procurable. This is calculated by out of stock glance views on a procurable ASIN divided by the total glance views.",
					examples: [.28, .92]
				},
				uft: {
					type: "number",
					minimum: 0,
					description: "The percentage of time an ASIN is available to be shipped to the customer from a fulfillment center, versus the selection Amazon intended to carry.",
					examples: [.88, 1]
				},
				receiveFillRate: {
					type: "number",
					minimum: 0,
					description: "The purchase order units received by Amazon in comparison to the purchase order units confirmed by the vendor. This is calculated as the received quantity divided by the confirmed quantity.",
					examples: [1, .12]
				},
				vendorConfirmationRate: {
					type: "number",
					minimum: 0,
					description: "The number of units that were confirmed by the vendor, divided by the number of units Amazon asked for. This rate will be 1 if all units that were requested during this time window were confirmed. This rate can be larger than 1 if the vendor has confirmed a greater quantity of units than Amazon requested.",
					examples: [.88, 1.12]
				},
				netReceivedInventoryCost: {
					$ref: "#/definitions/Amount",
					description: "Cost of the inventory that Amazon received from the vendor, minus the cost of the inventory that was returned to the vendor. The cost returned to the vendor takes into account any products that were returned due to damaged merchandise. This number can be negative if more cost was returned than received."
				},
				netReceivedInventoryUnits: {
					type: "integer",
					description: "Units received from the vendor minus any units that were returned to the vendor. This number can be negative if more units were returned than received.",
					examples: [25]
				},
				openPurchaseOrderUnits: {
					type: "integer",
					description: "Number of units contained in Amazon’s confirmed purchase orders that are not yet received by Amazon. This number can be negative if the vendor has shipped more units than Amazon has requested.",
					examples: [123]
				},
				averageVendorLeadTimeDays: {
					type: "number",
					minimum: 0,
					description: "Average number of days between the submission of each purchase order unit and the time of receipt in Amazon's fulfillment centers.",
					examples: [10.12]
				},
				sellThroughRate: {
					type: "number",
					description: "The number of units shipped (less customer returns), divided by the sum of the number of units held by Amazon at the beginning of this time window and the number of units received during this time window. This number could be negative if more units were returned than were shipped. This number can be greater than 1 if some inventory was sold while in transit between fulfillment centers.",
					examples: [.88]
				},
				unfilledCustomerOrderedUnits: {
					type: "integer",
					minimum: 0,
					description: "The number of units that have been ordered (or pre-ordered) but have not yet shipped.",
					examples: [114]
				},
				sellableOnHandInventoryCost: {
					$ref: "#/definitions/Amount",
					description: "The cost of the inventory in Amazon fulfillment centers that is in a sellable condition on the last day of the selected time window. Backorders count as a negative cost, and can cause this value to be negative overall."
				},
				sellableOnHandInventoryUnits: {
					type: "integer",
					description: "The number of units in Amazon fulfillment centers that is in a sellable condition on the last day of the selected time window. Backorders count as negative units, and can cause this value to be negative overall.",
					examples: [5490]
				},
				unsellableOnHandInventoryCost: {
					$ref: "#/definitions/PositiveAmount",
					description: "The cost of the inventory in Amazon fulfillment centers that is in unsellable condition on the last day of the selected time window."
				},
				unsellableOnHandInventoryUnits: {
					type: "integer",
					minimum: 0,
					description: "The number of units in Amazon fulfillment centers that are in unsellable condition on the last day of the selected time window.",
					examples: [881]
				},
				aged90PlusDaysSellableInventoryCost: {
					$ref: "#/definitions/Amount",
					description: "The cost of the inventory in Amazon fulfillment centers that is at least 90 days old, and is in a sellable condition on the last day of the selected time window. Backorders count as negative cost, and can cause this value to be negative overall. Inventory age is computed based on when the inventory was received by Amazon. "
				},
				aged90PlusDaysSellableInventoryUnits: {
					type: "integer",
					description: "The number of units in Amazon fulfillment centers that is at least 90 days old, and is in a sellable condition on the last day of the selected time window. Backorders count as negative units, and can cause this value to be negative overall. Inventory age is computed based on when the inventory was received by Amazon.",
					examples: [2234]
				},
				unhealthyInventoryCost: {
					$ref: "#/definitions/PositiveAmount",
					description: "The cost of the excess inventory on the last day of the selected time window based on forecasted demand. Note that the forecasted demand may have already included some amount of excess inventory that makes economic sense to hold. This is the amount of inventory beyond the forecasted demand."
				},
				unhealthyInventoryUnits: {
					minimum: 0,
					type: "integer",
					description: "The number of excess inventory units on the last day of the selected time window based on forecasted demand. Note that the forecasted demand may have already included some amount of excess inventory that makes economic sense to hold. This is the amount of inventory beyond the forecasted demand.",
					examples: [114]
				}
			}
		},
		InventoryByAsin: {
			type: "object",
			description: "Describes ASIN-aggregated inventory metrics for the vendor's account.",
			examples: [{
				startDate: "2021-06-06",
				endDate: "2021-06-12",
				asin: "B123456789",
				vendorConfirmationRate: .88,
				netReceivedInventoryCost: {
					amount: 2345.5,
					currencyCode: "USD"
				},
				netReceivedInventoryUnits: 278,
				openPurchaseOrderUnits: 123,
				averageVendorLeadTimeDays: 10.2,
				sellThroughRate: .88,
				unfilledCustomerOrderedUnits: 12,
				sellableOnHandInventoryCost: {
					amount: 43123.99,
					currencyCode: "USD"
				},
				sellableOnHandInventoryUnits: 5490,
				unsellableOnHandInventoryCost: {
					amount: 2345.5,
					currencyCode: "USD"
				},
				unsellableOnHandInventoryUnits: 881,
				aged90PlusDaysSellableInventoryCost: {
					amount: 123.5,
					currencyCode: "USD"
				},
				aged90PlusDaysSellableInventoryUnits: 2234,
				unhealthyInventoryCost: {
					amount: 123.45,
					currencyCode: "USD"
				},
				unhealthyInventoryUnits: 114
			}],
			required: [
				"startDate",
				"endDate",
				"asin",
				"netReceivedInventoryCost",
				"netReceivedInventoryUnits",
				"openPurchaseOrderUnits",
				"sellableOnHandInventoryCost",
				"sellableOnHandInventoryUnits"
			],
			properties: {
				startDate: {
					type: "string",
					format: "date",
					description: "The start date of the aggregated data.",
					examples: ["2021-06-06"]
				},
				endDate: {
					type: "string",
					format: "date",
					description: "The end date of the aggregated data.",
					examples: ["2021-06-12"]
				},
				asin: {
					description: "The Amazon Standard Identification Number.",
					type: "string",
					examples: ["B123456789"]
				},
				vendorConfirmationRate: {
					type: "number",
					minimum: 0,
					description: "The number of units that were confirmed by the vendor, divided by the number of units Amazon asked for. This rate will be 1 if all units that were requested during this time window were confirmed. This rate can be larger than 1 if the vendor has confirmed a greater quantity of units than Amazon requested.",
					examples: [.88, 1.12]
				},
				netReceivedInventoryCost: {
					$ref: "#/definitions/Amount",
					description: "Cost of the inventory that Amazon received from the vendor, minus the cost of the inventory that was returned to the vendor. The cost returned to the vendor takes into account any products that were returned due to damaged merchandise. This number can be negative if more cost was returned than received."
				},
				netReceivedInventoryUnits: {
					type: "integer",
					description: "Units received from the vendor minus any units that were returned to the vendor. This number can be negative if more units were returned than received.",
					examples: [25]
				},
				openPurchaseOrderUnits: {
					type: "integer",
					description: "Number of units contained in Amazon’s confirmed purchase orders that are not yet received by Amazon. This number can be negative if the vendor has shipped more units than Amazon has requested.",
					examples: [123]
				},
				averageVendorLeadTimeDays: {
					type: "number",
					minimum: 0,
					description: "Average number of days between the submission of each purchase order unit and the time of receipt in Amazon's fulfillment centers.",
					examples: [10.12]
				},
				sellThroughRate: {
					type: "number",
					description: "The number of units shipped (less customer returns), divided by the sum of the number of units held by Amazon at the beginning of this time window and the number of units received during this time window. This number could be negative if more units were returned than were shipped. This number can be greater than 1 if some inventory was sold while in transit between fulfillment centers.",
					examples: [.88]
				},
				unfilledCustomerOrderedUnits: {
					type: "integer",
					minimum: 0,
					description: "Number of units that have been ordered (or pre-ordered) but have not yet shipped.",
					examples: [114]
				},
				sellableOnHandInventoryCost: {
					$ref: "#/definitions/Amount",
					description: "The cost of the inventory in Amazon fulfillment centers that is in sellable condition on the last day of the selected time window. Backorders count as negative cost, and can cause this value to be negative overall."
				},
				sellableOnHandInventoryUnits: {
					type: "integer",
					description: "The number of units in Amazon fulfillment centers that is in sellable condition on the last day of the selected time window. Backorders count as negative units, and can cause this value to be negative overall.",
					examples: [5490]
				},
				unsellableOnHandInventoryCost: {
					$ref: "#/definitions/PositiveAmount",
					description: "The cost of the inventory in Amazon fulfillment centers that is in unsellable condition on the last day of the selected time window."
				},
				unsellableOnHandInventoryUnits: {
					type: "integer",
					minimum: 0,
					description: "The number of units in Amazon fulfillment centers that are in unsellable condition on the last day of the selected time window.",
					examples: [881]
				},
				aged90PlusDaysSellableInventoryCost: {
					$ref: "#/definitions/Amount",
					description: "The cost of the inventory in Amazon fulfillment centers that is at least 90 days old, and is in a sellable condition on the last day of the selected time window. Backorders count as a negative cost, and can cause this value to be negative overall. Inventory age is computed based on when the inventory was received by Amazon. "
				},
				aged90PlusDaysSellableInventoryUnits: {
					type: "integer",
					description: "The number of units in Amazon fulfillment centers that is at least 90 days old, and is in a sellable condition on the last day of the selected time window. Backorders count as negative units, and can cause this value to be negative overall. Inventory age is computed based on when the inventory was received by Amazon.",
					examples: [2234]
				},
				unhealthyInventoryCost: {
					$ref: "#/definitions/PositiveAmount",
					description: "The cost of the excess inventory on the last day of the selected time window based on forecasted demand. Note that the forecasted demand may have already included some amount of excess inventory that makes economic sense to hold. This is the amount of inventory beyond the forecasted demand."
				},
				unhealthyInventoryUnits: {
					minimum: 0,
					type: "integer",
					description: "The number of excess inventory units on the last day of the selected time window based on forecasted demand. Note that the forecasted demand may have already included some amount of excess inventory that makes economic sense to hold. This is the amount of inventory beyond the forecasted demand.",
					examples: [114]
				}
			}
		},
		Amount: {
			type: "object",
			examples: [
				{
					amount: -10,
					currencyCode: "USD"
				},
				{
					amount: 0,
					currencyCode: "USD"
				},
				{
					amount: 20,
					currencyCode: "EUR"
				}
			],
			required: ["amount", "currencyCode"],
			properties: {
				amount: {
					type: "number",
					description: "The amount.",
					examples: [20]
				},
				currencyCode: {
					type: "string",
					description: "Currency code of the amount. In ISO 4217 format.",
					examples: [
						"USD",
						"EUR",
						"AUD",
						"JPY"
					]
				}
			}
		},
		PositiveAmount: {
			type: "object",
			examples: [{
				amount: 0,
				currencyCode: "USD"
			}, {
				amount: 20,
				currencyCode: "EUR"
			}],
			required: ["amount", "currencyCode"],
			properties: {
				amount: {
					type: "number",
					minimum: 0,
					description: "The amount.",
					examples: [20]
				},
				currencyCode: {
					type: "string",
					description: "Currency code of the amount. In ISO 4217 format.",
					examples: [
						"USD",
						"EUR",
						"AUD",
						"JPY"
					]
				}
			}
		}
	}
};
//#endregion
//#region src/reports/vendor-net-pure-product-margin-report.ts
const vendorNetPureProductMarginReport = {
	type: "object",
	description: "The Net Pure Product Margin report shares data with vendors on Amazon's profit margin selling the vendor's items both at an aggregated level (across the vendor's entire catalog of items) and at a per-ASIN level. Data is available at different date range aggregation levels: DAY, WEEK, MONTH, QUARTER, YEAR. Requests can span multiple date range periods.",
	examples: [{
		reportSpecification: {
			reportType: "GET_VENDOR_NET_PURE_PRODUCT_MARGIN_REPORT",
			reportOptions: { reportPeriod: "WEEK" },
			lastUpdatedDate: "2021-06-20",
			dataStartTime: "2021-06-06",
			dataEndTime: "2021-06-19",
			marketplaceIds: ["ATVPDKIKX0DER"]
		},
		netPureProductMarginAggregate: [{
			startDate: "2021-06-06",
			endDate: "2021-06-12",
			netPureProductMargin: .1234
		}, {
			startDate: "2021-06-13",
			endDate: "2021-06-19",
			netPureProductMargin: .1234
		}],
		netPureProductMarginByAsin: [
			{
				startDate: "2021-06-06",
				endDate: "2021-06-12",
				asin: "B123456789",
				netPureProductMargin: .1234
			},
			{
				startDate: "2021-06-06",
				endDate: "2021-06-12",
				asin: "B987654321",
				netPureProductMargin: .1234
			},
			{
				startDate: "2021-06-13",
				endDate: "2021-06-19",
				asin: "B123456789",
				netPureProductMargin: .1234
			},
			{
				startDate: "2021-06-13",
				endDate: "2021-06-19",
				asin: "B987654321",
				netPureProductMargin: .1234
			}
		]
	}],
	required: [
		"reportSpecification",
		"netPureProductMarginAggregate",
		"netPureProductMarginByAsin"
	],
	properties: {
		reportSpecification: {
			type: "object",
			description: "The report summary including the specified reporting date range and the last updated date in the input.",
			examples: [{
				reportType: "GET_VENDOR_NET_PURE_PRODUCT_MARGIN_REPORT",
				reportOptions: { reportPeriod: "WEEK" },
				lastUpdatedDate: "2021-06-20",
				dataStartTime: "2021-06-06",
				dataEndTime: "2021-06-19",
				marketplaceIds: ["ATVPDKIKX0DER"]
			}],
			required: [
				"reportType",
				"reportOptions",
				"lastUpdatedDate",
				"dataStartTime",
				"dataEndTime",
				"marketplaceIds"
			],
			properties: {
				reportType: {
					type: "string",
					description: "The report type.",
					enum: ["GET_VENDOR_NET_PURE_PRODUCT_MARGIN_REPORT"]
				},
				reportOptions: {
					type: "object",
					description: "Report options specifying parameters such as reportPeriod.",
					required: ["reportPeriod"],
					properties: { reportPeriod: {
						type: "string",
						description: "Determines the period by which data in the report is aggregated. Valid values are: DAY, WEEK, MONTH, QUARTER, YEAR.",
						enum: [
							"DAY",
							"WEEK",
							"MONTH",
							"QUARTER",
							"YEAR"
						]
					} }
				},
				lastUpdatedDate: {
					type: "string",
					format: "date",
					description: "The date when the report was last updated. Follows the <a href='https://developer-docs.amazon.com/sp-api/docs/iso-8601'>ISO 8601</a> Date format of YYYY-MM-DD.",
					examples: ["2021-06-20"]
				},
				dataStartTime: {
					type: "string",
					format: "date",
					description: "Determines the start date of the report - the time component is ignored. For WEEK, MONTH, QUARTER and YEAR reportPeriods, this value must correspond to the first day in the specified reportPeriod. For example, dataStartTime must be a Sunday for the WEEK reportPeriod.",
					examples: ["2021-06-06"]
				},
				dataEndTime: {
					type: "string",
					format: "date",
					description: "Determines the end date of the report - the time component is ignored. For WEEK, MONTH, QUARTER and YEAR reportPeriods, this value must correspond to the last day in the specified reportPeriod. For example, dataEndTime must be a Saturday for the WEEK reportPeriod.",
					examples: ["2021-06-19"]
				},
				marketplaceIds: {
					type: "array",
					description: "This parameter must match the marketplaceId of the vendor account. Each vendor account belongs to only one marketplaceId.",
					examples: [["ATVPDKIKX0DER"]],
					items: { type: "string" }
				}
			}
		},
		netPureProductMarginAggregate: {
			type: "array",
			items: { $ref: "#/definitions/NetPureProductMarginAggregateDetails" }
		},
		netPureProductMarginByAsin: {
			type: "array",
			items: { $ref: "#/definitions/NetPureProductMarginDetailsByAsin" }
		}
	},
	definitions: {
		NetPureProductMarginAggregateDetails: {
			type: "object",
			description: "Describes the aggregated net pure product margin for ASINs in the vendor's account.",
			examples: [{
				startDate: "2021-06-06",
				endDate: "2021-06-12",
				netPureProductMargin: .1234
			}],
			required: [
				"startDate",
				"endDate",
				"netPureProductMargin"
			],
			properties: {
				startDate: {
					description: "The start date of the aggregated data.",
					type: "string",
					format: "date",
					examples: ["2021-06-06"]
				},
				endDate: {
					description: "The end date of the aggregated data.",
					type: "string",
					format: "date",
					examples: ["2021-06-12"]
				},
				netPureProductMargin: {
					description: "A measure of Amazon's profitability considering Amazon's wholesale cost and vendor-funded cooperative marketing funds: (Product Revenue – Product COGS – Vendor Funded Coop) / Product Revenue. The value is a fraction with values between 0 and 1. To represent as a percentage, multiply the value by 100.",
					type: "number",
					examples: [.1234]
				}
			}
		},
		NetPureProductMarginDetailsByAsin: {
			type: "object",
			description: "Describes the aggregated ASIN-level net pure product margin for ASINs in the vendor's account.",
			examples: [{
				startDate: "2021-06-06",
				endDate: "2021-06-12",
				netPureProductMargin: .1234
			}],
			required: [
				"startDate",
				"endDate",
				"asin",
				"netPureProductMargin"
			],
			properties: {
				startDate: {
					description: "The start date of the aggregated ASIN-level data.",
					type: "string",
					format: "date",
					examples: ["2021-06-06"]
				},
				endDate: {
					description: "The end date of the aggregated ASIN-level data.",
					type: "string",
					format: "date",
					examples: ["2021-06-12"]
				},
				asin: {
					description: "The Amazon Standard Identification Number.",
					type: "string",
					examples: ["B123456789"]
				},
				netPureProductMargin: {
					description: "A measure of Amazon's profitability considering Amazon's wholesale cost and vendor-funded cooperative marketing funds: (Product Revenue – Product COGS – Vendor Funded Coop) / Product Revenue. The value is a fraction with values between 0 and 1. To represent as a percentage, multiply the value by 100.",
					type: "number",
					examples: [.1234]
				}
			}
		}
	}
};
//#endregion
//#region src/reports/vendor-real-time-inventory-report.ts
const vendorRealTimeInventoryReport = {
	type: "object",
	description: "This report shares inventory data at an ASIN level, aggregated to an hourly granularity. Requests can span multiple date range periods, including the current day.",
	examples: [{
		reportSpecification: {
			reportType: "GET_VENDOR_REAL_TIME_INVENTORY_REPORT",
			dataStartTime: "2022-10-01T00:00:00Z",
			dataEndTime: "2022-10-01T02:00:00Z",
			marketplaceIds: ["ATVPDKIKX0DER"]
		},
		reportData: [
			{
				startTime: "2022-10-01T00:00:00Z",
				endTime: "2022-10-01T01:00:00Z",
				asin: "B123456789",
				highlyAvailableInventory: 270
			},
			{
				startTime: "2022-10-01T00:00:00Z",
				endTime: "2022-10-01T01:00:00Z",
				asin: "B987654321",
				highlyAvailableInventory: 650
			},
			{
				startTime: "2022-10-01T01:00:00Z",
				endTime: "2022-10-01T02:00:00Z",
				asin: "B123456789",
				highlyAvailableInventory: 250
			},
			{
				startTime: "2022-10-01T01:00:00Z",
				endTime: "2022-10-01T02:00:00Z",
				asin: "B987654321",
				highlyAvailableInventory: 550
			}
		]
	}],
	required: ["reportSpecification", "reportData"],
	properties: {
		reportSpecification: {
			type: "object",
			description: "Summarizes the original report request.",
			required: [
				"reportType",
				"dataStartTime",
				"dataEndTime",
				"marketplaceIds"
			],
			properties: {
				reportType: {
					type: "string",
					description: "The report type.",
					enum: ["GET_VENDOR_REAL_TIME_INVENTORY_REPORT"]
				},
				dataStartTime: {
					type: "string",
					format: "date-time",
					description: "The start of a date-time range in UTC used to determine hours to report on. Output will include all full hours that fall within the range. Start time can be up to 168 hours before the time of the request.",
					examples: ["2022-10-01T00:00:00Z", "2022-10-31T23:59:59Z"]
				},
				dataEndTime: {
					type: "string",
					format: "date-time",
					description: "The end of a date-time range in UTC used to determine hours to report on. Output will include all full hours that fall within the range. End time should not be more than 24 hours from the start time.",
					examples: ["2022-10-01T00:00:00Z", "2022-10-31T23:59:59Z"]
				},
				marketplaceIds: {
					type: "array",
					description: "Marketplace IDs as specified in the report request.",
					examples: [["ATVPDKIKX0DER"]],
					items: { type: "string" }
				}
			}
		},
		reportData: {
			type: "array",
			description: "List of ASIN and inventory count combinations.",
			items: { $ref: "#/definitions/ReportData" }
		}
	},
	definitions: { ReportData: {
		type: "object",
		description: "Contains details about ASIN and inventory count combinations for the specified time range.",
		required: [
			"startTime",
			"endTime",
			"asin",
			"highlyAvailableInventory"
		],
		properties: {
			startTime: {
				type: "string",
				format: "date-time",
				description: "The start of a date-time range in UTC representing the beginning of the hour for this object.",
				examples: ["2022-04-20T20:00:00Z", "2022-04-20T08:00:00Z"]
			},
			endTime: {
				type: "string",
				format: "date-time",
				description: "The end of a date-time range in UTC representing the end of the hour for this object.",
				examples: ["2022-04-20T21:00:00Z", "2022-04-20T09:00:00Z"]
			},
			asin: {
				description: "The Amazon Standard Identification Number (ASIN).",
				type: "string",
				examples: ["B123456789"]
			},
			highlyAvailableInventory: {
				type: "integer",
				minimum: 0,
				description: "The number of units available to be sold on the website, based on units in Amazon fulfillment centers that are in sellable condition less units in customer shopping carts or otherwise bound for other orders (e.g. known subscribe-and-save orders).",
				examples: [75, 4790]
			}
		}
	} }
};
//#endregion
//#region src/reports/vendor-real-time-sales-report.ts
const vendorRealTimeSalesReport = {
	type: "object",
	description: "This report shares sales data at an ASIN level, aggregated to an hourly granularity. Requests can span multiple date range periods. For example, if the customer specified dataStartTime and dataEndTime span three hours, the report would contain data for each complete hour within the time span.",
	examples: [{
		reportSpecification: {
			reportType: "GET_VENDOR_REAL_TIME_SALES_REPORT",
			dataStartTime: "2022-04-20T20:00:00Z",
			dataEndTime: "2022-04-20T21:00:00Z",
			marketplaceIds: ["ATVPDKIKX0DER"],
			reportOptions: { currencyCode: "USD" }
		},
		reportData: [
			{
				startTime: "2022-04-20T20:00:00Z",
				endTime: "2022-04-20T21:00:00Z",
				asin: "B00ABCD123",
				orderedUnits: 1,
				orderedRevenue: 167.14
			},
			{
				startTime: "2022-04-20T20:00:00Z",
				endTime: "2022-04-20T21:00:00Z",
				asin: "B00ABCD456",
				orderedUnits: 0,
				orderedRevenue: 0
			},
			{
				startTime: "2022-04-20T20:00:00Z",
				endTime: "2022-04-20T21:00:00Z",
				asin: "B00ABCD789",
				orderedUnits: 0,
				orderedRevenue: 0
			},
			{
				startTime: "2022-04-20T20:00:00Z",
				endTime: "2022-04-20T21:00:00Z",
				asin: "B00LMNO789",
				orderedUnits: 1,
				orderedRevenue: 65.99
			},
			{
				startTime: "2022-04-20T20:00:00Z",
				endTime: "2022-04-20T21:00:00Z",
				asin: "B00LMNO456",
				orderedUnits: 1,
				orderedRevenue: 50.99
			},
			{
				startTime: "2022-04-20T20:00:00Z",
				endTime: "2022-04-20T21:00:00Z",
				asin: "B00LMNO147",
				orderedUnits: 2,
				orderedRevenue: 103.98
			},
			{
				startTime: "2022-04-20T20:00:00Z",
				endTime: "2022-04-20T21:00:00Z",
				asin: "B00LMNO963",
				orderedUnits: 1,
				orderedRevenue: 64.53
			}
		]
	}],
	required: ["reportSpecification", "reportData"],
	properties: {
		reportSpecification: {
			type: "object",
			description: "Summarizes the original report request.",
			required: [
				"reportType",
				"dataStartTime",
				"dataEndTime",
				"marketplaceIds",
				"reportOptions"
			],
			properties: {
				reportType: {
					type: "string",
					description: "The type of the report.",
					enum: ["GET_VENDOR_REAL_TIME_SALES_REPORT"]
				},
				dataStartTime: {
					type: "string",
					format: "date-time",
					description: "The start of a date-time range in UTC used to determine hours to report on. Output will include all full hours that fall within the range.",
					examples: ["2022-04-20T20:00:00Z", "2022-04-20T20:59:59Z"]
				},
				dataEndTime: {
					type: "string",
					format: "date-time",
					description: "The end of a date-time range in UTC used to determine hours to report on. Output will include all full hours that fall within the range.",
					examples: ["2022-04-20T20:00:00Z", "2022-04-20T20:10:00Z"]
				},
				marketplaceIds: {
					type: "array",
					description: "Marketplace IDs as specified in the report request.",
					examples: [["ATVPDKIKX0DER"]],
					items: { type: "string" }
				},
				reportOptions: {
					type: "object",
					description: "Report options specifying parameters such as currencyCode.",
					required: ["currencyCode"],
					properties: { currencyCode: {
						type: "string",
						description: "Currency code of the amount. In ISO 4217 format.",
						examples: [
							"USD",
							"EUR",
							"AUD",
							"JPY"
						]
					} }
				}
			}
		},
		reportData: {
			type: "array",
			description: "List of hour and ASIN combinations.",
			items: { $ref: "#/definitions/reportData" }
		}
	},
	definitions: { reportData: {
		type: "object",
		description: "Contains details about hour and ASIN combinations for the specified time range.",
		required: [
			"startTime",
			"endTime",
			"asin",
			"orderedUnits",
			"orderedRevenue"
		],
		properties: {
			startTime: {
				type: "string",
				format: "date-time",
				description: "The start of a date-time range in UTC representing the beginning of the hour for this object.",
				examples: ["2022-04-20T20:00:00Z", "2022-04-20T08:00:00Z"]
			},
			endTime: {
				type: "string",
				format: "date-time",
				description: "The end of a date-time range in UTC representing the end of the hour for this object.",
				examples: ["2022-04-20T21:00:00Z", "2022-04-20T09:00:00Z"]
			},
			asin: {
				description: "The Amazon Standard Identification Number (ASIN).",
				type: "string",
				examples: ["B123456789"]
			},
			orderedUnits: {
				type: "integer",
				description: "Number of units ordered by Amazon customers. This number can be negative if there are more cancellations than orders.",
				examples: [75, -12]
			},
			orderedRevenue: {
				type: "number",
				description: "Ordered Product Sales in the specified hour as of the time the report is generated. Adjustments are made for cancellations.",
				examples: [20]
			}
		}
	} }
};
//#endregion
//#region src/reports/vendor-real-time-traffic-report.ts
const vendorRealTimeTrafficReport = {
	type: "object",
	description: "This report shares data on the customer traffic to the detail pages of the vendor's items with an hourly granularity. Requests can span multiple date range periods. For example, if the customer specified dataStartTime and dataEndTime span three hours, the report would contain data for each complete hour within the time span.",
	examples: [{
		reportSpecification: {
			reportType: "GET_VENDOR_REAL_TIME_TRAFFIC_REPORT",
			dataStartTime: "2022-04-20T20:00:00Z",
			dataEndTime: "2022-04-20T21:00:00Z",
			marketplaceIds: ["ATVPDKIKX0DER"]
		},
		reportData: [{
			startTime: "2022-04-20T20:00:00Z",
			endTime: "2022-04-20T21:00:00Z",
			asin: "B00ABCD123",
			glanceViews: 75
		}]
	}],
	required: ["reportSpecification", "reportData"],
	properties: {
		reportSpecification: {
			type: "object",
			description: "Summarizes the original report request.",
			required: [
				"reportType",
				"dataStartTime",
				"dataEndTime",
				"marketplaceIds"
			],
			properties: {
				reportType: {
					type: "string",
					description: "The type of the report.",
					enum: ["GET_VENDOR_REAL_TIME_TRAFFIC_REPORT"]
				},
				dataStartTime: {
					type: "string",
					format: "date-time",
					description: "The start of a date-time range in UTC used to determine hours to report on. Output will include all full hours that fall within the range.",
					examples: ["2022-04-20T20:00:00Z", "2022-04-20T20:59:59Z"]
				},
				dataEndTime: {
					type: "string",
					format: "date-time",
					description: "The end of a date-time range in UTC used to determine hours to report on. Output will include all full hours that fall within the range. End time should be at least 60 minutes earlier than the time of the request.",
					examples: ["2022-04-20T20:00:00Z", "2022-04-20T20:10:00Z"]
				},
				marketplaceIds: {
					type: "array",
					description: "Marketplace IDs as specified in the report request.",
					examples: [["ATVPDKIKX0DER"]],
					items: { type: "string" }
				}
			}
		},
		reportData: {
			type: "array",
			description: "List of hour and ASIN combinations.",
			items: { $ref: "#/definitions/ReportData" }
		}
	},
	definitions: { ReportData: {
		type: "object",
		description: "Contains details about hour and ASIN combinations for the specified time range.",
		required: [
			"startTime",
			"endTime",
			"asin",
			"glanceViews"
		],
		properties: {
			startTime: {
				type: "string",
				format: "date-time",
				description: "The start of a date-time range in UTC representing the beginning of the hour for this object.",
				examples: ["2022-04-20T20:00:00Z", "2022-04-20T08:00:00Z"]
			},
			endTime: {
				type: "string",
				format: "date-time",
				description: "The end of a date-time range in UTC representing the end of the hour for this object.",
				examples: ["2022-04-20T21:00:00Z", "2022-04-20T09:00:00Z"]
			},
			asin: {
				description: "The Amazon Standard Identification Number (ASIN).",
				type: "string",
				examples: ["B123456789"]
			},
			glanceViews: {
				type: "integer",
				description: "The number of customer views of the product detail page for this ASIN.",
				minimum: 0,
				examples: [75]
			}
		}
	} }
};
//#endregion
//#region src/reports/vendor-sales-report.ts
const vendorSalesReport = {
	type: "object",
	description: "This report shares data on the sales performance of vendor's items both at an aggregated level (across the vendor's entire catalog of items) and at a per-ASIN level. Data is available at different date range aggregation levels: DAY, WEEK, MONTH, QUARTER, YEAR. Requests can span multiple date range periods.",
	examples: [
		{
			reportSpecification: {
				reportType: "GET_VENDOR_SALES_REPORT",
				reportOptions: {
					distributorView: "MANUFACTURING",
					reportPeriod: "WEEK",
					sellingProgram: "RETAIL"
				},
				lastUpdatedDate: "2021-06-20",
				dataStartTime: "2021-06-06",
				dataEndTime: "2021-06-19",
				marketplaceIds: ["ATVPDKIKX0DER"]
			},
			salesAggregate: [{
				startDate: "2021-06-06",
				endDate: "2021-06-12",
				customerReturns: 0,
				orderedRevenue: {
					amount: 1500,
					currencyCode: "USD"
				},
				orderedUnits: 75,
				shippedCogs: {
					amount: 90,
					currencyCode: "USD"
				},
				shippedRevenue: {
					amount: 200,
					currencyCode: "USD"
				},
				shippedUnits: 10
			}, {
				startDate: "2021-06-13",
				endDate: "2021-06-19",
				customerReturns: 0,
				orderedRevenue: {
					amount: 0,
					currencyCode: "USD"
				},
				orderedUnits: 0,
				shippedCogs: {
					amount: 0,
					currencyCode: "USD"
				},
				shippedRevenue: {
					amount: 0,
					currencyCode: "USD"
				},
				shippedUnits: 0
			}],
			salesByAsin: [
				{
					startDate: "2021-06-06",
					endDate: "2021-06-12",
					asin: "B123456789",
					customerReturns: 0,
					orderedRevenue: {
						amount: 1e3,
						currencyCode: "USD"
					},
					orderedUnits: 25,
					shippedCogs: {
						amount: 50,
						currencyCode: "USD"
					},
					shippedRevenue: {
						amount: 150,
						currencyCode: "USD"
					},
					shippedUnits: 5
				},
				{
					startDate: "2021-06-06",
					endDate: "2021-06-12",
					asin: "B987654321",
					customerReturns: 0,
					orderedRevenue: {
						amount: 500,
						currencyCode: "USD"
					},
					orderedUnits: 50,
					shippedCogs: {
						amount: 40,
						currencyCode: "USD"
					},
					shippedRevenue: {
						amount: 50,
						currencyCode: "USD"
					},
					shippedUnits: 5
				},
				{
					startDate: "2021-06-13",
					endDate: "2021-06-19",
					asin: "B123456789",
					customerReturns: 0,
					orderedRevenue: {
						amount: 0,
						currencyCode: "USD"
					},
					orderedUnits: 0,
					shippedCogs: {
						amount: 0,
						currencyCode: "USD"
					},
					shippedRevenue: {
						amount: 0,
						currencyCode: "USD"
					},
					shippedUnits: 0
				},
				{
					startDate: "2021-06-13",
					endDate: "2021-06-19",
					asin: "B987654321",
					customerReturns: 0,
					orderedRevenue: {
						amount: 0,
						currencyCode: "USD"
					},
					orderedUnits: 0,
					shippedCogs: {
						amount: 0,
						currencyCode: "USD"
					},
					shippedRevenue: {
						amount: 0,
						currencyCode: "USD"
					},
					shippedUnits: 0
				}
			]
		},
		{
			reportSpecification: {
				reportType: "GET_VENDOR_SALES_REPORT",
				reportOptions: {
					distributorView: "MANUFACTURING",
					reportPeriod: "WEEK",
					sellingProgram: "FRESH"
				},
				lastUpdatedDate: "2021-06-20",
				dataStartTime: "2021-06-06",
				dataEndTime: "2021-06-19",
				marketplaceIds: ["ATVPDKIKX0DER"]
			},
			salesAggregate: [{
				startDate: "2021-06-06",
				endDate: "2021-06-12",
				orderedRevenue: {
					amount: 1500,
					currencyCode: "USD"
				},
				orderedUnits: 75,
				shippedCogs: {
					amount: 90,
					currencyCode: "USD"
				},
				shippedRevenue: {
					amount: 200,
					currencyCode: "USD"
				},
				shippedUnits: 10
			}],
			salesByAsin: [{
				startDate: "2021-06-06",
				endDate: "2021-06-12",
				asin: "B123456789",
				orderedRevenue: {
					amount: 1500,
					currencyCode: "USD"
				},
				orderedUnits: 75,
				shippedCogs: {
					amount: 90,
					currencyCode: "USD"
				},
				shippedRevenue: {
					amount: 200,
					currencyCode: "USD"
				},
				shippedUnits: 10
			}]
		},
		{
			reportSpecification: {
				reportType: "GET_VENDOR_SALES_REPORT",
				reportOptions: {
					distributorView: "SOURCING",
					reportPeriod: "WEEK",
					sellingProgram: "RETAIL"
				},
				lastUpdatedDate: "2021-06-20",
				dataStartTime: "2021-06-06",
				dataEndTime: "2021-06-12",
				marketplaceIds: ["ATVPDKIKX0DER"]
			},
			salesAggregate: [{
				startDate: "2021-06-06",
				endDate: "2021-06-12",
				customerReturns: 0,
				shippedCogs: {
					amount: 90,
					currencyCode: "USD"
				},
				shippedRevenue: {
					amount: 200,
					currencyCode: "USD"
				},
				shippedUnits: 10
			}],
			salesByAsin: [{
				startDate: "2021-06-06",
				endDate: "2021-06-12",
				asin: "B123456789",
				customerReturns: 0,
				shippedCogs: {
					amount: 50,
					currencyCode: "USD"
				},
				shippedRevenue: {
					amount: 150,
					currencyCode: "USD"
				},
				shippedUnits: 5
			}, {
				startDate: "2021-06-06",
				endDate: "2021-06-12",
				asin: "B987654321",
				customerReturns: 0,
				shippedCogs: {
					amount: 40,
					currencyCode: "USD"
				},
				shippedRevenue: {
					amount: 50,
					currencyCode: "USD"
				},
				shippedUnits: 5
			}]
		}
	],
	required: [
		"reportSpecification",
		"salesAggregate",
		"salesByAsin"
	],
	properties: {
		reportSpecification: {
			type: "object",
			description: "The report summary including reporting date range, distributor view, selling program, and last updated date in the input.",
			examples: [{
				reportType: "GET_VENDOR_SALES_REPORT",
				reportOptions: {
					distributorView: "MANUFACTURING",
					reportPeriod: "WEEK",
					sellingProgram: "RETAIL"
				},
				lastUpdatedDate: "2021-06-20",
				dataStartTime: "2021-06-06",
				dataEndTime: "2021-06-19",
				marketplaceIds: ["ATVPDKIKX0DER"]
			}],
			required: [
				"reportType",
				"reportOptions",
				"lastUpdatedDate",
				"dataStartTime",
				"dataEndTime",
				"marketplaceIds"
			],
			properties: {
				reportType: {
					type: "string",
					description: "The report type.",
					enum: ["GET_VENDOR_SALES_REPORT"]
				},
				reportOptions: {
					type: "object",
					description: "Report options specifying parameters such as reportPeriod, distributorView, and sellingProgram.",
					examples: [{
						distributorView: "MANUFACTURING",
						reportPeriod: "WEEK",
						sellingProgram: "RETAIL"
					}],
					required: [
						"distributorView",
						"reportPeriod",
						"sellingProgram"
					],
					properties: {
						distributorView: {
							type: "string",
							description: "The distributor view.",
							enum: ["MANUFACTURING", "SOURCING"]
						},
						reportPeriod: {
							type: "string",
							description: "Determines what granularity of data is expected in the report. Valid values are: DAY, WEEK, MONTH, QUARTER, YEAR.",
							enum: [
								"DAY",
								"WEEK",
								"MONTH",
								"QUARTER",
								"YEAR"
							]
						},
						sellingProgram: {
							type: "string",
							description: "The selling program.",
							enum: [
								"RETAIL",
								"BUSINESS",
								"FRESH"
							]
						}
					}
				},
				lastUpdatedDate: {
					type: "string",
					format: "date",
					description: "The date when the report was last updated. Follows the <a href='https://developer-docs.amazon.com/sp-api/docs/iso-8601'>ISO 8601</a> Date format of YYYY-MM-DD.",
					examples: ["2021-06-20"]
				},
				dataStartTime: {
					type: "string",
					format: "date",
					description: "Determines the start date of the report - the time component is ignored. For WEEK, MONTH, QUARTER, and YEAR reportPeriods, this value must correspond to the first day in the specified reportPeriod. For example, dataStartTime must be a Sunday for the WEEK reportPeriod.",
					examples: ["2021-06-06"]
				},
				dataEndTime: {
					type: "string",
					format: "date",
					description: "Determines the end date of the report - the time component is ignored. For WEEK, MONTH, QUARTER, and YEAR reportPeriods, this value must correspond to the last day in the specified reportPeriod. For example, dataEndTime must be a Saturday for the WEEK reportPeriod.",
					examples: ["2021-06-19"]
				},
				marketplaceIds: {
					type: "array",
					description: "This parameter must match the marketplaceId of the selling partner account. Each selling partner account belongs to only one marketplaceId.",
					examples: [["ATVPDKIKX0DER"]],
					items: { type: "string" }
				}
			}
		},
		salesAggregate: {
			type: "array",
			items: { $ref: "#/definitions/SalesAggregate" }
		},
		salesByAsin: {
			type: "array",
			items: { $ref: "#/definitions/SalesByAsin" }
		}
	},
	definitions: {
		SalesAggregate: {
			type: "object",
			description: "Describes aggregated sales metrics for ASINs in the vendor's account.",
			examples: [{
				startDate: "2021-06-06",
				endDate: "2021-06-12",
				customerReturns: 0,
				orderedRevenue: {
					amount: 1500,
					currencyCode: "USD"
				},
				orderedUnits: 75,
				shippedCogs: {
					amount: 90,
					currencyCode: "USD"
				},
				shippedRevenue: {
					amount: 200,
					currencyCode: "USD"
				},
				shippedUnits: 10
			}],
			required: [
				"startDate",
				"endDate",
				"shippedCogs",
				"shippedRevenue",
				"shippedUnits"
			],
			properties: {
				startDate: {
					type: "string",
					format: "date",
					description: "The start date of the aggregated data.",
					examples: ["2021-06-06"]
				},
				endDate: {
					type: "string",
					format: "date",
					description: "The end date of the aggregated data.",
					examples: ["2021-06-12"]
				},
				customerReturns: {
					type: "integer",
					minimum: 0,
					description: "The quantity of units returned. This field is populated when sellingProgram is RETAIL or BUSINESS.",
					examples: [0]
				},
				orderedRevenue: {
					$ref: "#/definitions/Amount",
					description: "Ordered product sales in the selected time frame. Adjustments are made for returns. This field is populated when distributorView is MANUFACTURING."
				},
				orderedUnits: {
					type: "integer",
					description: "Number of units ordered by Amazon customers. This field is populated when distributorView is MANUFACTURING.",
					minimum: 0,
					examples: [75]
				},
				shippedCogs: {
					$ref: "#/definitions/Amount",
					description: "Revenue based on the cost of goods sold. Adjustments are made for returns."
				},
				shippedRevenue: {
					$ref: "#/definitions/Amount",
					description: "Revenue based on units shipped in the selected time frame. Adjustments are made for returns."
				},
				shippedUnits: {
					type: "integer",
					description: "Number of units shipped to Amazon customers.",
					minimum: 0,
					examples: [10]
				}
			}
		},
		SalesByAsin: {
			type: "object",
			description: "Describes aggregated ASIN-level sales metrics for ASINs in the vendor's account.",
			examples: [{
				startDate: "2021-06-06",
				endDate: "2021-06-12",
				asin: "B123456789",
				customerReturns: 0,
				orderedRevenue: {
					amount: 1e3,
					currencyCode: "USD"
				},
				orderedUnits: 25,
				shippedCogs: {
					amount: 50,
					currencyCode: "USD"
				},
				shippedRevenue: {
					amount: 150,
					currencyCode: "USD"
				},
				shippedUnits: 5
			}],
			required: [
				"startDate",
				"endDate",
				"asin",
				"shippedCogs",
				"shippedRevenue",
				"shippedUnits"
			],
			properties: {
				startDate: {
					type: "string",
					format: "date",
					description: "The start date of the aggregated ASIN-level data.",
					examples: ["2021-06-06"]
				},
				endDate: {
					type: "string",
					format: "date",
					description: "The end date of the aggregated ASIN-level data.",
					examples: ["2021-06-12"]
				},
				asin: {
					description: "The Amazon Standard Identification Number.",
					type: "string",
					examples: ["B123456789"]
				},
				customerReturns: {
					type: "integer",
					description: "The quantity of units returned. This field is populated when sellingProgram is RETAIL or BUSINESS.",
					minimum: 0,
					examples: [0]
				},
				orderedRevenue: {
					$ref: "#/definitions/Amount",
					description: "Ordered product sales in the selected time frame. Adjustments are made for returns. This field is populated when distributorView is MANUFACTURING"
				},
				orderedUnits: {
					type: "integer",
					description: "Number of units ordered by Amazon customers. This field is populated when distributorView is MANUFACTURING",
					minimum: 0,
					examples: [25]
				},
				shippedCogs: {
					$ref: "#/definitions/Amount",
					description: "Revenue based on the cost of goods sold. Adjustments are made for returns."
				},
				shippedRevenue: {
					$ref: "#/definitions/Amount",
					description: "Revenue based on units shipped in the selected time frame. Adjustments are made for returns."
				},
				shippedUnits: {
					type: "integer",
					description: "Number of units shipped to Amazon customers.",
					minimum: 0,
					examples: [5]
				}
			}
		},
		Amount: {
			type: "object",
			examples: [{
				amount: 0,
				currencyCode: "USD"
			}, {
				amount: 20,
				currencyCode: "EUR"
			}],
			required: ["amount", "currencyCode"],
			properties: {
				amount: {
					type: "number",
					description: "The amount.",
					examples: [20]
				},
				currencyCode: {
					type: "string",
					description: "Currency code of the amount. In ISO 4217 format.",
					examples: [
						"USD",
						"EUR",
						"AUD",
						"JPY"
					]
				}
			}
		}
	}
};
//#endregion
//#region src/reports/vendor-traffic-report.ts
const vendorTrafficReport = {
	type: "object",
	description: "This report shares data on the customer traffic to the detail pages of the vendor's items both at an aggregated level (across the vendor's entire catalog of items) and at a per-ASIN level. Data is available for different date range aggregation levels: DAY, WEEK, MONTH, QUARTER, YEAR. Requests can span multiple date range periods.",
	examples: [{
		reportSpecification: {
			reportType: "GET_VENDOR_TRAFFIC_REPORT",
			reportOptions: { reportPeriod: "WEEK" },
			lastUpdatedDate: "2021-06-20",
			dataStartTime: "2021-06-06",
			dataEndTime: "2021-06-19",
			marketplaceIds: ["ATVPDKIKX0DER"]
		},
		trafficAggregate: [{
			startDate: "2021-06-06",
			endDate: "2021-06-12",
			glanceViews: 100
		}, {
			startDate: "2021-06-13",
			endDate: "2021-06-19",
			glanceViews: 250
		}],
		trafficByAsin: [{
			startDate: "2021-06-06",
			endDate: "2021-06-12",
			asin: "B123456789",
			glanceViews: 100
		}, {
			startDate: "2021-06-13",
			endDate: "2021-06-19",
			asin: "B123456789",
			glanceViews: 250
		}]
	}],
	required: [
		"reportSpecification",
		"trafficAggregate",
		"trafficByAsin"
	],
	properties: {
		reportSpecification: {
			type: "object",
			description: "The report summary including the specified reporting date range and the last updated date in the input.",
			examples: [{
				reportType: "GET_VENDOR_TRAFFIC_REPORT",
				reportOptions: { reportPeriod: "WEEK" },
				lastUpdatedDate: "2021-06-20",
				dataStartTime: "2021-06-06",
				dataEndTime: "2021-06-19",
				marketplaceIds: ["ATVPDKIKX0DER"]
			}],
			required: [
				"reportType",
				"reportOptions",
				"lastUpdatedDate",
				"dataStartTime",
				"dataEndTime",
				"marketplaceIds"
			],
			properties: {
				reportType: {
					type: "string",
					description: "The type of report.",
					enum: ["GET_VENDOR_TRAFFIC_REPORT"]
				},
				reportOptions: {
					type: "object",
					description: "Report options specifying parameters such as reportPeriod.",
					examples: [{ reportPeriod: "WEEK" }],
					required: ["reportPeriod"],
					properties: { reportPeriod: {
						type: "string",
						description: "The granularity of the data in the report. Valid values are: DAY, WEEK, MONTH, QUARTER, YEAR.",
						enum: [
							"DAY",
							"WEEK",
							"MONTH",
							"QUARTER",
							"YEAR"
						]
					} }
				},
				lastUpdatedDate: {
					type: "string",
					format: "date",
					description: "The date when the report was last updated. Follows the <a href='https://developer-docs.amazon.com/sp-api/docs/iso-8601'>ISO 8601</a> date format of YYYY-MM-DD.",
					examples: ["2021-06-20"]
				},
				dataStartTime: {
					type: "string",
					format: "date",
					description: "Determines the start date of the report - the time component is ignored. For WEEK, MONTH, QUARTER, and YEAR reportPeriods, this value must correspond to the first day in the specified reportPeriod or else a fatal error is returned. For example, dataStartTime must be a Sunday for the WEEK reportPeriod.",
					examples: ["2021-06-06"]
				},
				dataEndTime: {
					type: "string",
					format: "date",
					description: "Determines the end date of the report - the time component is ignored. For WEEK, MONTH, QUARTER, and YEAR reportPeriods, this value must correspond to the last day in the specified reportPeriod or else a fatal error is returned. For example, dataEndTime must be a Saturday for the WEEK reportPeriod.",
					examples: ["2021-06-19"]
				},
				marketplaceIds: {
					type: "array",
					description: "This parameter must match the marketplaceId of the selling partner account (each selling partner account belongs to one and only one marketplaceId).",
					examples: [["ATVPDKIKX0DER"]],
					items: { type: "string" }
				}
			}
		},
		trafficAggregate: {
			type: "array",
			items: { $ref: "#/definitions/TrafficAggregate" }
		},
		trafficByAsin: {
			type: "array",
			items: { $ref: "#/definitions/TrafficByAsin" }
		}
	},
	definitions: {
		TrafficAggregate: {
			type: "object",
			description: "Describes aggregated traffic metrics for ASINs in the vendor's account.",
			examples: [{
				startDate: "2021-06-06",
				endDate: "2021-06-12",
				glanceViews: 100
			}],
			required: [
				"startDate",
				"endDate",
				"glanceViews"
			],
			properties: {
				startDate: {
					type: "string",
					format: "date",
					description: "The start date of the aggregated data.",
					examples: ["2021-06-06"]
				},
				endDate: {
					type: "string",
					format: "date",
					description: "The end date of the aggregated data.",
					examples: ["2021-06-12"]
				},
				glanceViews: {
					type: "integer",
					minimum: 0,
					description: "Customer views of the vendor's product detail pages.",
					examples: [100]
				}
			}
		},
		TrafficByAsin: {
			type: "object",
			description: "Describes aggregated ASIN-level traffic metrics for ASINs in the vendor's account.",
			examples: [{
				startDate: "2021-06-06",
				endDate: "2021-06-12",
				asin: "B123456789",
				glanceViews: 100
			}],
			required: [
				"startDate",
				"endDate",
				"asin",
				"glanceViews"
			],
			properties: {
				startDate: {
					type: "string",
					description: "The start date of the aggregated ASIN-level data.",
					examples: ["2021-06-06"]
				},
				endDate: {
					type: "string",
					description: "The end date of the aggregated ASIN-level data.",
					examples: ["2021-06-12"]
				},
				asin: {
					type: "string",
					description: "The Amazon Standard Identification Number.",
					examples: ["B123456789"]
				},
				glanceViews: {
					type: "integer",
					description: "The number of customer views of the product detail page.",
					minimum: 0,
					examples: [100]
				}
			}
		}
	}
};
//#endregion
//#region src/reports/index.ts
var reports_exports = /* @__PURE__ */ __exportAll({
	accountHealthReport20201118: () => accountHealthReport20201118,
	b2bProductOpportunitiesNotYetOnAmazonReport20201119: () => b2bProductOpportunitiesNotYetOnAmazonReport20201119,
	b2bProductOpportunitiesRecommendedForYouReport20201119: () => b2bProductOpportunitiesRecommendedForYouReport20201119,
	endUserDataReport: () => endUserDataReport,
	marketplaceAsinPageViewMetrics: () => marketplaceAsinPageViewMetrics,
	promotionReport: () => promotionReport,
	sellerCouponReport: () => sellerCouponReport,
	sellerSalesAndTrafficReport: () => sellerSalesAndTrafficReport,
	sellingPartnerMarketBasketAnalysisReport: () => sellingPartnerMarketBasketAnalysisReport,
	sellingPartnerRepeatPurchaseReport: () => sellingPartnerRepeatPurchaseReport,
	sellingPartnerSearchCatalogPerformanceReport: () => sellingPartnerSearchCatalogPerformanceReport,
	sellingPartnerSearchQueryPerformanceReport: () => sellingPartnerSearchQueryPerformanceReport,
	sellingPartnerSearchTermsReport: () => sellingPartnerSearchTermsReport,
	vendorCouponReport: () => vendorCouponReport,
	vendorForecastingReport: () => vendorForecastingReport,
	vendorInventoryReport: () => vendorInventoryReport,
	vendorNetPureProductMarginReport: () => vendorNetPureProductMarginReport,
	vendorRealTimeInventoryReport: () => vendorRealTimeInventoryReport,
	vendorRealTimeSalesReport: () => vendorRealTimeSalesReport,
	vendorRealTimeTrafficReport: () => vendorRealTimeTrafficReport,
	vendorSalesReport: () => vendorSalesReport,
	vendorTrafficReport: () => vendorTrafficReport
});
//#endregion
export { feeds_exports as Feeds, notifications_exports as Notifications, reports_exports as Reports };

//# sourceMappingURL=index.js.map