@wix/agent-skills 1.36.0 → 1.36.1

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 (776) hide show
  1. package/package.json +8 -3
  2. package/skills/wix-headless-kit/install/pins.json +1 -1
  3. package/skills/wix-manage/SKILL.md +3 -3
  4. package/skills/wix-manage/references/cms/cms-data-items-crud.md +78 -1
  5. package/skills/wix-manage/references/google-ads/create-performance-max-campaign.md +11 -11
  6. package/skills/wix-manage/references/marketing/create-and-publish-social-post.md +20 -51
  7. package/skills/wix-manage/references/marketing/generate-and-publish-marketing-plan.md +4 -4
  8. package/skills/wix-base44-connector/SKILL.md +0 -437
  9. package/skills/wix-base44-connector/references/CAPABILITY_MAP.md +0 -78
  10. package/skills/wix-base44-connector/scripts/utils.cjs +0 -466
  11. package/skills/wix-export/SKILL.md +0 -83
  12. package/skills/wix-harmony-editor/.publish-manifest.json +0 -8
  13. package/skills/wix-harmony-editor/COPY-SITE.md +0 -494
  14. package/skills/wix-harmony-editor/SKILL.md +0 -317
  15. package/skills/wix-harmony-editor/scripts/copy/build-description.mjs +0 -249
  16. package/skills/wix-harmony-editor/scripts/copy/check-description.mjs +0 -225
  17. package/skills/wix-harmony-editor/scripts/copy/check-mirror.mjs +0 -89
  18. package/skills/wix-harmony-editor/scripts/copy/compare-preview.mjs +0 -76
  19. package/skills/wix-harmony-editor/scripts/copy/deploy-description.mjs +0 -212
  20. package/skills/wix-harmony-editor/scripts/copy/desc-hash.mjs +0 -44
  21. package/skills/wix-harmony-editor/scripts/copy/editor-run.mjs +0 -45
  22. package/skills/wix-harmony-editor/scripts/copy/export-page.mjs +0 -53
  23. package/skills/wix-harmony-editor/scripts/copy/find-interactions.mjs +0 -76
  24. package/skills/wix-harmony-editor/scripts/copy/hide-scrollbars.mjs +0 -16
  25. package/skills/wix-harmony-editor/scripts/copy/import-media.mjs +0 -150
  26. package/skills/wix-harmony-editor/scripts/copy/link-url.mjs +0 -27
  27. package/skills/wix-harmony-editor/scripts/copy/lint-api.mjs +0 -56
  28. package/skills/wix-harmony-editor/scripts/copy/measure-source.mjs +0 -211
  29. package/skills/wix-harmony-editor/scripts/copy/merge-mirrors.mjs +0 -29
  30. package/skills/wix-harmony-editor/scripts/copy/mirror-site.mjs +0 -92
  31. package/skills/wix-harmony-editor/scripts/copy/mobile-stage.mjs +0 -56
  32. package/skills/wix-harmony-editor/scripts/copy/preview-widths.mjs +0 -73
  33. package/skills/wix-harmony-editor/scripts/copy/render-plate.mjs +0 -67
  34. package/skills/wix-harmony-editor/scripts/copy/serve-mirror.mjs +0 -102
  35. package/skills/wix-harmony-editor/scripts/copy/snapshot-capabilities.mjs +0 -40
  36. package/skills/wix-harmony-editor/scripts/copy/split-sections.mjs +0 -191
  37. package/skills/wix-harmony-editor/scripts/copy/upload-media-manager.mjs +0 -61
  38. package/skills/wix-harmony-editor/scripts/launch.sh +0 -359
  39. package/skills/wix-headless/SKILL.md +0 -151
  40. package/skills/wix-headless/references/AI_FEATURES.md +0 -178
  41. package/skills/wix-headless/references/CAPABILITIES.md +0 -117
  42. package/skills/wix-headless/references/CONTENT.md +0 -36
  43. package/skills/wix-headless/references/DESIGN.md +0 -55
  44. package/skills/wix-headless/references/DISCOVERY.md +0 -80
  45. package/skills/wix-headless/references/DOC_DISCOVERY.md +0 -43
  46. package/skills/wix-headless/references/FEEDBACK.md +0 -129
  47. package/skills/wix-headless/references/IMAGE_GENERATION.md +0 -80
  48. package/skills/wix-headless/references/SDK_HANDOFF.md +0 -108
  49. package/skills/wix-headless/references/SEED.md +0 -74
  50. package/skills/wix-headless/references/SETUP.md +0 -60
  51. package/skills/wix-headless/references/astro.md +0 -98
  52. package/skills/wix-headless/references/inline-recipes/experience-donations.md +0 -102
  53. package/skills/wix-headless/references/inline-recipes/experience-store.md +0 -49
  54. package/skills/wix-headless/references/inline-recipes/how-to-code-a-blog.md +0 -196
  55. package/skills/wix-headless/references/inline-recipes/how-to-code-a-store.md +0 -590
  56. package/skills/wix-headless/references/inline-recipes/how-to-code-bookings.md +0 -279
  57. package/skills/wix-headless/references/inline-recipes/how-to-code-cms.md +0 -163
  58. package/skills/wix-headless/references/inline-recipes/how-to-code-donations.md +0 -146
  59. package/skills/wix-headless/references/inline-recipes/how-to-code-events.md +0 -203
  60. package/skills/wix-headless/references/inline-recipes/how-to-code-forms.md +0 -696
  61. package/skills/wix-headless/references/inline-recipes/how-to-code-members-astro.md +0 -124
  62. package/skills/wix-headless/references/inline-recipes/how-to-code-members-custom-login.md +0 -160
  63. package/skills/wix-headless/references/inline-recipes/how-to-code-members-non-astro.md +0 -118
  64. package/skills/wix-headless/references/inline-recipes/how-to-code-portfolio.md +0 -132
  65. package/skills/wix-headless/references/inline-recipes/how-to-code-pricing-plans.md +0 -126
  66. package/skills/wix-headless/references/inline-recipes/how-to-code-rentals.md +0 -254
  67. package/skills/wix-headless/references/inline-recipes/how-to-code-restaurant-orders.md +0 -191
  68. package/skills/wix-headless/references/inline-recipes/how-to-code-restaurant-reservations.md +0 -213
  69. package/skills/wix-headless/references/inline-recipes/how-to-code-restaurants.md +0 -161
  70. package/skills/wix-headless/references/inline-recipes/setup-blog.md +0 -175
  71. package/skills/wix-headless/references/inline-recipes/setup-bookings.md +0 -232
  72. package/skills/wix-headless/references/inline-recipes/setup-cms.md +0 -200
  73. package/skills/wix-headless/references/inline-recipes/setup-donations.md +0 -15
  74. package/skills/wix-headless/references/inline-recipes/setup-events.md +0 -196
  75. package/skills/wix-headless/references/inline-recipes/setup-forms.md +0 -288
  76. package/skills/wix-headless/references/inline-recipes/setup-online-store.md +0 -214
  77. package/skills/wix-headless/references/inline-recipes/setup-portfolio.md +0 -155
  78. package/skills/wix-headless/references/inline-recipes/setup-pricing-plans.md +0 -229
  79. package/skills/wix-headless/references/inline-recipes/setup-rentals.md +0 -254
  80. package/skills/wix-headless/references/inline-recipes/setup-restaurant-experiences.md +0 -73
  81. package/skills/wix-headless/references/inline-recipes/setup-restaurant-orders.md +0 -197
  82. package/skills/wix-headless/references/inline-recipes/setup-restaurant-reservations.md +0 -136
  83. package/skills/wix-headless/references/inline-recipes/setup-restaurants.md +0 -152
  84. package/skills/wix-headless/references/managed/AUTHENTICATION.md +0 -71
  85. package/skills/wix-headless/references/managed/CONNECT.md +0 -74
  86. package/skills/wix-headless/references/managed/CREATE.md +0 -149
  87. package/skills/wix-headless/references/managed/DEPLOYMENT.md +0 -104
  88. package/skills/wix-headless/references/non-astro.md +0 -59
  89. package/skills/wix-headless/references/self-managed/AUTHENTICATION.md +0 -22
  90. package/skills/wix-headless/references/self-managed/DEPLOYMENT.md +0 -15
  91. package/skills/wix-headless/references/stripe/AUTHENTICATION.md +0 -55
  92. package/skills/wix-headless/references/stripe/DEPLOYMENT.md +0 -71
  93. package/skills/wix-headless/scripts/bootstrap.mjs +0 -156
  94. package/skills/wix-headless-replatform/.publish-manifest.json +0 -8
  95. package/skills/wix-headless-replatform/SKILL.md +0 -116
  96. package/skills/wix-headless-replatform/agents/openai.yaml +0 -6
  97. package/skills/wix-headless-replatform/references/control-and-visual-fidelity-contract.md +0 -43
  98. package/skills/wix-headless-replatform/references/extraction-schema.md +0 -187
  99. package/skills/wix-headless-replatform/references/interaction-runtime-contract.md +0 -137
  100. package/skills/wix-headless-replatform/references/layout-blueprint-contract.md +0 -41
  101. package/skills/wix-headless-replatform/references/output-contract.md +0 -93
  102. package/skills/wix-headless-replatform/references/post-build-gap-contract.md +0 -125
  103. package/skills/wix-headless-replatform/references/qa-checklist.md +0 -83
  104. package/skills/wix-headless-replatform/references/safety.md +0 -19
  105. package/skills/wix-headless-replatform/references/ui-normalization-contract.md +0 -70
  106. package/skills/wix-headless-replatform/references/workflow.md +0 -157
  107. package/skills/wix-headless-replatform/registry/README.md +0 -20
  108. package/skills/wix-headless-replatform/registry/approvals/button/shadcn-default-ac60ef5.json +0 -28
  109. package/skills/wix-headless-replatform/registry/items/button/shadcn-default-ac60ef5/button.tsx +0 -54
  110. package/skills/wix-headless-replatform/registry/items/button/shadcn-default-ac60ef5/capabilities.json +0 -60
  111. package/skills/wix-headless-replatform/registry/items/button/shadcn-default-ac60ef5/contract.md +0 -48
  112. package/skills/wix-headless-replatform/registry/licenses/shadcn-ui-ac60ef5-MIT.txt +0 -21
  113. package/skills/wix-headless-replatform/registry/registry.json +0 -36
  114. package/skills/wix-headless-replatform/resources/rp-facelift/SKILL.md +0 -32
  115. package/skills/wix-headless-replatform/resources/rp-project-context/SKILL.md +0 -62
  116. package/skills/wix-headless-replatform/resources/rp-qa-gap-loop/SKILL.md +0 -64
  117. package/skills/wix-headless-replatform/resources/rp-source-evidence/SKILL.md +0 -42
  118. package/skills/wix-headless-replatform/resources/rp-ui-implementation/SKILL.md +0 -73
  119. package/skills/wix-headless-replatform/schemas/build-plan.schema.json +0 -10
  120. package/skills/wix-headless-replatform/schemas/candidate.schema.json +0 -19
  121. package/skills/wix-headless-replatform/schemas/common.schema.json +0 -33
  122. package/skills/wix-headless-replatform/schemas/decision-patch.schema.json +0 -10
  123. package/skills/wix-headless-replatform/schemas/decision-request.schema.json +0 -10
  124. package/skills/wix-headless-replatform/schemas/extraction-gap.schema.json +0 -28
  125. package/skills/wix-headless-replatform/schemas/extraction-manifest.schema.json +0 -34
  126. package/skills/wix-headless-replatform/schemas/final-report.schema.json +0 -10
  127. package/skills/wix-headless-replatform/schemas/foundation.schema.json +0 -11
  128. package/skills/wix-headless-replatform/schemas/metadata.schema.json +0 -11
  129. package/skills/wix-headless-replatform/schemas/observation-packet.schema.json +0 -17
  130. package/skills/wix-headless-replatform/schemas/page-capture.schema.json +0 -11
  131. package/skills/wix-headless-replatform/schemas/page-resolution.schema.json +0 -33
  132. package/skills/wix-headless-replatform/schemas/shared-chrome.schema.json +0 -11
  133. package/skills/wix-headless-replatform/schemas/unit.schema.json +0 -40
  134. package/skills/wix-headless-replatform/scripts/assemble-extraction.mjs +0 -844
  135. package/skills/wix-headless-replatform/scripts/benchmark-extraction.mjs +0 -163
  136. package/skills/wix-headless-replatform/scripts/browser-extraction-preflight.mjs +0 -42
  137. package/skills/wix-headless-replatform/scripts/build-extracted-homepage.mjs +0 -228
  138. package/skills/wix-headless-replatform/scripts/clear-wix-starter.mjs +0 -87
  139. package/skills/wix-headless-replatform/scripts/create-wix-project.mjs +0 -505
  140. package/skills/wix-headless-replatform/scripts/discover-urls.mjs +0 -142
  141. package/skills/wix-headless-replatform/scripts/extract-assets.mjs +0 -140
  142. package/skills/wix-headless-replatform/scripts/extract-design-system.mjs +0 -637
  143. package/skills/wix-headless-replatform/scripts/extract-interactions.mjs +0 -1903
  144. package/skills/wix-headless-replatform/scripts/extract-page.mjs +0 -2461
  145. package/skills/wix-headless-replatform/scripts/extract-seo.mjs +0 -25
  146. package/skills/wix-headless-replatform/scripts/extract-tokens.mjs +0 -63
  147. package/skills/wix-headless-replatform/scripts/finalize-extraction-report.mjs +0 -126
  148. package/skills/wix-headless-replatform/scripts/finalize-gap-review.mjs +0 -180
  149. package/skills/wix-headless-replatform/scripts/finalize-gap-review.test.mjs +0 -98
  150. package/skills/wix-headless-replatform/scripts/finalize-migration-website.mjs +0 -103
  151. package/skills/wix-headless-replatform/scripts/generate-control-state-contract.mjs +0 -176
  152. package/skills/wix-headless-replatform/scripts/generate-design-md.mjs +0 -261
  153. package/skills/wix-headless-replatform/scripts/generate-extraction-validators.mjs +0 -25
  154. package/skills/wix-headless-replatform/scripts/generate-invoice-download-backend.mjs +0 -342
  155. package/skills/wix-headless-replatform/scripts/generate-layout-blueprint.mjs +0 -140
  156. package/skills/wix-headless-replatform/scripts/generate-repeater-cms.mjs +0 -22
  157. package/skills/wix-headless-replatform/scripts/generate-route-plan.mjs +0 -143
  158. package/skills/wix-headless-replatform/scripts/generate-scene-contract.mjs +0 -288
  159. package/skills/wix-headless-replatform/scripts/generate-ui-normalization.mjs +0 -266
  160. package/skills/wix-headless-replatform/scripts/generate-visual-assets.mjs +0 -111
  161. package/skills/wix-headless-replatform/scripts/lib/browser-tooling.mjs +0 -570
  162. package/skills/wix-headless-replatform/scripts/lib/common.mjs +0 -329
  163. package/skills/wix-headless-replatform/scripts/lib/component-capabilities.mjs +0 -121
  164. package/skills/wix-headless-replatform/scripts/lib/component-registry.mjs +0 -282
  165. package/skills/wix-headless-replatform/scripts/lib/content-boundary.mjs +0 -61
  166. package/skills/wix-headless-replatform/scripts/lib/extraction-contract.mjs +0 -374
  167. package/skills/wix-headless-replatform/scripts/lib/extraction-detectors.mjs +0 -243
  168. package/skills/wix-headless-replatform/scripts/lib/extraction-validators.generated.mjs +0 -1139
  169. package/skills/wix-headless-replatform/scripts/lib/font-contract.mjs +0 -326
  170. package/skills/wix-headless-replatform/scripts/lib/frontend-automation-state.mjs +0 -184
  171. package/skills/wix-headless-replatform/scripts/lib/gap-analysis.mjs +0 -396
  172. package/skills/wix-headless-replatform/scripts/lib/html-extract.mjs +0 -168
  173. package/skills/wix-headless-replatform/scripts/lib/interaction-bootstrap.mjs +0 -10
  174. package/skills/wix-headless-replatform/scripts/lib/interaction-runtime.mjs +0 -194
  175. package/skills/wix-headless-replatform/scripts/lib/interaction-timeline.mjs +0 -348
  176. package/skills/wix-headless-replatform/scripts/lib/layout-blueprint/classifiers.mjs +0 -141
  177. package/skills/wix-headless-replatform/scripts/lib/layout-blueprint/geometry.mjs +0 -43
  178. package/skills/wix-headless-replatform/scripts/lib/layout-blueprint/vocabulary.mjs +0 -18
  179. package/skills/wix-headless-replatform/scripts/lib/ui-normalization.css +0 -64
  180. package/skills/wix-headless-replatform/scripts/optimize-svg.mjs +0 -31
  181. package/skills/wix-headless-replatform/scripts/post-build-gap.mjs +0 -358
  182. package/skills/wix-headless-replatform/scripts/provision-repeater-cms.mjs +0 -25
  183. package/skills/wix-headless-replatform/scripts/record-gap-decision.mjs +0 -39
  184. package/skills/wix-headless-replatform/scripts/replay-extraction.mjs +0 -107
  185. package/skills/wix-headless-replatform/scripts/resolve-home-page.mjs +0 -96
  186. package/skills/wix-headless-replatform/scripts/site-clone.mjs +0 -658
  187. package/skills/wix-headless-replatform/scripts/validate-font-contract.mjs +0 -29
  188. package/skills/wix-headless-replatform/scripts/verify-interactions.mjs +0 -669
  189. package/skills/wix-headless-replatform/scripts/visual-qa.mjs +0 -370
  190. package/skills/wix-import/SKILL.md +0 -90
  191. package/skills/wix-replatform/.publish-manifest.json +0 -8
  192. package/skills/wix-replatform/CLI.md +0 -162
  193. package/skills/wix-replatform/README.md +0 -52
  194. package/skills/wix-replatform/SKILL.md +0 -238
  195. package/skills/wix-replatform/console/account.css +0 -1
  196. package/skills/wix-replatform/console/app.css +0 -1
  197. package/skills/wix-replatform/console/app.js +0 -117
  198. package/skills/wix-replatform/console/index.html +0 -4
  199. package/skills/wix-replatform/console/json.css +0 -11
  200. package/skills/wix-replatform/lib/agent-adapters/index.js +0 -71
  201. package/skills/wix-replatform/lib/app-page-routing.js +0 -75
  202. package/skills/wix-replatform/lib/artifact-freshness.js +0 -225
  203. package/skills/wix-replatform/lib/blocked-data-requests.js +0 -427
  204. package/skills/wix-replatform/lib/census-reconciliation.js +0 -426
  205. package/skills/wix-replatform/lib/completion-report.js +0 -1580
  206. package/skills/wix-replatform/lib/config-env.js +0 -133
  207. package/skills/wix-replatform/lib/confirmed-pictures.js +0 -212
  208. package/skills/wix-replatform/lib/dependency-readiness.js +0 -423
  209. package/skills/wix-replatform/lib/dependency-recovery.js +0 -21
  210. package/skills/wix-replatform/lib/destination-choice.js +0 -163
  211. package/skills/wix-replatform/lib/destination-handoff.js +0 -62
  212. package/skills/wix-replatform/lib/destination-http.js +0 -81
  213. package/skills/wix-replatform/lib/destination-route.js +0 -98
  214. package/skills/wix-replatform/lib/destination.js +0 -919
  215. package/skills/wix-replatform/lib/discovered-census.js +0 -231
  216. package/skills/wix-replatform/lib/discovered-set-status.js +0 -255
  217. package/skills/wix-replatform/lib/document-url-guard.js +0 -203
  218. package/skills/wix-replatform/lib/entity-qa-attestation.js +0 -339
  219. package/skills/wix-replatform/lib/entity-verification.js +0 -18
  220. package/skills/wix-replatform/lib/execution-capability.js +0 -120
  221. package/skills/wix-replatform/lib/execution-log.js +0 -170
  222. package/skills/wix-replatform/lib/execution-manifest.js +0 -203
  223. package/skills/wix-replatform/lib/execution-state.js +0 -195
  224. package/skills/wix-replatform/lib/expectations-ledger.js +0 -96
  225. package/skills/wix-replatform/lib/generated-plugin-handoff.js +0 -140
  226. package/skills/wix-replatform/lib/import-readiness-contract.js +0 -23
  227. package/skills/wix-replatform/lib/import-recovery.js +0 -1107
  228. package/skills/wix-replatform/lib/imported-redirect-targets.js +0 -608
  229. package/skills/wix-replatform/lib/internal-link-reconciliation.js +0 -166
  230. package/skills/wix-replatform/lib/link-audit.js +0 -173
  231. package/skills/wix-replatform/lib/link-census.js +0 -194
  232. package/skills/wix-replatform/lib/link-plan.js +0 -148
  233. package/skills/wix-replatform/lib/link-verification.js +0 -274
  234. package/skills/wix-replatform/lib/link-write-journal.js +0 -42
  235. package/skills/wix-replatform/lib/local-state.js +0 -1481
  236. package/skills/wix-replatform/lib/member-completion.js +0 -658
  237. package/skills/wix-replatform/lib/member-crosswalk.js +0 -69
  238. package/skills/wix-replatform/lib/member-outcome-registry.js +0 -265
  239. package/skills/wix-replatform/lib/migration-completion.js +0 -311
  240. package/skills/wix-replatform/lib/operator-identity.js +0 -47
  241. package/skills/wix-replatform/lib/orchestration-decisions.js +0 -248
  242. package/skills/wix-replatform/lib/orchestration-preflight.js +0 -525
  243. package/skills/wix-replatform/lib/orchestration-router.js +0 -698
  244. package/skills/wix-replatform/lib/orchestration-state.js +0 -631
  245. package/skills/wix-replatform/lib/order-reference-readiness.js +0 -30
  246. package/skills/wix-replatform/lib/payments-outcome-registry.js +0 -200
  247. package/skills/wix-replatform/lib/plugin-cms-fallback.js +0 -618
  248. package/skills/wix-replatform/lib/preservation-approval-stamp.js +0 -54
  249. package/skills/wix-replatform/lib/product-media-deferral.js +0 -96
  250. package/skills/wix-replatform/lib/progress-log.js +0 -240
  251. package/skills/wix-replatform/lib/progress-log.sh +0 -140
  252. package/skills/wix-replatform/lib/read-back-approval.js +0 -184
  253. package/skills/wix-replatform/lib/read-back-comparison.js +0 -136
  254. package/skills/wix-replatform/lib/read-back-contract.js +0 -243
  255. package/skills/wix-replatform/lib/read-back-extract.js +0 -118
  256. package/skills/wix-replatform/lib/read-back-gate.js +0 -734
  257. package/skills/wix-replatform/lib/read-back-reads.js +0 -94
  258. package/skills/wix-replatform/lib/read-back-state.js +0 -107
  259. package/skills/wix-replatform/lib/read-back-summary.js +0 -81
  260. package/skills/wix-replatform/lib/rerun-conflicts.js +0 -334
  261. package/skills/wix-replatform/lib/run-controller.js +0 -401
  262. package/skills/wix-replatform/lib/seo-outcome-registry.js +0 -45
  263. package/skills/wix-replatform/lib/setup-verification.js +0 -148
  264. package/skills/wix-replatform/lib/source-access.js +0 -231
  265. package/skills/wix-replatform/lib/source-coverage.js +0 -1130
  266. package/skills/wix-replatform/lib/source-secrets.js +0 -277
  267. package/skills/wix-replatform/lib/structured-link-patch.js +0 -59
  268. package/skills/wix-replatform/lib/task-state.js +0 -110
  269. package/skills/wix-replatform/lib/url-preservation-report.js +0 -319
  270. package/skills/wix-replatform/lib/url-preservation-state.js +0 -739
  271. package/skills/wix-replatform/lib/url-redirect-plan.js +0 -728
  272. package/skills/wix-replatform/lib/url-verification.js +0 -315
  273. package/skills/wix-replatform/lib/user-action-effects.js +0 -42
  274. package/skills/wix-replatform/lib/user-actions.js +0 -264
  275. package/skills/wix-replatform/lib/website-handoff.js +0 -1220
  276. package/skills/wix-replatform/lib/wix-client-callers.js +0 -54
  277. package/skills/wix-replatform/lib/wix-dashboard-url.js +0 -35
  278. package/skills/wix-replatform/lib/write-verification-state.js +0 -92
  279. package/skills/wix-replatform/lib/write-verification.js +0 -274
  280. package/skills/wix-replatform/resources/rp-destination/SKILL.md +0 -137
  281. package/skills/wix-replatform/resources/rp-discovery/SKILL.md +0 -357
  282. package/skills/wix-replatform/resources/rp-discovery/scripts/promote-source-coverage.js +0 -47
  283. package/skills/wix-replatform/resources/rp-execute-import/SKILL.md +0 -1369
  284. package/skills/wix-replatform/resources/rp-execute-import/scripts/shipping-estimate-audit.js +0 -70
  285. package/skills/wix-replatform/resources/rp-execute-setup/SKILL.md +0 -482
  286. package/skills/wix-replatform/resources/rp-execute-setup/scripts/execute-setup.js +0 -442
  287. package/skills/wix-replatform/resources/rp-execute-setup/scripts/mint-token.sh +0 -64
  288. package/skills/wix-replatform/resources/rp-execution-policy/SKILL.md +0 -112
  289. package/skills/wix-replatform/resources/rp-execution-policy/lib/coupon-currency-plan-report.js +0 -143
  290. package/skills/wix-replatform/resources/rp-execution-policy/lib/payments-report.js +0 -244
  291. package/skills/wix-replatform/resources/rp-import-codegen/SKILL.md +0 -3158
  292. package/skills/wix-replatform/resources/rp-mapper/SKILL.md +0 -947
  293. package/skills/wix-replatform/resources/rp-mapper/lib/mapping-resolve.js +0 -217
  294. package/skills/wix-replatform/resources/rp-mapper/lib/structure-bridge-planning.js +0 -303
  295. package/skills/wix-replatform/resources/rp-mapper/scripts/coverage-reconcile.js +0 -88
  296. package/skills/wix-replatform/resources/rp-mapper/scripts/resolve-mapping.js +0 -148
  297. package/skills/wix-replatform/resources/rp-mapper/wix-business-solutions-taxonomy.md +0 -378
  298. package/skills/wix-replatform/resources/rp-preflight/SKILL.md +0 -40
  299. package/skills/wix-replatform/resources/rp-project-intake/SKILL.md +0 -55
  300. package/skills/wix-replatform/resources/rp-quick-runtime/SKILL.md +0 -60
  301. package/skills/wix-replatform/resources/rp-quick-runtime/lib/import-progress.js +0 -89
  302. package/skills/wix-replatform/resources/rp-quick-runtime/lib/limit-recovery.js +0 -36
  303. package/skills/wix-replatform/resources/rp-quick-shopify/SKILL.md +0 -123
  304. package/skills/wix-replatform/resources/rp-quick-shopify/quick-mode.json +0 -124
  305. package/skills/wix-replatform/resources/rp-quick-shopify/scripts/quick-mode.js +0 -522
  306. package/skills/wix-replatform/resources/rp-quick-woocommerce/SKILL.md +0 -56
  307. package/skills/wix-replatform/resources/rp-quick-woocommerce/quick-mode.json +0 -91
  308. package/skills/wix-replatform/resources/rp-quick-woocommerce/scripts/quick-mode.js +0 -255
  309. package/skills/wix-replatform/resources/rp-setup-discovery/SKILL.md +0 -253
  310. package/skills/wix-replatform/resources/rp-setup-discovery/scripts/quick-setup-plan.js +0 -44
  311. package/skills/wix-replatform/resources/rp-source-csv/SKILL.md +0 -481
  312. package/skills/wix-replatform/resources/rp-source-csv/lib/canonical-record.js +0 -136
  313. package/skills/wix-replatform/resources/rp-source-csv/lib/csv-fileset.js +0 -0
  314. package/skills/wix-replatform/resources/rp-source-csv/lib/csv-fingerprint.js +0 -310
  315. package/skills/wix-replatform/resources/rp-source-csv/lib/csv-layout.js +0 -1081
  316. package/skills/wix-replatform/resources/rp-source-csv/lib/csv-parse.js +0 -618
  317. package/skills/wix-replatform/resources/rp-source-csv/scripts/csv-discovery.js +0 -969
  318. package/skills/wix-replatform/resources/rp-source-csv/source-schema.example.json +0 -196
  319. package/skills/wix-replatform/resources/rp-source-csv/vendors/bigcommerce.json +0 -66
  320. package/skills/wix-replatform/resources/rp-source-csv/vendors/magento.json +0 -60
  321. package/skills/wix-replatform/resources/rp-source-csv/vendors/shopify.json +0 -95
  322. package/skills/wix-replatform/resources/rp-source-csv/vendors/woocommerce.json +0 -82
  323. package/skills/wix-replatform/resources/rp-source-inputs/SKILL.md +0 -66
  324. package/skills/wix-replatform/resources/rp-source-sfcc/SKILL.md +0 -153
  325. package/skills/wix-replatform/resources/rp-source-shopify/SKILL.md +0 -394
  326. package/skills/wix-replatform/resources/rp-source-shopify/lib/discovery-reads.js +0 -200
  327. package/skills/wix-replatform/resources/rp-source-shopify/lib/import-findings.js +0 -34
  328. package/skills/wix-replatform/resources/rp-source-shopify/lib/shopify-bulk-sqlite-worker.js +0 -44
  329. package/skills/wix-replatform/resources/rp-source-shopify/lib/shopify-bulk.js +0 -1470
  330. package/skills/wix-replatform/resources/rp-source-shopify/lib/shopify-cli.js +0 -446
  331. package/skills/wix-replatform/resources/rp-source-shopify/lib/shopify-gift-cards.js +0 -474
  332. package/skills/wix-replatform/resources/rp-source-shopify/lib/shopify-protected-fields.js +0 -879
  333. package/skills/wix-replatform/resources/rp-source-shopify/lib/shopify-session.js +0 -426
  334. package/skills/wix-replatform/resources/rp-source-shopify/queries/articles.graphql +0 -24
  335. package/skills/wix-replatform/resources/rp-source-shopify/queries/blogs.graphql +0 -18
  336. package/skills/wix-replatform/resources/rp-source-shopify/queries/collections.graphql +0 -40
  337. package/skills/wix-replatform/resources/rp-source-shopify/queries/customers.graphql +0 -76
  338. package/skills/wix-replatform/resources/rp-source-shopify/queries/delivery-profiles.graphql +0 -51
  339. package/skills/wix-replatform/resources/rp-source-shopify/queries/discounts.graphql +0 -35
  340. package/skills/wix-replatform/resources/rp-source-shopify/queries/files.graphql +0 -20
  341. package/skills/wix-replatform/resources/rp-source-shopify/queries/gift-cards.graphql +0 -18
  342. package/skills/wix-replatform/resources/rp-source-shopify/queries/inventory.graphql +0 -31
  343. package/skills/wix-replatform/resources/rp-source-shopify/queries/locations.graphql +0 -21
  344. package/skills/wix-replatform/resources/rp-source-shopify/queries/menus.graphql +0 -21
  345. package/skills/wix-replatform/resources/rp-source-shopify/queries/metaobjects.graphql +0 -30
  346. package/skills/wix-replatform/resources/rp-source-shopify/queries/orders-core.graphql +0 -150
  347. package/skills/wix-replatform/resources/rp-source-shopify/queries/orders-fulfillments.graphql +0 -36
  348. package/skills/wix-replatform/resources/rp-source-shopify/queries/orders-refunds.graphql +0 -48
  349. package/skills/wix-replatform/resources/rp-source-shopify/queries/pages.graphql +0 -20
  350. package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-customers-address.graphql +0 -8
  351. package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-customers-email.graphql +0 -6
  352. package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-customers-name.graphql +0 -8
  353. package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-customers-phone.graphql +0 -8
  354. package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-orders-address.graphql +0 -12
  355. package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-orders-email.graphql +0 -6
  356. package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-orders-name.graphql +0 -13
  357. package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-orders-phone.graphql +0 -13
  358. package/skills/wix-replatform/resources/rp-source-shopify/queries/products.graphql +0 -73
  359. package/skills/wix-replatform/resources/rp-source-shopify/queries/url-redirects.graphql +0 -13
  360. package/skills/wix-replatform/resources/rp-source-shopify/scripts/shopify-discovery.js +0 -693
  361. package/skills/wix-replatform/resources/rp-source-shopify/scripts/shopify-extract.js +0 -283
  362. package/skills/wix-replatform/resources/rp-source-shopify/scripts/shopify-gift-card-remedy.js +0 -191
  363. package/skills/wix-replatform/resources/rp-source-shopify/scripts/shopify-session-check.js +0 -115
  364. package/skills/wix-replatform/resources/rp-source-shopify/source-schema.example.json +0 -201
  365. package/skills/wix-replatform/resources/rp-source-wordpress/PLUGIN-READ-PLANS.md +0 -146
  366. package/skills/wix-replatform/resources/rp-source-wordpress/SKILL.md +0 -970
  367. package/skills/wix-replatform/resources/rp-source-wordpress/lib/blocked-data-handlers.js +0 -73
  368. package/skills/wix-replatform/resources/rp-source-wordpress/lib/checkout-field-csv-parser.js +0 -115
  369. package/skills/wix-replatform/resources/rp-source-wordpress/lib/checkout-field-csv-parser.test-fixture.js +0 -91
  370. package/skills/wix-replatform/resources/rp-source-wordpress/lib/coupon-discovery.js +0 -440
  371. package/skills/wix-replatform/resources/rp-source-wordpress/lib/currency-gate.js +0 -125
  372. package/skills/wix-replatform/resources/rp-source-wordpress/lib/gateway-source-keys.js +0 -252
  373. package/skills/wix-replatform/resources/rp-source-wordpress/lib/gateway-source-keys.json +0 -183
  374. package/skills/wix-replatform/resources/rp-source-wordpress/lib/gateway-summary.mjs +0 -333
  375. package/skills/wix-replatform/resources/rp-source-wordpress/lib/invoice-discovery.js +0 -426
  376. package/skills/wix-replatform/resources/rp-source-wordpress/lib/plugin-disposition.js +0 -400
  377. package/skills/wix-replatform/resources/rp-source-wordpress/lib/plugin-entity-read-plan.js +0 -633
  378. package/skills/wix-replatform/resources/rp-source-wordpress/lib/plugin-knowledge.js +0 -1127
  379. package/skills/wix-replatform/resources/rp-source-wordpress/lib/refund-corroboration.js +0 -194
  380. package/skills/wix-replatform/resources/rp-source-wordpress/lib/refund-corroboration.json +0 -100
  381. package/skills/wix-replatform/resources/rp-source-wordpress/lib/sampled-ids-batch.js +0 -157
  382. package/skills/wix-replatform/resources/rp-source-wordpress/lib/secret-value-guard.js +0 -234
  383. package/skills/wix-replatform/resources/rp-source-wordpress/lib/store-currency.js +0 -101
  384. package/skills/wix-replatform/resources/rp-source-wordpress/lib/structure-bridge-reader.js +0 -755
  385. package/skills/wix-replatform/resources/rp-source-wordpress/lib/wix-wp-plugin-v2-client.js +0 -1074
  386. package/skills/wix-replatform/resources/rp-source-wordpress/lib/wix-wp-plugin-v2-client.test-fixture.js +0 -149
  387. package/skills/wix-replatform/resources/rp-source-wordpress/lib/woo-inventory.js +0 -25
  388. package/skills/wix-replatform/resources/rp-source-wordpress/lib/wp-http.js +0 -444
  389. package/skills/wix-replatform/resources/rp-source-wordpress/lib/wp-image-url.js +0 -186
  390. package/skills/wix-replatform/resources/rp-source-wordpress/lib/wp-plugin-detect.js +0 -1422
  391. package/skills/wix-replatform/resources/rp-source-wordpress/lib/wp-redirect-sources.js +0 -343
  392. package/skills/wix-replatform/resources/rp-source-wordpress/lib/wp-route-classifier.js +0 -680
  393. package/skills/wix-replatform/resources/rp-source-wordpress/lib/yoast-product-seo-evidence.js +0 -272
  394. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/README.md +0 -373
  395. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/advanced-custom-fields.json +0 -101
  396. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/back-in-stock-notifier-for-woocommerce.json +0 -81
  397. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/capabilities-pending-decision.json +0 -128
  398. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/cms-fallback-eligible.json +0 -18
  399. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/contact-form-7.json +0 -104
  400. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/facebook-for-woocommerce.json +0 -44
  401. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/fingerprint-aliases.json +0 -49
  402. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/free-gifts-for-woocommerce.json +0 -94
  403. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/index.json +0 -863
  404. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/mailpoet.json +0 -52
  405. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/membership-for-woocommerce.json +0 -161
  406. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/mwb-bookings-for-woocommerce.json +0 -180
  407. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/no-migration-needed.json +0 -286
  408. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/pricing-deals-for-woocommerce.json +0 -79
  409. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/product-extras-for-woocommerce.json +0 -120
  410. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/pw-woocommerce-gift-cards.json +0 -128
  411. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/requires-development.json +0 -88
  412. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/seo-by-rank-math.json +0 -80
  413. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/seriously-simple-podcasting.json +0 -46
  414. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/strong-testimonials.json +0 -55
  415. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/subscriptions-for-woocommerce.json +0 -99
  416. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/tablepress.json +0 -55
  417. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/the-events-calendar.json +0 -160
  418. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/ti-woocommerce-wishlist.json +0 -81
  419. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woo-checkout-field-editor-pro.json +0 -60
  420. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woo-discount-rules.json +0 -74
  421. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woo-product-bundle.json +0 -75
  422. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woocommerce-gift-cards.json +0 -60
  423. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woocommerce-other-payment-gateway.json +0 -44
  424. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woocommerce-pdf-invoices-packing-slips.json +0 -57
  425. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woocommerce-product-addon.json +0 -141
  426. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woocommerce-progressive-discounts.json +0 -54
  427. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/wordpress-seo.json +0 -158
  428. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/wpc-composite-products.json +0 -97
  429. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/wpforms-lite.json +0 -86
  430. package/skills/wix-replatform/resources/rp-source-wordpress/scripts/capture-store-settings.js +0 -90
  431. package/skills/wix-replatform/resources/rp-source-wordpress/scripts/plugin-knowledge-validate.js +0 -51
  432. package/skills/wix-replatform/resources/rp-source-wordpress/scripts/plugin-knowledge.js +0 -103
  433. package/skills/wix-replatform/resources/rp-source-wordpress/scripts/wp-discovery.js +0 -2409
  434. package/skills/wix-replatform/resources/rp-source-wordpress/scripts/wp-plugin-inventory.js +0 -273
  435. package/skills/wix-replatform/resources/rp-source-wordpress/secret-value-patterns.v1.json +0 -11
  436. package/skills/wix-replatform/resources/rp-source-wordpress/source-schema.example.json +0 -71
  437. package/skills/wix-replatform/resources/rp-source-wordpress/sub-parts.json +0 -13
  438. package/skills/wix-replatform/resources/rp-target-wix/SKILL.md +0 -1046
  439. package/skills/wix-replatform/resources/rp-target-wix/app-page-routing-capabilities.json +0 -36
  440. package/skills/wix-replatform/resources/rp-target-wix/domains/README.md +0 -57
  441. package/skills/wix-replatform/resources/rp-target-wix/domains/SERVICE-PLUGINS.md +0 -322
  442. package/skills/wix-replatform/resources/rp-target-wix/domains/blog/docs-survey.json +0 -70
  443. package/skills/wix-replatform/resources/rp-target-wix/domains/blog/domain.json +0 -29
  444. package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/category.json +0 -71
  445. package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/comment.json +0 -83
  446. package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/post.json +0 -95
  447. package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/tag.json +0 -66
  448. package/skills/wix-replatform/resources/rp-target-wix/domains/bookings/docs-survey.json +0 -332
  449. package/skills/wix-replatform/resources/rp-target-wix/domains/bookings/domain.json +0 -75
  450. package/skills/wix-replatform/resources/rp-target-wix/domains/bookings/entities/booking.json +0 -181
  451. package/skills/wix-replatform/resources/rp-target-wix/domains/bookings/entities/service-add-on.json +0 -130
  452. package/skills/wix-replatform/resources/rp-target-wix/domains/bookings/entities/service.json +0 -180
  453. package/skills/wix-replatform/resources/rp-target-wix/domains/cms/docs-survey.json +0 -161
  454. package/skills/wix-replatform/resources/rp-target-wix/domains/cms/domain.json +0 -25
  455. package/skills/wix-replatform/resources/rp-target-wix/domains/cms/entities/collection.json +0 -67
  456. package/skills/wix-replatform/resources/rp-target-wix/domains/cms/entities/data-item.json +0 -75
  457. package/skills/wix-replatform/resources/rp-target-wix/domains/cms/entities/reference.json +0 -41
  458. package/skills/wix-replatform/resources/rp-target-wix/domains/crm/docs-survey.json +0 -204
  459. package/skills/wix-replatform/resources/rp-target-wix/domains/crm/domain.json +0 -27
  460. package/skills/wix-replatform/resources/rp-target-wix/domains/crm/entities/contact.json +0 -275
  461. package/skills/wix-replatform/resources/rp-target-wix/domains/crm/entities/email-subscription.json +0 -105
  462. package/skills/wix-replatform/resources/rp-target-wix/domains/crm/entities/label.json +0 -77
  463. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/docs-survey.json +0 -297
  464. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/domain.json +0 -44
  465. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/delivery-profile.json +0 -171
  466. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/discount-rule.json +0 -182
  467. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-applied-discount.json +0 -129
  468. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-invoice-document.json +0 -192
  469. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-line-item-options.json +0 -123
  470. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-line-item.json +0 -85
  471. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-merchant-note.json +0 -112
  472. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-payment.json +0 -191
  473. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-refund.json +0 -164
  474. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order.json +0 -462
  475. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/pickup-location.json +0 -122
  476. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/shipping-option.json +0 -98
  477. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/wishlist-item.json +0 -86
  478. package/skills/wix-replatform/resources/rp-target-wix/domains/events/docs-survey.json +0 -128
  479. package/skills/wix-replatform/resources/rp-target-wix/domains/events/domain.json +0 -38
  480. package/skills/wix-replatform/resources/rp-target-wix/domains/events/entities/category.json +0 -73
  481. package/skills/wix-replatform/resources/rp-target-wix/domains/events/entities/event.json +0 -107
  482. package/skills/wix-replatform/resources/rp-target-wix/domains/events/entities/registration-form.json +0 -89
  483. package/skills/wix-replatform/resources/rp-target-wix/domains/events/entities/rsvp.json +0 -118
  484. package/skills/wix-replatform/resources/rp-target-wix/domains/events/entities/ticket-definition.json +0 -93
  485. package/skills/wix-replatform/resources/rp-target-wix/domains/forms/docs-survey.json +0 -86
  486. package/skills/wix-replatform/resources/rp-target-wix/domains/forms/domain.json +0 -56
  487. package/skills/wix-replatform/resources/rp-target-wix/domains/forms/entities/form-submission.json +0 -121
  488. package/skills/wix-replatform/resources/rp-target-wix/domains/forms/entities/form.json +0 -134
  489. package/skills/wix-replatform/resources/rp-target-wix/domains/gift-cards/docs-survey.json +0 -41
  490. package/skills/wix-replatform/resources/rp-target-wix/domains/gift-cards/domain.json +0 -50
  491. package/skills/wix-replatform/resources/rp-target-wix/domains/gift-cards/entities/gift-card-product.json +0 -87
  492. package/skills/wix-replatform/resources/rp-target-wix/domains/gift-cards/entities/gift-card.json +0 -130
  493. package/skills/wix-replatform/resources/rp-target-wix/domains/index.json +0 -1418
  494. package/skills/wix-replatform/resources/rp-target-wix/domains/media/docs-survey.json +0 -41
  495. package/skills/wix-replatform/resources/rp-target-wix/domains/media/domain.json +0 -24
  496. package/skills/wix-replatform/resources/rp-target-wix/domains/media/entities/media-file.json +0 -75
  497. package/skills/wix-replatform/resources/rp-target-wix/domains/media/entities/media-folder.json +0 -71
  498. package/skills/wix-replatform/resources/rp-target-wix/domains/members/docs-survey.json +0 -119
  499. package/skills/wix-replatform/resources/rp-target-wix/domains/members/domain.json +0 -23
  500. package/skills/wix-replatform/resources/rp-target-wix/domains/members/entities/badge.json +0 -71
  501. package/skills/wix-replatform/resources/rp-target-wix/domains/members/entities/custom-field.json +0 -82
  502. package/skills/wix-replatform/resources/rp-target-wix/domains/members/entities/member-about.json +0 -77
  503. package/skills/wix-replatform/resources/rp-target-wix/domains/members/entities/member.json +0 -205
  504. package/skills/wix-replatform/resources/rp-target-wix/domains/pricing-plans/docs-survey.json +0 -41
  505. package/skills/wix-replatform/resources/rp-target-wix/domains/pricing-plans/domain.json +0 -46
  506. package/skills/wix-replatform/resources/rp-target-wix/domains/pricing-plans/entities/plan-order.json +0 -137
  507. package/skills/wix-replatform/resources/rp-target-wix/domains/pricing-plans/entities/plan.json +0 -133
  508. package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/docs-survey.json +0 -7
  509. package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/domain.json +0 -36
  510. package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/entities/amazon-shop-connect.json +0 -71
  511. package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/entities/ebay-shop-connect.json +0 -67
  512. package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/entities/google-youtube-connect.json +0 -72
  513. package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/entities/meta-catalog-connect.json +0 -74
  514. package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/entities/pinterest-catalog-connect.json +0 -69
  515. package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/entities/tiktok-catalog-connect.json +0 -61
  516. package/skills/wix-replatform/resources/rp-target-wix/domains/schema.json +0 -111
  517. package/skills/wix-replatform/resources/rp-target-wix/domains/seo/docs-survey.json +0 -109
  518. package/skills/wix-replatform/resources/rp-target-wix/domains/seo/domain.json +0 -73
  519. package/skills/wix-replatform/resources/rp-target-wix/domains/seo/entities/item-seo-tags.json +0 -148
  520. package/skills/wix-replatform/resources/rp-target-wix/domains/seo/entities/seo-pattern.json +0 -91
  521. package/skills/wix-replatform/resources/rp-target-wix/domains/seo/entities/site-seo-tags.json +0 -79
  522. package/skills/wix-replatform/resources/rp-target-wix/domains/site/docs-survey.json +0 -32
  523. package/skills/wix-replatform/resources/rp-target-wix/domains/site/domain.json +0 -49
  524. package/skills/wix-replatform/resources/rp-target-wix/domains/site/entities/business-contact.json +0 -103
  525. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/docs-survey.json +0 -203
  526. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/domain.json +0 -42
  527. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/back-in-stock-request.json +0 -119
  528. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/brand.json +0 -111
  529. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/category.json +0 -81
  530. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/coupon.json +0 -241
  531. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/inventory-item.json +0 -118
  532. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/product-customization.json +0 -111
  533. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/product-tag.json +0 -79
  534. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/product.json +0 -221
  535. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/promotion.json +0 -84
  536. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/review.json +0 -178
  537. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/subscription-product.json +0 -87
  538. package/skills/wix-replatform/resources/rp-target-wix/domains/tax/docs-survey.json +0 -106
  539. package/skills/wix-replatform/resources/rp-target-wix/domains/tax/domain.json +0 -64
  540. package/skills/wix-replatform/resources/rp-target-wix/domains/tax/entities/manual-tax-mapping.json +0 -119
  541. package/skills/wix-replatform/resources/rp-target-wix/domains/tax/entities/tax-group.json +0 -94
  542. package/skills/wix-replatform/resources/rp-target-wix/domains/tax/entities/tax-region.json +0 -113
  543. package/skills/wix-replatform/resources/rp-target-wix/domains/tax/entities/tax-settings.json +0 -65
  544. package/skills/wix-replatform/resources/rp-target-wix/lib/audit-summary.js +0 -64
  545. package/skills/wix-replatform/resources/rp-target-wix/lib/blog-author-attribution.js +0 -165
  546. package/skills/wix-replatform/resources/rp-target-wix/lib/blog-post-build-client.js +0 -60
  547. package/skills/wix-replatform/resources/rp-target-wix/lib/blog-post-build-duplicates.js +0 -201
  548. package/skills/wix-replatform/resources/rp-target-wix/lib/blog-post-build-ledger.js +0 -306
  549. package/skills/wix-replatform/resources/rp-target-wix/lib/blog-post-build-report.js +0 -229
  550. package/skills/wix-replatform/resources/rp-target-wix/lib/blog-post-build-stage.js +0 -55
  551. package/skills/wix-replatform/resources/rp-target-wix/lib/blog-post-build.js +0 -715
  552. package/skills/wix-replatform/resources/rp-target-wix/lib/blog-post-media.js +0 -567
  553. package/skills/wix-replatform/resources/rp-target-wix/lib/bulk-results.js +0 -73
  554. package/skills/wix-replatform/resources/rp-target-wix/lib/contact-extended-fields.js +0 -194
  555. package/skills/wix-replatform/resources/rp-target-wix/lib/contact-import.js +0 -133
  556. package/skills/wix-replatform/resources/rp-target-wix/lib/contract-ledger.js +0 -150
  557. package/skills/wix-replatform/resources/rp-target-wix/lib/coupon-redemption-drift.js +0 -491
  558. package/skills/wix-replatform/resources/rp-target-wix/lib/customer-member.js +0 -104
  559. package/skills/wix-replatform/resources/rp-target-wix/lib/data-extension-schema.js +0 -673
  560. package/skills/wix-replatform/resources/rp-target-wix/lib/domain-knowledge.js +0 -835
  561. package/skills/wix-replatform/resources/rp-target-wix/lib/gift-card-balance-reconciliation.js +0 -119
  562. package/skills/wix-replatform/resources/rp-target-wix/lib/gift-card-build.js +0 -566
  563. package/skills/wix-replatform/resources/rp-target-wix/lib/gift-card-redemption-build.js +0 -249
  564. package/skills/wix-replatform/resources/rp-target-wix/lib/ndjson.js +0 -260
  565. package/skills/wix-replatform/resources/rp-target-wix/lib/order-applied-discount-build.js +0 -63
  566. package/skills/wix-replatform/resources/rp-target-wix/lib/order-buyer.js +0 -187
  567. package/skills/wix-replatform/resources/rp-target-wix/lib/order-channel-build.js +0 -64
  568. package/skills/wix-replatform/resources/rp-target-wix/lib/order-history.js +0 -1027
  569. package/skills/wix-replatform/resources/rp-target-wix/lib/order-invoice-contract.js +0 -90
  570. package/skills/wix-replatform/resources/rp-target-wix/lib/order-payment-mapping.js +0 -420
  571. package/skills/wix-replatform/resources/rp-target-wix/lib/pricing-plan-definition.js +0 -177
  572. package/skills/wix-replatform/resources/rp-target-wix/lib/product-import.js +0 -151
  573. package/skills/wix-replatform/resources/rp-target-wix/lib/product-seo.js +0 -723
  574. package/skills/wix-replatform/resources/rp-target-wix/lib/seo-redirects.js +0 -353
  575. package/skills/wix-replatform/resources/rp-target-wix/lib/shipping-build.js +0 -1437
  576. package/skills/wix-replatform/resources/rp-target-wix/lib/shipping-option-stage.js +0 -354
  577. package/skills/wix-replatform/resources/rp-target-wix/lib/store-config-build.js +0 -134
  578. package/skills/wix-replatform/resources/rp-target-wix/lib/stores-category-attach.js +0 -221
  579. package/skills/wix-replatform/resources/rp-target-wix/lib/stores-inventory.js +0 -248
  580. package/skills/wix-replatform/resources/rp-target-wix/lib/stores-verification.js +0 -321
  581. package/skills/wix-replatform/resources/rp-target-wix/lib/tax-build.js +0 -231
  582. package/skills/wix-replatform/resources/rp-target-wix/lib/url-mapper-transport.js +0 -28
  583. package/skills/wix-replatform/resources/rp-target-wix/lib/value-utils.js +0 -14
  584. package/skills/wix-replatform/resources/rp-target-wix/lib/variant-correlation.js +0 -34
  585. package/skills/wix-replatform/resources/rp-target-wix/lib/wix-build.js +0 -388
  586. package/skills/wix-replatform/resources/rp-target-wix/lib/wix-target-spec.js +0 -255
  587. package/skills/wix-replatform/resources/rp-target-wix/lib/wix-writers.js +0 -6041
  588. package/skills/wix-replatform/resources/rp-target-wix/lib/write-verification.js +0 -3
  589. package/skills/wix-replatform/resources/rp-target-wix/scripts/docs-survey-sync.js +0 -150
  590. package/skills/wix-replatform/resources/rp-target-wix/scripts/domain-knowledge-validate.js +0 -69
  591. package/skills/wix-replatform/resources/rp-target-wix/scripts/domain-knowledge.js +0 -100
  592. package/skills/wix-replatform/resources/rp-target-wix/scripts/verify-stores.js +0 -112
  593. package/skills/wix-replatform/resources/rp-telemetry/SKILL.md +0 -484
  594. package/skills/wix-replatform/resources/rp-telemetry/lib/bi-sink.js +0 -318
  595. package/skills/wix-replatform/resources/rp-telemetry/lib/telemetry-recorder.js +0 -2831
  596. package/skills/wix-replatform/resources/rp-telemetry/lib/transcript-digest.js +0 -318
  597. package/skills/wix-replatform/resources/rp-telemetry/scripts/meter-from-audit.js +0 -83
  598. package/skills/wix-replatform/resources/rp-telemetry/scripts/rp-telemetry.js +0 -243
  599. package/skills/wix-replatform/resources/rp-website-continuation/SKILL.md +0 -94
  600. package/skills/wix-replatform/scripts/artifact-freshness.js +0 -76
  601. package/skills/wix-replatform/scripts/census-reconciliation.js +0 -25
  602. package/skills/wix-replatform/scripts/cms-fallback.js +0 -89
  603. package/skills/wix-replatform/scripts/discovered-census.js +0 -26
  604. package/skills/wix-replatform/scripts/discovered-set-status.js +0 -33
  605. package/skills/wix-replatform/scripts/entity-qa-attestation.js +0 -130
  606. package/skills/wix-replatform/scripts/execution-health-check.js +0 -415
  607. package/skills/wix-replatform/scripts/execution-manifest-validate.js +0 -43
  608. package/skills/wix-replatform/scripts/execution-state-prepare.js +0 -128
  609. package/skills/wix-replatform/scripts/expectations-ledger.js +0 -44
  610. package/skills/wix-replatform/scripts/import-contract-verify.js +0 -183
  611. package/skills/wix-replatform/scripts/internal-link-audit.js +0 -90
  612. package/skills/wix-replatform/scripts/item-seo-tags-verify.js +0 -205
  613. package/skills/wix-replatform/scripts/migration-completion.js +0 -76
  614. package/skills/wix-replatform/scripts/orchestration-preflight.js +0 -67
  615. package/skills/wix-replatform/scripts/orchestration-route.js +0 -77
  616. package/skills/wix-replatform/scripts/orchestration-state.js +0 -381
  617. package/skills/wix-replatform/scripts/read-back-gate.js +0 -175
  618. package/skills/wix-replatform/scripts/replatform-console.js +0 -146
  619. package/skills/wix-replatform/scripts/replatform.js +0 -436
  620. package/skills/wix-replatform/scripts/source-secrets.js +0 -77
  621. package/skills/wix-replatform/scripts/url-redirects.js +0 -286
  622. package/skills/wix-replatform/scripts/user-action.js +0 -58
  623. package/skills/wix-replatform/scripts/website-handoff-generate.js +0 -64
  624. package/skills/wix-replatform/scripts/wix-dashboard-url.js +0 -54
  625. package/skills/wix-replatform/scripts/wix-destination.js +0 -143
  626. package/skills/wix-replatform/scripts/wix-headless-scaffold.js +0 -762
  627. package/skills/wix-vibe-headless/SKILL.md +0 -183
  628. package/skills/wix-vibe-headless/install/deploy.cjs +0 -221
  629. package/skills/wix-vibe-headless/install/pin-agents-md.cjs +0 -35
  630. package/skills/wix-vibe-headless/platforms/README.md +0 -26
  631. package/skills/wix-vibe-headless/platforms/base44-ecom-light-seed-with-install.md +0 -127
  632. package/skills/wix-vibe-headless/platforms/base44-ecom-light-seed.md +0 -121
  633. package/skills/wix-vibe-headless/platforms/base44-ecom-light.md +0 -87
  634. package/skills/wix-vibe-headless/platforms/base44.md +0 -148
  635. package/skills/wix-vibe-headless/platforms/generic.md +0 -132
  636. package/skills/wix-vibe-headless/references/_shared/nav/nav.tanstack.js +0 -30
  637. package/skills/wix-vibe-headless/references/_shared/routing.md +0 -86
  638. package/skills/wix-vibe-headless/references/blog/INSTRUCTIONS.md +0 -270
  639. package/skills/wix-vibe-headless/references/blog/app/components/PostCard.jsx +0 -43
  640. package/skills/wix-vibe-headless/references/blog/app/components/PostChips.jsx +0 -25
  641. package/skills/wix-vibe-headless/references/blog/app/components/PostGrid.jsx +0 -15
  642. package/skills/wix-vibe-headless/references/blog/app/context/TaxonomyContext.jsx +0 -35
  643. package/skills/wix-vibe-headless/references/blog/app/hooks/usePostDetail.js +0 -38
  644. package/skills/wix-vibe-headless/references/blog/app/pages/Blog.jsx +0 -40
  645. package/skills/wix-vibe-headless/references/blog/app/pages/CategoryPage.jsx +0 -54
  646. package/skills/wix-vibe-headless/references/blog/app/pages/PostDetail.jsx +0 -65
  647. package/skills/wix-vibe-headless/references/blog/app/pages/TagPage.jsx +0 -50
  648. package/skills/wix-vibe-headless/references/blog/app/rest/wix-blog.js +0 -217
  649. package/skills/wix-vibe-headless/references/blog/seed/SEED.md +0 -99
  650. package/skills/wix-vibe-headless/references/blog/seed/seed-blog.cjs +0 -269
  651. package/skills/wix-vibe-headless/references/bookings/INSTRUCTIONS.md +0 -342
  652. package/skills/wix-vibe-headless/references/bookings/app/components/BookingForm.jsx +0 -65
  653. package/skills/wix-vibe-headless/references/bookings/app/components/RentalDurationPicker.jsx +0 -67
  654. package/skills/wix-vibe-headless/references/bookings/app/components/ServiceCard.jsx +0 -47
  655. package/skills/wix-vibe-headless/references/bookings/app/components/ServiceGrid.jsx +0 -13
  656. package/skills/wix-vibe-headless/references/bookings/app/components/SlotPicker.jsx +0 -126
  657. package/skills/wix-vibe-headless/references/bookings/app/hooks/useRentalDuration.js +0 -128
  658. package/skills/wix-vibe-headless/references/bookings/app/hooks/useServiceDetail.js +0 -110
  659. package/skills/wix-vibe-headless/references/bookings/app/hooks/useServices.js +0 -58
  660. package/skills/wix-vibe-headless/references/bookings/app/lib/serviceFacts.js +0 -95
  661. package/skills/wix-vibe-headless/references/bookings/app/pages/ServiceDetail.jsx +0 -94
  662. package/skills/wix-vibe-headless/references/bookings/app/pages/Services.jsx +0 -89
  663. package/skills/wix-vibe-headless/references/bookings/app/rest/wix-bookings-checkout.js +0 -148
  664. package/skills/wix-vibe-headless/references/bookings/app/rest/wix-bookings-rentals.js +0 -250
  665. package/skills/wix-vibe-headless/references/bookings/app/rest/wix-bookings-services.js +0 -300
  666. package/skills/wix-vibe-headless/references/bookings/seed/SEED.md +0 -154
  667. package/skills/wix-vibe-headless/references/bookings/seed/seed-bookings.cjs +0 -333
  668. package/skills/wix-vibe-headless/references/bookings/seed/seed-rentals.cjs +0 -267
  669. package/skills/wix-vibe-headless/references/cms/INSTRUCTIONS.md +0 -178
  670. package/skills/wix-vibe-headless/references/cms/app/collection.config.js +0 -31
  671. package/skills/wix-vibe-headless/references/cms/app/lib/wixImage.js +0 -18
  672. package/skills/wix-vibe-headless/references/cms/app/rest/wix-cms.js +0 -231
  673. package/skills/wix-vibe-headless/references/cms/seed/SEED.md +0 -145
  674. package/skills/wix-vibe-headless/references/donations/INSTRUCTIONS.md +0 -88
  675. package/skills/wix-vibe-headless/references/donations/app/rest/wix-donations.js +0 -112
  676. package/skills/wix-vibe-headless/references/donations/seed/SEED.md +0 -11
  677. package/skills/wix-vibe-headless/references/donations/tests/donations.test.mjs +0 -258
  678. package/skills/wix-vibe-headless/references/events/INSTRUCTIONS.md +0 -267
  679. package/skills/wix-vibe-headless/references/events/app/components/CategoryFilter.jsx +0 -23
  680. package/skills/wix-vibe-headless/references/events/app/components/EventCard.jsx +0 -43
  681. package/skills/wix-vibe-headless/references/events/app/components/EventGrid.jsx +0 -13
  682. package/skills/wix-vibe-headless/references/events/app/components/EventRegistration.jsx +0 -29
  683. package/skills/wix-vibe-headless/references/events/app/components/RsvpForm.jsx +0 -57
  684. package/skills/wix-vibe-headless/references/events/app/components/TicketPicker.jsx +0 -78
  685. package/skills/wix-vibe-headless/references/events/app/hooks/useEventDetail.js +0 -27
  686. package/skills/wix-vibe-headless/references/events/app/hooks/useEventsList.js +0 -54
  687. package/skills/wix-vibe-headless/references/events/app/hooks/useRsvpForm.js +0 -40
  688. package/skills/wix-vibe-headless/references/events/app/hooks/useTicketing.js +0 -81
  689. package/skills/wix-vibe-headless/references/events/app/pages/EventDetail.jsx +0 -48
  690. package/skills/wix-vibe-headless/references/events/app/pages/Events.jsx +0 -36
  691. package/skills/wix-vibe-headless/references/events/app/rest/wix-events-browse.js +0 -136
  692. package/skills/wix-vibe-headless/references/events/app/rest/wix-events-registration.js +0 -187
  693. package/skills/wix-vibe-headless/references/events/seed/SEED.md +0 -103
  694. package/skills/wix-vibe-headless/references/events/seed/seed-events.cjs +0 -251
  695. package/skills/wix-vibe-headless/references/forms/INSTRUCTIONS.md +0 -487
  696. package/skills/wix-vibe-headless/references/forms/app/hooks/useWixForm.js +0 -425
  697. package/skills/wix-vibe-headless/references/forms/app/lib/wix-form-schema-utils.js +0 -187
  698. package/skills/wix-vibe-headless/references/forms/app/rest/wix-forms-submissions.js +0 -238
  699. package/skills/wix-vibe-headless/references/forms/app/rest/wix-forms.js +0 -108
  700. package/skills/wix-vibe-headless/references/forms/seed/SEED.md +0 -1836
  701. package/skills/wix-vibe-headless/references/members/INSTRUCTIONS.md +0 -328
  702. package/skills/wix-vibe-headless/references/members/app/components/LoginForm.jsx +0 -101
  703. package/skills/wix-vibe-headless/references/members/app/components/MemberMenu.jsx +0 -33
  704. package/skills/wix-vibe-headless/references/members/app/components/RequireAuth.jsx +0 -21
  705. package/skills/wix-vibe-headless/references/members/app/components/SocialButtons.jsx +0 -29
  706. package/skills/wix-vibe-headless/references/members/app/context/MemberContext.jsx +0 -54
  707. package/skills/wix-vibe-headless/references/members/app/hooks/useLoginForm.js +0 -77
  708. package/skills/wix-vibe-headless/references/members/app/pages/Account.jsx +0 -36
  709. package/skills/wix-vibe-headless/references/members/app/pages/Callback.jsx +0 -32
  710. package/skills/wix-vibe-headless/references/members/app/pages/Login.jsx +0 -35
  711. package/skills/wix-vibe-headless/references/members/app/rest/wix-members-auth.js +0 -390
  712. package/skills/wix-vibe-headless/references/members/install/Register.jsx +0 -22
  713. package/skills/wix-vibe-headless/references/members/seed/SEED.md +0 -21
  714. package/skills/wix-vibe-headless/references/portfolio/INSTRUCTIONS.md +0 -270
  715. package/skills/wix-vibe-headless/references/portfolio/app/components/CollectionCard.jsx +0 -31
  716. package/skills/wix-vibe-headless/references/portfolio/app/components/CollectionGrid.jsx +0 -15
  717. package/skills/wix-vibe-headless/references/portfolio/app/components/ProjectCard.jsx +0 -39
  718. package/skills/wix-vibe-headless/references/portfolio/app/components/ProjectGrid.jsx +0 -15
  719. package/skills/wix-vibe-headless/references/portfolio/app/components/ProjectMedia.jsx +0 -29
  720. package/skills/wix-vibe-headless/references/portfolio/app/hooks/useCollectionProjects.js +0 -35
  721. package/skills/wix-vibe-headless/references/portfolio/app/hooks/usePortfolioGallery.js +0 -27
  722. package/skills/wix-vibe-headless/references/portfolio/app/hooks/useProjectDetail.js +0 -25
  723. package/skills/wix-vibe-headless/references/portfolio/app/pages/CollectionPage.jsx +0 -39
  724. package/skills/wix-vibe-headless/references/portfolio/app/pages/Portfolio.jsx +0 -27
  725. package/skills/wix-vibe-headless/references/portfolio/app/pages/ProjectDetail.jsx +0 -60
  726. package/skills/wix-vibe-headless/references/portfolio/app/rest/wix-portfolio.js +0 -223
  727. package/skills/wix-vibe-headless/references/portfolio/seed/SEED.md +0 -90
  728. package/skills/wix-vibe-headless/references/portfolio/seed/seed-portfolio.cjs +0 -236
  729. package/skills/wix-vibe-headless/references/pricing-plans/INSTRUCTIONS.md +0 -280
  730. package/skills/wix-vibe-headless/references/pricing-plans/app/components/OrderCard.jsx +0 -35
  731. package/skills/wix-vibe-headless/references/pricing-plans/app/components/PlanCard.jsx +0 -48
  732. package/skills/wix-vibe-headless/references/pricing-plans/app/components/PlanGrid.jsx +0 -16
  733. package/skills/wix-vibe-headless/references/pricing-plans/app/components/PlanPrice.jsx +0 -35
  734. package/skills/wix-vibe-headless/references/pricing-plans/app/hooks/useMyPlans.js +0 -25
  735. package/skills/wix-vibe-headless/references/pricing-plans/app/hooks/usePlanDetail.js +0 -28
  736. package/skills/wix-vibe-headless/references/pricing-plans/app/hooks/usePlans.js +0 -30
  737. package/skills/wix-vibe-headless/references/pricing-plans/app/pages/MyPlans.jsx +0 -30
  738. package/skills/wix-vibe-headless/references/pricing-plans/app/pages/PlanDetail.jsx +0 -53
  739. package/skills/wix-vibe-headless/references/pricing-plans/app/pages/Plans.jsx +0 -28
  740. package/skills/wix-vibe-headless/references/pricing-plans/app/rest/wix-pricing-plans.js +0 -157
  741. package/skills/wix-vibe-headless/references/pricing-plans/seed/SEED.md +0 -82
  742. package/skills/wix-vibe-headless/references/pricing-plans/seed/seed-pricing-plans.cjs +0 -251
  743. package/skills/wix-vibe-headless/references/rentals/INSTRUCTIONS.md +0 -13
  744. package/skills/wix-vibe-headless/references/restaurants/INSTRUCTIONS.md +0 -290
  745. package/skills/wix-vibe-headless/references/restaurants/app/components/ItemDialog.jsx +0 -81
  746. package/skills/wix-vibe-headless/references/restaurants/app/components/MenuItemCard.jsx +0 -71
  747. package/skills/wix-vibe-headless/references/restaurants/app/components/MenuList.jsx +0 -43
  748. package/skills/wix-vibe-headless/references/restaurants/app/components/OrderCartButton.jsx +0 -21
  749. package/skills/wix-vibe-headless/references/restaurants/app/components/OrderCartDrawer.jsx +0 -72
  750. package/skills/wix-vibe-headless/references/restaurants/app/context/OrderCartContext.jsx +0 -66
  751. package/skills/wix-vibe-headless/references/restaurants/app/hooks/useItemOrder.js +0 -32
  752. package/skills/wix-vibe-headless/references/restaurants/app/hooks/useReservation.js +0 -73
  753. package/skills/wix-vibe-headless/references/restaurants/app/pages/Menu.jsx +0 -28
  754. package/skills/wix-vibe-headless/references/restaurants/app/pages/Reservations.jsx +0 -102
  755. package/skills/wix-vibe-headless/references/restaurants/app/rest/wix-restaurants-menu.js +0 -224
  756. package/skills/wix-vibe-headless/references/restaurants/app/rest/wix-restaurants-ordering.js +0 -218
  757. package/skills/wix-vibe-headless/references/restaurants/app/rest/wix-restaurants-reservations.js +0 -107
  758. package/skills/wix-vibe-headless/references/restaurants/seed/SEED.md +0 -176
  759. package/skills/wix-vibe-headless/references/restaurants/seed/seed-restaurants.cjs +0 -452
  760. package/skills/wix-vibe-headless/references/shared/app/components/WixManageBanner.jsx +0 -56
  761. package/skills/wix-vibe-headless/references/shared/app/lib/nav.js +0 -9
  762. package/skills/wix-vibe-headless/references/shared/app/rest/wix-client.js +0 -185
  763. package/skills/wix-vibe-headless/references/shared/app/rest/wix-config.js +0 -8
  764. package/skills/wix-vibe-headless/references/storefront/INSTRUCTIONS.md +0 -471
  765. package/skills/wix-vibe-headless/references/storefront/app/components/CartButton.jsx +0 -20
  766. package/skills/wix-vibe-headless/references/storefront/app/components/CartDrawer.jsx +0 -167
  767. package/skills/wix-vibe-headless/references/storefront/app/context/CartContext.jsx +0 -83
  768. package/skills/wix-vibe-headless/references/storefront/app/hooks/useProductCard.js +0 -104
  769. package/skills/wix-vibe-headless/references/storefront/app/hooks/useProductDetail.js +0 -163
  770. package/skills/wix-vibe-headless/references/storefront/app/hooks/useShop.js +0 -83
  771. package/skills/wix-vibe-headless/references/storefront/app/hooks/useVariantOptions.js +0 -76
  772. package/skills/wix-vibe-headless/references/storefront/app/lib/storeImage.js +0 -64
  773. package/skills/wix-vibe-headless/references/storefront/app/rest/wix-store-cart.js +0 -176
  774. package/skills/wix-vibe-headless/references/storefront/app/rest/wix-store-catalog.js +0 -218
  775. package/skills/wix-vibe-headless/references/storefront/seed/SEED.md +0 -174
  776. package/skills/wix-vibe-headless/references/storefront/seed/seed-store.cjs +0 -546
@@ -1,254 +0,0 @@
1
- ---
2
- name: "Setup Rentals"
3
- description: Initializes a Wix Rentals backend — creates a resource type, the bookable resources (rooms, vehicles, equipment), and the rental services carrying serviceResources plus a duration range so customers pick their own length in hours or days. Rentals has no APIs of its own; it is Services V2 with rentals-specific field values. Specifies the *how* (calls + format); how many resources and services, their ranges and prices come from the request.
4
- ---
5
- **RECIPE**: Business Recipe – Initial Setup for Wix Rentals (Services V2 + Resources V2)
6
-
7
- > **Standard call shape (every curl below).** The `<AUTH>` placeholder is shorthand for `Authorization: Bearer <TOKEN>` only. Body-bearing requests also need `Content-Type: application/json`.
8
-
9
- A concise checklist for turning a freshly provisioned Wix site with the **Wix Rentals** app installed into a populated catalog of rentable resources.
10
- **Notice** that this recipe is **NOT** meant for coding purposes and is **ONLY** meant for initial Rentals backend setup. (The frontend read/booking contract is the sibling recipe `how-to-code-rentals.md`.)
11
-
12
- > **This recipe is the *how*, not the *what*.** What to seed — how many resource types and resources, how many services, whether they are hourly or daily, their duration ranges and prices — is determined by the request you're fulfilling. This recipe only specifies the calls and the request format; it does not decide quantities.
13
-
14
- > **⚠️ Wix Rentals has NO APIs of its own.** It runs on the **Wix Bookings** APIs with rentals-specific field values, so a rental offering is a Bookings *service* and a reservation is a Bookings *booking*. There is no `@wix/rentals` package and no `/rentals/` REST namespace — do not go looking for one, and do not report rentals as "not supported headlessly".
15
- >
16
- > **The Wix Rentals doc set is four pages** — this recipe is distilled from them, and they are where to go when a task falls outside the common path:
17
- > - [About Wix Rentals](https://dev.wix.com/docs/api-reference/business-solutions/rentals/introduction.md) — the model, the app id, and the constraints
18
- > - [Wix Rentals and the Bookings APIs](https://dev.wix.com/docs/api-reference/business-solutions/rentals/wix-rentals-and-the-bookings-apis.md) — each rentals concept mapped to its Bookings API
19
- > - [About Wix Rentals Availability](https://dev.wix.com/docs/api-reference/business-solutions/rentals/about-wix-rentals-availability.md) — resource schedules, hourly vs daily, buffer time
20
- > - [Wix Rentals: Sample Flows](https://dev.wix.com/docs/api-reference/business-solutions/rentals/sample-flows.md) — the call sequences, including [Set up a rental service](https://dev.wix.com/docs/api-reference/business-solutions/rentals/sample-flows.md#set-up-a-rental-service), which is this recipe end to end
21
-
22
- > ### The invariants (read these before anything else)
23
- > A service is a rental because of **five field values**, all set at create time in STEP 4:
24
- > 1. **`appId` = `ff5d6eb1-65e4-4f9a-8b14-64d34c12cc2e`** — and it is **IMMUTABLE after create**. A service created without it is a plain Bookings service *forever*; no update converts it. This is the most expensive mistake in this recipe.
25
- > 2. **`serviceResources: [{ "resourceType": { "id": "<resourceTypeId>" }, "resourceIds": { "values": ["<resourceId>", …] } }]`** — list the resource type **and** its concrete resource ids. Availability comes from the listed ids: identical services return 48 time-slots with them and 0 without. (Dropping `serviceResources` altogether returns `MISSING_APPOINTMENT_RESOURCES` — see STEP 4.)
26
- > 3. **`primaryResourceType`** — the resource type GUID, which makes availability come from the rooms/vehicles instead of staff schedules. It must reference **one of the types listed in `serviceResources`**. Omitting it silently falls back to the **staff** resource type.
27
- > 4. **`form.id` = `3a2ea2ce-91f4-4617-ab24-629933c0c31a`** — the Rentals default booking form, provisioned at install and identical on every site. Omit it and you get the standard Bookings form instead.
28
- > 5. **`durationRange`** — with a single `unitType` (`HOUR` or `DAY`) and its matching `hourOptions`/`dayOptions`. Mutually exclusive with `sessionDurations`.
29
- >
30
- > And one ordering rule: **resources must exist before the service** (STEP 2 before STEP 4), or availability is permanently empty.
31
- >
32
- > **Rental services never use a category** — omit the field. The bookings "a category or it's invisible" rule is specific to Wix Bookings and does not apply to rentals. See STEP 3.
33
-
34
- > **API surfaces:** everything is on the **public** host `https://www.wixapis.com/bookings/...`. Services are **Services V2** (`…/bookings/v2/services`) — the method page's schema header shows an internal `…/_api/bookings/v2/services` form, **do not use that**. Resource types are `…/bookings/v2/resources/resource-types`, resources are `…/bookings/v2/resources`. The Wix Rentals **app id** is `ff5d6eb1-65e4-4f9a-8b14-64d34c12cc2e` (needed here on the service, and by the frontend for filtering + the cart).
35
-
36
- ---
37
-
38
- ## Article: Steps for Setting Up Wix Rentals
39
-
40
- **YOU MUST** complete the following steps **in the given order** (1-5) without skipping any and **without requiring additional user input**. STEP 5 (attributes) runs only when the request calls for filterable resource properties. The **Attach images** step runs **only when imagery is on** — skip it entirely otherwise.
41
-
42
- **⚠️ CRITICAL ORDER REQUIREMENT: resource type (STEP 1) → resources (STEP 2) → services (STEP 4).** (STEP 3 is intentionally empty — rental services use no category.) A rental service declares its resource type in `serviceResources` and points at it via `primaryResourceType`, and its availability is derived from the *resources* in that type — so both must exist before the service. A service created against a resource type that holds **no resources has permanently empty availability**: it is created successfully, appears in the catalog, and can never be booked.
43
-
44
- **Check for pre-existing services first** — same demo-data cleanup as bookings, same rules. List with `POST https://www.wixapis.com/bookings/v2/services/query` (body `{"query": {"paging": {"limit": 100}}}`), and `DELETE https://www.wixapis.com/bookings/v2/services/<serviceId>` the install's own samples. **Do not assume every existing service is a sample** — if it isn't obviously install demo data, **ask the user first**. Full rationale: `setup-bookings.md` § "Check for pre-existing services first".
45
-
46
- ### STEP 1: Create the resource type
47
-
48
- A **resource type** is the category of thing being rented — "Meeting rooms", "Vans", "Cameras". A service connects to exactly **one** resource type, and Wix derives that service's availability from the resources inside it. Create one resource type per kind of thing the request rents.
49
-
50
- ```bash
51
- curl -X POST 'https://www.wixapis.com/bookings/v2/resources/resource-types' \
52
- -H 'Authorization: <AUTH>' \
53
- -H 'Content-Type: application/json' \
54
- -d '{ "resourceType": { "name": "Meeting rooms" } }'
55
- ```
56
-
57
- The response is `{ "resourceType": { "id": "<resourceTypeId>", … } }` — **keep each `id`**, STEP 2 and STEP 4 both need it. Full contract: <https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/resource-types-v2/create-resource-type.md>
58
-
59
- - **`name` is required, max 40 characters, and must be unique per site.** A duplicate returns `409 RESOURCE_TYPE_ALREADY_EXISTS_FOR_NAME` — query or rename rather than retrying the same name.
60
- - Sites have a cap on resource types (`429 MAX_NUMBER_OF_RESOURCE_TYPES_REACHED`). Create one per genuine category, not one per item.
61
-
62
- ### STEP 2: Create the resources
63
-
64
- A **resource** is an individual bookable thing — "Room A", "Room B", "Van 3". Create one per rentable unit. Two resources of the same type mean two customers can rent in parallel.
65
-
66
- ```bash
67
- curl -X POST 'https://www.wixapis.com/bookings/v2/resources' \
68
- -H 'Authorization: <AUTH>' \
69
- -H 'Content-Type: application/json' \
70
- -d '{
71
- "resource": {
72
- "name": "Room A",
73
- "typeId": "<RESOURCE_TYPE_ID_FROM_STEP_1>"
74
- }
75
- }'
76
- ```
77
-
78
- Keep each resource's returned **`id`** — it's needed for attributes (STEP 5) and the handoff, **not** by the service.
79
-
80
- **A resource's `typeId` binds it to its type; the service then binds to those resources by listing their ids.** STEP 4's `serviceResources` names the resource *type* **and** its `resourceIds`, which is where the service's availability comes from. Add a resource later by updating the service's `resourceIds`.
81
-
82
- - **⚠️ Omit `workingHoursSchedules` — this is the deliberate seed default and it matters downstream.** ([Why, in detail](https://dev.wix.com/docs/api-reference/business-solutions/rentals/about-wix-rentals-availability.md#resource-schedules).) A resource with **no** working-hours schedule is bookable **24/7**. That keeps the seed to a single call per resource, *and* it makes a multi-day daily rental store as **one booking** rather than a linked group of per-day bookings. A resource **with** working hours splits every multi-day rental into one booking per working day, created through Create Multi Service Booking — a materially harder frontend flow (`how-to-code-rentals.md` § "Daily availability"). Seed 24/7 unless the request explicitly needs opening hours; the merchant can add hours from the dashboard later.
83
- - **Working hours, when the request genuinely needs them,** are a Schedules V3 schedule referenced by `workingHoursSchedules.scheduleId` — created separately, then attached. It is out of scope for a seed; note it in the handoff instead. Reference: <https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/resources-v2/create-resource.md>
84
- - **Locations** — `locationOptions.specificLocationOptions` binds a resource to business locations. Omit it for a single-location site (the default). When both `workingHoursSchedules` and `locationOptions` are set, **`workingHoursSchedules` takes precedence**.
85
-
86
- ### STEP 3: No category — rental services don't use categories
87
-
88
- **⚠️ Rental services do not use categories at all. Omit `category` from the service payload entirely** — do not send `"category": {}`, a made-up id, or try to create one. There is no step here; the numbering is kept so STEP 4 keeps its name.
89
-
90
- This is the one place where the bookings invariant does **not** carry over. `setup-bookings.md` STEP 2 calls `category.id` critical because a Bookings service without one is hidden on the live site. **That rule is specific to Wix Bookings and does not apply to Wix Rentals** — rentals are surfaced through the `appId`-filtered catalog read, not through Bookings categories. Confirmed on a live Rentals site: services created with no category come back from that read with `hidden: false`, and the Rentals install's own demo service ships without one.
91
-
92
- On a Rentals-only site the categories API isn't reachable anyway — it belongs to the **Wix Bookings app**, so `POST …/bookings/v2/categories` returns **`428 APP_NOT_INSTALLED`**. That is expected: rentals don't use categories, so there is nothing to do here. If the site also runs Wix Bookings for plain services, the categories API works there — assign categories only to those Bookings services, never to rentals.
93
-
94
- ### STEP 4: Create the rental services
95
-
96
- Create the services **one at a time** with `POST https://www.wixapis.com/bookings/v2/services` — one call per service, each with a top-level `service` object. A rental service is a normal **Services V2 `APPOINTMENT`** carrying the rentals-specific values.
97
-
98
- **⚠️ Do NOT use the bulk endpoint (`…/bookings/v2/bulk/services/create`) for rentals.** It creates the service correctly but attaches a **schedule tagged with the Wix Bookings app id instead of the Wix Rentals one**, and calendar events inherit their app id from the schedule — so every booking and every event on that service becomes invisible in the Rentals dashboard calendar. The service itself looks perfect, which is what makes this hard to spot. Verified on a live site: bulk-created schedules carry `13d21c63-b5ec-5912-8397-c3a5ddb27a97`; single-created ones carry the rentals app id. Use single create until that is fixed upstream. (Bulk is still fine for plain Wix Bookings services — see `setup-bookings.md`.)
99
-
100
- **⚠️ CRITICAL: the V2 service payload is FLAT** — name/description/tagLine are top-level, not nested under `info`. Price uses `value` (a **string**), not `amount`. Full field contract: <https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/create-service.md>
101
-
102
- **One hourly rental service, bookable 1–8 hours at $40/hour:**
103
-
104
- ```json
105
- {
106
- "service": {
107
- "type": "APPOINTMENT",
108
- "appId": "ff5d6eb1-65e4-4f9a-8b14-64d34c12cc2e",
109
- "name": "Meeting Room",
110
- "description": "A brand-appropriate description of what is being rented.",
111
- "tagLine": "Short tagline",
112
- "defaultCapacity": 1,
113
- "serviceResources": [ {
114
- "resourceType": { "id": "<RESOURCE_TYPE_ID_FROM_STEP_1>" },
115
- "resourceIds": { "values": ["<RESOURCE_ID_FROM_STEP_2>"] }
116
- } ],
117
- "primaryResourceType": "<RESOURCE_TYPE_ID_FROM_STEP_1>",
118
- "form": { "id": "3a2ea2ce-91f4-4617-ab24-629933c0c31a" },
119
- "onlineBooking": { "enabled": true, "requireManualApproval": false, "allowMultipleRequests": false },
120
- "schedule": {
121
- "availabilityConstraints": {
122
- "durationRange": {
123
- "unitType": "HOUR",
124
- "hourOptions": { "minDurationInMinutes": 60, "maxDurationInMinutes": 480 }
125
- }
126
- }
127
- },
128
- "payment": {
129
- "rateType": "FIXED",
130
- "fixed": { "price": { "value": "40.00", "currency": "USD" } },
131
- "options": { "online": true, "inPerson": false }
132
- },
133
- "locations": [ { "type": "BUSINESS" } ]
134
- }
135
- }
136
- ```
137
-
138
- **`serviceResources` carries both levels.** `resourceType.id` is the type from STEP 1; `resourceIds.values` lists the individual resources from STEP 2 that this service can book (max **100** ids, max **8** `serviceResources` entries).
139
-
140
- **List the concrete `resourceIds`** — the service's availability comes from them. Verified on a live site: identical services returned **48** time-slots with `resourceIds` and **0** without. Add resources later by updating the service's `resourceIds`.
141
-
142
- **⚠️ Price decides how many services you create.** The rate lives on the **service**, not the resource, so resources that rent at **different rates must be separate services**, each pinning its own resource in `resourceIds`. Three meeting rooms at ₪60, ₪120 and ₪250 per hour are **three services** sharing one resource type — not one service with three resources. Resources that rent at the **same** rate can share a single service.
143
-
144
- **For a daily rental**, swap the duration range (everything else is identical):
145
-
146
- ```json
147
- "durationRange": {
148
- "unitType": "DAY",
149
- "dayOptions": { "minDurationInDays": 1, "maxDurationInDays": 5 }
150
- }
151
- ```
152
-
153
- **⚠️ CRITICAL FORMAT REQUIREMENTS:**
154
-
155
- - **`appId` must be the Wix Rentals app id** `ff5d6eb1-65e4-4f9a-8b14-64d34c12cc2e`, and it is **immutable after create** — a service created without it is a plain Bookings service forever, and no update can convert it. Getting this wrong is the single most expensive mistake in this recipe.
156
- - **`appId` also means the service does NOT appear in the Wix Bookings dashboard** — it appears in the Rentals dashboard. That is correct and expected; don't "fix" it.
157
- - **⚠️ `serviceResources` is REQUIRED and is the real cause of `MISSING_APPOINTMENT_RESOURCES` — do not trust the error text.** The message reads *"service of type appointment requires at least one staff member or service resource"*, which invites you to go check whether your resource type has resources in it. **That is a dead end** — the create fails even when the type is fully populated. What the service actually needs is the resource type declared **on the service**:
158
- ```json
159
- "serviceResources": [ {
160
- "resourceType": { "id": "<resourceTypeId>" },
161
- "resourceIds": { "values": ["<resourceId>"] }
162
- } ]
163
- ```
164
- Verified on a live site: adding this field is what makes the create succeed. `resourceType.id` is the type from STEP 1; `resourceIds.values` lists the resources from STEP 2 this service can book. Max **8** `serviceResources` entries, max **100** ids each. **`resourceIds` supplies the service's availability** — list them (48 slots with, 0 without, otherwise identical). Add resources later by updating `resourceIds`.
165
- - **`primaryResourceType`** is the resource type **GUID** from STEP 1, and **must be one of the types listed in `serviceResources`**. It is what makes availability come from the rooms/vehicles rather than from staff schedules. Omitting it silently falls back to the **staff** resource type, which produces a normal staff-driven appointment service.
166
- - **`form.id` selects the booking form. Set it to the Wix Rentals default booking form — `3a2ea2ce-91f4-4617-ab24-629933c0c31a`.** Installing the Rentals app provisions that form, and because it is cloned from the template with the template's own id, **the GUID is the same on every site** — treat it as a constant, like the `appId`. Omit the field and the service uses the standard Wix Bookings form instead, so the rentals form's own fields won't be there. It's the Rentals app's own choice too: `RentalsProvisioner` sets it on every service it creates.
167
- - **`durationRange` and `sessionDurations` are mutually exclusive** — send one or the other, never both. `durationRange` also **can't be combined with `workingHours`** on the service.
168
- - **`unitType` selects which config object is read:** `HOUR` → `hourOptions`, `DAY` → `dayOptions`. Sending `dayOptions` with `unitType: "HOUR"` leaves the range unset.
169
- - **Ranges:** hourly `minDurationInMinutes`/`maxDurationInMinutes` are **30–1440**; daily `minDurationInDays`/`maxDurationInDays` are **1–8** for rentals. Min must be **≤** max. (The underlying Services V2 schema permits days up to 60; Wix Rentals documents 1–8 — stay inside 1–8.)
170
- - **One unit type per service.** A service is hourly *or* daily, never both. If the request wants a room by the hour **and** by the day, that is **two services**, each with its own price.
171
- - **Omit `staffMemberIds`.** Rentals are resource-driven, not staff-driven — `serviceResources` above is what satisfies the appointment-resource requirement. Never add a staff resource to get past `MISSING_APPOINTMENT_RESOURCES`; that reintroduces staff-based availability and produces a service that is no longer a rental in behaviour.
172
- - **Omit `category`.** Rental services don't use categories at all (STEP 3).
173
- - **`onlineBooking: { "enabled": true }` is required** — V2 rejects the create without it even though it reads as optional.
174
- - **`defaultCapacity`** is required; use `1` (one customer rents a given resource at a time; parallel capacity comes from having more *resources*, not higher capacity).
175
- - **`payment.options` — at least one of `online`/`inPerson` must be `true`**, even for free services. `NO_FEE` must pair with `online: false, inPerson: true`.
176
- - **Price is per unit** — per hour for `HOUR`, per day for `DAY`. Wix multiplies it out at booking time (hourly is prorated per minute: `minutes × price ÷ 60`). Do **not** pre-multiply into a whole-rental price.
177
- - **`locations[].type`** — use **`"BUSINESS"`**, never `"OWNER_BUSINESS"` (that enum belongs to `createBooking`'s slot location).
178
- - **Currency** — the site's business currency wins; a EUR-locale site stores `EUR` even if you send `USD`. Not an error.
179
- - **Imagery is opt-in** (`SEED.md` § "Entity images") — seed text-only, attach images in the pass-2 step below.
180
-
181
- **Reading the response.** A single create returns the created service under a top-level `service`:
182
-
183
- ```json
184
- { "service": { "id": "<serviceId>", "name": "…", "type": "APPOINTMENT",
185
- "appId": "ff5d6eb1-65e4-4f9a-8b14-64d34c12cc2e",
186
- "mainSlug": { "name": "<url-slug>", "custom": false },
187
- "schedule": { "id": "<scheduleId>", "availabilityConstraints": { "durationRange": { … } } } } }
188
- ```
189
-
190
- Keep each service's **`service.id`** and **`service.mainSlug.name`** (the frontend links by slug; if absent, derive it: lowercase, non-alphanumerics → hyphens). A failed create returns a normal error — retry that one service **once** with the same body; don't loop, and don't re-create ones that already succeeded.
191
-
192
- **Verify the range actually landed.** `durationRange` is a newer field and a silently-dropped range yields a service that looks fine and books as a fixed slot. Re-read one created service (`GET https://www.wixapis.com/bookings/v2/services/<serviceId>`) and confirm `schedule.availabilityConstraints.durationRange.unitType` is populated before moving on.
193
-
194
- ### STEP 5: Resource attributes (only when the request wants filterable properties)
195
-
196
- Attributes are typed custom properties on a resource — `Capacity` (number), `Has projector` (boolean), `Bed type` (string) — used to describe resources on the site and to filter the catalog. Skip this step entirely unless the request calls for it.
197
-
198
- > **⚠️ The attributes API is the one surface here that really does live under `/_api/`.** Unlike Services V2 (where the `_api` form in the schema header is wrong and the public form is correct), the attributes reference's own examples call `https://www.wixapis.com/_api/attributes/v1/...`. Use the paths exactly as written below — don't "correct" them to a public form.
199
-
200
- **1 · Define each attribute once per site.** Keep each returned `attributeDefinition.id`.
201
-
202
- ```bash
203
- curl -X POST 'https://www.wixapis.com/_api/attributes/v1/attribute-definitions' \
204
- -H 'Authorization: <AUTH>' \
205
- -H 'Content-Type: application/json' \
206
- -d '{
207
- "attributeDefinition": {
208
- "name": "Capacity",
209
- "valueType": "NUMBER",
210
- "numberConfig": { "min": 1, "max": 20 },
211
- "defaultValue": { "numberDefault": 2 },
212
- "visibility": true
213
- }
214
- }'
215
- ```
216
-
217
- **2 · Set values per resource.** The **resource id** is the `{entityId}` path segment. Each entry is matched by `attributeDefinitionId`, so only the listed attributes are created or updated.
218
-
219
- ```bash
220
- curl -X POST 'https://www.wixapis.com/_api/attributes/v1/attribute-values/<RESOURCE_ID_FROM_STEP_2>/bulk-upsert' \
221
- -H 'Authorization: <AUTH>' \
222
- -H 'Content-Type: application/json' \
223
- -d '{
224
- "values": [ { "attributeDefinitionId": "<ATTRIBUTE_DEFINITION_ID>", "numberData": 4 } ],
225
- "returnEntity": true
226
- }'
227
- ```
228
-
229
- The value key is typed — `numberData` for `NUMBER`, and the string/boolean equivalents for those `valueType`s; check the reference for the exact key rather than guessing.
230
-
231
- **3 · Reading them back for display** — filter to attributes whose `attributeDefinition.visibility` is `true`. **⚠️ The API does not enforce visibility server-side**, so an unfiltered render leaks attributes the merchant marked hidden.
232
-
233
- References: <https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/attributes/attribute-definition/create-attribute-definition.md> and <https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/attributes/attribute-value/bulk-upsert-attribute-values.md>
234
-
235
- ### Attach images (imagery ON only — skip otherwise)
236
-
237
- Identical to the bookings flow, because it is the same Services V2 entity. Obtain the image per `references/IMAGE_GENERATION.md`, then `PATCH https://www.wixapis.com/bookings/v2/services/<serviceId>` writing under **`media.mainMedia`** and **`media.coverMedia`**, each `{ "image": { "id", "url", "width", "height" } }`, echoing the current `revision`.
238
-
239
- **⚠️ Writing the image under `media.image` returns `HTTP 200` but silently drops it** — confirm by re-querying the service and checking `media.mainMedia` is populated. Never block on image failure; leave the service text-only. Full shape and caveats: `setup-bookings.md` § "Attach images".
240
-
241
- ---
242
-
243
- ## Conclusion
244
-
245
- Following these steps **in order** sets up a Wix Rentals site:
246
-
247
- - A **resource type** exists, and it **contains resources** — without resources the service's availability is permanently empty.
248
- - Every service carries the **Wix Rentals `appId`** (`ff5d6eb1-65e4-4f9a-8b14-64d34c12cc2e`), set at create time because it is **immutable** afterwards.
249
- - Every service carries **`serviceResources`** with concrete **`resourceIds`** listed — resource type alone gives 0 availability slots — plus **`primaryResourceType`**, so availability comes from the resources rather than from staff.
250
- - Every service carries **`form.id`** = the Rentals default booking form constant, so it uses the rentals form rather than the standard Bookings one.
251
- - Every service carries a **`durationRange`** with a single `unitType` and its matching `hourOptions`/`dayOptions` — never alongside `sessionDurations`.
252
- - **No category** is set — rental services don't use categories, and the bookings visibility rule doesn't apply to them. They are surfaced by the `appId`-filtered catalog read.
253
- - Resources are seeded **24/7** (no working-hours schedule), which keeps a multi-day daily rental to a single booking.
254
- - IDs kept for the coding handoff: `resourceTypeIds[]`, `resourceIds[]`, `serviceIds[]`, service `slug`s (`mainSlug.name`), and any `attributeDefinitionIds[]`.
@@ -1,73 +0,0 @@
1
- ---
2
- name: "Setup Restaurant Experiences"
3
- description: Seeds Wix Table Reservations **Experiences** — a reservation that IS a special dining occasion at the restaurant (chef's table, cheese pairing, tasting-menu evening), as opposed to a plain table booking or a Bookings service. Points to the live docs for the full create payload and carries only the earned gotchas the docs don't state (field-shape drift, payment policy, premium gating, when-to-use). The occasions/prices/schedule come from the request.
4
- ---
5
- **RECIPE**: Business Recipe – Experiences Setup for Wix Table Reservations (Experiences API)
6
-
7
- > **Standard call shape (every curl below).** `<AUTH>` = `Authorization: Bearer <TOKEN>` **and** `wix-site-id: <SITE_ID>`. Body-bearing requests also need `Content-Type: application/json`.
8
-
9
- ## When to use experiences (and when NOT to)
10
-
11
- An **experience** is a **reservation that is itself a curated dining occasion at the restaurant** — it books seats at the restaurant's own reservation location but overrides the location's defaults with its own name, description, per-guest payment policy, party-size, schedule, and booking form. Reach for it when the brief names a **chef's table, cheese pairing, or tasting-menu evening**.
12
-
13
- - **Experience vs plain reservation:** a plain reservation just books a table; an experience books a *named, scheduled, often paid occasion*. Same booking mechanism, different intent.
14
- - **Experience vs `bookings`:** the separate `bookings` vertical is for a **service/appointment/class with a provider** (spa, tutor, studio). If a restaurant *hosts and seats* the occasion, it's an experience — not a booking. (See `CAPABILITIES.md` — "Experiences vs bookings".)
15
-
16
- ## Prerequisites
17
-
18
- - The **Table Reservations app** is installed (`SETUP.md` §2). **Experiences are a feature of that app — there is no separate app to install.**
19
- - A **reservation location exists** — the install auto-provisions the default one (`setup-restaurant-reservations.md` STEP 1). Discover it and take its **`id`**; every experience is created against that `reservationLocationId`. No menu dependency.
20
-
21
- ## The docs are the source of truth for the payload — read them, don't guess
22
-
23
- Read these `.md` twins directly (first priority; append `.md` to the article URL). This recipe deliberately does **not** re-inline the full schema — it changes, and the docs carry the complete, current field tree:
24
-
25
- - **About Experiences** (what they are, how they bind to reservations/locations/time-slots): <https://dev.wix.com/docs/api-reference/business-solutions/restaurants/reservations/experiences/introduction.md>
26
- - **Create Experience** (the full create payload + example): <https://dev.wix.com/docs/api-reference/business-solutions/restaurants/reservations/experiences/create-experience.md>
27
- - **Query / Get Experience**: <https://dev.wix.com/docs/api-reference/business-solutions/restaurants/reservations/experiences/query-experiences.md> · <https://dev.wix.com/docs/api-reference/business-solutions/restaurants/reservations/experiences/get-experience.md>
28
- - **Sample flow** (showcase + book an experience end-to-end): <https://dev.wix.com/docs/api-reference/business-solutions/restaurants/reservations/experiences/sample-flows.md>
29
-
30
- Endpoint: `POST https://www.wixapis.com/table-reservations/experiences/v1/experiences`.
31
-
32
- ## The flow
33
-
34
- 1. **Discover the reservation location** (`setup-restaurant-reservations.md` STEP 1) → keep `reservationLocationId`.
35
- 2. **Create one experience per named occasion.** Build the body from the request (occasion name, per-guest price, party size, days/times, duration) per the **Create Experience** doc. Keep each returned `experience.id`. Set `configuration.visible: true` so it shows on the live site.
36
- 3. Per the "simple seeds" default, create only the occasions the brief names (typically 1–3); don't invent a full calendar.
37
-
38
- Minimal shape (the doc has the complete tree — this is only the skeleton to orient against):
39
-
40
- ```jsonc
41
- { "experience": {
42
- "reservationLocationId": "<reservationLocationId>",
43
- "configuration": {
44
- "displayInfo": { "name": "…", "shortDescription": "…" },
45
- "paymentPolicy": { "paymentPolicyType": "PER_GUEST", "perGuestOptions": { "price": "55.00" } },
46
- "onlineReservations": {
47
- "partySize": { "min": 2, "max": 8 },
48
- "minimumReservationNotice": { "number": 24, "unit": "HOURS" },
49
- "maximumReservationNotice": { "number": 60, "unit": "DAYS" },
50
- "approval": { "mode": "AUTOMATIC" },
51
- "maxGuests": { "number": 16 },
52
- "businessSchedule": { "durationInMinutes": 90, "entries": [
53
- { "recurrence": "WEEKLY", "weeklyOptions": { "startDaysAndTimes": [ { "day": "FRIDAY", "time": "18:30" } ] } }
54
- ] }
55
- },
56
- "visible": true
57
- }
58
- } }
59
- ```
60
-
61
- ## Earned gotchas (what the docs won't tell you — verified against the live API)
62
-
63
- - **⚠️ Notice fields are FLAT under `onlineReservations`, not wrapped.** Send `onlineReservations.minimumReservationNotice` and `.maximumReservationNotice` **directly**. The Create-Experience doc *example* nests them inside a `noticePeriod` object — that wrapper is stale; the required-parameters list (same page) shows them flat, and the flat form is what the API accepts. Follow the parameter tree, not the example blob.
64
- - **Required at create** (creation 400s without them): `reservationLocationId`; `configuration.displayInfo.name`; `configuration.paymentPolicy.paymentPolicyType`; `configuration.onlineReservations.partySize.min/max`, `.approval.mode`, `.minimumReservationNotice.{number,unit}`, `.maximumReservationNotice.{number,unit}`, `.maxGuests.number`. (Confirm against the doc — the list evolves.)
65
- - **`paymentPolicyType`: `PER_GUEST` or `FREE`.** `PER_GUEST` needs `perGuestOptions.price` (decimal **string**, e.g. `"55.00"`; currency is the site's). `FREE` needs no price. Creating a `PER_GUEST` experience succeeds on a free site, but a guest **completing** a paid experience booking needs the same premium + payment provider that any paid reservation does (below).
66
- - **`businessSchedule.entries[]`** carries the recurrence: `WEEKLY` with `weeklyOptions.startDaysAndTimes[{ day, time }]` (`day` is `MONDAY`…`SUNDAY`, `time` is `"HH:mm"`), or `ONE_TIME` with `oneTimeOptions`. `durationInMinutes` sits on `businessSchedule`, not per entry.
67
- - **⚠️ Booking an experience is PREMIUM-GATED**, exactly like turning on online reservations (`setup-restaurant-reservations.md` STEP 3 → `428 PREMIUM_ONLY` on a free site). **Creating** the experience works on a free site; **booking** it at runtime needs the site to be premium with online reservations enabled. Record the precondition in the handoff; **don't fail the seed** over it.
68
- - **Cover image (opt-in):** `configuration.displayInfo.coverImage` takes a Wix Media image (`{ id, url, … }`) — attach it in the imagery pass (`IMAGE_GENERATION.md`) only when `imagery` is on; otherwise omit and the frontend renders a themed block.
69
- - **⚠️ Heads-up for the booking UI (not a seed step):** the experiences **sample-flow doc** (linked above) tells the frontend to call `getScheduledTimeSlots` with the experience GUID — **that parameter doesn't exist** (neither the SDK nor REST scopes slots to an experience), so it silently returns the *location's* slots. The frontend must instead project bookable times from the experience's own `businessSchedule`. Full detail: `how-to-code-restaurant-reservations.md` (Gotcha C).
70
-
71
- ## Keep
72
-
73
- Nothing crosses into the handoff — experiences are read **live** on the frontend (`queryExperiences`). Track the created `experienceId`(s) only transiently (to confirm success / attach cover images). Frontend booking contract: `how-to-code-restaurant-reservations.md` (Experiences section).
@@ -1,197 +0,0 @@
1
- ---
2
- name: "Setup Restaurant Orders"
3
- description: Configures Wix Restaurants **Online Ordering** on top of an already-seeded Menus backend. Installing the Orders app AUTO-PROVISIONS a working ordering setup (an ENABLED operation with Pickup + Delivery attached, and every menu ordering-enabled), so this recipe VERIFIES that baseline and CUSTOMIZES the fulfillment methods to the request — it does NOT build ordering from scratch. Specifies the *how* (calls + format); which methods/fees/hours and which menus come from the request.
4
- ---
5
- **RECIPE**: Business Recipe – Online-Ordering Setup for Wix Restaurants (Orders app)
6
-
7
- > **Standard call shape (every curl below).** The `<AUTH>` placeholder is shorthand for `Authorization: Bearer <TOKEN>` **and** `wix-site-id: <SITE_ID>`. Body-bearing requests also need `Content-Type: application/json`.
8
-
9
- A checklist for online ordering on a Wix site that already has a **Restaurants Menus** backend.
10
- **Notice** that this recipe is **NOT** meant for coding purposes and is **ONLY** meant for initial ordering setup.
11
-
12
- > **⚠️ THE ORDERS-APP INSTALL DOES ALMOST EVERYTHING — this recipe VERIFIES and CUSTOMIZES, it does NOT create ordering from scratch.** Installing the Orders app auto-provisions a **fully working** ordering setup with **zero** extra calls:
13
- > - one **operation** (`onlineOrderingStatus: "ENABLED"`, `default: true`, `defaultFulfillmentType: "PICKUP"`, a full `orderScheduling`);
14
- > - **three fulfillment methods already attached** to it — a `"Pickup"` (enabled), a `"Delivery Area #1"` (DELIVERY, RADIUS, enabled, `fee "0"`), and a `"DoorDash Drive"` (DELIVERY, provider-based, **disabled**);
15
- > - a **menu-ordering-settings** object per menu, each already `onlineOrderingEnabled: true` and bound to the operation.
16
- >
17
- > So a site with a seeded menu is **already orderable (pickup + delivery) the moment the Orders app is installed.** The steps below **verify** that baseline and **reshape it to the request** (rename/re-fee/re-hour the auto methods, disable unwanted ones, add extra ones). If the request asks for nothing beyond "let people order," all steps are just confirmations — keep the auto-provisioned defaults and do only the verification (STEP 2 reshapes methods **only** when the request names specifics).
18
-
19
- > **⚠️ DEPENDS ON MENUS — the menu must exist.** A customer orders **menu items**, and each menu is bound to the ordering operation through a **menu-ordering-settings** object. This recipe assumes the **Menus** backend is already seeded (`setup-restaurants.md` — menu → sections → items, all `visible: true`) and its `menuId`(s) are in hand. Installing the **Orders** app **auto-installs the Menus app** and **auto-creates one menu-ordering-settings object per menu** — for menus that already exist *and* for menus created *after* install — each already `onlineOrderingEnabled: true` and bound to the operation. So whichever order you install Orders vs. seed menus, every menu ends up orderable automatically; STEP 3 only verifies it.
20
-
21
- > **This recipe is the *how*, not the *what*.** Which fulfillment methods to offer (pickup, delivery, or both), their fees / minimum-order amounts / hours / delivery area, and which menus are orderable come from the request you're fulfilling. This recipe only specifies the calls and the request format; it does not decide those quantities. Per the "simple seeds" default, **if the request names no ordering specifics, keep the auto-provisioned defaults** and do only the verification steps.
22
-
23
- > **⚠️ API surfaces — this vertical spans SEVERAL micro-services, each on its OWN host prefix** (unlike Menus, which is all under `restaurants/menus/v1`). Do not "normalize" them to a single prefix:
24
- > - **Operations** — `https://www.wixapis.com/restaurants-operations/v1/operations`
25
- > - **Fulfillment methods** — `https://www.wixapis.com/fulfillment-methods/v1/fulfillment-methods`
26
- > - **Menu ordering settings** — `https://www.wixapis.com/menu-ordering-settings/v1/menu-ordering-settings`
27
- >
28
- > These are the **new** Wix Restaurants Orders APIs. A superseded cURL sample in the docs still shows the old `restaurants/v1/fulfillment-methods` host **and** a snake_case `fulfillment_method` wrapper — ignore both. Use the `fulfillment-methods/v1/...` host and the **camelCase `fulfillmentMethod`** wrapper (for both create and update).
29
-
30
- > **⚠️ Operations & operation groups are AUTO-provisioned — never create them.** There is **no create-operation / create-operation-group** call in this flow. On install Wix creates one operation group and, for a headless site with **no business location configured**, a single operation with `businessLocationId: "none"`. You **discover** that operation (STEP 1) and, only if customizing, **PATCH** it; you never POST one.
31
-
32
- ---
33
-
34
- ## Article: Steps for Setting Up Wix Restaurants Online Ordering
35
- **YOU MUST** complete all the following steps **in the given order** (0-3) without skipping any and **without requiring additional user input**. Every step is idempotent — it verifies the auto-provisioned state and only writes when the request calls for a change or the state is wrong.
36
-
37
- ### STEP 0: Configure the business location address (required for ordering to actually work)
38
-
39
- **⚠️ Online ordering needs a business location with a REAL address — without it, ordering is "testing only" and checkout breaks at runtime.** This is the #1 silent gap for ordering sites: the Wix docs are explicit — *"If locations aren't configured on a site, online ordering functionality is limited to testing only, and in some cases may not work as expected"* (<https://dev.wix.com/docs/api-reference/business-solutions/restaurants/about-business-locations.md>). A site provisions with a **default location that has no street address** (only an auto-defaulted country/city), which counts as *not configured*. Fix it here, before verifying the operation.
40
-
41
- The **default** business location is the one online ordering reads; its address also **propagates to Site Properties** (the site's business address that the Business Manager shows). Docs: Locations API <https://dev.wix.com/docs/api-reference/business-management/locations/introduction.md> · Update Location <https://dev.wix.com/docs/api-reference/business-management/locations/update-location.md>.
42
-
43
- 1. **List locations** and take the default (`GET https://www.wixapis.com/locations/v1/locations` → the entry with `default: true`). Keep its **`id`** and **`revision`**. (There is normally exactly one, auto-provisioned.)
44
- 2. **Overwrite it with a real address** via **Update Location** — `PUT https://www.wixapis.com/locations/v1/locations/<id>`. Use the address from the request; the timezone should match it.
45
-
46
- ```bash
47
- curl -sS <AUTH> -X PUT "https://www.wixapis.com/locations/v1/locations/<id>" \
48
- -d '{
49
- "location": {
50
- "id": "<id>", "revision": "<revision>", "default": true,
51
- "name": "<Business name>", "timeZone": "Europe/Paris",
52
- "email": "<email>", "phone": "<phone>",
53
- "address": {
54
- "country": "FR", "subdivision": "FR-75", "city": "Paris", "postalCode": "75001",
55
- "streetAddress": { "number": "18", "name": "Rue des Lumières" },
56
- "formattedAddress": "18 Rue des Lumières, 75001 Paris, France"
57
- }
58
- }
59
- }'
60
- ```
61
-
62
- **⚠️ CRITICAL — earned gotchas (verified against the live API):**
63
- - **Update Location is a FULL OVERRIDE, not a partial update** (the docs say so explicitly). Send the **whole** `location` object, not just the address — omitted fields are wiped. A partial "just the address" body is the classic *"it reported success but nothing changed / it's not in the Business Manager"* failure.
64
- - **Echo `"default": true`.** The default flag isn't in the documented request params, but omitting it on a full override reads as flipping it off and **400s** with `CHANGE_DEFAULT_FORBIDDEN`. (Good news: this API fails **loudly** — prefer it over a field-mask-less Site-Properties `PATCH`, which silently no-ops.)
65
- - **`revision` is mandatory** (from STEP 0.1) and increments each update; a stale one 400s.
66
- - **`address.country` is a 2-letter ISO-3166 code** (`"FR"`, `"US"`), not a full name.
67
- - **No default location at all?** (a bare Orders-only site can have none — operations then carry `businessLocationId: "none"`.) **Create** one instead: `POST https://www.wixapis.com/locations/v1/locations` with the same `location` body (no `id`/`revision`), then it becomes the site's location and operations auto-bind on first-location-add (see about-business-locations). Docs: <https://dev.wix.com/docs/api-reference/business-management/locations/create-location.md>.
68
- - **The operation's `businessLocationDetails` is a denormalized snapshot with eventual-consistency lag** — after the update it may briefly still show the old placeholder address (e.g. a "San Francisco" default). That's cosmetic and self-heals; checkout reads the configured location/site address, which is correct immediately. Don't loop trying to "force" the snapshot.
69
-
70
- **Where the address comes from:** the request. If the brief names the restaurant's address, use it. **If it doesn't, a real address is genuine owner info the skill can't invent** — set a clearly-marked placeholder and **flag prominently in the handoff/summary that the owner must set their real business address before ordering works** (this is exactly the "make it work end-to-end" gap). Pair this with the premium/payment precondition below.
71
-
72
- ### STEP 1: Verify (and if needed enable) the operation
73
-
74
- List operations and take the one Wix created on install. Keep its **`id`** and **`revision`**.
75
-
76
- ```bash
77
- curl -sS <AUTH> -X GET "https://www.wixapis.com/restaurants-operations/v1/operations"
78
- ```
79
-
80
- Response (`operations[]`, sorted by created date ascending):
81
-
82
- ```json
83
- { "operations": [
84
- { "id": "<operationId>", "revision": "2", "name": "Ordering page 1", "default": true,
85
- "onlineOrderingStatus": "ENABLED", "defaultFulfillmentType": "PICKUP",
86
- "fulfillmentIds": ["<deliveryId>", "<pickupId>", "<doordashId>"],
87
- "orderScheduling": { "type": "ASAP", "asapOptions": { "preparationTime": { "type": "MAX_TIME", "maxTimeOptions": { "timeUnit": "MINUTES", "duration": 30 } }, "asapFutureHandlingType": "BUSINESS_DAYS_AHEAD_HANDLING", "businessDaysAheadHandlingOptions": { "daysCount": 0 } } },
88
- "operationGroupId": "<groupId>", "businessLocationId": "none" }
89
- ] }
90
- ```
91
-
92
- **⚠️ CRITICAL:**
93
- - **Do not POST to create an operation** — there is none to create; use the one that already exists. If `operations[]` comes back **empty**, the Orders-app install hasn't finished provisioning — **wait briefly and retry the GET once**; do not create anything. Still empty after one retry → **fail loud** (install didn't complete).
94
- - **`onlineOrderingStatus` is normally already `"ENABLED"`** on the auto-created operation — nothing to do. Only if you see `"DISABLED"` (or you paused it), PATCH it on:
95
- ```bash
96
- curl -sS <AUTH> -X PATCH "https://www.wixapis.com/restaurants-operations/v1/operations/<operationId>" \
97
- -d '{ "operation": { "revision": "<operationRevision>", "onlineOrderingStatus": "ENABLED" } }'
98
- ```
99
- Enum values: `ENABLED` / `DISABLED` / `PAUSED_UNTIL`. **`revision` is mandatory and must be current** (it increments by 1 each PATCH; a stale revision 400s). **If you PATCH `orderScheduling`, send the whole object** — it's overwritten wholesale, not merged.
100
- - For a locationless headless site `businessLocationId` is **`"none"`** — expected; it matches the menu's `"none"` so ordering binds. Don't set a location.
101
- - Read `fulfillmentIds` here — it lists the methods currently attached to the operation (STEP 2 needs it).
102
-
103
- ### STEP 2: Reconcile the fulfillment methods to the request
104
-
105
- List the fulfillment methods the install created, then shape them to the request. **Which methods/fees/hours/areas the site should offer come from the request — this step only gives the calls.**
106
-
107
- ```bash
108
- curl -sS <AUTH> -X GET "https://www.wixapis.com/fulfillment-methods/v1/fulfillment-methods"
109
- ```
110
-
111
- The install ships three (all with an `America/..`-defaulted **San Francisco placeholder** address and time zone from the site's region): a `PICKUP` `"Pickup"` (enabled), a `DELIVERY` `"Delivery Area #1"` (RADIUS, enabled, `fee "0"`), and a `DELIVERY` `"DoorDash Drive"` (provider-based, **disabled**). Keep each `fulfillmentMethod.id` and `revision`.
112
-
113
- Do only what the request calls for:
114
-
115
- **(a) Customize an auto-created method** (rename, set fee/minimum/hours/area) — PATCH it, partial body is fine:
116
-
117
- ```bash
118
- curl -sS <AUTH> -X PATCH "https://www.wixapis.com/fulfillment-methods/v1/fulfillment-methods/<methodId>" \
119
- -d '{ "fulfillmentMethod": { "revision": "<methodRevision>", "name": "Delivery", "fee": "5", "minOrderPrice": "20" } }'
120
- ```
121
-
122
- **(b) Disable a method the request doesn't want** — PATCH `enabled: false` (leave `"DoorDash Drive"` disabled unless the request wants a 3rd-party courier):
123
-
124
- ```bash
125
- curl -sS <AUTH> -X PATCH "https://www.wixapis.com/fulfillment-methods/v1/fulfillment-methods/<methodId>" \
126
- -d '{ "fulfillmentMethod": { "revision": "<methodRevision>", "enabled": false } }'
127
- ```
128
-
129
- **(c) Add a method beyond the defaults** (e.g. a "Curbside" pickup) — create it, THEN attach it to the operation:
130
-
131
- ```bash
132
- # create — camelCase `fulfillmentMethod` wrapper
133
- curl -sS <AUTH> -X POST "https://www.wixapis.com/fulfillment-methods/v1/fulfillment-methods" \
134
- -d '{ "fulfillmentMethod": {
135
- "type": "PICKUP", "name": "Curbside", "enabled": true, "fee": "0", "minOrderPrice": "0",
136
- "availability": { "availableTimes": [ { "dayOfWeek": "MON", "timeRanges": [ { "startTime": { "hours": 9, "minutes": 0 }, "endTime": { "hours": 22, "minutes": 0 } } ] } ], "timeZone": "America/New_York" },
137
- "pickupOptions": { "instructions": "Wait in your car." } } }'
138
- # → { "fulfillmentMethod": { "id": "<newId>", "revision": "1", ... } } (address auto-defaults if omitted)
139
- ```
140
- Then PATCH the operation to add `<newId>` to `fulfillmentIds` (the create does **not** attach it — see the callout):
141
-
142
- ```bash
143
- curl -sS <AUTH> -X PATCH "https://www.wixapis.com/restaurants-operations/v1/operations/<operationId>" \
144
- -d '{ "operation": { "revision": "<currentOperationRevision>", "fulfillmentIds": [ "<existingId1>", "<existingId2>", "<newId>" ] } }'
145
- ```
146
-
147
- **⚠️ CRITICAL FORMAT REQUIREMENTS:**
148
- - **A newly created fulfillment method is NOT auto-attached to the operation** (after a create, `operation.fulfillmentIds` is unchanged). Only the *install's* three are attached automatically. So whenever you **create** a method, you must **PATCH the operation's `fulfillmentIds`** to include it (pass the full array — existing ids **plus** the new one), or it won't be offered at checkout. Customizing/disabling an *existing* attached method needs no re-attach.
149
- - **Attach each fulfillment method to exactly one operation** — Wix warns that sharing a method across operations breaks ordering.
150
- - **Wrap create/update bodies in `fulfillmentMethod`** (camelCase). **`fee` and `minOrderPrice` are decimal STRINGS** (`"0"`, `"5"`, `"20"`), never numbers. Currency is site-derived — send none.
151
- - **`enabled: true`** to offer a method. **`availability.availableTimes[]`** is one entry per open weekday, each `timeRanges: [{startTime,endTime}]` (`hours` 0-23, `minutes` 0-59); `availability.timeZone` is required but Wix overrides it with the site's language-and-region zone, so any valid IANA zone is accepted.
152
- - **`pickupOptions`** for `PICKUP`, **`deliveryOptions`** (with a `deliveryArea`) for `DELIVERY` — send the one matching `type`. Omitting the pickup `address` is fine; it defaults from the operation.
153
- - **`revision` is mandatory on every PATCH** and increments by 1 each update; a stale one 400s.
154
- - Retry a failed create/update **once** with the same format; do not loop.
155
-
156
- > **The San Francisco / `fee "0"` defaults are placeholders.** They're harmless for a locationless demo site (a visitor can still build a cart). Only override the delivery `deliveryArea` / pickup `address` when the request gives a real location; otherwise leave them.
157
-
158
- ### STEP 3: Verify each menu is orderable
159
-
160
- Menu-ordering-settings are auto-created **and auto-enabled** per menu (both pre- and post-install menus), so this is normally a confirmation. List them and check each menu the request marks orderable.
161
-
162
- ```bash
163
- curl -sS <AUTH> -X POST "https://www.wixapis.com/menu-ordering-settings/v1/menu-ordering-settings/query" -d '{ "query": {} }'
164
- ```
165
-
166
- Response — one object per menu; match by **`menuId`**:
167
-
168
- ```json
169
- { "menuOrderingSettings": [
170
- { "id": "<settingsId>", "revision": "1", "operationId": "<operationId>", "menuId": "<menuId>",
171
- "onlineOrderingEnabled": true, "availability": { "type": "ALWAYS_AVAILABLE", "timeZone": "America/New_York" } }
172
- ] }
173
- ```
174
-
175
- **⚠️ CRITICAL:**
176
- - **Normally every entry is already `onlineOrderingEnabled: true` with `operationId` set** — nothing to do; just confirm it. Only if an entry shows `onlineOrderingEnabled: false` or `operationId: "none"` (or the request wants a menu *not* orderable), PATCH it:
177
- ```bash
178
- curl -sS <AUTH> -X PATCH "https://www.wixapis.com/menu-ordering-settings/v1/menu-ordering-settings/<settingsId>" \
179
- -d '{ "menuOrderingSettings": { "revision": "<settingsRevision>", "operationId": "<operationId>", "onlineOrderingEnabled": true, "availability": { "type": "ALWAYS_AVAILABLE", "timeZone": "America/New_York" } } }'
180
- ```
181
- - **`availability.type: "ALWAYS_AVAILABLE"`** makes the menu orderable during the operation's hours; a `timeZone` is required. **`revision` is mandatory** and increments per update.
182
- - The settings object's `businessLocationId` (inherited from its menu, `"none"` for a locationless site) must match the operation's `businessLocationId` for ordering to bind — both are `"none"` here, so they match. Don't override it.
183
- - To make a menu **display-only** (not orderable), PATCH that one to `onlineOrderingEnabled: false`; leave the rest enabled.
184
-
185
- > **⚠️ LIVE CHECKOUT PRECONDITIONS (note, don't fail).** A visitor can browse the orderable menu and build a cart with just this setup, but **completing an order** end-to-end needs three things beyond the seed: **(1) a configured business location with a real address** (STEP 0 — without it ordering is "testing only"); **(2) a premium plan**; and **(3) a configured payment method** (checkout rides on Wix eCommerce). STEP 0 handles (1) via API; (2) and (3) are **dashboard/premium provisioning** the skill can't do headlessly. Surface all three in the handoff; do **not** fail the seed over them.
186
-
187
- ---
188
-
189
- ## Conclusion
190
- Following these steps confirms/completes online ordering for a site whose **Menus** backend is already seeded:
191
- - A **business location with a real address is configured first** (STEP 0, Update Location full-override) — without it ordering is "testing only"; the address propagates to Site Properties. If the brief gives no address, a placeholder is set and the owner is flagged to fix it.
192
- - The **Orders-app install already produced a working setup** — an `ENABLED` operation with Pickup + Delivery attached and every menu ordering-enabled; this recipe **verifies** that and **reshapes it to the request**, it does not build it from nothing.
193
- - The **operation** is discovered, never created (operations/groups are auto-provisioned); it stays `onlineOrderingStatus: "ENABLED"`.
194
- - **Fulfillment methods** are reconciled to the request — auto-created ones customized (decimal-string `fee`/`minOrderPrice`, weekly `availability`), unwanted ones disabled, extra ones created **and attached** to the operation via `fulfillmentIds` (a create does not auto-attach).
195
- - Every orderable **menu** is confirmed `onlineOrderingEnabled: true` and bound to the operation through menu-ordering-settings.
196
- - Each Orders micro-service is called on its **own host prefix** (`restaurants-operations` / `fulfillment-methods` / `menu-ordering-settings`) with the camelCase `fulfillmentMethod` wrapper; `revision` is passed on every PATCH. Real paid checkout additionally needs a premium plan + payment method (handoff note).
197
- </content>