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

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 (303) hide show
  1. package/dist/cjs/contracts/asset.schema.json +78 -0
  2. package/dist/cjs/contracts/category.schema.json +86 -0
  3. package/dist/cjs/contracts/country.schema.json +258 -0
  4. package/dist/cjs/contracts/currency.schema.json +177 -0
  5. package/dist/cjs/contracts/customer-segment.schema.json +32 -0
  6. package/dist/cjs/contracts/development-colour.schema.json +97 -0
  7. package/dist/cjs/contracts/index.js +48 -0
  8. package/dist/cjs/contracts/marketing-preferences.schema.json +41 -0
  9. package/dist/cjs/contracts/messages/ean-change.schema.json +22 -0
  10. package/dist/cjs/contracts/messages/index.js +29 -0
  11. package/dist/cjs/contracts/messages/order/delivered.schema.json +26 -0
  12. package/dist/cjs/contracts/messages/order/index.js +18 -0
  13. package/dist/cjs/contracts/messages/order/new.schema.json +32 -0
  14. package/dist/cjs/contracts/messages/order/processed.schema.json +15 -0
  15. package/dist/cjs/contracts/messages/order/return-initiated.schema.json +26 -0
  16. package/dist/cjs/contracts/messages/order/returned.schema.json +25 -0
  17. package/dist/cjs/contracts/messages/order/shipped.schema.json +26 -0
  18. package/dist/cjs/contracts/messages/product-category.schema.json +21 -0
  19. package/dist/cjs/contracts/messages/product-draft.schema.json +66 -0
  20. package/dist/cjs/contracts/messages/product.schema.json +29 -0
  21. package/dist/cjs/contracts/money.schema.json +54 -0
  22. package/dist/cjs/contracts/order/address.schema.json +127 -0
  23. package/dist/cjs/contracts/order/customer.schema.json +149 -0
  24. package/dist/cjs/contracts/order/index.js +31 -0
  25. package/dist/cjs/contracts/order/item.schema.json +98 -0
  26. package/dist/cjs/contracts/order/payment.schema.json +115 -0
  27. package/dist/cjs/contracts/order/shipment/index.js +29 -0
  28. package/dist/cjs/contracts/order/shipment/item/index.js +8 -0
  29. package/dist/cjs/contracts/order/shipment/item/returned.schema.json +30 -0
  30. package/dist/cjs/contracts/order/shipment/item.schema.json +22 -0
  31. package/dist/cjs/contracts/order/shipment/pos/index.js +10 -0
  32. package/dist/cjs/contracts/order/shipment/pos/outbound.schema.json +37 -0
  33. package/dist/cjs/contracts/order/shipment/pos/return.schema.json +31 -0
  34. package/dist/cjs/contracts/order/shipment/pos.schema.json +48 -0
  35. package/dist/cjs/contracts/order/shipment/shipped/index.js +10 -0
  36. package/dist/cjs/contracts/order/shipment/shipped/outbound.schema.json +34 -0
  37. package/dist/cjs/contracts/order/shipment/shipped/return.schema.json +43 -0
  38. package/dist/cjs/contracts/order/shipment/shipped.schema.json +52 -0
  39. package/dist/cjs/contracts/order/shipment.schema.json +58 -0
  40. package/dist/cjs/contracts/product-category.schema.json +34 -0
  41. package/dist/cjs/contracts/product-draft.schema.json +782 -0
  42. package/dist/cjs/contracts/product.schema.json +816 -0
  43. package/dist/cjs/contracts/total.schema.json +41 -0
  44. package/dist/cjs/dist-dereferenced/asset.js +0 -1
  45. package/dist/cjs/dist-dereferenced/category.js +0 -1
  46. package/dist/cjs/dist-dereferenced/country.js +0 -1
  47. package/dist/cjs/dist-dereferenced/currency.js +0 -1
  48. package/dist/cjs/dist-dereferenced/customer-segment.js +0 -1
  49. package/dist/cjs/dist-dereferenced/development-colour.js +0 -1
  50. package/dist/cjs/dist-dereferenced/index.js +0 -1
  51. package/dist/cjs/dist-dereferenced/marketing-preferences.js +0 -1
  52. package/dist/cjs/dist-dereferenced/messages/ean-change.js +0 -1
  53. package/dist/cjs/dist-dereferenced/messages/index.js +0 -1
  54. package/dist/cjs/dist-dereferenced/messages/order/delivered.js +1 -2
  55. package/dist/cjs/dist-dereferenced/messages/order/index.js +0 -1
  56. package/dist/cjs/dist-dereferenced/messages/order/new.js +1 -2
  57. package/dist/cjs/dist-dereferenced/messages/order/processed.js +1 -2
  58. package/dist/cjs/dist-dereferenced/messages/order/return-initiated.js +1 -2
  59. package/dist/cjs/dist-dereferenced/messages/order/returned.js +1 -2
  60. package/dist/cjs/dist-dereferenced/messages/order/shipped.js +1 -2
  61. package/dist/cjs/dist-dereferenced/messages/price-change.js +0 -1
  62. package/dist/cjs/dist-dereferenced/messages/product-category.js +0 -1
  63. package/dist/cjs/dist-dereferenced/messages/product-draft.js +0 -1
  64. package/dist/cjs/dist-dereferenced/messages/product.js +0 -1
  65. package/dist/cjs/dist-dereferenced/money.js +0 -1
  66. package/dist/cjs/dist-dereferenced/order/address.js +0 -1
  67. package/dist/cjs/dist-dereferenced/order/customer.js +0 -1
  68. package/dist/cjs/dist-dereferenced/order/index.js +0 -1
  69. package/dist/cjs/dist-dereferenced/order/item.js +0 -1
  70. package/dist/cjs/dist-dereferenced/order/orderMain.js +1 -2
  71. package/dist/cjs/dist-dereferenced/order/payment.js +1 -2
  72. package/dist/cjs/dist-dereferenced/order/shipment/index.js +0 -1
  73. package/dist/cjs/dist-dereferenced/order/shipment/item/index.js +0 -1
  74. package/dist/cjs/dist-dereferenced/order/shipment/item/itemMain.js +0 -1
  75. package/dist/cjs/dist-dereferenced/order/shipment/item/returned.js +0 -1
  76. package/dist/cjs/dist-dereferenced/order/shipment/pos/index.js +0 -1
  77. package/dist/cjs/dist-dereferenced/order/shipment/pos/outbound.js +0 -1
  78. package/dist/cjs/dist-dereferenced/order/shipment/pos/posMain.js +0 -1
  79. package/dist/cjs/dist-dereferenced/order/shipment/pos/return.js +0 -1
  80. package/dist/cjs/dist-dereferenced/order/shipment/shipmentMain.js +0 -1
  81. package/dist/cjs/dist-dereferenced/order/shipment/shipped/index.js +0 -1
  82. package/dist/cjs/dist-dereferenced/order/shipment/shipped/outbound.js +0 -1
  83. package/dist/cjs/dist-dereferenced/order/shipment/shipped/return.js +0 -1
  84. package/dist/cjs/dist-dereferenced/order/shipment/shipped/shippedMain.js +0 -1
  85. package/dist/cjs/dist-dereferenced/price.js +0 -1
  86. package/dist/cjs/dist-dereferenced/product-category.js +0 -1
  87. package/dist/cjs/dist-dereferenced/product-draft.js +0 -1
  88. package/dist/cjs/dist-dereferenced/product.js +0 -1
  89. package/dist/cjs/dist-dereferenced/stock.js +0 -1
  90. package/dist/cjs/dist-dereferenced/total.js +0 -1
  91. package/dist/cjs/dist-types/asset.js +0 -1
  92. package/dist/cjs/dist-types/category.js +0 -1
  93. package/dist/cjs/dist-types/country.js +0 -1
  94. package/dist/cjs/dist-types/currency.js +0 -1
  95. package/dist/cjs/dist-types/customer-segment.js +0 -1
  96. package/dist/cjs/dist-types/development-colour.js +0 -1
  97. package/dist/cjs/dist-types/index.js +0 -1
  98. package/dist/cjs/dist-types/marketing-preferences.js +0 -1
  99. package/dist/cjs/dist-types/messages/ean-change.js +0 -1
  100. package/dist/cjs/dist-types/messages/index.js +0 -1
  101. package/dist/cjs/dist-types/messages/order/delivered.js +0 -1
  102. package/dist/cjs/dist-types/messages/order/index.js +0 -1
  103. package/dist/cjs/dist-types/messages/order/new.js +0 -1
  104. package/dist/cjs/dist-types/messages/order/processed.js +0 -1
  105. package/dist/cjs/dist-types/messages/order/return-initiated.js +0 -1
  106. package/dist/cjs/dist-types/messages/order/returned.js +0 -1
  107. package/dist/cjs/dist-types/messages/order/shipped.js +0 -1
  108. package/dist/cjs/dist-types/messages/price-change.js +0 -1
  109. package/dist/cjs/dist-types/messages/product-category.js +0 -1
  110. package/dist/cjs/dist-types/messages/product-draft.js +0 -1
  111. package/dist/cjs/dist-types/messages/product.js +0 -1
  112. package/dist/cjs/dist-types/money.js +0 -1
  113. package/dist/cjs/dist-types/order/address.js +0 -1
  114. package/dist/cjs/dist-types/order/customer.js +0 -1
  115. package/dist/cjs/dist-types/order/index.js +0 -1
  116. package/dist/cjs/dist-types/order/item.js +0 -1
  117. package/dist/cjs/dist-types/order/orderMain.js +0 -1
  118. package/dist/cjs/dist-types/order/payment.js +0 -1
  119. package/dist/cjs/dist-types/order/shipment/index.js +0 -1
  120. package/dist/cjs/dist-types/order/shipment/item/index.js +0 -1
  121. package/dist/cjs/dist-types/order/shipment/item/itemMain.js +0 -1
  122. package/dist/cjs/dist-types/order/shipment/item/returned.js +0 -1
  123. package/dist/cjs/dist-types/order/shipment/pos/index.js +0 -1
  124. package/dist/cjs/dist-types/order/shipment/pos/outbound.js +0 -1
  125. package/dist/cjs/dist-types/order/shipment/pos/posMain.js +0 -1
  126. package/dist/cjs/dist-types/order/shipment/pos/return.js +0 -1
  127. package/dist/cjs/dist-types/order/shipment/shipmentMain.js +0 -1
  128. package/dist/cjs/dist-types/order/shipment/shipped/index.js +0 -1
  129. package/dist/cjs/dist-types/order/shipment/shipped/outbound.js +0 -1
  130. package/dist/cjs/dist-types/order/shipment/shipped/return.js +0 -1
  131. package/dist/cjs/dist-types/order/shipment/shipped/shippedMain.js +0 -1
  132. package/dist/cjs/dist-types/price.js +0 -1
  133. package/dist/cjs/dist-types/product-category.js +0 -1
  134. package/dist/cjs/dist-types/product-draft.js +0 -1
  135. package/dist/cjs/dist-types/product.js +0 -1
  136. package/dist/cjs/dist-types/stock.js +0 -1
  137. package/dist/cjs/dist-types/total.js +0 -1
  138. package/dist/cjs/index.js +0 -1
  139. package/dist/cjs/src-public/airtable.js +0 -1
  140. package/dist/cjs/src-public/bcOrder.js +409 -74
  141. package/dist/cjs/src-public/bigquery.js +0 -1
  142. package/dist/cjs/src-public/centra.js +0 -1
  143. package/dist/cjs/src-public/cloudtasks.js +0 -1
  144. package/dist/cjs/src-public/dato.js +0 -1
  145. package/dist/cjs/src-public/env.js +0 -1
  146. package/dist/cjs/src-public/getEventTime.js +0 -1
  147. package/dist/cjs/src-public/index.js +0 -1
  148. package/dist/cjs/src-public/ipValidation.js +0 -1
  149. package/dist/cjs/src-public/jwks.js +0 -1
  150. package/dist/cjs/src-public/pubsub.js +0 -1
  151. package/dist/cjs/src-public/rateLimit.js +0 -1
  152. package/dist/cjs/src-public/redisClient.js +0 -1
  153. package/dist/cjs/src-public/runtime.js +0 -1
  154. package/dist/cjs/src-public/sanitize.js +0 -1
  155. package/dist/cjs/src-public/scheduler.js +0 -1
  156. package/dist/cjs/src-public/secret.js +0 -1
  157. package/dist/cjs/src-public/setHeaders.js +0 -1
  158. package/dist/cjs/src-public/types.js +0 -1
  159. package/dist/cjs/src-public/utils.js +0 -1
  160. package/dist/cjs/src-public/validate.js +28 -1
  161. package/dist/types/contracts/index.d.ts +15 -0
  162. package/dist/types/contracts/messages/index.d.ts +5 -0
  163. package/dist/types/contracts/messages/order/index.d.ts +6 -0
  164. package/dist/types/contracts/order/index.d.ts +6 -0
  165. package/dist/types/contracts/order/shipment/index.d.ts +6 -0
  166. package/dist/types/contracts/order/shipment/item/index.d.ts +1 -0
  167. package/dist/types/contracts/order/shipment/pos/index.d.ts +2 -0
  168. package/dist/types/contracts/order/shipment/shipped/index.d.ts +2 -0
  169. package/dist/types/dist-dereferenced/messages/order/delivered.d.ts +4 -4
  170. package/dist/types/dist-dereferenced/messages/order/new.d.ts +4 -4
  171. package/dist/types/dist-dereferenced/messages/order/processed.d.ts +4 -4
  172. package/dist/types/dist-dereferenced/messages/order/return-initiated.d.ts +4 -4
  173. package/dist/types/dist-dereferenced/messages/order/returned.d.ts +4 -4
  174. package/dist/types/dist-dereferenced/messages/order/shipped.d.ts +4 -4
  175. package/dist/types/dist-dereferenced/order/index.d.ts +4 -4
  176. package/dist/types/dist-dereferenced/order/orderMain.d.ts +4 -4
  177. package/dist/types/dist-dereferenced/order/payment.d.ts +4 -4
  178. package/dist/types/dist-types/messages/order/delivered.d.ts +2 -2
  179. package/dist/types/dist-types/messages/order/new.d.ts +2 -2
  180. package/dist/types/dist-types/messages/order/processed.d.ts +2 -2
  181. package/dist/types/dist-types/messages/order/return-initiated.d.ts +2 -2
  182. package/dist/types/dist-types/messages/order/returned.d.ts +2 -2
  183. package/dist/types/dist-types/messages/order/shipped.d.ts +2 -2
  184. package/dist/types/dist-types/order/orderMain.d.ts +2 -2
  185. package/dist/types/dist-types/order/payment.d.ts +2 -2
  186. package/package.json +1 -1
  187. package/dist/cjs/dist-dereferenced/asset.js.map +0 -1
  188. package/dist/cjs/dist-dereferenced/category.js.map +0 -1
  189. package/dist/cjs/dist-dereferenced/country.js.map +0 -1
  190. package/dist/cjs/dist-dereferenced/currency.js.map +0 -1
  191. package/dist/cjs/dist-dereferenced/customer-segment.js.map +0 -1
  192. package/dist/cjs/dist-dereferenced/development-colour.js.map +0 -1
  193. package/dist/cjs/dist-dereferenced/index.js.map +0 -1
  194. package/dist/cjs/dist-dereferenced/marketing-preferences.js.map +0 -1
  195. package/dist/cjs/dist-dereferenced/messages/ean-change.js.map +0 -1
  196. package/dist/cjs/dist-dereferenced/messages/index.js.map +0 -1
  197. package/dist/cjs/dist-dereferenced/messages/order/delivered.js.map +0 -1
  198. package/dist/cjs/dist-dereferenced/messages/order/index.js.map +0 -1
  199. package/dist/cjs/dist-dereferenced/messages/order/new.js.map +0 -1
  200. package/dist/cjs/dist-dereferenced/messages/order/processed.js.map +0 -1
  201. package/dist/cjs/dist-dereferenced/messages/order/return-initiated.js.map +0 -1
  202. package/dist/cjs/dist-dereferenced/messages/order/returned.js.map +0 -1
  203. package/dist/cjs/dist-dereferenced/messages/order/shipped.js.map +0 -1
  204. package/dist/cjs/dist-dereferenced/messages/price-change.js.map +0 -1
  205. package/dist/cjs/dist-dereferenced/messages/product-category.js.map +0 -1
  206. package/dist/cjs/dist-dereferenced/messages/product-draft.js.map +0 -1
  207. package/dist/cjs/dist-dereferenced/messages/product.js.map +0 -1
  208. package/dist/cjs/dist-dereferenced/money.js.map +0 -1
  209. package/dist/cjs/dist-dereferenced/order/address.js.map +0 -1
  210. package/dist/cjs/dist-dereferenced/order/customer.js.map +0 -1
  211. package/dist/cjs/dist-dereferenced/order/index.js.map +0 -1
  212. package/dist/cjs/dist-dereferenced/order/item.js.map +0 -1
  213. package/dist/cjs/dist-dereferenced/order/orderMain.js.map +0 -1
  214. package/dist/cjs/dist-dereferenced/order/payment.js.map +0 -1
  215. package/dist/cjs/dist-dereferenced/order/shipment/index.js.map +0 -1
  216. package/dist/cjs/dist-dereferenced/order/shipment/item/index.js.map +0 -1
  217. package/dist/cjs/dist-dereferenced/order/shipment/item/itemMain.js.map +0 -1
  218. package/dist/cjs/dist-dereferenced/order/shipment/item/returned.js.map +0 -1
  219. package/dist/cjs/dist-dereferenced/order/shipment/pos/index.js.map +0 -1
  220. package/dist/cjs/dist-dereferenced/order/shipment/pos/outbound.js.map +0 -1
  221. package/dist/cjs/dist-dereferenced/order/shipment/pos/posMain.js.map +0 -1
  222. package/dist/cjs/dist-dereferenced/order/shipment/pos/return.js.map +0 -1
  223. package/dist/cjs/dist-dereferenced/order/shipment/shipmentMain.js.map +0 -1
  224. package/dist/cjs/dist-dereferenced/order/shipment/shipped/index.js.map +0 -1
  225. package/dist/cjs/dist-dereferenced/order/shipment/shipped/outbound.js.map +0 -1
  226. package/dist/cjs/dist-dereferenced/order/shipment/shipped/return.js.map +0 -1
  227. package/dist/cjs/dist-dereferenced/order/shipment/shipped/shippedMain.js.map +0 -1
  228. package/dist/cjs/dist-dereferenced/price.js.map +0 -1
  229. package/dist/cjs/dist-dereferenced/product-category.js.map +0 -1
  230. package/dist/cjs/dist-dereferenced/product-draft.js.map +0 -1
  231. package/dist/cjs/dist-dereferenced/product.js.map +0 -1
  232. package/dist/cjs/dist-dereferenced/stock.js.map +0 -1
  233. package/dist/cjs/dist-dereferenced/total.js.map +0 -1
  234. package/dist/cjs/dist-types/asset.js.map +0 -1
  235. package/dist/cjs/dist-types/category.js.map +0 -1
  236. package/dist/cjs/dist-types/country.js.map +0 -1
  237. package/dist/cjs/dist-types/currency.js.map +0 -1
  238. package/dist/cjs/dist-types/customer-segment.js.map +0 -1
  239. package/dist/cjs/dist-types/development-colour.js.map +0 -1
  240. package/dist/cjs/dist-types/index.js.map +0 -1
  241. package/dist/cjs/dist-types/marketing-preferences.js.map +0 -1
  242. package/dist/cjs/dist-types/messages/ean-change.js.map +0 -1
  243. package/dist/cjs/dist-types/messages/index.js.map +0 -1
  244. package/dist/cjs/dist-types/messages/order/delivered.js.map +0 -1
  245. package/dist/cjs/dist-types/messages/order/index.js.map +0 -1
  246. package/dist/cjs/dist-types/messages/order/new.js.map +0 -1
  247. package/dist/cjs/dist-types/messages/order/processed.js.map +0 -1
  248. package/dist/cjs/dist-types/messages/order/return-initiated.js.map +0 -1
  249. package/dist/cjs/dist-types/messages/order/returned.js.map +0 -1
  250. package/dist/cjs/dist-types/messages/order/shipped.js.map +0 -1
  251. package/dist/cjs/dist-types/messages/price-change.js.map +0 -1
  252. package/dist/cjs/dist-types/messages/product-category.js.map +0 -1
  253. package/dist/cjs/dist-types/messages/product-draft.js.map +0 -1
  254. package/dist/cjs/dist-types/messages/product.js.map +0 -1
  255. package/dist/cjs/dist-types/money.js.map +0 -1
  256. package/dist/cjs/dist-types/order/address.js.map +0 -1
  257. package/dist/cjs/dist-types/order/customer.js.map +0 -1
  258. package/dist/cjs/dist-types/order/index.js.map +0 -1
  259. package/dist/cjs/dist-types/order/item.js.map +0 -1
  260. package/dist/cjs/dist-types/order/orderMain.js.map +0 -1
  261. package/dist/cjs/dist-types/order/payment.js.map +0 -1
  262. package/dist/cjs/dist-types/order/shipment/index.js.map +0 -1
  263. package/dist/cjs/dist-types/order/shipment/item/index.js.map +0 -1
  264. package/dist/cjs/dist-types/order/shipment/item/itemMain.js.map +0 -1
  265. package/dist/cjs/dist-types/order/shipment/item/returned.js.map +0 -1
  266. package/dist/cjs/dist-types/order/shipment/pos/index.js.map +0 -1
  267. package/dist/cjs/dist-types/order/shipment/pos/outbound.js.map +0 -1
  268. package/dist/cjs/dist-types/order/shipment/pos/posMain.js.map +0 -1
  269. package/dist/cjs/dist-types/order/shipment/pos/return.js.map +0 -1
  270. package/dist/cjs/dist-types/order/shipment/shipmentMain.js.map +0 -1
  271. package/dist/cjs/dist-types/order/shipment/shipped/index.js.map +0 -1
  272. package/dist/cjs/dist-types/order/shipment/shipped/outbound.js.map +0 -1
  273. package/dist/cjs/dist-types/order/shipment/shipped/return.js.map +0 -1
  274. package/dist/cjs/dist-types/order/shipment/shipped/shippedMain.js.map +0 -1
  275. package/dist/cjs/dist-types/price.js.map +0 -1
  276. package/dist/cjs/dist-types/product-category.js.map +0 -1
  277. package/dist/cjs/dist-types/product-draft.js.map +0 -1
  278. package/dist/cjs/dist-types/product.js.map +0 -1
  279. package/dist/cjs/dist-types/stock.js.map +0 -1
  280. package/dist/cjs/dist-types/total.js.map +0 -1
  281. package/dist/cjs/index.js.map +0 -1
  282. package/dist/cjs/src-public/airtable.js.map +0 -1
  283. package/dist/cjs/src-public/bcOrder.js.map +0 -1
  284. package/dist/cjs/src-public/bigquery.js.map +0 -1
  285. package/dist/cjs/src-public/centra.js.map +0 -1
  286. package/dist/cjs/src-public/cloudtasks.js.map +0 -1
  287. package/dist/cjs/src-public/dato.js.map +0 -1
  288. package/dist/cjs/src-public/env.js.map +0 -1
  289. package/dist/cjs/src-public/getEventTime.js.map +0 -1
  290. package/dist/cjs/src-public/index.js.map +0 -1
  291. package/dist/cjs/src-public/ipValidation.js.map +0 -1
  292. package/dist/cjs/src-public/jwks.js.map +0 -1
  293. package/dist/cjs/src-public/pubsub.js.map +0 -1
  294. package/dist/cjs/src-public/rateLimit.js.map +0 -1
  295. package/dist/cjs/src-public/redisClient.js.map +0 -1
  296. package/dist/cjs/src-public/runtime.js.map +0 -1
  297. package/dist/cjs/src-public/sanitize.js.map +0 -1
  298. package/dist/cjs/src-public/scheduler.js.map +0 -1
  299. package/dist/cjs/src-public/secret.js.map +0 -1
  300. package/dist/cjs/src-public/setHeaders.js.map +0 -1
  301. package/dist/cjs/src-public/types.js.map +0 -1
  302. package/dist/cjs/src-public/utils.js.map +0 -1
  303. package/dist/cjs/src-public/validate.js.map +0 -1
@@ -0,0 +1,816 @@
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
+ }