@shushed/helpers 0.0.202 → 0.0.203-validate-fix-20251208135144

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (287) hide show
  1. package/dist/cjs/dist-dereferenced/asset.js +1 -0
  2. package/dist/cjs/dist-dereferenced/asset.js.map +1 -0
  3. package/dist/cjs/dist-dereferenced/category.js +1 -0
  4. package/dist/cjs/dist-dereferenced/category.js.map +1 -0
  5. package/dist/cjs/dist-dereferenced/country.js +1 -0
  6. package/dist/cjs/dist-dereferenced/country.js.map +1 -0
  7. package/dist/cjs/dist-dereferenced/currency.js +1 -0
  8. package/dist/cjs/dist-dereferenced/currency.js.map +1 -0
  9. package/dist/cjs/dist-dereferenced/customer-segment.js +1 -0
  10. package/dist/cjs/dist-dereferenced/customer-segment.js.map +1 -0
  11. package/dist/cjs/dist-dereferenced/development-colour.js +1 -0
  12. package/dist/cjs/dist-dereferenced/development-colour.js.map +1 -0
  13. package/dist/cjs/dist-dereferenced/index.js +1 -0
  14. package/dist/cjs/dist-dereferenced/index.js.map +1 -0
  15. package/dist/cjs/dist-dereferenced/marketing-preferences.js +1 -0
  16. package/dist/cjs/dist-dereferenced/marketing-preferences.js.map +1 -0
  17. package/dist/cjs/dist-dereferenced/messages/ean-change.js +1 -0
  18. package/dist/cjs/dist-dereferenced/messages/ean-change.js.map +1 -0
  19. package/dist/cjs/dist-dereferenced/messages/index.js +1 -0
  20. package/dist/cjs/dist-dereferenced/messages/index.js.map +1 -0
  21. package/dist/cjs/dist-dereferenced/messages/order/delivered.js +1 -0
  22. package/dist/cjs/dist-dereferenced/messages/order/delivered.js.map +1 -0
  23. package/dist/cjs/dist-dereferenced/messages/order/index.js +1 -0
  24. package/dist/cjs/dist-dereferenced/messages/order/index.js.map +1 -0
  25. package/dist/cjs/dist-dereferenced/messages/order/new.js +1 -0
  26. package/dist/cjs/dist-dereferenced/messages/order/new.js.map +1 -0
  27. package/dist/cjs/dist-dereferenced/messages/order/processed.js +1 -0
  28. package/dist/cjs/dist-dereferenced/messages/order/processed.js.map +1 -0
  29. package/dist/cjs/dist-dereferenced/messages/order/return-initiated.js +1 -0
  30. package/dist/cjs/dist-dereferenced/messages/order/return-initiated.js.map +1 -0
  31. package/dist/cjs/dist-dereferenced/messages/order/returned.js +1 -0
  32. package/dist/cjs/dist-dereferenced/messages/order/returned.js.map +1 -0
  33. package/dist/cjs/dist-dereferenced/messages/order/shipped.js +1 -0
  34. package/dist/cjs/dist-dereferenced/messages/order/shipped.js.map +1 -0
  35. package/dist/cjs/dist-dereferenced/messages/price-change.js +1 -0
  36. package/dist/cjs/dist-dereferenced/messages/price-change.js.map +1 -0
  37. package/dist/cjs/dist-dereferenced/messages/product-category.js +1 -0
  38. package/dist/cjs/dist-dereferenced/messages/product-category.js.map +1 -0
  39. package/dist/cjs/dist-dereferenced/messages/product-draft.js +1 -0
  40. package/dist/cjs/dist-dereferenced/messages/product-draft.js.map +1 -0
  41. package/dist/cjs/dist-dereferenced/messages/product.js +1 -0
  42. package/dist/cjs/dist-dereferenced/messages/product.js.map +1 -0
  43. package/dist/cjs/dist-dereferenced/money.js +1 -0
  44. package/dist/cjs/dist-dereferenced/money.js.map +1 -0
  45. package/dist/cjs/dist-dereferenced/order/address.js +1 -0
  46. package/dist/cjs/dist-dereferenced/order/address.js.map +1 -0
  47. package/dist/cjs/dist-dereferenced/order/customer.js +1 -0
  48. package/dist/cjs/dist-dereferenced/order/customer.js.map +1 -0
  49. package/dist/cjs/dist-dereferenced/order/index.js +1 -0
  50. package/dist/cjs/dist-dereferenced/order/index.js.map +1 -0
  51. package/dist/cjs/dist-dereferenced/order/item.js +1 -0
  52. package/dist/cjs/dist-dereferenced/order/item.js.map +1 -0
  53. package/dist/cjs/dist-dereferenced/order/orderMain.js +1 -0
  54. package/dist/cjs/dist-dereferenced/order/orderMain.js.map +1 -0
  55. package/dist/cjs/dist-dereferenced/order/payment.js +1 -0
  56. package/dist/cjs/dist-dereferenced/order/payment.js.map +1 -0
  57. package/dist/cjs/dist-dereferenced/order/shipment/index.js +1 -0
  58. package/dist/cjs/dist-dereferenced/order/shipment/index.js.map +1 -0
  59. package/dist/cjs/dist-dereferenced/order/shipment/item/index.js +1 -0
  60. package/dist/cjs/dist-dereferenced/order/shipment/item/index.js.map +1 -0
  61. package/dist/cjs/dist-dereferenced/order/shipment/item/itemMain.js +1 -0
  62. package/dist/cjs/dist-dereferenced/order/shipment/item/itemMain.js.map +1 -0
  63. package/dist/cjs/dist-dereferenced/order/shipment/item/returned.js +1 -0
  64. package/dist/cjs/dist-dereferenced/order/shipment/item/returned.js.map +1 -0
  65. package/dist/cjs/dist-dereferenced/order/shipment/pos/index.js +1 -0
  66. package/dist/cjs/dist-dereferenced/order/shipment/pos/index.js.map +1 -0
  67. package/dist/cjs/dist-dereferenced/order/shipment/pos/outbound.js +1 -0
  68. package/dist/cjs/dist-dereferenced/order/shipment/pos/outbound.js.map +1 -0
  69. package/dist/cjs/dist-dereferenced/order/shipment/pos/posMain.js +1 -0
  70. package/dist/cjs/dist-dereferenced/order/shipment/pos/posMain.js.map +1 -0
  71. package/dist/cjs/dist-dereferenced/order/shipment/pos/return.js +1 -0
  72. package/dist/cjs/dist-dereferenced/order/shipment/pos/return.js.map +1 -0
  73. package/dist/cjs/dist-dereferenced/order/shipment/shipmentMain.js +1 -0
  74. package/dist/cjs/dist-dereferenced/order/shipment/shipmentMain.js.map +1 -0
  75. package/dist/cjs/dist-dereferenced/order/shipment/shipped/index.js +1 -0
  76. package/dist/cjs/dist-dereferenced/order/shipment/shipped/index.js.map +1 -0
  77. package/dist/cjs/dist-dereferenced/order/shipment/shipped/outbound.js +1 -0
  78. package/dist/cjs/dist-dereferenced/order/shipment/shipped/outbound.js.map +1 -0
  79. package/dist/cjs/dist-dereferenced/order/shipment/shipped/return.js +1 -0
  80. package/dist/cjs/dist-dereferenced/order/shipment/shipped/return.js.map +1 -0
  81. package/dist/cjs/dist-dereferenced/order/shipment/shipped/shippedMain.js +1 -0
  82. package/dist/cjs/dist-dereferenced/order/shipment/shipped/shippedMain.js.map +1 -0
  83. package/dist/cjs/dist-dereferenced/price.js +1 -0
  84. package/dist/cjs/dist-dereferenced/price.js.map +1 -0
  85. package/dist/cjs/dist-dereferenced/product-category.js +1 -0
  86. package/dist/cjs/dist-dereferenced/product-category.js.map +1 -0
  87. package/dist/cjs/dist-dereferenced/product-draft.js +1 -0
  88. package/dist/cjs/dist-dereferenced/product-draft.js.map +1 -0
  89. package/dist/cjs/dist-dereferenced/product.js +1 -0
  90. package/dist/cjs/dist-dereferenced/product.js.map +1 -0
  91. package/dist/cjs/dist-dereferenced/stock.js +1 -0
  92. package/dist/cjs/dist-dereferenced/stock.js.map +1 -0
  93. package/dist/cjs/dist-dereferenced/total.js +1 -0
  94. package/dist/cjs/dist-dereferenced/total.js.map +1 -0
  95. package/dist/cjs/dist-types/asset.js +1 -0
  96. package/dist/cjs/dist-types/asset.js.map +1 -0
  97. package/dist/cjs/dist-types/category.js +1 -0
  98. package/dist/cjs/dist-types/category.js.map +1 -0
  99. package/dist/cjs/dist-types/country.js +1 -0
  100. package/dist/cjs/dist-types/country.js.map +1 -0
  101. package/dist/cjs/dist-types/currency.js +1 -0
  102. package/dist/cjs/dist-types/currency.js.map +1 -0
  103. package/dist/cjs/dist-types/customer-segment.js +1 -0
  104. package/dist/cjs/dist-types/customer-segment.js.map +1 -0
  105. package/dist/cjs/dist-types/development-colour.js +1 -0
  106. package/dist/cjs/dist-types/development-colour.js.map +1 -0
  107. package/dist/cjs/dist-types/index.js +1 -0
  108. package/dist/cjs/dist-types/index.js.map +1 -0
  109. package/dist/cjs/dist-types/marketing-preferences.js +1 -0
  110. package/dist/cjs/dist-types/marketing-preferences.js.map +1 -0
  111. package/dist/cjs/dist-types/messages/ean-change.js +1 -0
  112. package/dist/cjs/dist-types/messages/ean-change.js.map +1 -0
  113. package/dist/cjs/dist-types/messages/index.js +1 -0
  114. package/dist/cjs/dist-types/messages/index.js.map +1 -0
  115. package/dist/cjs/dist-types/messages/order/delivered.js +1 -0
  116. package/dist/cjs/dist-types/messages/order/delivered.js.map +1 -0
  117. package/dist/cjs/dist-types/messages/order/index.js +1 -0
  118. package/dist/cjs/dist-types/messages/order/index.js.map +1 -0
  119. package/dist/cjs/dist-types/messages/order/new.js +1 -0
  120. package/dist/cjs/dist-types/messages/order/new.js.map +1 -0
  121. package/dist/cjs/dist-types/messages/order/processed.js +1 -0
  122. package/dist/cjs/dist-types/messages/order/processed.js.map +1 -0
  123. package/dist/cjs/dist-types/messages/order/return-initiated.js +1 -0
  124. package/dist/cjs/dist-types/messages/order/return-initiated.js.map +1 -0
  125. package/dist/cjs/dist-types/messages/order/returned.js +1 -0
  126. package/dist/cjs/dist-types/messages/order/returned.js.map +1 -0
  127. package/dist/cjs/dist-types/messages/order/shipped.js +1 -0
  128. package/dist/cjs/dist-types/messages/order/shipped.js.map +1 -0
  129. package/dist/cjs/dist-types/messages/price-change.js +1 -0
  130. package/dist/cjs/dist-types/messages/price-change.js.map +1 -0
  131. package/dist/cjs/dist-types/messages/product-category.js +1 -0
  132. package/dist/cjs/dist-types/messages/product-category.js.map +1 -0
  133. package/dist/cjs/dist-types/messages/product-draft.js +1 -0
  134. package/dist/cjs/dist-types/messages/product-draft.js.map +1 -0
  135. package/dist/cjs/dist-types/messages/product.js +1 -0
  136. package/dist/cjs/dist-types/messages/product.js.map +1 -0
  137. package/dist/cjs/dist-types/money.js +1 -0
  138. package/dist/cjs/dist-types/money.js.map +1 -0
  139. package/dist/cjs/dist-types/order/address.js +1 -0
  140. package/dist/cjs/dist-types/order/address.js.map +1 -0
  141. package/dist/cjs/dist-types/order/customer.js +1 -0
  142. package/dist/cjs/dist-types/order/customer.js.map +1 -0
  143. package/dist/cjs/dist-types/order/index.js +1 -0
  144. package/dist/cjs/dist-types/order/index.js.map +1 -0
  145. package/dist/cjs/dist-types/order/item.js +1 -0
  146. package/dist/cjs/dist-types/order/item.js.map +1 -0
  147. package/dist/cjs/dist-types/order/orderMain.js +1 -0
  148. package/dist/cjs/dist-types/order/orderMain.js.map +1 -0
  149. package/dist/cjs/dist-types/order/payment.js +1 -0
  150. package/dist/cjs/dist-types/order/payment.js.map +1 -0
  151. package/dist/cjs/dist-types/order/shipment/index.js +1 -0
  152. package/dist/cjs/dist-types/order/shipment/index.js.map +1 -0
  153. package/dist/cjs/dist-types/order/shipment/item/index.js +1 -0
  154. package/dist/cjs/dist-types/order/shipment/item/index.js.map +1 -0
  155. package/dist/cjs/dist-types/order/shipment/item/itemMain.js +1 -0
  156. package/dist/cjs/dist-types/order/shipment/item/itemMain.js.map +1 -0
  157. package/dist/cjs/dist-types/order/shipment/item/returned.js +1 -0
  158. package/dist/cjs/dist-types/order/shipment/item/returned.js.map +1 -0
  159. package/dist/cjs/dist-types/order/shipment/pos/index.js +1 -0
  160. package/dist/cjs/dist-types/order/shipment/pos/index.js.map +1 -0
  161. package/dist/cjs/dist-types/order/shipment/pos/outbound.js +1 -0
  162. package/dist/cjs/dist-types/order/shipment/pos/outbound.js.map +1 -0
  163. package/dist/cjs/dist-types/order/shipment/pos/posMain.js +1 -0
  164. package/dist/cjs/dist-types/order/shipment/pos/posMain.js.map +1 -0
  165. package/dist/cjs/dist-types/order/shipment/pos/return.js +1 -0
  166. package/dist/cjs/dist-types/order/shipment/pos/return.js.map +1 -0
  167. package/dist/cjs/dist-types/order/shipment/shipmentMain.js +1 -0
  168. package/dist/cjs/dist-types/order/shipment/shipmentMain.js.map +1 -0
  169. package/dist/cjs/dist-types/order/shipment/shipped/index.js +1 -0
  170. package/dist/cjs/dist-types/order/shipment/shipped/index.js.map +1 -0
  171. package/dist/cjs/dist-types/order/shipment/shipped/outbound.js +1 -0
  172. package/dist/cjs/dist-types/order/shipment/shipped/outbound.js.map +1 -0
  173. package/dist/cjs/dist-types/order/shipment/shipped/return.js +1 -0
  174. package/dist/cjs/dist-types/order/shipment/shipped/return.js.map +1 -0
  175. package/dist/cjs/dist-types/order/shipment/shipped/shippedMain.js +1 -0
  176. package/dist/cjs/dist-types/order/shipment/shipped/shippedMain.js.map +1 -0
  177. package/dist/cjs/dist-types/price.js +1 -0
  178. package/dist/cjs/dist-types/price.js.map +1 -0
  179. package/dist/cjs/dist-types/product-category.js +1 -0
  180. package/dist/cjs/dist-types/product-category.js.map +1 -0
  181. package/dist/cjs/dist-types/product-draft.js +1 -0
  182. package/dist/cjs/dist-types/product-draft.js.map +1 -0
  183. package/dist/cjs/dist-types/product.js +1 -0
  184. package/dist/cjs/dist-types/product.js.map +1 -0
  185. package/dist/cjs/dist-types/stock.js +1 -0
  186. package/dist/cjs/dist-types/stock.js.map +1 -0
  187. package/dist/cjs/dist-types/total.js +1 -0
  188. package/dist/cjs/dist-types/total.js.map +1 -0
  189. package/dist/cjs/index.js +1 -0
  190. package/dist/cjs/index.js.map +1 -0
  191. package/dist/cjs/src-public/airtable.js +1 -0
  192. package/dist/cjs/src-public/airtable.js.map +1 -0
  193. package/dist/cjs/src-public/bcOrder.js +1 -0
  194. package/dist/cjs/src-public/bcOrder.js.map +1 -0
  195. package/dist/cjs/src-public/bigquery.js +1 -0
  196. package/dist/cjs/src-public/bigquery.js.map +1 -0
  197. package/dist/cjs/src-public/centra.js +1 -0
  198. package/dist/cjs/src-public/centra.js.map +1 -0
  199. package/dist/cjs/src-public/cloudtasks.js +1 -0
  200. package/dist/cjs/src-public/cloudtasks.js.map +1 -0
  201. package/dist/cjs/src-public/dato.js +245 -10
  202. package/dist/cjs/src-public/dato.js.map +1 -0
  203. package/dist/cjs/src-public/env.js +1 -0
  204. package/dist/cjs/src-public/env.js.map +1 -0
  205. package/dist/cjs/src-public/getEventTime.js +1 -0
  206. package/dist/cjs/src-public/getEventTime.js.map +1 -0
  207. package/dist/cjs/src-public/index.js +1 -0
  208. package/dist/cjs/src-public/index.js.map +1 -0
  209. package/dist/cjs/src-public/ipValidation.js +1 -0
  210. package/dist/cjs/src-public/ipValidation.js.map +1 -0
  211. package/dist/cjs/src-public/jwks.js +1 -0
  212. package/dist/cjs/src-public/jwks.js.map +1 -0
  213. package/dist/cjs/src-public/pubsub.js +1 -0
  214. package/dist/cjs/src-public/pubsub.js.map +1 -0
  215. package/dist/cjs/src-public/rateLimit.js +1 -0
  216. package/dist/cjs/src-public/rateLimit.js.map +1 -0
  217. package/dist/cjs/src-public/redisClient.js +1 -0
  218. package/dist/cjs/src-public/redisClient.js.map +1 -0
  219. package/dist/cjs/src-public/runtime.js +1 -0
  220. package/dist/cjs/src-public/runtime.js.map +1 -0
  221. package/dist/cjs/src-public/sanitize.js +1 -0
  222. package/dist/cjs/src-public/sanitize.js.map +1 -0
  223. package/dist/cjs/src-public/scheduler.js +1 -0
  224. package/dist/cjs/src-public/scheduler.js.map +1 -0
  225. package/dist/cjs/src-public/secret.js +1 -0
  226. package/dist/cjs/src-public/secret.js.map +1 -0
  227. package/dist/cjs/src-public/setHeaders.js +1 -0
  228. package/dist/cjs/src-public/setHeaders.js.map +1 -0
  229. package/dist/cjs/src-public/types.js +1 -0
  230. package/dist/cjs/src-public/types.js.map +1 -0
  231. package/dist/cjs/src-public/utils.js +1 -0
  232. package/dist/cjs/src-public/utils.js.map +1 -0
  233. package/dist/cjs/src-public/validate.js +1 -28
  234. package/dist/cjs/src-public/validate.js.map +1 -0
  235. package/dist/types/src-public/dato.d.ts +27 -1
  236. package/package.json +1 -1
  237. package/dist/cjs/contracts/asset.schema.json +0 -78
  238. package/dist/cjs/contracts/category.schema.json +0 -86
  239. package/dist/cjs/contracts/country.schema.json +0 -258
  240. package/dist/cjs/contracts/currency.schema.json +0 -177
  241. package/dist/cjs/contracts/customer-segment.schema.json +0 -32
  242. package/dist/cjs/contracts/development-colour.schema.json +0 -97
  243. package/dist/cjs/contracts/index.js +0 -48
  244. package/dist/cjs/contracts/marketing-preferences.schema.json +0 -41
  245. package/dist/cjs/contracts/messages/ean-change.schema.json +0 -22
  246. package/dist/cjs/contracts/messages/index.js +0 -29
  247. package/dist/cjs/contracts/messages/order/delivered.schema.json +0 -26
  248. package/dist/cjs/contracts/messages/order/index.js +0 -18
  249. package/dist/cjs/contracts/messages/order/new.schema.json +0 -32
  250. package/dist/cjs/contracts/messages/order/processed.schema.json +0 -15
  251. package/dist/cjs/contracts/messages/order/return-initiated.schema.json +0 -26
  252. package/dist/cjs/contracts/messages/order/returned.schema.json +0 -25
  253. package/dist/cjs/contracts/messages/order/shipped.schema.json +0 -26
  254. package/dist/cjs/contracts/messages/product-category.schema.json +0 -21
  255. package/dist/cjs/contracts/messages/product-draft.schema.json +0 -66
  256. package/dist/cjs/contracts/messages/product.schema.json +0 -29
  257. package/dist/cjs/contracts/money.schema.json +0 -54
  258. package/dist/cjs/contracts/order/address.schema.json +0 -127
  259. package/dist/cjs/contracts/order/customer.schema.json +0 -149
  260. package/dist/cjs/contracts/order/index.js +0 -31
  261. package/dist/cjs/contracts/order/item.schema.json +0 -98
  262. package/dist/cjs/contracts/order/payment.schema.json +0 -115
  263. package/dist/cjs/contracts/order/shipment/index.js +0 -29
  264. package/dist/cjs/contracts/order/shipment/item/index.js +0 -8
  265. package/dist/cjs/contracts/order/shipment/item/returned.schema.json +0 -30
  266. package/dist/cjs/contracts/order/shipment/item.schema.json +0 -22
  267. package/dist/cjs/contracts/order/shipment/pos/index.js +0 -10
  268. package/dist/cjs/contracts/order/shipment/pos/outbound.schema.json +0 -37
  269. package/dist/cjs/contracts/order/shipment/pos/return.schema.json +0 -31
  270. package/dist/cjs/contracts/order/shipment/pos.schema.json +0 -48
  271. package/dist/cjs/contracts/order/shipment/shipped/index.js +0 -10
  272. package/dist/cjs/contracts/order/shipment/shipped/outbound.schema.json +0 -34
  273. package/dist/cjs/contracts/order/shipment/shipped/return.schema.json +0 -43
  274. package/dist/cjs/contracts/order/shipment/shipped.schema.json +0 -52
  275. package/dist/cjs/contracts/order/shipment.schema.json +0 -58
  276. package/dist/cjs/contracts/product-category.schema.json +0 -34
  277. package/dist/cjs/contracts/product-draft.schema.json +0 -782
  278. package/dist/cjs/contracts/product.schema.json +0 -816
  279. package/dist/cjs/contracts/total.schema.json +0 -41
  280. package/dist/types/contracts/index.d.ts +0 -15
  281. package/dist/types/contracts/messages/index.d.ts +0 -5
  282. package/dist/types/contracts/messages/order/index.d.ts +0 -6
  283. package/dist/types/contracts/order/index.d.ts +0 -6
  284. package/dist/types/contracts/order/shipment/index.d.ts +0 -6
  285. package/dist/types/contracts/order/shipment/item/index.d.ts +0 -1
  286. package/dist/types/contracts/order/shipment/pos/index.d.ts +0 -2
  287. package/dist/types/contracts/order/shipment/shipped/index.d.ts +0 -2
@@ -1,816 +0,0 @@
1
- {
2
- "$schema": "http://json-schema.org/draft-07/schema#",
3
- "title": "Product",
4
- "$id": "https://shushed.example.com/product.schema.json",
5
- "additionalProperties": false,
6
- "type": "object",
7
- "properties": {
8
- "product_id": {
9
- "type": "string",
10
- "description": "Colour & Style ID combination seperated by a dash - Example: 000004-2763 "
11
- },
12
- "slug": {
13
- "type": [
14
- "string"
15
- ],
16
- "description": "URI of the product eg. leather-jack-barrel-trousers-chocolate-brown/013464-0533.html"
17
- },
18
- "style_slug": {
19
- "type": [
20
- "string"
21
- ],
22
- "description": "URI of the style eg. leather-jack-barrel-trousers/013464.html"
23
- },
24
- "style_id": {
25
- "type": [
26
- "string"
27
- ],
28
- "faker": {
29
- "custom.style": []
30
- },
31
- "description": "Parent style_id - Example: 000697"
32
- },
33
- "colour_id": {
34
- "type": "string",
35
- "description": "ID of the colour inside the colour library. Part of the product ID (for the 000697-3203 it would be 3203). Warning! The id dos not link to a single generally-understood colour. I.e. leopard print has ~40 different colour ids. Instead it links to SPECIFIC leopard print ordered for this specific material (specific shared of Navy Dusk Blue etc.)"
36
- },
37
- "style_name": {
38
- "type": "string",
39
- "description": "Style Name - Example: Puff Sleeve Sweatshirt"
40
- },
41
- "product_name": {
42
- "type": "string",
43
- "description": "Product Name - Example: Puff Sleeve Sweatshirt (Blue)"
44
- },
45
- "display_name": {
46
- "type": [
47
- "string",
48
- "null"
49
- ],
50
- "description": "Centra Name - Example: Brown Puff Shirt"
51
- },
52
- "buffer_quantity": {
53
- "type": "integer",
54
- "minimum": 0,
55
- "description": "Quantity of product we keep on hand to guard against unforseen fluctuations in demand/supply"
56
- },
57
- "display_type": {
58
- "description": "Change of how product is represented in the website. Example [{ channel: \"DIRECT-UK\", display_type: \"Out-of-stock\" }]. By default all products will have default display_type available",
59
- "type": "string",
60
- "enum": [
61
- "Out-of-stock",
62
- "Permanently-unavailable"
63
- ]
64
- },
65
- "available_to_sell_from": {
66
- "type": [
67
- "string",
68
- "null"
69
- ],
70
- "format": "date",
71
- "description": "The Date (inclusive) from which the product should be available to sell. The string should be used for pre-orders, or product release dates. For the latter, the date should be coordinated with online_from"
72
- },
73
- "online_from": {
74
- "type": [
75
- "string",
76
- "null"
77
- ],
78
- "format": "date-time",
79
- "description": "The DateTime (inclusive) from which the product should be shown (in any way / design / display type) on the website (direct channel). Every online product should have a date, default to 1970-01-01T00:00:00.000Z"
80
- },
81
- "online_to": {
82
- "type": [
83
- "string",
84
- "null"
85
- ],
86
- "format": "date-time",
87
- "description": "The DateTime (inclusive) until which product should be shown (in any way / design / display type) on the website."
88
- },
89
- "first_online_at": {
90
- "type": [
91
- "string",
92
- "null"
93
- ],
94
- "format": "date-time",
95
- "description": "The DateTime of product last online in the direct channel"
96
- },
97
- "last_online_at": {
98
- "type": [
99
- "string",
100
- "null"
101
- ],
102
- "format": "date-time",
103
- "description": "The DateTime of product last online in the direct channel"
104
- },
105
- "first_purchased_at": {
106
- "type": "string",
107
- "format": "date-time",
108
- "faker": {
109
- "date.between": [
110
- "2024-01-01T00:00:00.000Z",
111
- "2025-04-30T00:00:00.000Z"
112
- ]
113
- }
114
- },
115
- "first_markdown_at": {
116
- "type": [
117
- "string",
118
- "null"
119
- ],
120
- "format": "date-time",
121
- "faker": {
122
- "date.between": [
123
- "2024-01-01T00:00:00.000Z",
124
- "2025-04-30T00:00:00.000Z"
125
- ]
126
- }
127
- },
128
- "created_at": {
129
- "type": "string",
130
- "format": "date-time",
131
- "faker": {
132
- "date.between": [
133
- "2024-01-01T00:00:00.000Z",
134
- "2025-04-30T00:00:00.000Z"
135
- ]
136
- }
137
- },
138
- "last_modified_at": {
139
- "type": "string",
140
- "format": "date-time",
141
- "faker": {
142
- "date.between": [
143
- "2024-01-01T00:00:00.000Z",
144
- "2025-04-30T00:00:00.000Z"
145
- ]
146
- }
147
- },
148
- "colour_family_name": {
149
- "type": "string",
150
- "faker": {
151
- "color.human": []
152
- },
153
- "description": "New Tags To Add - Example: yellow"
154
- },
155
- "colour_code": {
156
- "type": "string",
157
- "description": "Colours as Text - Example: buttercup-yellow from initial input of Buttercup Yellow"
158
- },
159
- "colour_name": {
160
- "type": "string",
161
- "description": "Toffee Brown"
162
- },
163
- "display_tags": {
164
- "type": "array",
165
- "items": {
166
- "type": "string"
167
- },
168
- "description": "Example - [20% Off, Summer Sale])"
169
- },
170
- "sizerange_code": {
171
- "type": "string",
172
- "description": "Size range assigned to this product. Defines sizes to be created"
173
- },
174
- "sizerange_name": {
175
- "type": "string",
176
- "description": "Size range name for this product"
177
- },
178
- "variants": {
179
- "type": "array",
180
- "items": {
181
- "type": "object",
182
- "properties": {
183
- "code": {
184
- "type": "string",
185
- "description": "Size code - Example: 10"
186
- },
187
- "name": {
188
- "type": [
189
- "string"
190
- ],
191
- "faker": {
192
- "custom.size": []
193
- },
194
- "description": "Size label - Example: 10 becomes M"
195
- }
196
- },
197
- "required": [
198
- "code",
199
- "name"
200
- ]
201
- }
202
- },
203
- "images": {
204
- "type": "array",
205
- "items": {
206
- "type": "object",
207
- "properties": {
208
- "type": {
209
- "type": "string",
210
- "enum": [
211
- "Campaign",
212
- "Ecom",
213
- "Flatlay",
214
- "UGC",
215
- "AI"
216
- ],
217
- "description": "Image type for product - Example: Campaign"
218
- },
219
- "url": {
220
- "type": "string",
221
- "format": "uri",
222
- "description": "Image URl for product"
223
- },
224
- "description": {
225
- "type": "string",
226
- "description": "Style Title - Example: Puff Sleeve Sweatshirt"
227
- }
228
- },
229
- "required": [
230
- "type",
231
- "url"
232
- ]
233
- }
234
- },
235
- "vat_rate_uk": {
236
- "type": [
237
- "number",
238
- "null"
239
- ],
240
- "minimum": 0,
241
- "description": "VAT represented as integer (percentage), 0.2 becomes 20 (as 20%)"
242
- },
243
- "supply_chain": {
244
- "type": "object",
245
- "properties": {
246
- "hs_code": {
247
- "type": [
248
- "string",
249
- "null"
250
- ],
251
- "description": "HS Code"
252
- },
253
- "commodity_code_ref": {
254
- "type": "string",
255
- "description": "Harmonized Commodity Code - Example: C0/101888|DutyRate"
256
- },
257
- "country_of_origin": {
258
- "$ref": "https://shushed.example.com/country.schema.json",
259
- "description": "Country Of Origin - Example: RO"
260
- },
261
- "port_of_origin": {
262
- "type": "string",
263
- "description": "Port Of Origin - Example: MUMBAI"
264
- },
265
- "supplier_id": {
266
- "type": "string",
267
- "pattern": "^SUP\\d{5}$",
268
- "description": "Supplier ID in the format 'SUP00099', where 'SUP' is followed by exactly five digits - Example: SUP00045"
269
- },
270
- "supplier_name": {
271
- "type": "string",
272
- "description": "Supplier Name - Example: Binh Dinh Footwear Joint Stock Company"
273
- },
274
- "factory_id": {
275
- "type": "string",
276
- "pattern": "^FAC\\d{5}$",
277
- "description": "Factory ID in the format 'FAC00074', where 'FAC' is followed by exactly five digits"
278
- },
279
- "packing_method": {
280
- "type": [
281
- "string",
282
- "null"
283
- ],
284
- "enum": [
285
- "Standard",
286
- "Hanging"
287
- ],
288
- "description": "Packing Method; must be 'Standard', 'Hanging' or null"
289
- },
290
- "is_bought_in_product": {
291
- "type": "boolean",
292
- "description": "Bought In Product - Example: true or false"
293
- }
294
- },
295
- "required": []
296
- },
297
- "merch": {
298
- "type": "object",
299
- "properties": {
300
- "strategy_type": {
301
- "type": "string",
302
- "description": "Strategy Type - Example: Seasonal New"
303
- },
304
- "product_type": {
305
- "type": "string",
306
- "description": "Product Type - Example: Knit"
307
- },
308
- "stock_type": {
309
- "type": "string",
310
- "description": "Stock Type - Example: Knit"
311
- },
312
- "category": {
313
- "type": "string",
314
- "faker": {
315
- "commerce.department": []
316
- },
317
- "description": "Category - Example: Knitwear"
318
- },
319
- "subcategory": {
320
- "type": "string",
321
- "faker": {
322
- "commerce.product": []
323
- },
324
- "description": "Subcategory - Example: Parka Coat"
325
- },
326
- "range": {
327
- "type": [
328
- "string",
329
- "null"
330
- ],
331
- "enum": [
332
- "Main Collection",
333
- "Seasonal"
334
- ],
335
- "description": "Range - Example: Main Collection"
336
- },
337
- "channels_availability": {
338
- "type": [
339
- "array"
340
- ],
341
- "items": {
342
- "type": "string",
343
- "enum": [
344
- "DIRECT-UK",
345
- "DIRECT-INT",
346
- "DIRECT-US",
347
- "JL-STORES",
348
- "JL-WEB",
349
- "NEXT",
350
- "MS",
351
- "FENWICK",
352
- "MORLEYS"
353
- ]
354
- },
355
- "description": "List of channels the product is exclusive to - Example: [MS]"
356
- },
357
- "collections": {
358
- "type": [
359
- "string"
360
- ],
361
- "description": "Collections [Centra] - Example: Spring 2025"
362
- },
363
- "seasons": {
364
- "type": [
365
- "array"
366
- ],
367
- "items": {
368
- "type": "string"
369
- },
370
- "description": "Seasons ordered in cronological order - Example: [AW20, SS25]"
371
- },
372
- "drops": {
373
- "type": [
374
- "array"
375
- ],
376
- "items": {
377
- "type": "string"
378
- },
379
- "description": "Drop - Example: [SS26 - December, SS25 - April]"
380
- },
381
- "fashionability": {
382
- "type": [
383
- "string",
384
- "null"
385
- ],
386
- "description": "Fashionability - Example: Core"
387
- }
388
- },
389
- "required": []
390
- },
391
- "attributes": {
392
- "type": "object",
393
- "properties": {
394
- "seo_url_name": {
395
- "type": "string",
396
- "pattern": "^[a-z-]+$",
397
- "description": "Part of the URL with the SEO-friendly product name (/${url_name}/${product_id}.html) - Example: for url_name: \"square-neck-texture-bikini-top-sage-green\" the final url will be /square-neck-texture-bikini-top-sage-green/013234-2274.html . Remember that this field will be filled in even before the product is published"
398
- },
399
- "embellishment": {
400
- "type": [
401
- "string",
402
- "null"
403
- ]
404
- },
405
- "seo_title": {
406
- "type": [
407
- "string",
408
- "null"
409
- ],
410
- "description": "SEO Title - Example: Puff Sleeve Sweatshirt. null if the root.product_name should be used"
411
- },
412
- "seo_description": {
413
- "type": [
414
- "string",
415
- "null"
416
- ],
417
- "description": "SEO Description - Example: Puff Sleeve Sweatshirt. null if root.description should be used"
418
- },
419
- "fit_description": {
420
- "type": [
421
- "string",
422
- "null"
423
- ],
424
- "description": "Accordion product fit"
425
- },
426
- "description": {
427
- "type": [
428
- "string",
429
- "null"
430
- ],
431
- "description": "Product description"
432
- },
433
- "fabric_care": {
434
- "type": [
435
- "string",
436
- "null"
437
- ],
438
- "description": "Fabric and care accordion on the website"
439
- },
440
- "delivery_returns": {
441
- "type": [
442
- "string",
443
- "null"
444
- ],
445
- "description": "Delivery & Returns accordion on the website"
446
- },
447
- "weight": {
448
- "type": [
449
- "number",
450
- "null"
451
- ],
452
- "description": "The average weight of the garmet (across sizes)"
453
- },
454
- "weight_statement": {
455
- "type": [
456
- "string",
457
- "null"
458
- ],
459
- "description": "The weight statement"
460
- },
461
- "main_fibre": {
462
- "type": [
463
- "string",
464
- "null"
465
- ],
466
- "description": "Main Fibre - Applicable to garmets - Example: Cotton"
467
- },
468
- "main_metal": {
469
- "type": [
470
- "string",
471
- "null"
472
- ],
473
- "description": "Main Metal - Applicable to jewellery - Example: Silver"
474
- },
475
- "extra_selling_points": {
476
- "type": "array",
477
- "items": {
478
- "type": "string"
479
- },
480
- "description": "Extra Selling Points - Example: [Lovely Print, Recyclable Fabric]"
481
- },
482
- "length_measurement": {
483
- "type": [
484
- "string",
485
- "null"
486
- ],
487
- "description": "Length Measurement - Example: Sole height: 1.5 cm"
488
- },
489
- "measurement_table_code": {
490
- "type": [
491
- "string"
492
- ],
493
- "description": "Measurement Table Code"
494
- },
495
- "fit": {
496
- "type": [
497
- "string",
498
- "null"
499
- ],
500
- "description": "Fit of the garmet"
501
- },
502
- "pockets": {
503
- "type": [
504
- "string",
505
- "null"
506
- ],
507
- "description": "Pockets details"
508
- },
509
- "pleats_gathers": {
510
- "type": [
511
- "string",
512
- "null"
513
- ],
514
- "description": "Pleats & Gathers details"
515
- },
516
- "lining": {
517
- "type": [
518
- "string",
519
- "null"
520
- ],
521
- "description": "Lining details"
522
- },
523
- "bias_cut": {
524
- "type": [
525
- "string",
526
- "null"
527
- ],
528
- "description": "Bias cut details"
529
- },
530
- "designer": {
531
- "type": [
532
- "string",
533
- "null"
534
- ],
535
- "description": "Designer of the garmet"
536
- },
537
- "fabric": {
538
- "type": [
539
- "string",
540
- "null"
541
- ],
542
- "description": "Main fabric of the garmet"
543
- },
544
- "fabric_composition": {
545
- "type": [
546
- "string",
547
- "null"
548
- ],
549
- "description": "Composition details"
550
- },
551
- "certificate_code": {
552
- "type": [
553
- "string",
554
- "null"
555
- ],
556
- "description": "Certificate of the fabric"
557
- },
558
- "shape": {
559
- "type": [
560
- "string",
561
- "null"
562
- ],
563
- "description": "Shape of the garmet"
564
- },
565
- "development_type": {
566
- "type": "string",
567
- "description": "Development Type - Example: Update"
568
- },
569
- "occasion": {
570
- "type": [
571
- "string",
572
- "null"
573
- ],
574
- "description": "Occasion - Example: Party"
575
- },
576
- "design": {
577
- "type": [
578
- "string",
579
- "null"
580
- ],
581
- "description": "Design type"
582
- },
583
- "block": {
584
- "type": [
585
- "string",
586
- "null"
587
- ],
588
- "description": "Block"
589
- },
590
- "pattern_name": {
591
- "type": [
592
- "string",
593
- "null"
594
- ],
595
- "description": "Pattern Name - Example: Interest"
596
- },
597
- "fit_type": {
598
- "type": [
599
- "string",
600
- "null"
601
- ],
602
- "description": "Fit Styling Description(ESP) - Example: Oversized"
603
- },
604
- "neckline": {
605
- "type": [
606
- "string",
607
- "null"
608
- ],
609
- "description": "Neckline - Example: Crew"
610
- },
611
- "sleeve_length": {
612
- "type": [
613
- "string",
614
- "null"
615
- ],
616
- "nullable": true,
617
- "description": "Sleeve Length - Example: Sleeveless"
618
- },
619
- "sleeve_type": {
620
- "type": [
621
- "string",
622
- "null"
623
- ],
624
- "nullable": true,
625
- "description": "Type of Sleeve i.e. "
626
- },
627
- "heel_height": {
628
- "type": [
629
- "string",
630
- "null"
631
- ],
632
- "description": "Heel Height - Example: 0.5CM"
633
- },
634
- "heel_shape": {
635
- "type": [
636
- "string",
637
- "null"
638
- ],
639
- "description": "Heel Shape - Example: Flat"
640
- },
641
- "toe_shape": {
642
- "type": [
643
- "string",
644
- "null"
645
- ],
646
- "description": "Toe Shape - Example: Round"
647
- },
648
- "trouser_fit": {
649
- "type": [
650
- "string",
651
- "null"
652
- ],
653
- "nullable": true
654
- },
655
- "leg_length": {
656
- "type": [
657
- "string",
658
- "null"
659
- ],
660
- "description": "Leg Length - Example: Long"
661
- },
662
- "handle_straps": {
663
- "type": [
664
- "string",
665
- "null"
666
- ],
667
- "description": "Handle Straps - Example: XBody Strap"
668
- },
669
- "straps_features": {
670
- "type": [
671
- "string",
672
- "null"
673
- ],
674
- "description": "Features of the straps i.e. \"Detachable staps\""
675
- },
676
- "fastening": {
677
- "anyOf": [
678
- {
679
- "type": [
680
- "array",
681
- "null"
682
- ],
683
- "items": {
684
- "type": "string"
685
- }
686
- },
687
- {
688
- "type": "null"
689
- }
690
- ],
691
- "description": "Fastening - Example: Zip Front"
692
- },
693
- "sole_material": {
694
- "type": [
695
- "string",
696
- "null"
697
- ],
698
- "description": "Sole Material - Example: Rubber"
699
- },
700
- "care_instructions": {
701
- "type": "array",
702
- "items": {
703
- "type": "string"
704
- },
705
- "description": " - Example: Fabric unlined / do not tumble dry"
706
- }
707
- },
708
- "required": []
709
- },
710
- "presentations": {
711
- "type": "object",
712
- "description": "Presentation-specific overrides by key (e.g., default, website, email, website-US). Each key maps to an object containing a locale and presentation_type plus optional overrides of selected root fields.",
713
- "additionalProperties": false,
714
- "patternProperties": {
715
- ".*": {
716
- "type": "object",
717
- "additionalProperties": false,
718
- "properties": {
719
- "locale": {
720
- "type": "string",
721
- "pattern": "^[a-z]{2}-[A-Z]{2}$",
722
- "description": "Locale for this presentation (e.g., en-GB, en-US)."
723
- },
724
- "presentation_type": {
725
- "type": "string",
726
- "description": "Presentation type, e.g. website, email, default, website-US.",
727
- "examples": [
728
- "default",
729
- "website",
730
- "email",
731
- "website-US"
732
- ]
733
- },
734
- "slug": {
735
- "$ref": "#/properties/slug"
736
- },
737
- "style_slug": {
738
- "$ref": "#/properties/style_slug"
739
- },
740
- "style_name": {
741
- "$ref": "#/properties/style_name"
742
- },
743
- "display_name": {
744
- "$ref": "#/properties/display_name"
745
- },
746
- "display_type": {
747
- "$ref": "#/properties/display_type"
748
- },
749
- "available_to_sell_from": {
750
- "$ref": "#/properties/available_to_sell_from"
751
- },
752
- "online_from": {
753
- "$ref": "#/properties/online_from"
754
- },
755
- "online_to": {
756
- "$ref": "#/properties/online_to"
757
- },
758
- "last_online_at": {
759
- "$ref": "#/properties/last_online_at"
760
- },
761
- "first_purchased_at": {
762
- "$ref": "#/properties/first_purchased_at"
763
- },
764
- "first_markdown_at": {
765
- "$ref": "#/properties/first_markdown_at"
766
- },
767
- "colour_family_name": {
768
- "$ref": "#/properties/colour_family_name"
769
- },
770
- "colour_name": {
771
- "$ref": "#/properties/colour_name"
772
- },
773
- "display_tags": {
774
- "$ref": "#/properties/display_tags"
775
- },
776
- "sizerange_name": {
777
- "$ref": "#/properties/sizerange_name"
778
- },
779
- "variants": {
780
- "type": "array",
781
- "items": {
782
- "type": "object",
783
- "properties": {
784
- "code": {
785
- "$ref": "#/properties/variants/items/properties/code"
786
- },
787
- "name": {
788
- "$ref": "#/properties/variants/items/properties/name"
789
- }
790
- },
791
- "required": [
792
- "code",
793
- "name"
794
- ]
795
- },
796
- "description": "Per-variant display overrides. Include entries only for variants that differ."
797
- },
798
- "attributes": {
799
- "$ref": "#/properties/attributes"
800
- }
801
- },
802
- "required": [
803
- "locale",
804
- "presentation_type"
805
- ]
806
- }
807
- }
808
- }
809
- },
810
- "required": [
811
- "product_id",
812
- "style_id",
813
- "product_name",
814
- "online_from"
815
- ]
816
- }