@fluentcommerce/ai-skills 0.1.0

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 (60) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +622 -0
  3. package/bin/cli.mjs +1973 -0
  4. package/content/cli/agents/fluent-cli/agent.json +149 -0
  5. package/content/cli/agents/fluent-cli.md +132 -0
  6. package/content/cli/skills/fluent-bootstrap/SKILL.md +181 -0
  7. package/content/cli/skills/fluent-cli-index/SKILL.md +63 -0
  8. package/content/cli/skills/fluent-cli-mcp-cicd/SKILL.md +77 -0
  9. package/content/cli/skills/fluent-cli-reference/SKILL.md +1031 -0
  10. package/content/cli/skills/fluent-cli-retailer/SKILL.md +85 -0
  11. package/content/cli/skills/fluent-cli-settings/SKILL.md +106 -0
  12. package/content/cli/skills/fluent-connect/SKILL.md +886 -0
  13. package/content/cli/skills/fluent-module-deploy/SKILL.md +349 -0
  14. package/content/cli/skills/fluent-profile/SKILL.md +180 -0
  15. package/content/cli/skills/fluent-workflow/SKILL.md +310 -0
  16. package/content/dev/agents/fluent-dev/agent.json +88 -0
  17. package/content/dev/agents/fluent-dev.md +525 -0
  18. package/content/dev/reference-modules/catalog.json +4754 -0
  19. package/content/dev/skills/fluent-build/SKILL.md +192 -0
  20. package/content/dev/skills/fluent-connection-analysis/SKILL.md +386 -0
  21. package/content/dev/skills/fluent-custom-code/SKILL.md +895 -0
  22. package/content/dev/skills/fluent-data-module-scaffold/SKILL.md +714 -0
  23. package/content/dev/skills/fluent-e2e-test/SKILL.md +394 -0
  24. package/content/dev/skills/fluent-event-api/SKILL.md +945 -0
  25. package/content/dev/skills/fluent-feature-explain/SKILL.md +603 -0
  26. package/content/dev/skills/fluent-feature-plan/PLAN_TEMPLATE.md +695 -0
  27. package/content/dev/skills/fluent-feature-plan/SKILL.md +227 -0
  28. package/content/dev/skills/fluent-job-batch/SKILL.md +138 -0
  29. package/content/dev/skills/fluent-mermaid-validate/SKILL.md +86 -0
  30. package/content/dev/skills/fluent-module-scaffold/SKILL.md +1928 -0
  31. package/content/dev/skills/fluent-module-validate/SKILL.md +775 -0
  32. package/content/dev/skills/fluent-pre-deploy-check/SKILL.md +1108 -0
  33. package/content/dev/skills/fluent-retailer-config/SKILL.md +1111 -0
  34. package/content/dev/skills/fluent-rule-scaffold/SKILL.md +385 -0
  35. package/content/dev/skills/fluent-scope-decompose/SKILL.md +1021 -0
  36. package/content/dev/skills/fluent-session-audit-export/SKILL.md +632 -0
  37. package/content/dev/skills/fluent-session-summary/SKILL.md +195 -0
  38. package/content/dev/skills/fluent-settings/SKILL.md +1058 -0
  39. package/content/dev/skills/fluent-source-onboard/SKILL.md +632 -0
  40. package/content/dev/skills/fluent-system-monitoring/SKILL.md +767 -0
  41. package/content/dev/skills/fluent-test-data/SKILL.md +513 -0
  42. package/content/dev/skills/fluent-trace/SKILL.md +1143 -0
  43. package/content/dev/skills/fluent-transition-api/SKILL.md +346 -0
  44. package/content/dev/skills/fluent-version-manage/SKILL.md +744 -0
  45. package/content/dev/skills/fluent-workflow-analyzer/SKILL.md +959 -0
  46. package/content/dev/skills/fluent-workflow-builder/SKILL.md +319 -0
  47. package/content/dev/skills/fluent-workflow-deploy/SKILL.md +267 -0
  48. package/content/mcp-extn/agents/fluent-mcp.md +69 -0
  49. package/content/mcp-extn/skills/fluent-mcp-tools/SKILL.md +461 -0
  50. package/content/mcp-official/agents/fluent-mcp-core.md +91 -0
  51. package/content/mcp-official/skills/fluent-mcp-core/SKILL.md +94 -0
  52. package/content/rfl/agents/fluent-rfl.md +56 -0
  53. package/content/rfl/skills/fluent-rfl-assess/SKILL.md +172 -0
  54. package/docs/CAPABILITY_MAP.md +77 -0
  55. package/docs/CLI_COVERAGE.md +47 -0
  56. package/docs/DEV_WORKFLOW.md +802 -0
  57. package/docs/FLOW_RUN.md +142 -0
  58. package/docs/USE_CASES.md +404 -0
  59. package/metadata.json +156 -0
  60. package/package.json +51 -0
@@ -0,0 +1,4754 @@
1
+ {
2
+ "generatedAt": "2026-02-22T05:45:56.530503+00:00",
3
+ "generatedFrom": "plugin.list API",
4
+ "description": "Fluent Commerce reference module rules. Platform-standard rules available on all accounts.",
5
+ "modules": {
6
+ "base": {
7
+ "ruleCount": 174,
8
+ "rules": {
9
+ "AddArticleBarcodeFromOrderAttributes": {
10
+ "description": "Add Article Barcode from the Order Attributes <attributeNames> ",
11
+ "parameters": [
12
+ {
13
+ "name": "attributeNames",
14
+ "type": "STRING",
15
+ "description": "Name of the attributes to create Barcode from"
16
+ }
17
+ ],
18
+ "entityTypes": [],
19
+ "eventAttributes": [],
20
+ "producedEvents": []
21
+ },
22
+ "AddEventAttributesToEntity": {
23
+ "description": "Add Attributes to the current entity from the input event attributes with entity attribute key of {attributeNames} and entity attribute type of {attributeType}",
24
+ "parameters": [
25
+ {
26
+ "name": "attributeNames",
27
+ "type": "STRING",
28
+ "description": "The name of attribute to be added to the current entity"
29
+ },
30
+ {
31
+ "name": "attributeType",
32
+ "type": "STRING",
33
+ "description": "The type of attribute to be added to the current entity"
34
+ }
35
+ ],
36
+ "entityTypes": [],
37
+ "eventAttributes": [
38
+ "{attributeNames}"
39
+ ],
40
+ "producedEvents": []
41
+ },
42
+ "AddEventAttributesToOrderEntity": {
43
+ "description": "Add Attributes in list {attributeNames} from the incoming event to the current entity. Other inputs are the mandatory corresponding list of {attributeTypes} and an optional list of {attributeDefaultValues}.",
44
+ "parameters": [
45
+ {
46
+ "name": "attributeNames",
47
+ "type": "STRING",
48
+ "description": "List of attributeNames to be added to the current entity (mandatory)"
49
+ },
50
+ {
51
+ "name": "attributeTypes",
52
+ "type": "STRING",
53
+ "description": "List of corresponding attribute types (mandatory). Supported types are STRING, BOOLEAN, INTEGER."
54
+ },
55
+ {
56
+ "name": "attributeDefaultValues",
57
+ "type": "STRING",
58
+ "description": "List of corresponding attribute default values (optional, if blank the attribute will be ignored in case it is not found)"
59
+ }
60
+ ],
61
+ "entityTypes": [
62
+ "ORDER"
63
+ ],
64
+ "eventAttributes": [
65
+ "attributeNames"
66
+ ],
67
+ "producedEvents": []
68
+ },
69
+ "AddFulfilmentTypeAttributeToFulfilment": {
70
+ "description": "Add new attribute to Fulfilment based on the subtype of the fulfilment",
71
+ "parameters": [],
72
+ "entityTypes": [
73
+ "FULFILMENT"
74
+ ],
75
+ "eventAttributes": [],
76
+ "producedEvents": []
77
+ },
78
+ "AddStorageArea": {
79
+ "description": "Add Storage Area for Article from Event Attribute",
80
+ "parameters": [],
81
+ "entityTypes": [
82
+ "ARTICLE"
83
+ ],
84
+ "eventAttributes": [
85
+ "storageAreaRef"
86
+ ],
87
+ "producedEvents": []
88
+ },
89
+ "AddStringEventAttributeToEntity": {
90
+ "description": "Add the Event Attribute of name {attributeName} and of type STRING to the current Entity if the Event Attribute exists.",
91
+ "parameters": [
92
+ {
93
+ "name": "attributeName",
94
+ "type": "STRING",
95
+ "description": "The Name of the Event Attribute to fetch and add to the Entity - **REQUIRED!"
96
+ }
97
+ ],
98
+ "entityTypes": [
99
+ "ORDER"
100
+ ],
101
+ "eventAttributes": [
102
+ "{attributeName}"
103
+ ],
104
+ "producedEvents": []
105
+ },
106
+ "AllocateConfirmedItemsByFulfilmentExpiry": {
107
+ "description": "Allocate items to all fulfilments of the wave such that fulfilments expiring earlier get allocated the articles before others. Sends {eventName} event to all fulfilments of the wave and excluded statuses {excludedStatuses}",
108
+ "parameters": [
109
+ {
110
+ "name": "eventName",
111
+ "type": "STRING",
112
+ "description": "Event name for outgoing event"
113
+ },
114
+ {
115
+ "name": "excludedStatuses",
116
+ "type": "STRING",
117
+ "description": "Excluded statuses"
118
+ }
119
+ ],
120
+ "entityTypes": [
121
+ "WAVE"
122
+ ],
123
+ "eventAttributes": [
124
+ "pickedItems"
125
+ ],
126
+ "producedEvents": [
127
+ "eventName"
128
+ ]
129
+ },
130
+ "AllocatePickedItemsByFulfilmentExpiry": {
131
+ "description": "Allocate items to all fulfilments of the wave such that fulfilments expiring earlier get allocated the articles before others. Sends {eventName} event to all fulfilments of the wave and excluded statuses {excludedStatuses}",
132
+ "parameters": [
133
+ {
134
+ "name": "eventName",
135
+ "type": "STRING",
136
+ "description": "Outgoing event with all fulfilments of the wave"
137
+ },
138
+ {
139
+ "name": "excludedStatuses",
140
+ "type": "STRING",
141
+ "description": "Excluded statuses"
142
+ }
143
+ ],
144
+ "entityTypes": [
145
+ "WAVE"
146
+ ],
147
+ "eventAttributes": [
148
+ "pickedItems"
149
+ ],
150
+ "producedEvents": [
151
+ "{eventName}"
152
+ ]
153
+ },
154
+ "AssignCarrierConsignmentToManifest": {
155
+ "description": "Assign Carrier Consignment to Manifest",
156
+ "parameters": [],
157
+ "entityTypes": [
158
+ "MANIFEST"
159
+ ],
160
+ "eventAttributes": [
161
+ "carrierConsignment"
162
+ ],
163
+ "producedEvents": []
164
+ },
165
+ "AssignEntityToCategory": {
166
+ "description": "Assign to CategoryRef if the category exists",
167
+ "parameters": [],
168
+ "entityTypes": [
169
+ "VARIANT_PRODUCT",
170
+ "GROUP_PRODUCT",
171
+ "STANDARD_PRODUCT"
172
+ ],
173
+ "eventAttributes": [
174
+ "categoryRefs"
175
+ ],
176
+ "producedEvents": []
177
+ },
178
+ "BookConsignmentForArticle": {
179
+ "description": "Initiate Booking of a consignment with default carrier associated to the Retailer",
180
+ "parameters": [],
181
+ "entityTypes": [
182
+ "CONSIGNMENT"
183
+ ],
184
+ "eventAttributes": [],
185
+ "producedEvents": []
186
+ },
187
+ "BulkUpdateInventoryPositionStatus": {
188
+ "description": "This rule sets the status of all inventory positions belongs to a location as per location status.",
189
+ "parameters": [],
190
+ "entityTypes": [
191
+ "INVENTORY_CATALOGUE"
192
+ ],
193
+ "eventAttributes": [],
194
+ "producedEvents": []
195
+ },
196
+ "BulkUpdateVirtualPositionStatus": {
197
+ "description": "This rule sets the status of all virtual positions belongs to a location as per location status.",
198
+ "parameters": [],
199
+ "entityTypes": [
200
+ "VIRTUAL_CATALOGUE"
201
+ ],
202
+ "eventAttributes": [],
203
+ "producedEvents": []
204
+ },
205
+ "CalculateOnHandForInventoryPosition": {
206
+ "description": "Calculate On-Hand inventory from every inventory position with filtering inventory with quantity types {inventoryQuantityTypes}, with condition of {condition}, status of {status}, storage areas of {storageArea} and include inventory expected within {expectedWithinHours}. Send {eventName} event. ",
207
+ "parameters": [
208
+ {
209
+ "name": "condition",
210
+ "type": "STRING",
211
+ "description": "List of conditions of inventory"
212
+ },
213
+ {
214
+ "name": "status",
215
+ "type": "STRING",
216
+ "description": "List of status of inventory"
217
+ },
218
+ {
219
+ "name": "storageArea",
220
+ "type": "STRING",
221
+ "description": "List of storage area refs of inventory"
222
+ },
223
+ {
224
+ "name": "eventName",
225
+ "type": "STRING",
226
+ "description": "The name of event to be triggered"
227
+ },
228
+ {
229
+ "name": "inventoryQuantityTypes",
230
+ "type": "STRING",
231
+ "description": "List of inventory quantity types"
232
+ },
233
+ {
234
+ "name": "expectedWithinHours",
235
+ "type": "INTEGER",
236
+ "description": "Expected within hours of inventory"
237
+ }
238
+ ],
239
+ "entityTypes": [
240
+ "INVENTORY_POSITION"
241
+ ],
242
+ "eventAttributes": [],
243
+ "producedEvents": []
244
+ },
245
+ "CancelAllFulfilmentsForOrder": {
246
+ "description": "Cancels all related fulfilments that belong to cancel order",
247
+ "parameters": [],
248
+ "entityTypes": [
249
+ "ORDER"
250
+ ],
251
+ "eventAttributes": [],
252
+ "producedEvents": []
253
+ },
254
+ "CancelFulfilment": {
255
+ "description": "Cancel Fulfilment",
256
+ "parameters": [],
257
+ "entityTypes": [
258
+ "FULFILMENT"
259
+ ],
260
+ "eventAttributes": [],
261
+ "producedEvents": []
262
+ },
263
+ "CancelFulfilmentGQL": {
264
+ "description": "Cancel Fulfilment",
265
+ "parameters": [],
266
+ "entityTypes": [
267
+ "FULFILMENT"
268
+ ],
269
+ "eventAttributes": [],
270
+ "producedEvents": []
271
+ },
272
+ "ChangeFulfilmentType": {
273
+ "description": "Change the fulfilment type to {fulfilmentType}",
274
+ "parameters": [
275
+ {
276
+ "name": "fulfilmentType",
277
+ "type": "STRING",
278
+ "description": "Input value for fulfilment type"
279
+ }
280
+ ],
281
+ "entityTypes": [
282
+ "FULFILMENT"
283
+ ],
284
+ "eventAttributes": [],
285
+ "producedEvents": []
286
+ },
287
+ "ChangeOrderDeliveryAddress": {
288
+ "description": "Change Order Delivery Address",
289
+ "parameters": [],
290
+ "entityTypes": [
291
+ "ORDER"
292
+ ],
293
+ "eventAttributes": [
294
+ "deliveryAddress",
295
+ "changeReason"
296
+ ],
297
+ "producedEvents": []
298
+ },
299
+ "ChangeState": {
300
+ "description": "Change the state of the {event.entityType} to {status}",
301
+ "parameters": [
302
+ {
303
+ "name": "status",
304
+ "type": "STRING",
305
+ "description": "The state to apply to the entity"
306
+ }
307
+ ],
308
+ "entityTypes": [
309
+ "CONSIGNMENT",
310
+ "ORDER",
311
+ "FULFILMENT_PLAN",
312
+ "FULFILMENT",
313
+ "WAVE",
314
+ "ARTICLE",
315
+ "FULFILMENT_OPTIONS"
316
+ ],
317
+ "eventAttributes": [],
318
+ "producedEvents": [
319
+ "STATE_CHANGE"
320
+ ]
321
+ },
322
+ "ChangeStateForUnfulfilableFulfilment": {
323
+ "description": "Change the state of the Fulfilment with fromAddress as {systemRejectedLocationRef} to {status} ",
324
+ "parameters": [
325
+ {
326
+ "name": "systemRejectedLocationRef",
327
+ "type": "STRING",
328
+ "description": "The location ref for system rejected fulfilments."
329
+ },
330
+ {
331
+ "name": "status",
332
+ "type": "STRING",
333
+ "description": "The state to apply to the entity."
334
+ }
335
+ ],
336
+ "entityTypes": [
337
+ "FULFILMENT"
338
+ ],
339
+ "eventAttributes": [],
340
+ "producedEvents": []
341
+ },
342
+ "ChangeStateGQL": {
343
+ "description": "Change the state of the {event.entityType} to {status} using GraphQL.",
344
+ "parameters": [
345
+ {
346
+ "name": "status",
347
+ "type": "STRING",
348
+ "description": "The new state to apply to the entity"
349
+ }
350
+ ],
351
+ "entityTypes": [],
352
+ "eventAttributes": [],
353
+ "producedEvents": [
354
+ "STATE_CHANGE"
355
+ ]
356
+ },
357
+ "CommitFulfilmentItems": {
358
+ "description": "Commit fulfilment available quantity for each of the fulfilment items",
359
+ "parameters": [],
360
+ "entityTypes": [
361
+ "FULFILMENT"
362
+ ],
363
+ "eventAttributes": [
364
+ "fulfilmentItems"
365
+ ],
366
+ "producedEvents": []
367
+ },
368
+ "ConfirmFulfilmentItems": {
369
+ "description": "Confirm fulfilment items available quantity for each of the fulfilment",
370
+ "parameters": [],
371
+ "entityTypes": [
372
+ "FULFILMENT"
373
+ ],
374
+ "eventAttributes": [
375
+ "fulfilmentItems"
376
+ ],
377
+ "producedEvents": []
378
+ },
379
+ "CopyAttributesFromFulfilmentToArticle": {
380
+ "description": "Copy all the attributes from parent fulfilment onto the incoming article entity",
381
+ "parameters": [],
382
+ "entityTypes": [
383
+ "ARTICLE"
384
+ ],
385
+ "eventAttributes": [],
386
+ "producedEvents": []
387
+ },
388
+ "CreateArticleFromFulfilment": {
389
+ "description": "Create an Article From the Fulfilment",
390
+ "parameters": [],
391
+ "entityTypes": [
392
+ "FULFILMENT"
393
+ ],
394
+ "eventAttributes": [
395
+ "barCodes"
396
+ ],
397
+ "producedEvents": []
398
+ },
399
+ "CreateArticlesForFulfilment": {
400
+ "description": "Create one or more articles for the FULFILMENT with attributes matching event attribute key name fulfilmentArticles which includes Packaging name, Height, Length, Width, Weight, MaxWeight for each article submitted from Service Point Wave Pack screen.Transform dimensions in {distanceMeasurementUnit} and weight in {weightMeasurementUnit}",
401
+ "parameters": [
402
+ {
403
+ "name": "distanceMeasurementUnit",
404
+ "type": "STRING",
405
+ "description": "The unit to transform dimensions"
406
+ },
407
+ {
408
+ "name": "weightMeasurementUnit",
409
+ "type": "STRING",
410
+ "description": "The unit to transform weight"
411
+ }
412
+ ],
413
+ "entityTypes": [
414
+ "FULFILMENT"
415
+ ],
416
+ "eventAttributes": [
417
+ "fulfilmentArticles"
418
+ ],
419
+ "producedEvents": []
420
+ },
421
+ "CreateArticlesFromDispatchUpdate": {
422
+ "description": "This Rule receives an event with Articles and Consignment information as attributes and proceeds to create only articles from current Fulfilment",
423
+ "parameters": [],
424
+ "entityTypes": [
425
+ "FULFILMENT"
426
+ ],
427
+ "eventAttributes": [
428
+ "articles"
429
+ ],
430
+ "producedEvents": []
431
+ },
432
+ "CreateBillingAccount": {
433
+ "description": "Create customer's Billing Account with type {billingAccountType}, sends event {eventName} after billing account is created with billing account reference.",
434
+ "parameters": [
435
+ {
436
+ "name": "eventName",
437
+ "type": "STRING",
438
+ "description": "Event name for outgoing event"
439
+ },
440
+ {
441
+ "name": "billingAccountType",
442
+ "type": "STRING",
443
+ "description": "BillingAccount type"
444
+ }
445
+ ],
446
+ "entityTypes": [
447
+ "RETURN_ORDER",
448
+ "ORDER"
449
+ ],
450
+ "eventAttributes": [],
451
+ "producedEvents": [
452
+ "CREATE"
453
+ ]
454
+ },
455
+ "CreateCarrierConsignmentForFulfilment": {
456
+ "description": "Create CarrierConsignment for the fulfilment",
457
+ "parameters": [],
458
+ "entityTypes": [
459
+ "CARRIER"
460
+ ],
461
+ "eventAttributes": [
462
+ "fulfilment",
463
+ "consignmentArticles"
464
+ ],
465
+ "producedEvents": []
466
+ },
467
+ "CreateCommentsFromConsignment": {
468
+ "description": "Create comments for tracking URL and consignment reference based on the fulfilment's consignment",
469
+ "parameters": [],
470
+ "entityTypes": [
471
+ "FULFILMENT"
472
+ ],
473
+ "eventAttributes": [],
474
+ "producedEvents": []
475
+ },
476
+ "CreateConsignmentNoteForFulfilment": {
477
+ "description": "Create the consignment note for all articles in a fulfilment with carrier ID {carrierId} ",
478
+ "parameters": [
479
+ {
480
+ "name": "carrierId",
481
+ "type": "STRING",
482
+ "description": "The carrier's ID"
483
+ }
484
+ ],
485
+ "entityTypes": [
486
+ "FULFILMENT"
487
+ ],
488
+ "eventAttributes": [],
489
+ "producedEvents": []
490
+ },
491
+ "CreateCreditMemoForRevisedOrder": {
492
+ "description": "Creates a CreditMemo for the BillingAccount using the supplied revised order details and the old order as well. This rule has the following two props: {creditMemoType} and {creditMemoItemType}. If they are not provided it will take the default values: 'CREDIT_MEMO' and 'CREDIT_MEMO_ITEM'.",
493
+ "parameters": [
494
+ {
495
+ "name": "creditMemoType",
496
+ "type": "STRING",
497
+ "description": "CREDIT_MEMO_TYPE"
498
+ },
499
+ {
500
+ "name": "creditMemoItemType",
501
+ "type": "STRING",
502
+ "description": "CREDIT_MEMO_ITEM_TYPE"
503
+ }
504
+ ],
505
+ "entityTypes": [
506
+ "BILLING_ACCOUNT"
507
+ ],
508
+ "eventAttributes": [
509
+ "entityReference"
510
+ ],
511
+ "producedEvents": []
512
+ },
513
+ "CreateCreditMemoFromAppeasement": {
514
+ "description": "Creates a CreditMemo for the BillingAccount using the supplied Order details. This rule has the following two props: {creditMemoType} and {creditMemoItemType}. If they are not provided it will take the default values: 'CREDIT_MEMO' and 'CREDIT_MEMO_ITEM'.",
515
+ "parameters": [
516
+ {
517
+ "name": "creditMemoType",
518
+ "type": "STRING",
519
+ "description": "CREDIT_MEMO_TYPE"
520
+ },
521
+ {
522
+ "name": "creditMemoItemType",
523
+ "type": "STRING",
524
+ "description": "CREDIT_MEMO_ITEM_TYPE"
525
+ }
526
+ ],
527
+ "entityTypes": [
528
+ "BILLING_ACCOUNT"
529
+ ],
530
+ "eventAttributes": [
531
+ "entityReference",
532
+ "appeasementInfo"
533
+ ],
534
+ "producedEvents": []
535
+ },
536
+ "CreateCreditMemoFromReturnOrder": {
537
+ "description": "Creates a CreditMemo for the BillingAccount using the supplied ReturnOrder details. This rule has the following two props: {creditMemoType} and {creditMemoItemType}. If they are not provided it will take the default values: 'CREDIT_MEMO' and 'CREDIT_MEMO_ITEM'.",
538
+ "parameters": [
539
+ {
540
+ "name": "creditMemoType",
541
+ "type": "STRING",
542
+ "description": "CREDIT_MEMO_TYPE"
543
+ },
544
+ {
545
+ "name": "creditMemoItemType",
546
+ "type": "STRING",
547
+ "description": "CREDIT_MEMO_ITEM_TYPE"
548
+ }
549
+ ],
550
+ "entityTypes": [
551
+ "BILLING_ACCOUNT"
552
+ ],
553
+ "eventAttributes": [],
554
+ "producedEvents": []
555
+ },
556
+ "CreateDemoConsignmentForArticle": {
557
+ "description": "Creates a demo consignment with label {labelUrl} and carrier {carrierRef}",
558
+ "parameters": [
559
+ {
560
+ "name": "labelUrl",
561
+ "type": "STRING",
562
+ "description": "The label of the consignment"
563
+ },
564
+ {
565
+ "name": "carrierRef",
566
+ "type": "STRING",
567
+ "description": "The carrier ref used for the consignment"
568
+ }
569
+ ],
570
+ "entityTypes": [
571
+ "ARTICLE"
572
+ ],
573
+ "eventAttributes": [],
574
+ "producedEvents": []
575
+ },
576
+ "CreateFulfilmentForUnfulfillableItems": {
577
+ "description": "Create a rejected fulfilment for order items that could not be fulfilled (no inventory) using location {systemRejectedLocationRef}, accepted statuses including {acceptedStatuses} and rejected statuses including {rejectedStatuses}.",
578
+ "parameters": [
579
+ {
580
+ "name": "systemRejectedLocationRef",
581
+ "type": "STRING",
582
+ "description": "The value of the location to be used in the new rejected fulfilment"
583
+ },
584
+ {
585
+ "name": "acceptedStatuses",
586
+ "type": "STRING",
587
+ "description": "Accepted Statuses"
588
+ },
589
+ {
590
+ "name": "rejectedStatuses",
591
+ "type": "STRING",
592
+ "description": "Rejected Statuses"
593
+ }
594
+ ],
595
+ "entityTypes": [
596
+ "ORDER"
597
+ ],
598
+ "eventAttributes": [],
599
+ "producedEvents": []
600
+ },
601
+ "CreateFulfilmentPlansSFCC": {
602
+ "description": "Search Inventory for all order items, using virtual catalogue {virtualCatalogueRef} and then create fulfilment plans for the fulfilment options. Eta is passed as a Rule parameter {eta}.",
603
+ "parameters": [
604
+ {
605
+ "name": "virtualCatalogueRef",
606
+ "type": "STRING",
607
+ "description": "The refs of virtual catalogue"
608
+ },
609
+ {
610
+ "name": "eta",
611
+ "type": "STRING",
612
+ "description": "ETA"
613
+ }
614
+ ],
615
+ "entityTypes": [
616
+ "FULFILMENT_OPTIONS"
617
+ ],
618
+ "eventAttributes": [],
619
+ "producedEvents": []
620
+ },
621
+ "CreateFulfilmentRule": {
622
+ "description": "Creates fulfillment if max split limit using setting {fulfilmentSplitLimitSetting} OR default {defaultMaxSplit} is not reached for the order, excluding fulfilments with statuses {excludedFulfilmentStatuses} . If there are unfulfilled items and split limit is not reached sends {retryFulfilmentEvent} event, otherwise sends {terminateFulfilmentEvent} event.If no inventory found sends {noInventoryFoundEvent} event.",
623
+ "parameters": [
624
+ {
625
+ "name": "noInventoryFoundEvent",
626
+ "type": "STRING",
627
+ "description": "The name of the response event if inventory is not found"
628
+ },
629
+ {
630
+ "name": "retryFulfilmentEvent",
631
+ "type": "STRING",
632
+ "description": "The name of the response event to retry fulfilment"
633
+ },
634
+ {
635
+ "name": "fulfilmentSplitLimitSetting",
636
+ "type": "STRING",
637
+ "description": "The name of the setting to consider to get fulfilment split limit"
638
+ },
639
+ {
640
+ "name": "terminateFulfilmentEvent",
641
+ "type": "STRING",
642
+ "description": "The name of the response event to terminate fulfilment flow"
643
+ },
644
+ {
645
+ "name": "excludedFulfilmentStatuses",
646
+ "type": "STRING",
647
+ "description": "The list of excluded fulfilment statuses when calculating max split limit"
648
+ },
649
+ {
650
+ "name": "defaultMaxSplit",
651
+ "type": "INTEGER",
652
+ "description": "Default max split limit if not using settings value"
653
+ }
654
+ ],
655
+ "entityTypes": [
656
+ "ORDER"
657
+ ],
658
+ "eventAttributes": [],
659
+ "producedEvents": []
660
+ },
661
+ "CreateInventoryPosition": {
662
+ "description": "Create inventory position using event attributes",
663
+ "parameters": [],
664
+ "entityTypes": [
665
+ "INVENTORY_CATALOGUE"
666
+ ],
667
+ "eventAttributes": [
668
+ "INVENTORY_POSITION"
669
+ ],
670
+ "producedEvents": []
671
+ },
672
+ "CreateInventoryQuantity": {
673
+ "description": "Create inventory quantity of type {inventoryQuantityType} using event attributes, or set default type as {defaultType}, condition as {defaultCondition} and storageRef as {defaultStorageAreaRef}",
674
+ "parameters": [
675
+ {
676
+ "name": "inventoryQuantityType",
677
+ "type": "STRING",
678
+ "description": "Inventory quantity type"
679
+ },
680
+ {
681
+ "name": "defaultType",
682
+ "type": "STRING",
683
+ "description": "Default inventory quantity type"
684
+ },
685
+ {
686
+ "name": "defaultCondition",
687
+ "type": "STRING",
688
+ "description": "Default inventory quantity condition"
689
+ },
690
+ {
691
+ "name": "defaultStorageAreaRef",
692
+ "type": "STRING",
693
+ "description": "Default inventory quantity storage area ref"
694
+ }
695
+ ],
696
+ "entityTypes": [
697
+ "INVENTORY_POSITION",
698
+ "INVENTORY_CATALOGUE"
699
+ ],
700
+ "eventAttributes": [
701
+ "INVENTORY_POSITION"
702
+ ],
703
+ "producedEvents": []
704
+ },
705
+ "CreateInvoiceForOrder": {
706
+ "description": "Creates an Invoice for the Order. This rule has the following two props: {invoiceType} and {invoiceItemType}. If they are not provided it will take the respective default values.",
707
+ "parameters": [
708
+ {
709
+ "name": "invoiceType",
710
+ "type": "STRING",
711
+ "description": "Invoice Type"
712
+ },
713
+ {
714
+ "name": "invoiceItemType",
715
+ "type": "STRING",
716
+ "description": "Invoice Item Type"
717
+ }
718
+ ],
719
+ "entityTypes": [
720
+ "ORDER"
721
+ ],
722
+ "eventAttributes": [
723
+ "entityReference"
724
+ ],
725
+ "producedEvents": []
726
+ },
727
+ "CreateManifest": {
728
+ "description": "Create Manifest if Manifest in status {manifestStatus} does not exist.",
729
+ "parameters": [
730
+ {
731
+ "name": "manifestStatus",
732
+ "type": "STRING",
733
+ "description": "The status to check for an existing manifest with"
734
+ }
735
+ ],
736
+ "entityTypes": [
737
+ "MANIFEST",
738
+ "CARRIER"
739
+ ],
740
+ "eventAttributes": [],
741
+ "producedEvents": [
742
+ "CREATE"
743
+ ]
744
+ },
745
+ "CreateManifestAndSendEvent": {
746
+ "description": "Create Manifest if Manifest in status {manifestStatus} does not exist and send event {eventName} to Manifest.",
747
+ "parameters": [
748
+ {
749
+ "name": "manifestStatus",
750
+ "type": "STRING",
751
+ "description": "The status to check for an existing manifest with"
752
+ },
753
+ {
754
+ "name": "eventName",
755
+ "type": "STRING",
756
+ "description": "The name of event to be triggered"
757
+ }
758
+ ],
759
+ "entityTypes": [
760
+ "CONSIGNMENT"
761
+ ],
762
+ "eventAttributes": [],
763
+ "producedEvents": [
764
+ "CREATE",
765
+ "{eventName}"
766
+ ]
767
+ },
768
+ "CreatePlanForCC": {
769
+ "description": "Create a CC Fulfilment Plan for the Fulfilment Option",
770
+ "parameters": [],
771
+ "entityTypes": [
772
+ "FULFILMENT_OPTIONS"
773
+ ],
774
+ "eventAttributes": [],
775
+ "producedEvents": [
776
+ "CREATED"
777
+ ]
778
+ },
779
+ "CreatePlanForHD": {
780
+ "description": "Create an HD Fulfilment Plan for the Fulfilment Option",
781
+ "parameters": [],
782
+ "entityTypes": [
783
+ "FULFILMENT_OPTIONS"
784
+ ],
785
+ "eventAttributes": [],
786
+ "producedEvents": [
787
+ "CREATED"
788
+ ]
789
+ },
790
+ "CreatePlanToFulfilAllFromLocation": {
791
+ "description": "Create a CC Fulfilment Plan for the Fulfilment Option From the location in the Fulfilment Option. Sets the ETA of this plan to {cc_eta}",
792
+ "parameters": [
793
+ {
794
+ "name": "cc_eta",
795
+ "type": "STRING",
796
+ "description": "The eta"
797
+ }
798
+ ],
799
+ "entityTypes": [
800
+ "FULFILMENT_OPTIONS"
801
+ ],
802
+ "eventAttributes": [],
803
+ "producedEvents": [
804
+ "CREATED"
805
+ ]
806
+ },
807
+ "CreatePlanToFulfilAllFromNetwork": {
808
+ "description": "Create a CC Fulfilment Plan for the Fulfilment Option From the Network {network_name} excluding the location in the Fulfilment Option. Sets the ETA of this plan to {sts_eta}",
809
+ "parameters": [
810
+ {
811
+ "name": "network_name",
812
+ "type": "STRING",
813
+ "description": "The name of the network"
814
+ },
815
+ {
816
+ "name": "sts_eta",
817
+ "type": "STRING",
818
+ "description": "The eta"
819
+ },
820
+ {
821
+ "name": "split",
822
+ "type": "STRING",
823
+ "description": "Should the Fulfilments be split"
824
+ }
825
+ ],
826
+ "entityTypes": [
827
+ "FULFILMENT_OPTIONS"
828
+ ],
829
+ "eventAttributes": [],
830
+ "producedEvents": [
831
+ "CREATED"
832
+ ]
833
+ },
834
+ "CreatePlanToFulfilFromLocationOrAddress": {
835
+ "description": "Provides a fulfilment plan for location or address with {fulfilmentCoverage} items to be fulfilled considering virtual position statuses {statuses} from virtual catalogue {virtualCatalogueRef}.",
836
+ "parameters": [
837
+ {
838
+ "name": "fulfilmentCoverage",
839
+ "type": "STRING",
840
+ "description": "Fulfilment coverage"
841
+ },
842
+ {
843
+ "name": "statuses",
844
+ "type": "STRING",
845
+ "description": "Virtual Position Status"
846
+ },
847
+ {
848
+ "name": "virtualCatalogueRef",
849
+ "type": "STRING",
850
+ "description": "Virtual Catalogue Ref"
851
+ }
852
+ ],
853
+ "entityTypes": [
854
+ "FULFILMENT_OPTIONS"
855
+ ],
856
+ "eventAttributes": [],
857
+ "producedEvents": []
858
+ },
859
+ "CreateReturnFulfilment": {
860
+ "description": "CreateReturnFulfilment rule will be creating the returnFulfilment for all the return items for the given destination Location ref in ReturnOrder",
861
+ "parameters": [],
862
+ "entityTypes": [
863
+ "RETURN_ORDER"
864
+ ],
865
+ "eventAttributes": [],
866
+ "producedEvents": [
867
+ "CREATE"
868
+ ]
869
+ },
870
+ "CreateReturnOrderFromOrder": {
871
+ "description": "Creates a return entity to begin the process of refunding the returned items.",
872
+ "parameters": [],
873
+ "entityTypes": [
874
+ "ORDER"
875
+ ],
876
+ "eventAttributes": [
877
+ "returnItems",
878
+ "pickupLocation",
879
+ "lodgedLocation",
880
+ "type"
881
+ ],
882
+ "producedEvents": []
883
+ },
884
+ "CreateRevisedOrder": {
885
+ "description": "This rules creates a revised order based on the revised order attributes passed in the event.",
886
+ "parameters": [],
887
+ "entityTypes": [
888
+ "ORDER"
889
+ ],
890
+ "eventAttributes": [
891
+ "revisedItems"
892
+ ],
893
+ "producedEvents": []
894
+ },
895
+ "CreateTransactionForOrder": {
896
+ "description": "Create a transaction for the order using event attributes",
897
+ "parameters": [],
898
+ "entityTypes": [
899
+ "ORDER"
900
+ ],
901
+ "eventAttributes": [
902
+ "amount",
903
+ "cardType",
904
+ "currency",
905
+ "paymentMethod",
906
+ "paymentProvider",
907
+ "transactionCode",
908
+ "transactionRef",
909
+ "transactionType"
910
+ ],
911
+ "producedEvents": []
912
+ },
913
+ "CreateWave": {
914
+ "description": "This rule creates a wave with 'X' amount of fulfilments specified in the incoming event attributes with the name = 'maxCount'. If no value is provided, it will use a default value = 5. Fulfilments will be prioritised by expiry time and the rule, will consider just the fulfilments in the status matching the setting with the name = 'AWAITING_WAVE_STATUSES'. If the the setting is not found, it will use 'AWAITING_WAVE' as default.",
915
+ "parameters": [],
916
+ "entityTypes": [
917
+ "LOCATION"
918
+ ],
919
+ "eventAttributes": [
920
+ "maxCount",
921
+ "userName"
922
+ ],
923
+ "producedEvents": []
924
+ },
925
+ "CreateWaveByFulfilmentExpiry": {
926
+ "description": "Create a wave with fulfilments expiring within {expireIn} seconds and are in status {statuses}, prioritised by expiry.",
927
+ "parameters": [
928
+ {
929
+ "name": "expireIn",
930
+ "type": "INTEGER",
931
+ "description": "Seconds that fulfilments will expire in to be assigned to wave. Use 0 to not filter by expiry time."
932
+ },
933
+ {
934
+ "name": "statuses",
935
+ "type": "STRING",
936
+ "description": "The statuses of fulfilments to be assigned to wave"
937
+ }
938
+ ],
939
+ "entityTypes": [
940
+ "LOCATION"
941
+ ],
942
+ "eventAttributes": [
943
+ "maxCount",
944
+ "userName"
945
+ ],
946
+ "producedEvents": []
947
+ },
948
+ "CreateWaveByFulfilmentExpiryDeprecated": {
949
+ "description": "Create a wave with fulfilments expiring within {expireIn} seconds and are in status {statuses}, prioritised by expiry.",
950
+ "parameters": [
951
+ {
952
+ "name": "expireIn",
953
+ "type": "INTEGER",
954
+ "description": "Seconds that fulfilments will expire in to be assigned to wave. Use 0 to not filter by expiry time."
955
+ },
956
+ {
957
+ "name": "statuses",
958
+ "type": "STRING",
959
+ "description": "The statuses of fulfilments to be assigned to wave"
960
+ }
961
+ ],
962
+ "entityTypes": [
963
+ "LOCATION"
964
+ ],
965
+ "eventAttributes": [
966
+ "maxCount",
967
+ "userName"
968
+ ],
969
+ "producedEvents": []
970
+ },
971
+ "DeleteFromStorageArea": {
972
+ "description": "Delete Article from Storage Area from Event Attribute",
973
+ "parameters": [],
974
+ "entityTypes": [
975
+ "ARTICLE"
976
+ ],
977
+ "eventAttributes": [],
978
+ "producedEvents": []
979
+ },
980
+ "DuplicateOrderToCC": {
981
+ "description": "Create a CC duplicate of an order, appending {duplicateRefSuffix} to the ref and adding an attribute named {duplicateRelToOld} to the new order linking to the existing order",
982
+ "parameters": [
983
+ {
984
+ "name": "duplicateRefSuffix",
985
+ "type": "STRING",
986
+ "description": "The suffix to append to the ref of the new order"
987
+ },
988
+ {
989
+ "name": "duplicateRelToOld",
990
+ "type": "STRING",
991
+ "description": "The name of the attribute to add to the new order with the id of the original order"
992
+ }
993
+ ],
994
+ "entityTypes": [
995
+ "ORDER"
996
+ ],
997
+ "eventAttributes": [
998
+ "pickupLocationRef"
999
+ ],
1000
+ "producedEvents": [
1001
+ "CREATE"
1002
+ ]
1003
+ },
1004
+ "DuplicateOrderToHD": {
1005
+ "description": "Create a HD duplicate of an order, appending {duplicateRefSuffix} to the ref and adding an attribute named {duplicateRelToOld} to the new order linking to the existing order",
1006
+ "parameters": [
1007
+ {
1008
+ "name": "duplicateRefSuffix",
1009
+ "type": "STRING",
1010
+ "description": "The suffix to append to the ref of the new order"
1011
+ },
1012
+ {
1013
+ "name": "duplicateRelToOld",
1014
+ "type": "STRING",
1015
+ "description": "The name of the attribute to add to the new order with the id of the original order"
1016
+ }
1017
+ ],
1018
+ "entityTypes": [
1019
+ "ORDER"
1020
+ ],
1021
+ "eventAttributes": [
1022
+ "deliveryAddress",
1023
+ "deliveryPrice"
1024
+ ],
1025
+ "producedEvents": [
1026
+ "CREATE"
1027
+ ]
1028
+ },
1029
+ "EvaluateFulfilmentsForAddressChange": {
1030
+ "description": "This rule will decide whether the address change is major or minor based on the address fields that have been modified. The fields are taken from the setting MAJOR_ADDRESS_CHANGE_FIELDS or from the rule parameter '{majorAddressChangeFields}' if the setting is not present. In case of major change, this rule will produce an event to cancel the existing fulfilments (with event name: {eventName}), and no action will be taken for a minor change.",
1031
+ "parameters": [
1032
+ {
1033
+ "name": "majorAddressChangeFields",
1034
+ "type": "STRING",
1035
+ "description": "Comma-separated values with the address fields used to determine a major change"
1036
+ },
1037
+ {
1038
+ "name": "eventName",
1039
+ "type": "STRING",
1040
+ "description": "Event name for outgoing event"
1041
+ }
1042
+ ],
1043
+ "entityTypes": [
1044
+ "ORDER"
1045
+ ],
1046
+ "eventAttributes": [],
1047
+ "producedEvents": [
1048
+ "{eventName}"
1049
+ ]
1050
+ },
1051
+ "ForwardEventToAllVirtualCatalogues": {
1052
+ "description": "Forward incoming event to all virtual catalogues {virtualCatalogueRefList} with {eventName} event name. Use {productCatalogueRef} Product Catalogue and {inventoryCatalogueRef} Inventory Catalogue",
1053
+ "parameters": [
1054
+ {
1055
+ "name": "eventName",
1056
+ "type": "STRING",
1057
+ "description": "The name of event to be triggered"
1058
+ },
1059
+ {
1060
+ "name": "virtualCatalogueRefList",
1061
+ "type": "STRING",
1062
+ "description": "The name of event to be triggered"
1063
+ },
1064
+ {
1065
+ "name": "productCatalogueRef",
1066
+ "type": "STRING",
1067
+ "description": "Product Catalogue Ref"
1068
+ },
1069
+ {
1070
+ "name": "inventoryCatalogueRef",
1071
+ "type": "STRING",
1072
+ "description": "Inventory Catalogue Ref"
1073
+ }
1074
+ ],
1075
+ "entityTypes": [
1076
+ "INVENTORY_POSITION",
1077
+ "INVENTORY_CATALOGUE"
1078
+ ],
1079
+ "eventAttributes": [],
1080
+ "producedEvents": []
1081
+ },
1082
+ "ForwardEventToDefaultProductCatalogue": {
1083
+ "description": "Send an {eventName} event to {productCatalogueRef} product catalogue of type {type} for a SKU / Product change in Compatibility Product Catalogue. Add {outgoingAttributeKey} attribute from incoming event attribute {incomingAttributeKey}",
1084
+ "parameters": [
1085
+ {
1086
+ "name": "eventName",
1087
+ "type": "STRING",
1088
+ "description": "The name of event to be triggered"
1089
+ },
1090
+ {
1091
+ "name": "productCatalogueRef",
1092
+ "type": "STRING",
1093
+ "description": "Product Catalogue ref"
1094
+ },
1095
+ {
1096
+ "name": "type",
1097
+ "type": "STRING",
1098
+ "description": "Type of Product Catalogue"
1099
+ },
1100
+ {
1101
+ "name": "outgoingAttributeKey",
1102
+ "type": "STRING",
1103
+ "description": "Name of the event attribute on outgoing event"
1104
+ },
1105
+ {
1106
+ "name": "incomingAttributeKey",
1107
+ "type": "STRING",
1108
+ "description": "Name of the event attribute on incoming event"
1109
+ }
1110
+ ],
1111
+ "entityTypes": [
1112
+ "PRODUCT_CATALOGUE"
1113
+ ],
1114
+ "eventAttributes": [],
1115
+ "producedEvents": [
1116
+ "eventName"
1117
+ ]
1118
+ },
1119
+ "FulfilFromCollectionPoint": {
1120
+ "description": "Attempt to fulfil {amountOf} remaining order items from Collection Point",
1121
+ "parameters": [],
1122
+ "entityTypes": [
1123
+ "ORDER"
1124
+ ],
1125
+ "eventAttributes": [],
1126
+ "producedEvents": []
1127
+ },
1128
+ "FulfilFromDC": {
1129
+ "description": "Attempt to fulfil {amountOf} remaining order items from DC",
1130
+ "parameters": [],
1131
+ "entityTypes": [
1132
+ "ORDER"
1133
+ ],
1134
+ "eventAttributes": [],
1135
+ "producedEvents": []
1136
+ },
1137
+ "FulfilFromNetwork": {
1138
+ "description": "Attempt to fulfil {amountOf} remaining order items from locations within the network {networkName}",
1139
+ "parameters": [],
1140
+ "entityTypes": [
1141
+ "ORDER"
1142
+ ],
1143
+ "eventAttributes": [],
1144
+ "producedEvents": []
1145
+ },
1146
+ "ProcessLocationNetworkChangedEvent": {
1147
+ "description": "Load 10 Inventory positions using catalogue: {inventoryCatalogueRef} for location ref in {incomingAttributeKey} event attribute and send virtual catalogue event {eventName} for each inventory position. Send recursive event {recursiveEventName} with cursor attribute until more inventory positions are available.",
1148
+ "parameters": [
1149
+ {
1150
+ "name": "inventoryCatalogueRef",
1151
+ "type": "STRING",
1152
+ "description": "Inventory Catalogue Ref"
1153
+ },
1154
+ {
1155
+ "name": "incomingAttributeKey",
1156
+ "type": "STRING",
1157
+ "description": "Incoming attribute key for location ref"
1158
+ },
1159
+ {
1160
+ "name": "eventName",
1161
+ "type": "STRING",
1162
+ "description": "The name of virtual catalogue event to be triggered for each Inventory Position"
1163
+ },
1164
+ {
1165
+ "name": "recursiveEventName",
1166
+ "type": "STRING",
1167
+ "description": "The name event to be triggered if more pages IP query are available"
1168
+ }
1169
+ ],
1170
+ "entityTypes": [
1171
+ "VIRTUAL_CATALOGUE"
1172
+ ],
1173
+ "eventAttributes": [],
1174
+ "producedEvents": []
1175
+ },
1176
+ "ProcessLocationStatusChangedEvent": {
1177
+ "description": "Load 10 Inventory positions for location in event attribute and update status of Inventory positions based on Location and Product status using Product Catalogue: {productCatalogueRef} and send event {eventName} to virtual catalogues {virtualCatalogueRefList}.Send recursive event {recursiveEventName} with cursor attribute until more inventory positions are available. ",
1178
+ "parameters": [
1179
+ {
1180
+ "name": "productCatalogueRef",
1181
+ "type": "STRING",
1182
+ "description": "Product catalogue Ref"
1183
+ },
1184
+ {
1185
+ "name": "eventName",
1186
+ "type": "STRING",
1187
+ "description": "The name of event to be triggered for each Virtual Catalogue"
1188
+ },
1189
+ {
1190
+ "name": "virtualCatalogueRefList",
1191
+ "type": "STRING",
1192
+ "description": "List of Virtual Catalogues"
1193
+ },
1194
+ {
1195
+ "name": "recursiveEventName",
1196
+ "type": "STRING",
1197
+ "description": "The name event to be triggered if more pages IP query are available"
1198
+ }
1199
+ ],
1200
+ "entityTypes": [
1201
+ "INVENTORY_CATALOGUE"
1202
+ ],
1203
+ "eventAttributes": [],
1204
+ "producedEvents": []
1205
+ },
1206
+ "RecalculateAggregateVirtualPosition": {
1207
+ "description": "If any location is been added or removed from a netword then recalculate the AVP for {networkRef} network after applying controls for location type {controlsForLocationType}.Query {inventoryCatalogueRef} IC to get inventory positions while ignoring the {ignoreStatus} IP and generate {eventName} eventUse Product catalogue as {productCatalogueRef}",
1208
+ "parameters": [
1209
+ {
1210
+ "name": "ignoreStatus",
1211
+ "type": "STRING",
1212
+ "description": "Status for the the IPs will be ignored"
1213
+ },
1214
+ {
1215
+ "name": "inventoryCatalogueRef",
1216
+ "type": "STRING",
1217
+ "description": "Inventory Catalogue Ref"
1218
+ },
1219
+ {
1220
+ "name": "productCatalogueRef",
1221
+ "type": "STRING",
1222
+ "description": "Product Catalogue Ref"
1223
+ },
1224
+ {
1225
+ "name": "networkRef",
1226
+ "type": "STRING",
1227
+ "description": "Network Ref"
1228
+ },
1229
+ {
1230
+ "name": "controlsForLocationType",
1231
+ "type": "STRING",
1232
+ "description": "Location type"
1233
+ },
1234
+ {
1235
+ "name": "eventName",
1236
+ "type": "STRING",
1237
+ "description": "Event name"
1238
+ }
1239
+ ],
1240
+ "entityTypes": [
1241
+ "VIRTUAL_CATALOGUE"
1242
+ ],
1243
+ "eventAttributes": [],
1244
+ "producedEvents": []
1245
+ },
1246
+ "ResetLocationChangeAttributes": {
1247
+ "description": "Get the locationRef from incoming event attribute {incomingAttributeKey} to reset ATTRIBUTE_LOCATION_CHANGE_SCHEDULE attribute and update ATTRIBUTE_NETWORK_REF and ATTRIBUTE_LOCATION_STATUS with current networks and status.",
1248
+ "parameters": [
1249
+ {
1250
+ "name": "incomingAttributeKey",
1251
+ "type": "STRING",
1252
+ "description": "Attribute key of incoming event for locationChanged"
1253
+ }
1254
+ ],
1255
+ "entityTypes": [],
1256
+ "eventAttributes": [],
1257
+ "producedEvents": []
1258
+ },
1259
+ "ResetVirtualPositionByDCStock": {
1260
+ "description": "Set the quantity to DC stock using {dcLocationRef} location on inventory catalogue {inventoryCatalogueRef} for all {vpType} Virtual Positions on {virtualCatalogueRef} Virtual Catalogue. Use {productCatalogueRef} Product Catalogue",
1261
+ "parameters": [
1262
+ {
1263
+ "name": "virtualCatalogueRef",
1264
+ "type": "STRING",
1265
+ "description": "Virtual Catalogue reference"
1266
+ },
1267
+ {
1268
+ "name": "productCatalogueRef",
1269
+ "type": "STRING",
1270
+ "description": "Product Catalogue reference"
1271
+ },
1272
+ {
1273
+ "name": "inventoryCatalogueRef",
1274
+ "type": "STRING",
1275
+ "description": "Inventory Catalogue reference"
1276
+ },
1277
+ {
1278
+ "name": "vpType",
1279
+ "type": "STRING",
1280
+ "description": "Product Catalogue reference"
1281
+ },
1282
+ {
1283
+ "name": "dcLocationRef",
1284
+ "type": "STRING",
1285
+ "description": "DC location Ref"
1286
+ }
1287
+ ],
1288
+ "entityTypes": [
1289
+ "VIRTUAL_CATALOGUE"
1290
+ ],
1291
+ "eventAttributes": [],
1292
+ "producedEvents": []
1293
+ },
1294
+ "ResetVirtualPositionBySettings": {
1295
+ "description": "Set the quantity to {atsSetting} for all {vpType} Virtual Positions on {virtualCatalogueRef} Virtual Catalogue. Use {productCatalogueRef} Product Catalogue",
1296
+ "parameters": [
1297
+ {
1298
+ "name": "virtualCatalogueRef",
1299
+ "type": "STRING",
1300
+ "description": "Virtual Catalogue reference"
1301
+ },
1302
+ {
1303
+ "name": "productCatalogueRef",
1304
+ "type": "STRING",
1305
+ "description": "Product Catalogue reference"
1306
+ },
1307
+ {
1308
+ "name": "vpType",
1309
+ "type": "STRING",
1310
+ "description": "Type of Virtual Position"
1311
+ },
1312
+ {
1313
+ "name": "atsSetting",
1314
+ "type": "STRING",
1315
+ "description": "Retailer Settings"
1316
+ }
1317
+ ],
1318
+ "entityTypes": [
1319
+ "VIRTUAL_CATALOGUE"
1320
+ ],
1321
+ "eventAttributes": [],
1322
+ "producedEvents": []
1323
+ },
1324
+ "ScheduleFulfilmentExpiry": {
1325
+ "description": "Set a fulfilment expiry against the fulfilment after {delay} time and schedule a \"FulfilmentExpiry\" event",
1326
+ "parameters": [
1327
+ {
1328
+ "name": "delay",
1329
+ "type": "STRING",
1330
+ "description": "The delay time of fulfilment expiry"
1331
+ }
1332
+ ],
1333
+ "entityTypes": [
1334
+ "FULFILMENT"
1335
+ ],
1336
+ "eventAttributes": [],
1337
+ "producedEvents": [
1338
+ "{eventName}"
1339
+ ]
1340
+ },
1341
+ "ScheduleFulfilmentExpiryGQL": {
1342
+ "description": "Sets a fulfilment expiry against the fulfilment and schedule a \"FulfilmentExpiry\" event",
1343
+ "parameters": [],
1344
+ "entityTypes": [
1345
+ "FULFILMENT"
1346
+ ],
1347
+ "eventAttributes": [],
1348
+ "producedEvents": [
1349
+ "{eventName}"
1350
+ ]
1351
+ },
1352
+ "ScheduleRecalculationForLocationChange": {
1353
+ "description": "Get the locationRef from incoming event attribute {incomingAttributeKey}. Send a scheduled event {scheduledRecalculationEvent} as per LOCATION_PROCESSING_SCHEDULE setting if the location attribute ATTRIBUTE_LOCATION_CHANGE_SCHEDULE is set to false or does not exist.",
1354
+ "parameters": [
1355
+ {
1356
+ "name": "scheduledRecalculationEvent",
1357
+ "type": "STRING",
1358
+ "description": "The name of scheduled event for recalculation"
1359
+ },
1360
+ {
1361
+ "name": "incomingAttributeKey",
1362
+ "type": "STRING",
1363
+ "description": "Attribute key of incoming event for locationChanged"
1364
+ }
1365
+ ],
1366
+ "entityTypes": [],
1367
+ "eventAttributes": [],
1368
+ "producedEvents": []
1369
+ },
1370
+ "SearchInventoryAtCollectionPoint": {
1371
+ "description": "Search inventory at the collection point (optionally verifying it is part of one of the networks in {networkRefs}) for the remaining order items using virtual catalogue {virtualCatalogueRef} and creates a proposed fulfilment. Sends event {responseEvent} for fulfilment creation.",
1372
+ "parameters": [
1373
+ {
1374
+ "name": "networkRefs",
1375
+ "type": "STRING",
1376
+ "description": "The list of network references"
1377
+ },
1378
+ {
1379
+ "name": "virtualCatalogueRef",
1380
+ "type": "STRING",
1381
+ "description": "The ref of virtual catalogue"
1382
+ },
1383
+ {
1384
+ "name": "responseEvent",
1385
+ "type": "STRING",
1386
+ "description": "The name of the response event"
1387
+ }
1388
+ ],
1389
+ "entityTypes": [
1390
+ "ORDER"
1391
+ ],
1392
+ "eventAttributes": [],
1393
+ "producedEvents": [
1394
+ "responseEvent"
1395
+ ]
1396
+ },
1397
+ "SearchInventoryCommonRule": {
1398
+ "description": "Search Inventory for {coverage} remaining order items,using virtual catalogue {virtualCatalogueRef}, optionally filters result by location refs {locationRefs} within the optional network {networkRef} and excludes location refs {excludedLocationRefs}. Sends event {responseEvent} for creating fulfilments.",
1399
+ "parameters": [
1400
+ {
1401
+ "name": "coverage",
1402
+ "type": "STRING",
1403
+ "description": "The search coverage ALL or ANY"
1404
+ },
1405
+ {
1406
+ "name": "networkRef",
1407
+ "type": "STRING",
1408
+ "description": "The ref of the network"
1409
+ },
1410
+ {
1411
+ "name": "locationRefs",
1412
+ "type": "STRING",
1413
+ "description": "The list refs of the locations"
1414
+ },
1415
+ {
1416
+ "name": "excludedLocationRefs",
1417
+ "type": "STRING",
1418
+ "description": "The list refs of the locations"
1419
+ },
1420
+ {
1421
+ "name": "virtualCatalogueRef",
1422
+ "type": "STRING",
1423
+ "description": "The refs of virtual catalogue"
1424
+ },
1425
+ {
1426
+ "name": "responseEvent",
1427
+ "type": "STRING",
1428
+ "description": "The name of response event"
1429
+ }
1430
+ ],
1431
+ "entityTypes": [
1432
+ "ORDER"
1433
+ ],
1434
+ "eventAttributes": [],
1435
+ "producedEvents": [
1436
+ "responseEvent"
1437
+ ]
1438
+ },
1439
+ "SendEmail": {
1440
+ "description": "Send an email using {templateName} template",
1441
+ "parameters": [
1442
+ {
1443
+ "name": "templateName",
1444
+ "type": "STRING",
1445
+ "description": "Template Name"
1446
+ }
1447
+ ],
1448
+ "entityTypes": [
1449
+ "FULFILMENT",
1450
+ "ARTICLE",
1451
+ "ORDER"
1452
+ ],
1453
+ "eventAttributes": [],
1454
+ "producedEvents": [
1455
+ "SEND_EMAIL"
1456
+ ]
1457
+ },
1458
+ "SendEmailToEmailAddress": {
1459
+ "description": "Send an email using {templateName} template and {emailAddress} email Address",
1460
+ "parameters": [
1461
+ {
1462
+ "name": "templateName",
1463
+ "type": "STRING",
1464
+ "description": "Template Name"
1465
+ },
1466
+ {
1467
+ "name": "emailAddress",
1468
+ "type": "STRING",
1469
+ "description": "Email Address"
1470
+ }
1471
+ ],
1472
+ "entityTypes": [
1473
+ "FULFILMENT",
1474
+ "ARTICLE",
1475
+ "ORDER"
1476
+ ],
1477
+ "eventAttributes": [],
1478
+ "producedEvents": [
1479
+ "SEND_EMAIL"
1480
+ ]
1481
+ },
1482
+ "SendEvent": {
1483
+ "description": "Send an {eventName} event for the (current entity)",
1484
+ "parameters": [
1485
+ {
1486
+ "name": "eventName",
1487
+ "type": "STRING",
1488
+ "description": "The name of event to be triggered"
1489
+ }
1490
+ ],
1491
+ "entityTypes": [
1492
+ "ORDER",
1493
+ "FULFILMENT_PLAN",
1494
+ "FULFILMENT",
1495
+ "WAVE",
1496
+ "ARTICLE",
1497
+ "FULFILMENT_OPTIONS"
1498
+ ],
1499
+ "eventAttributes": [],
1500
+ "producedEvents": [
1501
+ "{eventName}"
1502
+ ]
1503
+ },
1504
+ "SendEventForAllArticles": {
1505
+ "description": "Send an event '{eventName}' for all articles related to the {event.entityType}",
1506
+ "parameters": [
1507
+ {
1508
+ "name": "eventName",
1509
+ "type": "STRING",
1510
+ "description": "The name of event to be triggered"
1511
+ }
1512
+ ],
1513
+ "entityTypes": [
1514
+ "FULFILMENT",
1515
+ "ORDER"
1516
+ ],
1517
+ "eventAttributes": [],
1518
+ "producedEvents": [
1519
+ "{eventName}"
1520
+ ]
1521
+ },
1522
+ "SendEventForAllFulfilments": {
1523
+ "description": "Rule to send {eventName} event to ALL fulfilments in the current order or wave.",
1524
+ "parameters": [
1525
+ {
1526
+ "name": "eventName",
1527
+ "type": "STRING",
1528
+ "description": "The name of event to be triggered"
1529
+ }
1530
+ ],
1531
+ "entityTypes": [
1532
+ "ORDER",
1533
+ "WAVE"
1534
+ ],
1535
+ "eventAttributes": [],
1536
+ "producedEvents": [
1537
+ "{eventName}"
1538
+ ]
1539
+ },
1540
+ "SendEventForAllFulfilmentsFromWave": {
1541
+ "description": "Generic rule which sends an event to all the fulfilment of that parent entity type Wave and event name can be defined by rule properties {eventName}",
1542
+ "parameters": [
1543
+ {
1544
+ "name": "eventName",
1545
+ "type": "STRING",
1546
+ "description": "The name of the outgoing event"
1547
+ }
1548
+ ],
1549
+ "entityTypes": [
1550
+ "WAVE"
1551
+ ],
1552
+ "eventAttributes": [],
1553
+ "producedEvents": []
1554
+ },
1555
+ "SendEventForAllFulfilmentsFromWaveWithArticleInfo": {
1556
+ "description": "Proxy rule to forward the user action input from allFulfilmentArticles to SendEventForAllFulfilmentsFromWave. Afterwards, SendEventForAllFulfilmentsFromWave will send an event to each Fulfilment of the parent Wave entity. The outgoing event name can be defined by the property {eventName}",
1557
+ "parameters": [
1558
+ {
1559
+ "name": "eventName",
1560
+ "type": "STRING",
1561
+ "description": "The name of the outgoing event"
1562
+ }
1563
+ ],
1564
+ "entityTypes": [
1565
+ "WAVE"
1566
+ ],
1567
+ "eventAttributes": [
1568
+ "allFulfilmentArticles"
1569
+ ],
1570
+ "producedEvents": []
1571
+ },
1572
+ "SendEventForAllFulfilmentsGQL": {
1573
+ "description": "Send event {eventName} for all fulfilments.",
1574
+ "parameters": [
1575
+ {
1576
+ "name": "eventName",
1577
+ "type": "STRING",
1578
+ "description": "The name of event to be triggered"
1579
+ }
1580
+ ],
1581
+ "entityTypes": [
1582
+ "ORDER"
1583
+ ],
1584
+ "eventAttributes": [],
1585
+ "producedEvents": [
1586
+ "{eventName}"
1587
+ ]
1588
+ },
1589
+ "SendEventForAppeasementToBillingAccount": {
1590
+ "description": "Send an {eventName} event to the Billing Account ",
1591
+ "parameters": [
1592
+ {
1593
+ "name": "eventName",
1594
+ "type": "STRING",
1595
+ "description": "Event name for outgoing event"
1596
+ }
1597
+ ],
1598
+ "entityTypes": [
1599
+ "ORDER"
1600
+ ],
1601
+ "eventAttributes": [],
1602
+ "producedEvents": [
1603
+ "eventName"
1604
+ ]
1605
+ },
1606
+ "SendEventForArticles": {
1607
+ "description": "Send an {eventName} event for the related article",
1608
+ "parameters": [
1609
+ {
1610
+ "name": "eventName",
1611
+ "type": "STRING",
1612
+ "description": "The name of event to be triggered"
1613
+ }
1614
+ ],
1615
+ "entityTypes": [
1616
+ "CONSIGNMENT"
1617
+ ],
1618
+ "eventAttributes": [],
1619
+ "producedEvents": [
1620
+ "{eventName}"
1621
+ ]
1622
+ },
1623
+ "SendEventForConsignment": {
1624
+ "description": "Send event {eventName} for consignment.",
1625
+ "parameters": [
1626
+ {
1627
+ "name": "eventName",
1628
+ "type": "STRING",
1629
+ "description": "The name of event to be triggered"
1630
+ }
1631
+ ],
1632
+ "entityTypes": [
1633
+ "FULFILMENT"
1634
+ ],
1635
+ "eventAttributes": [],
1636
+ "producedEvents": [
1637
+ "{eventName}"
1638
+ ]
1639
+ },
1640
+ "SendEventForCreditMemoToReturn": {
1641
+ "description": "Send an {eventName} event to the ReturnOrder ",
1642
+ "parameters": [
1643
+ {
1644
+ "name": "eventName",
1645
+ "type": "STRING",
1646
+ "description": "Event name for outgoing event"
1647
+ }
1648
+ ],
1649
+ "entityTypes": [
1650
+ "CREDIT_MEMO"
1651
+ ],
1652
+ "eventAttributes": [],
1653
+ "producedEvents": [
1654
+ "eventName"
1655
+ ]
1656
+ },
1657
+ "SendEventForFulfilment": {
1658
+ "description": "Send an {eventName} event for the related Fulfilment",
1659
+ "parameters": [
1660
+ {
1661
+ "name": "eventName",
1662
+ "type": "STRING",
1663
+ "description": "The name of event to be triggered"
1664
+ }
1665
+ ],
1666
+ "entityTypes": [
1667
+ "ARTICLE"
1668
+ ],
1669
+ "eventAttributes": [],
1670
+ "producedEvents": [
1671
+ "{eventName}"
1672
+ ]
1673
+ },
1674
+ "SendEventForFulfilmentFromCarrierConsignment": {
1675
+ "description": "Send an {eventName} event for the related Fulfilment(s) from a carrierConsignment",
1676
+ "parameters": [
1677
+ {
1678
+ "name": "eventName",
1679
+ "type": "STRING",
1680
+ "description": "The name of event to be triggered"
1681
+ }
1682
+ ],
1683
+ "entityTypes": [
1684
+ "CONSIGNMENT"
1685
+ ],
1686
+ "eventAttributes": [],
1687
+ "producedEvents": [
1688
+ "{eventName}"
1689
+ ]
1690
+ },
1691
+ "SendEventForOrder": {
1692
+ "description": "Send an {eventName} event for the associated Order",
1693
+ "parameters": [
1694
+ {
1695
+ "name": "eventName",
1696
+ "type": "STRING",
1697
+ "description": "The name of event to be triggered"
1698
+ }
1699
+ ],
1700
+ "entityTypes": [
1701
+ "FULFILMENT",
1702
+ "ARTICLE"
1703
+ ],
1704
+ "eventAttributes": [],
1705
+ "producedEvents": [
1706
+ "{eventName}"
1707
+ ]
1708
+ },
1709
+ "SendEventForOrderGQL": {
1710
+ "description": "Send an {eventName} event for the associated Order",
1711
+ "parameters": [
1712
+ {
1713
+ "name": "eventName",
1714
+ "type": "STRING",
1715
+ "description": "The name of event to be triggered"
1716
+ }
1717
+ ],
1718
+ "entityTypes": [
1719
+ "FULFILMENT",
1720
+ "CONSIGNMENT",
1721
+ "ARTICLE"
1722
+ ],
1723
+ "eventAttributes": [],
1724
+ "producedEvents": [
1725
+ "eventName"
1726
+ ]
1727
+ },
1728
+ "SendEventForRelatedOrder": {
1729
+ "description": "Send a {eventName} event with a relation attribute named {relationEventAttributeName} for related orders addressed by the {attributeNames} attributes",
1730
+ "parameters": [
1731
+ {
1732
+ "name": "eventName",
1733
+ "type": "STRING",
1734
+ "description": "The name of the event to trigger on the related entity"
1735
+ },
1736
+ {
1737
+ "name": "attributeNames",
1738
+ "type": "STRING",
1739
+ "description": "The name of the attribute that addresses the related entity"
1740
+ },
1741
+ {
1742
+ "name": "relationEventAttributeName",
1743
+ "type": "STRING",
1744
+ "description": "The name of the attribute that is sent with the event"
1745
+ }
1746
+ ],
1747
+ "entityTypes": [
1748
+ "ORDER"
1749
+ ],
1750
+ "eventAttributes": [],
1751
+ "producedEvents": [
1752
+ "{eventName}"
1753
+ ]
1754
+ },
1755
+ "SendEventForReturnToBillingAccount": {
1756
+ "description": "Send an {eventName} event to the Billing Account ",
1757
+ "parameters": [
1758
+ {
1759
+ "name": "eventName",
1760
+ "type": "STRING",
1761
+ "description": "Event name for outgoing event"
1762
+ }
1763
+ ],
1764
+ "entityTypes": [
1765
+ "RETURN_ORDER"
1766
+ ],
1767
+ "eventAttributes": [],
1768
+ "producedEvents": [
1769
+ "eventName"
1770
+ ]
1771
+ },
1772
+ "SendEventForReturnToOrder": {
1773
+ "description": "Send an {eventName} event to the Order ",
1774
+ "parameters": [
1775
+ {
1776
+ "name": "eventName",
1777
+ "type": "STRING",
1778
+ "description": "Event name for outgoing event"
1779
+ }
1780
+ ],
1781
+ "entityTypes": [
1782
+ "RETURN_ORDER"
1783
+ ],
1784
+ "eventAttributes": [],
1785
+ "producedEvents": [
1786
+ "eventName"
1787
+ ]
1788
+ },
1789
+ "SendEventForRevisedOrderToBillingAccount": {
1790
+ "description": "Send an {eventName} event to the Billing Account ",
1791
+ "parameters": [
1792
+ {
1793
+ "name": "eventName",
1794
+ "type": "STRING",
1795
+ "description": "Event name for outgoing event"
1796
+ }
1797
+ ],
1798
+ "entityTypes": [
1799
+ "ORDER"
1800
+ ],
1801
+ "eventAttributes": [],
1802
+ "producedEvents": [
1803
+ "eventName"
1804
+ ]
1805
+ },
1806
+ "SendEventForWave": {
1807
+ "description": "Send an {eventName} event from Fulfilment to its parent Wave",
1808
+ "parameters": [
1809
+ {
1810
+ "name": "eventName",
1811
+ "type": "STRING",
1812
+ "description": "The name of event to be triggered"
1813
+ }
1814
+ ],
1815
+ "entityTypes": [
1816
+ "FULFILMENT"
1817
+ ],
1818
+ "eventAttributes": [],
1819
+ "producedEvents": [
1820
+ "{eventName}"
1821
+ ]
1822
+ },
1823
+ "SendEventForWaveOnVerifyingAllFulfilmentStates": {
1824
+ "description": "Send {eventName} event to {entity.entityType} on verifying if all fulfilments are in any of the following states {status}",
1825
+ "parameters": [
1826
+ {
1827
+ "name": "eventName",
1828
+ "type": "STRING",
1829
+ "description": "The event name which will send to wave"
1830
+ },
1831
+ {
1832
+ "name": "status",
1833
+ "type": "STRING",
1834
+ "description": "The statuses of verifying fulfilments"
1835
+ }
1836
+ ],
1837
+ "entityTypes": [
1838
+ "WAVE"
1839
+ ],
1840
+ "eventAttributes": [],
1841
+ "producedEvents": [
1842
+ "{eventName}"
1843
+ ]
1844
+ },
1845
+ "SendEventGQL": {
1846
+ "description": "Send an {eventName} event for the (current entity)",
1847
+ "parameters": [
1848
+ {
1849
+ "name": "eventName",
1850
+ "type": "STRING",
1851
+ "description": "The name of event to be triggered"
1852
+ }
1853
+ ],
1854
+ "entityTypes": [
1855
+ "ORDER",
1856
+ "FULFILMENT_PLAN",
1857
+ "FULFILMENT",
1858
+ "WAVE",
1859
+ "ARTICLE",
1860
+ "FULFILMENT_OPTIONS"
1861
+ ],
1862
+ "eventAttributes": [],
1863
+ "producedEvents": [
1864
+ "{eventName}"
1865
+ ]
1866
+ },
1867
+ "SendEventIfAttributePresent": {
1868
+ "description": "Send an '{eventName}' event with the same payload of the incoming event, just if the attribute '{attributeName}' is present",
1869
+ "parameters": [
1870
+ {
1871
+ "name": "eventName",
1872
+ "type": "STRING",
1873
+ "description": "Event name for outgoing event"
1874
+ },
1875
+ {
1876
+ "name": "attributeName",
1877
+ "type": "STRING",
1878
+ "description": "Event attribute that should be present"
1879
+ }
1880
+ ],
1881
+ "entityTypes": [
1882
+ "ORDER"
1883
+ ],
1884
+ "eventAttributes": [],
1885
+ "producedEvents": [
1886
+ "eventName"
1887
+ ]
1888
+ },
1889
+ "SendEventOnBatchInventoryUpdate": {
1890
+ "description": "Verify if the inventory position exists, if yes then send event {inventoryPositionUpdateEvent} otherwise send {inventoryPositionCreateEvent} to inventory catalogue with reference {inventoryCatalogueRef} and inventory catalogue type {type}. Include the existing inventory quantities of type {inventoryQuantityTypes} with status {inventoryQuantityStatus} in event attribute if inventory position exists",
1891
+ "parameters": [
1892
+ {
1893
+ "name": "inventoryPositionCreateEvent",
1894
+ "type": "STRING",
1895
+ "description": "The name of event to be triggered if inventory position does not exist"
1896
+ },
1897
+ {
1898
+ "name": "inventoryPositionUpdateEvent",
1899
+ "type": "STRING",
1900
+ "description": "The name of event to be triggered if inventory position exists"
1901
+ },
1902
+ {
1903
+ "name": "inventoryCatalogueRef",
1904
+ "type": "STRING",
1905
+ "description": "Inventory catalogue reference"
1906
+ },
1907
+ {
1908
+ "name": "type",
1909
+ "type": "STRING",
1910
+ "description": "Inventory catalogue type"
1911
+ },
1912
+ {
1913
+ "name": "inventoryQuantityStatus",
1914
+ "type": "STRING",
1915
+ "description": "Inventory quantity status"
1916
+ },
1917
+ {
1918
+ "name": "inventoryQuantityTypes",
1919
+ "type": "STRING",
1920
+ "description": "Inventory quantity type"
1921
+ }
1922
+ ],
1923
+ "entityTypes": [
1924
+ "INVENTORY_CATALOGUE"
1925
+ ],
1926
+ "eventAttributes": [
1927
+ "INVENTORY_POSITION"
1928
+ ],
1929
+ "producedEvents": []
1930
+ },
1931
+ "SendEventOnDeltaInventoryUpdate": {
1932
+ "description": "Send event {createEventName} to all inventory position if the delta quantity is not present or send {updateEventname} to update the current update quantity with new value and include inventory quantity of type {inventoryQuantityType} in event attribute",
1933
+ "parameters": [
1934
+ {
1935
+ "name": "createEventName",
1936
+ "type": "STRING",
1937
+ "description": "The name of event to be triggered to create delta quantity"
1938
+ },
1939
+ {
1940
+ "name": "updateEventname",
1941
+ "type": "STRING",
1942
+ "description": "The name of event to be triggered to update existing delta quantity"
1943
+ },
1944
+ {
1945
+ "name": "inventoryQuantityType",
1946
+ "type": "STRING",
1947
+ "description": "Inventory quantity type"
1948
+ }
1949
+ ],
1950
+ "entityTypes": [
1951
+ "INVENTORY_CATALOGUE"
1952
+ ],
1953
+ "eventAttributes": [],
1954
+ "producedEvents": []
1955
+ },
1956
+ "SendEventOnFulfilmentInventoryUpdate": {
1957
+ "description": "Send event {inventoryConfirmationEvent} if invenory is confirmed, or send {inventoryReserveEvent} if inventory is reserved, or {inventoryCancelEvent} if inventory is cancelled, to inventory position and include inventory quantities of type {inventoryQuantityTypes} in event attribute",
1958
+ "parameters": [
1959
+ {
1960
+ "name": "inventoryConfirmationEvent",
1961
+ "type": "STRING",
1962
+ "description": "The name of event to be triggered if inventory is confirmed"
1963
+ },
1964
+ {
1965
+ "name": "inventoryCancelEvent",
1966
+ "type": "STRING",
1967
+ "description": "The name of event to be triggered if inventory is cancelled"
1968
+ },
1969
+ {
1970
+ "name": "inventoryReserveEvent",
1971
+ "type": "STRING",
1972
+ "description": "The name of event to be triggered if inventory is reserved"
1973
+ },
1974
+ {
1975
+ "name": "inventoryQuantityTypes",
1976
+ "type": "STRING",
1977
+ "description": "Inventory quantity types"
1978
+ }
1979
+ ],
1980
+ "entityTypes": [
1981
+ "INVENTORY_CATALOGUE"
1982
+ ],
1983
+ "eventAttributes": [],
1984
+ "producedEvents": []
1985
+ },
1986
+ "SendEventOnProductCatalogueChange": {
1987
+ "description": "Send an {eventName} event to {type} inventory catalogue {inventoryCatalogueRef} for a change in Product Catalogue. Add {outgoingAttributeKey} attribute from incoming event attribute {incomingAttributeKey}",
1988
+ "parameters": [
1989
+ {
1990
+ "name": "eventName",
1991
+ "type": "STRING",
1992
+ "description": "The name of event to be triggered"
1993
+ },
1994
+ {
1995
+ "name": "inventoryCatalogueRef",
1996
+ "type": "STRING",
1997
+ "description": "Inventory Catalogue ref"
1998
+ },
1999
+ {
2000
+ "name": "type",
2001
+ "type": "STRING",
2002
+ "description": "Inventory Catalogue type"
2003
+ },
2004
+ {
2005
+ "name": "outgoingAttributeKey",
2006
+ "type": "STRING",
2007
+ "description": "Name of the event attribute on outgoing event"
2008
+ },
2009
+ {
2010
+ "name": "incomingAttributeKey",
2011
+ "type": "STRING",
2012
+ "description": "Name of the event attribute on incoming event"
2013
+ }
2014
+ ],
2015
+ "entityTypes": [
2016
+ "PRODUCT_CATALOGUE"
2017
+ ],
2018
+ "eventAttributes": [],
2019
+ "producedEvents": [
2020
+ "eventName"
2021
+ ]
2022
+ },
2023
+ "SendEventOnValidateLocationAttribute": {
2024
+ "description": "Validate the Location attribute {attributeKey} is {attributeValue}. If the values match then send {locationAttributeMatchEvent} event and if values do not match or the attribute key doesn't exist then log an exception and send {locationAttributeMismatchEvent} event.",
2025
+ "parameters": [
2026
+ {
2027
+ "name": "attributeKey",
2028
+ "type": "STRING",
2029
+ "description": "Key of the attribute to be validated"
2030
+ },
2031
+ {
2032
+ "name": "attributeValue",
2033
+ "type": "STRING",
2034
+ "description": "Value of the attribute to be validated"
2035
+ },
2036
+ {
2037
+ "name": "locationAttributeMatchEvent",
2038
+ "type": "STRING",
2039
+ "description": "Match event name"
2040
+ },
2041
+ {
2042
+ "name": "locationAttributeMismatchEvent",
2043
+ "type": "STRING",
2044
+ "description": "Mismatch event name"
2045
+ }
2046
+ ],
2047
+ "entityTypes": [
2048
+ "VIRTUAL_CATALOGUE"
2049
+ ],
2050
+ "eventAttributes": [
2051
+ "groupRef"
2052
+ ],
2053
+ "producedEvents": [
2054
+ "locationAttributeMatchEvent",
2055
+ "locationAttributeMismatchEvent"
2056
+ ]
2057
+ },
2058
+ "SendEventOnValidateLocationStatus": {
2059
+ "description": "Validate the location status and send {activeEventName} event if the status is {activeStatus}, Or send exception event {inactiveEventName} if the status is {inactiveStatus}, the exception type is {exceptionType}",
2060
+ "parameters": [
2061
+ {
2062
+ "name": "exceptionType",
2063
+ "type": "STRING",
2064
+ "description": "Exception type"
2065
+ },
2066
+ {
2067
+ "name": "inactiveEventName",
2068
+ "type": "STRING",
2069
+ "description": "Event name if the status is INACTIVE"
2070
+ },
2071
+ {
2072
+ "name": "activeEventName",
2073
+ "type": "STRING",
2074
+ "description": "Event name if the status is ACTIVE"
2075
+ },
2076
+ {
2077
+ "name": "activeStatus",
2078
+ "type": "STRING",
2079
+ "description": "Status as ACTIVE"
2080
+ },
2081
+ {
2082
+ "name": "inactiveStatus",
2083
+ "type": "STRING",
2084
+ "description": "Status as INACTIVE"
2085
+ }
2086
+ ],
2087
+ "entityTypes": [
2088
+ "INVENTORY_CATALOGUE"
2089
+ ],
2090
+ "eventAttributes": [
2091
+ "locationRef"
2092
+ ],
2093
+ "producedEvents": []
2094
+ },
2095
+ "SendEventOnValidateProductAttribute": {
2096
+ "description": "Validate the {productType} Product attribute {attributeKey} is {attributeValue}. If the values match then send {matchEvent} event and if values do not match or the attribute key doesn't exist then log an exception and send {mismatchEvent} event. The product catalogue ref is {productCatalogueRef}",
2097
+ "parameters": [
2098
+ {
2099
+ "name": "productType",
2100
+ "type": "STRING",
2101
+ "description": "Type of product - Standard/Variant"
2102
+ },
2103
+ {
2104
+ "name": "attributeKey",
2105
+ "type": "STRING",
2106
+ "description": "Key of the attribute to be validated"
2107
+ },
2108
+ {
2109
+ "name": "attributeValue",
2110
+ "type": "STRING",
2111
+ "description": "Value of the attribute to be validated"
2112
+ },
2113
+ {
2114
+ "name": "matchEvent",
2115
+ "type": "STRING",
2116
+ "description": "Match event name"
2117
+ },
2118
+ {
2119
+ "name": "mismatchEvent",
2120
+ "type": "STRING",
2121
+ "description": "Mismatch event name"
2122
+ },
2123
+ {
2124
+ "name": "productCatalogueRef",
2125
+ "type": "STRING",
2126
+ "description": "Product Catalogue reference"
2127
+ }
2128
+ ],
2129
+ "entityTypes": [
2130
+ "ORDER",
2131
+ "FULFILMENT",
2132
+ "INVENTORY_CATALOGUE",
2133
+ "VIRTUAL_CATALOGUE"
2134
+ ],
2135
+ "eventAttributes": [
2136
+ "productRef"
2137
+ ],
2138
+ "producedEvents": [
2139
+ "matchEvent",
2140
+ "mismatchEvent"
2141
+ ]
2142
+ },
2143
+ "SendEventOnValidateProductStatus": {
2144
+ "description": "Validate the {productType} Product status and send {activeEventName} event if the status is {activeStatus}, Or send exception event {inactiveEventName} if the status is {inactiveStatus}, the exception type is {exceptionType} and Product Catalogue ref is {productCatalogueRef}",
2145
+ "parameters": [
2146
+ {
2147
+ "name": "productType",
2148
+ "type": "STRING",
2149
+ "description": "Product type"
2150
+ },
2151
+ {
2152
+ "name": "exceptionType",
2153
+ "type": "STRING",
2154
+ "description": "Exception type"
2155
+ },
2156
+ {
2157
+ "name": "inactiveEventName",
2158
+ "type": "STRING",
2159
+ "description": "Event name if the status is INACTIVE"
2160
+ },
2161
+ {
2162
+ "name": "activeEventName",
2163
+ "type": "STRING",
2164
+ "description": "Event name if the status is ACTIVE"
2165
+ },
2166
+ {
2167
+ "name": "productCatalogueRef",
2168
+ "type": "STRING",
2169
+ "description": "Product Catalogue reference"
2170
+ },
2171
+ {
2172
+ "name": "activeStatus",
2173
+ "type": "STRING",
2174
+ "description": "Status as ACTIVE"
2175
+ },
2176
+ {
2177
+ "name": "inactiveStatus",
2178
+ "type": "STRING",
2179
+ "description": "Status as INACTIVE"
2180
+ }
2181
+ ],
2182
+ "entityTypes": [
2183
+ "INVENTORY_CATALOGUE"
2184
+ ],
2185
+ "eventAttributes": [
2186
+ "productRef"
2187
+ ],
2188
+ "producedEvents": []
2189
+ },
2190
+ "SendEventOnValidateRetailerSetting": {
2191
+ "description": "Validate the Retailer setting {settingKey} is {settingValue}. If the values match then send {settingMatchEvent} event and if values do not match or the setting key doesn't exist then log an exception and send {settingMismatchEvent} event.",
2192
+ "parameters": [
2193
+ {
2194
+ "name": "settingKey",
2195
+ "type": "STRING",
2196
+ "description": "Key of the attribute to be validated"
2197
+ },
2198
+ {
2199
+ "name": "settingValue",
2200
+ "type": "STRING",
2201
+ "description": "Value of the attribute to be validated"
2202
+ },
2203
+ {
2204
+ "name": "settingMatchEvent",
2205
+ "type": "STRING",
2206
+ "description": "Match event name"
2207
+ },
2208
+ {
2209
+ "name": "settingMismatchEvent",
2210
+ "type": "STRING",
2211
+ "description": "Mismatch event name"
2212
+ }
2213
+ ],
2214
+ "entityTypes": [
2215
+ "ORDER",
2216
+ "VIRTUAL_CATALOGUE"
2217
+ ],
2218
+ "eventAttributes": [],
2219
+ "producedEvents": [
2220
+ "settingMatchEvent",
2221
+ "settingMismatchEvent"
2222
+ ]
2223
+ },
2224
+ "SendEventOnVerifyingAllArticleStates": {
2225
+ "description": "Send {event} to {event.entityType} on verifying if all articles of {event.entityType} is in {status}",
2226
+ "parameters": [
2227
+ {
2228
+ "name": "eventName",
2229
+ "type": "STRING",
2230
+ "description": "The event name which will send to order"
2231
+ },
2232
+ {
2233
+ "name": "status",
2234
+ "type": "STRING",
2235
+ "description": "The status of verifying articles"
2236
+ }
2237
+ ],
2238
+ "entityTypes": [
2239
+ "FULFILMENT",
2240
+ "ORDER"
2241
+ ],
2242
+ "eventAttributes": [],
2243
+ "producedEvents": [
2244
+ "{eventName}"
2245
+ ]
2246
+ },
2247
+ "SendEventOnVerifyingAllArticleStatesGQL": {
2248
+ "description": "Send event {eventName} to {event.entityType} on verifying if all articles of {event.entityType} ares in {status}",
2249
+ "parameters": [
2250
+ {
2251
+ "name": "eventName",
2252
+ "type": "STRING",
2253
+ "description": "The event name which will be sent to order or fulfilment"
2254
+ },
2255
+ {
2256
+ "name": "status",
2257
+ "type": "STRING",
2258
+ "description": "The statuses of verifying articles"
2259
+ }
2260
+ ],
2261
+ "entityTypes": [
2262
+ "FULFILMENT",
2263
+ "ORDER"
2264
+ ],
2265
+ "eventAttributes": [],
2266
+ "producedEvents": [
2267
+ "{eventName}"
2268
+ ]
2269
+ },
2270
+ "SendEventOnVerifyingAllFulfilmentStates": {
2271
+ "description": "Send {event} to {event.entityType} on verifying if all fulfilments of {event.entityType} are in {status}",
2272
+ "parameters": [
2273
+ {
2274
+ "name": "eventName",
2275
+ "type": "STRING",
2276
+ "description": "The event name which will send to fulfilment"
2277
+ },
2278
+ {
2279
+ "name": "status",
2280
+ "type": "STRING",
2281
+ "description": "The status of verifying fulfilment"
2282
+ }
2283
+ ],
2284
+ "entityTypes": [
2285
+ "ORDER"
2286
+ ],
2287
+ "eventAttributes": [],
2288
+ "producedEvents": [
2289
+ "{eventName}"
2290
+ ]
2291
+ },
2292
+ "SendEventOnVerifyingAllFulfilmentStatesGQL": {
2293
+ "description": "Send event {eventName} to {event.entityType} on verifying if all fulfilments of {event.entityType} are in {status}",
2294
+ "parameters": [
2295
+ {
2296
+ "name": "eventName",
2297
+ "type": "STRING",
2298
+ "description": "The event name which will be sent to order"
2299
+ },
2300
+ {
2301
+ "name": "status",
2302
+ "type": "STRING",
2303
+ "description": "The status of verifying fulfilments"
2304
+ }
2305
+ ],
2306
+ "entityTypes": [
2307
+ "ORDER"
2308
+ ],
2309
+ "eventAttributes": [],
2310
+ "producedEvents": [
2311
+ "{eventName}"
2312
+ ]
2313
+ },
2314
+ "SendEventOnVerifyingAllOrderItemsProcessed": {
2315
+ "description": "Send {eventName} to an Order when for all items in the Order, sum of 'filledQty' of Fulfilments in statuses {filledQtyStatuses}, 'rejectedQty' of Fulfilments in statuses {rejectedQtyStatuses} and 'requestedQty' of Fulfilments in statuses {requestedQtyStatuses} matches the 'requestedQty' of the Item in the Order",
2316
+ "parameters": [
2317
+ {
2318
+ "name": "eventName",
2319
+ "type": "STRING",
2320
+ "description": "The event which will be invoked for ORDER"
2321
+ },
2322
+ {
2323
+ "name": "filledQtyStatuses",
2324
+ "type": "STRING",
2325
+ "description": "List of fulfilment status for which 'filledQty' of the Fulfilment should be considered as processed"
2326
+ },
2327
+ {
2328
+ "name": "rejectedQtyStatuses",
2329
+ "type": "STRING",
2330
+ "description": "List of fulfilment status for which 'rejectedQty' of the Fulfilment should be considered as processed"
2331
+ },
2332
+ {
2333
+ "name": "requestedQtyStatuses",
2334
+ "type": "STRING",
2335
+ "description": "List of fulfilment status for which 'requestedQty' of the Fulfilment should be considered as processed"
2336
+ }
2337
+ ],
2338
+ "entityTypes": [
2339
+ "ORDER"
2340
+ ],
2341
+ "eventAttributes": [],
2342
+ "producedEvents": [
2343
+ "eventName"
2344
+ ]
2345
+ },
2346
+ "SendEventOnVerifyingAnyArticleState": {
2347
+ "description": "Send {event} to {event.entityType} on verifying if any articles of {event.entityType} is in {status}",
2348
+ "parameters": [
2349
+ {
2350
+ "name": "eventName",
2351
+ "type": "STRING",
2352
+ "description": "The event name which will send to order"
2353
+ },
2354
+ {
2355
+ "name": "status",
2356
+ "type": "STRING",
2357
+ "description": "The status of verifying articles"
2358
+ }
2359
+ ],
2360
+ "entityTypes": [
2361
+ "FULFILMENT",
2362
+ "ORDER"
2363
+ ],
2364
+ "eventAttributes": [],
2365
+ "producedEvents": [
2366
+ "{eventName}"
2367
+ ]
2368
+ },
2369
+ "SendEventOnVerifyingAnyFulfilmentStates": {
2370
+ "description": "Send event {eventName} to {event.entityType} on verifying if any fulfilment of the {event.entityType} is in {status}",
2371
+ "parameters": [
2372
+ {
2373
+ "name": "eventName",
2374
+ "type": "STRING",
2375
+ "description": "The event name that will be sent to order"
2376
+ },
2377
+ {
2378
+ "name": "status",
2379
+ "type": "STRING",
2380
+ "description": "The list of statuses to be verified against the fulfilments"
2381
+ }
2382
+ ],
2383
+ "entityTypes": [
2384
+ "ORDER"
2385
+ ],
2386
+ "eventAttributes": [],
2387
+ "producedEvents": [
2388
+ "{eventName}"
2389
+ ]
2390
+ },
2391
+ "SendEventOnVerifyingArticleLocation": {
2392
+ "description": "Send an {eventName} Event for Article on verifying if the Article location is a {locationType}",
2393
+ "parameters": [
2394
+ {
2395
+ "name": "eventName",
2396
+ "type": "STRING",
2397
+ "description": "The event name which will be sent to Article"
2398
+ },
2399
+ {
2400
+ "name": "locationType",
2401
+ "type": "STRING",
2402
+ "description": "The location type of verifying Article"
2403
+ }
2404
+ ],
2405
+ "entityTypes": [
2406
+ "ARTICLE"
2407
+ ],
2408
+ "eventAttributes": [],
2409
+ "producedEvents": [
2410
+ "{eventName}"
2411
+ ]
2412
+ },
2413
+ "SendEventOnVerifyingAttributeValue": {
2414
+ "description": "When the attribute name and value matches the given name <b>{attributeName}</b> and value <b>{attributeValue}</b> this rule will send an event with name <b>{eventName}</b>. Otherwise send <b>{noMatchEventName}</b>",
2415
+ "parameters": [
2416
+ {
2417
+ "name": "eventName",
2418
+ "type": "STRING",
2419
+ "description": "Output event name to be created and sent if the attribute name and value matches"
2420
+ },
2421
+ {
2422
+ "name": "noMatchEventName",
2423
+ "type": "STRING",
2424
+ "description": "Output event name to be created and sent if the attribute name and value doesn't exist or match"
2425
+ },
2426
+ {
2427
+ "name": "attributeName",
2428
+ "type": "STRING",
2429
+ "description": "Attribute name to be matched in the incoming entity"
2430
+ },
2431
+ {
2432
+ "name": "attributeValue",
2433
+ "type": "STRING",
2434
+ "description": "Attribute value to be matched in the incoming entity"
2435
+ }
2436
+ ],
2437
+ "entityTypes": [
2438
+ "FULFILMENT",
2439
+ "ORDER",
2440
+ "ARTICLE",
2441
+ "FULFILMENT_OPTIONS"
2442
+ ],
2443
+ "eventAttributes": [],
2444
+ "producedEvents": []
2445
+ },
2446
+ "SendEventOnVerifyingConsignment": {
2447
+ "description": "Send an {eventName} Event on verifying the consignment {BookingStatus}",
2448
+ "parameters": [
2449
+ {
2450
+ "name": "eventName",
2451
+ "type": "STRING",
2452
+ "description": "The name of event to be triggered"
2453
+ },
2454
+ {
2455
+ "name": "BookingStatus",
2456
+ "type": "STRING",
2457
+ "description": "The status of consignment booking"
2458
+ }
2459
+ ],
2460
+ "entityTypes": [
2461
+ "CONSIGNMENT"
2462
+ ],
2463
+ "eventAttributes": [],
2464
+ "producedEvents": [
2465
+ "{eventName}"
2466
+ ]
2467
+ },
2468
+ "SendEventOnVerifyingEventAttributes": {
2469
+ "description": "Send an {eventName} Event for the current entity when attribute key {key} is in {values}",
2470
+ "parameters": [
2471
+ {
2472
+ "name": "eventName",
2473
+ "type": "STRING",
2474
+ "description": "The name of event to be triggered"
2475
+ },
2476
+ {
2477
+ "name": "key",
2478
+ "type": "STRING",
2479
+ "description": "Attribute key"
2480
+ },
2481
+ {
2482
+ "name": "values",
2483
+ "type": "STRING",
2484
+ "description": "Attribute matching values"
2485
+ }
2486
+ ],
2487
+ "entityTypes": [
2488
+ "FULFILMENT",
2489
+ "ARTICLE",
2490
+ "ORDER"
2491
+ ],
2492
+ "eventAttributes": [
2493
+ "{key}"
2494
+ ],
2495
+ "producedEvents": [
2496
+ "{eventName}"
2497
+ ]
2498
+ },
2499
+ "SendEventOnVerifyingFulfilmentCreation": {
2500
+ "description": "Send event {eventName} to order on verifying that fulfilments are created for all order items considering requested quuantity for statuses : {statusListforReqQty} rejected quantity for statuses : {statusListforRejQty} and approved quantity for statuses : {statusListforApprovedQty} ",
2501
+ "parameters": [
2502
+ {
2503
+ "name": "eventName",
2504
+ "type": "STRING",
2505
+ "description": "Event to be triggered in case of fulfilment creation completed"
2506
+ },
2507
+ {
2508
+ "name": "statusListforReqQty",
2509
+ "type": "STRING",
2510
+ "description": "Status list for which requested quantity is considered for validation"
2511
+ },
2512
+ {
2513
+ "name": "statusListforRejQty",
2514
+ "type": "STRING",
2515
+ "description": "Status list for which rejected quantity is considered for validation"
2516
+ },
2517
+ {
2518
+ "name": "statusListforApprovedQty",
2519
+ "type": "STRING",
2520
+ "description": "Status list for which fulfilled quantity is considered for validation"
2521
+ }
2522
+ ],
2523
+ "entityTypes": [
2524
+ "FULFILMENT",
2525
+ "ORDER"
2526
+ ],
2527
+ "eventAttributes": [],
2528
+ "producedEvents": []
2529
+ },
2530
+ "SendEventOnVerifyingFulfilmentItems": {
2531
+ "description": "Send an {eventName} Event for Fulfilment on verifying if {quantity} Fulfilment items are available",
2532
+ "parameters": [
2533
+ {
2534
+ "name": "eventName",
2535
+ "type": "STRING",
2536
+ "description": "The event name which will send to fulfilment"
2537
+ },
2538
+ {
2539
+ "name": "quantity",
2540
+ "type": "STRING",
2541
+ "description": "Quantity fulfilled, NONE, ALL or PARTIAL"
2542
+ }
2543
+ ],
2544
+ "entityTypes": [
2545
+ "FULFILMENT"
2546
+ ],
2547
+ "eventAttributes": [],
2548
+ "producedEvents": [
2549
+ "{eventName}"
2550
+ ]
2551
+ },
2552
+ "SendEventOnVerifyingLocationNetworkChange": {
2553
+ "description": "Get the locationRef from incoming event attribute {incomingAttributeKey}.Check if the location has ATTRIBUTE_NETWORK_REF attribute. If found and if there is any difference in location's current networkRef then send {locationChangedEvent} else send {locationNetworkNotChanged} event.",
2554
+ "parameters": [
2555
+ {
2556
+ "name": "locationChangedEvent",
2557
+ "type": "STRING",
2558
+ "description": "The name of event to be triggered in case of network change"
2559
+ },
2560
+ {
2561
+ "name": "locationNetworkNotChanged",
2562
+ "type": "STRING",
2563
+ "description": "The name of event to be triggered if network is not chaged for location"
2564
+ },
2565
+ {
2566
+ "name": "incomingAttributeKey",
2567
+ "type": "STRING",
2568
+ "description": "Attribute key of incoming event for locationChanged"
2569
+ }
2570
+ ],
2571
+ "entityTypes": [],
2572
+ "eventAttributes": [],
2573
+ "producedEvents": []
2574
+ },
2575
+ "SendEventOnVerifyingLocationStatusChange": {
2576
+ "description": "Get the locationRef from incoming event attribute {incomingAttributeKey}.Check if the location has ATTRIBUTE_LOCATION_STATUS attribute. If found and if there is any difference in location's current status then send {locationChangedEvent} else send {locationStatusNotChangedEvent}",
2577
+ "parameters": [
2578
+ {
2579
+ "name": "locationChangedEvent",
2580
+ "type": "STRING",
2581
+ "description": "The name of event to be triggered in case of status change"
2582
+ },
2583
+ {
2584
+ "name": "locationStatusNotChangedEvent",
2585
+ "type": "STRING",
2586
+ "description": "The name of event to be triggered if location's status is not changed"
2587
+ },
2588
+ {
2589
+ "name": "incomingAttributeKey",
2590
+ "type": "STRING",
2591
+ "description": "Attribute key of incoming event for locationChanged"
2592
+ }
2593
+ ],
2594
+ "entityTypes": [],
2595
+ "eventAttributes": [],
2596
+ "producedEvents": []
2597
+ },
2598
+ "SendEventOnVerifyingNoArticleState": {
2599
+ "description": "Send {event} to {event.entityType} on verifying if no article of {event.entityType} is in {status}",
2600
+ "parameters": [
2601
+ {
2602
+ "name": "eventName",
2603
+ "type": "STRING",
2604
+ "description": "The event name which will send to order"
2605
+ },
2606
+ {
2607
+ "name": "status",
2608
+ "type": "STRING",
2609
+ "description": "The status of verifying articles"
2610
+ }
2611
+ ],
2612
+ "entityTypes": [
2613
+ "FULFILMENT",
2614
+ "ORDER"
2615
+ ],
2616
+ "eventAttributes": [],
2617
+ "producedEvents": [
2618
+ "{eventName}"
2619
+ ]
2620
+ },
2621
+ "SendEventOnVerifyingParentEntityType": {
2622
+ "description": "When parent entity type matches given type <b>{parentEntityType}</b> this rule will send either an event with name <b>{eventNameArticle}</b> provided the incoming entity is an article or event with name <b>{eventNameConsignment}</b> provided the incoming entity is a consignment",
2623
+ "parameters": [
2624
+ {
2625
+ "name": "eventNameArticle",
2626
+ "type": "STRING",
2627
+ "description": "Output event name to be created and sent if the incoming entity is Article"
2628
+ },
2629
+ {
2630
+ "name": "eventNameConsignment",
2631
+ "type": "STRING",
2632
+ "description": "Output event name to be created and sent if the incoming entity is Consignment"
2633
+ },
2634
+ {
2635
+ "name": "parentEntityType",
2636
+ "type": "STRING",
2637
+ "description": "Entity type to be matched with the parent entity type"
2638
+ }
2639
+ ],
2640
+ "entityTypes": [
2641
+ "CONSIGNMENT",
2642
+ "ARTICLE"
2643
+ ],
2644
+ "eventAttributes": [],
2645
+ "producedEvents": []
2646
+ },
2647
+ "SendEventToAllInventoryQuantities": {
2648
+ "description": "Send event {eventName} to inventory quanitites of type {inventoryQuantityTypes} using event attributes",
2649
+ "parameters": [
2650
+ {
2651
+ "name": "eventName",
2652
+ "type": "STRING",
2653
+ "description": "The name of event to be triggered"
2654
+ },
2655
+ {
2656
+ "name": "inventoryQuantityTypes",
2657
+ "type": "STRING",
2658
+ "description": "List of inventory quantity types"
2659
+ }
2660
+ ],
2661
+ "entityTypes": [
2662
+ "INVENTORY_POSITION"
2663
+ ],
2664
+ "eventAttributes": [
2665
+ "INVENTORY_POSITION"
2666
+ ],
2667
+ "producedEvents": []
2668
+ },
2669
+ "SendEventToFulfilmentOnVerifyingOrderStatus": {
2670
+ "description": "Send event {eventName} to fulfilment if parent Order is in statuses {orderStatus}",
2671
+ "parameters": [
2672
+ {
2673
+ "name": "eventName",
2674
+ "type": "STRING",
2675
+ "description": "The name of event to be triggered"
2676
+ },
2677
+ {
2678
+ "name": "orderStatus",
2679
+ "type": "STRING",
2680
+ "description": "The order statuses to be verified"
2681
+ }
2682
+ ],
2683
+ "entityTypes": [
2684
+ "FULFILMENT"
2685
+ ],
2686
+ "eventAttributes": [],
2687
+ "producedEvents": []
2688
+ },
2689
+ "SendEventToInventoryPosition": {
2690
+ "description": "Send event {eventName} to inventory position using event attributes",
2691
+ "parameters": [
2692
+ {
2693
+ "name": "eventName",
2694
+ "type": "STRING",
2695
+ "description": "The name of event to be triggered"
2696
+ }
2697
+ ],
2698
+ "entityTypes": [
2699
+ "INVENTORY_POSITION",
2700
+ "INVENTORY_CATALOGUE"
2701
+ ],
2702
+ "eventAttributes": [
2703
+ "INVENTORY_POSITION"
2704
+ ],
2705
+ "producedEvents": []
2706
+ },
2707
+ "SendEventToReturns": {
2708
+ "description": "This rule sends an event with name '{eventName}' within the ReturnOrder workflow with root entity context",
2709
+ "parameters": [
2710
+ {
2711
+ "name": "eventName",
2712
+ "type": "STRING",
2713
+ "description": "The name of the event to send"
2714
+ }
2715
+ ],
2716
+ "entityTypes": [
2717
+ "RETURN_ORDER"
2718
+ ],
2719
+ "eventAttributes": [],
2720
+ "producedEvents": [
2721
+ "{eventName}"
2722
+ ]
2723
+ },
2724
+ "SendEventToUpdateInventoryQuantity": {
2725
+ "description": "Send an event {eventName} to inventory catalogue with ref {inventoryCatalogueRef} with retailer id {retailerId} (default: event.retailerId) to {operation} the fulfilment items quantity. ",
2726
+ "parameters": [
2727
+ {
2728
+ "name": "inventoryCatalogueRef",
2729
+ "type": "STRING",
2730
+ "description": "The ref of Inventory catalogue"
2731
+ },
2732
+ {
2733
+ "name": "operation",
2734
+ "type": "STRING",
2735
+ "description": "Operation type RESERVE/UNRESERVE or RESET_RESERVE"
2736
+ },
2737
+ {
2738
+ "name": "eventName",
2739
+ "type": "STRING",
2740
+ "description": "The name of event to be triggered"
2741
+ },
2742
+ {
2743
+ "name": "retailerId",
2744
+ "type": "STRING",
2745
+ "description": "The retailer id"
2746
+ }
2747
+ ],
2748
+ "entityTypes": [
2749
+ "FULFILMENT"
2750
+ ],
2751
+ "eventAttributes": [],
2752
+ "producedEvents": []
2753
+ },
2754
+ "SendEventToUpdateOrderItemAttribute": {
2755
+ "description": "Sends event {eventName} containing returnableQty for each returned order item reference",
2756
+ "parameters": [
2757
+ {
2758
+ "name": "eventName",
2759
+ "type": "STRING",
2760
+ "description": "Event name for outgoing event"
2761
+ }
2762
+ ],
2763
+ "entityTypes": [
2764
+ "RETURN_ORDER"
2765
+ ],
2766
+ "eventAttributes": [],
2767
+ "producedEvents": [
2768
+ "eventName"
2769
+ ]
2770
+ },
2771
+ "SendEventToVirtualCatalogue": {
2772
+ "description": "Send event {eventName} to all virtual catalogues {virtualCatalogueRefList}",
2773
+ "parameters": [
2774
+ {
2775
+ "name": "eventName",
2776
+ "type": "STRING",
2777
+ "description": "The name of event to be triggered"
2778
+ },
2779
+ {
2780
+ "name": "virtualCatalogueRefList",
2781
+ "type": "STRING",
2782
+ "description": "The name of event to be triggered"
2783
+ }
2784
+ ],
2785
+ "entityTypes": [
2786
+ "INVENTORY_CATALOGUE"
2787
+ ],
2788
+ "eventAttributes": [],
2789
+ "producedEvents": []
2790
+ },
2791
+ "SendEventToVirtualCatalogueForLocationChange": {
2792
+ "description": "Get the locationRef from incoming event attribute {incomingAttributeKey}.Check if the location has NETWORK_REF attribute. If found and if there is any difference in location's current networkRef then send {vcEventName} event to all respective VC. If the attribute doesn't exist then create one with value as networkRef. Send an {pcEventName} event on PC to continue the processing",
2793
+ "parameters": [
2794
+ {
2795
+ "name": "pcEventName",
2796
+ "type": "STRING",
2797
+ "description": "The name of event to be triggered on PC"
2798
+ },
2799
+ {
2800
+ "name": "vcEventName",
2801
+ "type": "STRING",
2802
+ "description": "The name of event to be triggered on VC"
2803
+ },
2804
+ {
2805
+ "name": "incomingAttributeKey",
2806
+ "type": "STRING",
2807
+ "description": "Attribute key of incoming event for locationChanged"
2808
+ }
2809
+ ],
2810
+ "entityTypes": [],
2811
+ "eventAttributes": [],
2812
+ "producedEvents": []
2813
+ },
2814
+ "SendEventToVirtualCatalogueForNetworkChange": {
2815
+ "description": "send {vcEventName} event to VC for network change and add {outgoingAttributeKey} attribute from incoming event attribute {incomingAttributeKey}",
2816
+ "parameters": [
2817
+ {
2818
+ "name": "vcEventName",
2819
+ "type": "STRING",
2820
+ "description": "The name of event to be triggered on VC"
2821
+ },
2822
+ {
2823
+ "name": "incomingAttributeKey",
2824
+ "type": "STRING",
2825
+ "description": "Attribute key of incoming event for locationChanged"
2826
+ },
2827
+ {
2828
+ "name": "outgoingAttributeKey",
2829
+ "type": "STRING",
2830
+ "description": "Attribute key of outgoing event attribute containing location refsss"
2831
+ }
2832
+ ],
2833
+ "entityTypes": [],
2834
+ "eventAttributes": [],
2835
+ "producedEvents": []
2836
+ },
2837
+ "SendEventToWaveFromFulfilment": {
2838
+ "description": "Sends {eventName} event to the wave with status {status} this fulfilment is allocated to.",
2839
+ "parameters": [
2840
+ {
2841
+ "name": "eventName",
2842
+ "type": "STRING",
2843
+ "description": "Event name for outgoing event"
2844
+ },
2845
+ {
2846
+ "name": "status",
2847
+ "type": "STRING",
2848
+ "description": "Wave status"
2849
+ }
2850
+ ],
2851
+ "entityTypes": [
2852
+ "FULFILMENT"
2853
+ ],
2854
+ "eventAttributes": [],
2855
+ "producedEvents": [
2856
+ "eventName"
2857
+ ]
2858
+ },
2859
+ "SendEventWhenBooleanEntityAttributesAreTrue": {
2860
+ "description": "Sends an event {eventName} when entity attributes {keys} (comma separated attribute names) evaluate TRUE",
2861
+ "parameters": [
2862
+ {
2863
+ "name": "eventName",
2864
+ "type": "STRING",
2865
+ "description": "The name of event to be triggered"
2866
+ },
2867
+ {
2868
+ "name": "keys",
2869
+ "type": "STRING",
2870
+ "description": "Comma separated list of Boolean typed Entity Attribute Keys"
2871
+ }
2872
+ ],
2873
+ "entityTypes": [
2874
+ "ORDER"
2875
+ ],
2876
+ "eventAttributes": [],
2877
+ "producedEvents": [
2878
+ "{eventName}"
2879
+ ]
2880
+ },
2881
+ "SendEventWhenEntityAttributeExistsOrNot": {
2882
+ "description": "Sends an event {eventName} when entity attribute {key}'s exists equals {exists} (TRUE, FALSE) on the entity.",
2883
+ "parameters": [
2884
+ {
2885
+ "name": "eventName",
2886
+ "type": "STRING",
2887
+ "description": "The name of event to be triggered"
2888
+ },
2889
+ {
2890
+ "name": "key",
2891
+ "type": "STRING",
2892
+ "description": "The Entity Attribute key"
2893
+ },
2894
+ {
2895
+ "name": "exists",
2896
+ "type": "STRING",
2897
+ "description": "Boolean indicating whether the event should be sent when the attribute exists or not."
2898
+ }
2899
+ ],
2900
+ "entityTypes": [
2901
+ "ORDER"
2902
+ ],
2903
+ "eventAttributes": [],
2904
+ "producedEvents": [
2905
+ "{eventName}"
2906
+ ]
2907
+ },
2908
+ "SendEventWhenEntityAttributeValueEquals": {
2909
+ "description": "Sends an event {eventName} when entity attribute {key}'s value equals {value}.",
2910
+ "parameters": [
2911
+ {
2912
+ "name": "eventName",
2913
+ "type": "STRING",
2914
+ "description": "The name of event to be triggered"
2915
+ },
2916
+ {
2917
+ "name": "key",
2918
+ "type": "STRING",
2919
+ "description": "The Entity Attribute key"
2920
+ },
2921
+ {
2922
+ "name": "value",
2923
+ "type": "STRING",
2924
+ "description": "The String value that the Entity Attribute should match"
2925
+ }
2926
+ ],
2927
+ "entityTypes": [
2928
+ "ORDER"
2929
+ ],
2930
+ "eventAttributes": [],
2931
+ "producedEvents": [
2932
+ "{eventName}"
2933
+ ]
2934
+ },
2935
+ "SendEventWithAttributesForAllFulfilments": {
2936
+ "description": "Send event {eventName} with fulfilmentArticles event attribute for all fulfilments within Wave",
2937
+ "parameters": [
2938
+ {
2939
+ "name": "eventName",
2940
+ "type": "STRING",
2941
+ "description": "response event to be triggered from the rule."
2942
+ }
2943
+ ],
2944
+ "entityTypes": [
2945
+ "WAVE"
2946
+ ],
2947
+ "eventAttributes": [
2948
+ "fulfilmentArticles"
2949
+ ],
2950
+ "producedEvents": []
2951
+ },
2952
+ "SendFulfilmentEventToCarrier": {
2953
+ "description": "Send an {eventName} event against the the default Carrier for the location, with the list of articles in status {articlesStatus}. If no default Carrier is found, event is sent for Carrier {defaultCarrierRef}",
2954
+ "parameters": [
2955
+ {
2956
+ "name": "defaultCarrierRef",
2957
+ "type": "STRING",
2958
+ "description": "The ref of carrier to send event to"
2959
+ },
2960
+ {
2961
+ "name": "eventName",
2962
+ "type": "STRING",
2963
+ "description": "The event name to send event to Carrier Workflow"
2964
+ },
2965
+ {
2966
+ "name": "articlesStatus",
2967
+ "type": "STRING",
2968
+ "description": "The list of status in Articles to include to Carrier Workflow"
2969
+ }
2970
+ ],
2971
+ "entityTypes": [
2972
+ "FULFILMENT"
2973
+ ],
2974
+ "eventAttributes": [],
2975
+ "producedEvents": [
2976
+ "eventName"
2977
+ ]
2978
+ },
2979
+ "SendMandrillEmail": {
2980
+ "description": "Send an email via Mandrill email provider",
2981
+ "parameters": [],
2982
+ "entityTypes": [
2983
+ "FULFILMENT",
2984
+ "ARTICLE",
2985
+ "ORDER"
2986
+ ],
2987
+ "eventAttributes": [
2988
+ "templateName"
2989
+ ],
2990
+ "producedEvents": []
2991
+ },
2992
+ "SendSMS": {
2993
+ "description": "Send a sms using {templateName} template",
2994
+ "parameters": [
2995
+ {
2996
+ "name": "templateName",
2997
+ "type": "STRING",
2998
+ "description": "Template Name"
2999
+ }
3000
+ ],
3001
+ "entityTypes": [
3002
+ "FULFILMENT",
3003
+ "ARTICLE",
3004
+ "ORDER"
3005
+ ],
3006
+ "eventAttributes": [],
3007
+ "producedEvents": [
3008
+ "SEND_SMS"
3009
+ ]
3010
+ },
3011
+ "SendScheduledEvent": {
3012
+ "description": "Schedule an event with name {eventName} for the current entity and to be processed with a delay of {delay}",
3013
+ "parameters": [
3014
+ {
3015
+ "name": "eventName",
3016
+ "type": "STRING",
3017
+ "description": "The name of the scheduled event to be triggered"
3018
+ },
3019
+ {
3020
+ "name": "delay",
3021
+ "type": "TIMEPERIOD",
3022
+ "description": "Number of seconds to be delayed"
3023
+ }
3024
+ ],
3025
+ "entityTypes": [
3026
+ "WAVE",
3027
+ "FULFILMENT",
3028
+ "ARTICLE",
3029
+ "ORDER"
3030
+ ],
3031
+ "eventAttributes": [],
3032
+ "producedEvents": [
3033
+ "{eventName}"
3034
+ ]
3035
+ },
3036
+ "SendScheduledEventGQL": {
3037
+ "description": "Schedule an event with name {eventName} for the current entity and to be processed with a delay of {delay}",
3038
+ "parameters": [
3039
+ {
3040
+ "name": "eventName",
3041
+ "type": "STRING",
3042
+ "description": "The name of the scheduled event to be triggered"
3043
+ },
3044
+ {
3045
+ "name": "delay",
3046
+ "type": "TIMEPERIOD",
3047
+ "description": "Number of seconds to be delayed"
3048
+ }
3049
+ ],
3050
+ "entityTypes": [
3051
+ "PRODUCT_CATALOGUE"
3052
+ ],
3053
+ "eventAttributes": [],
3054
+ "producedEvents": [
3055
+ "{eventName}"
3056
+ ]
3057
+ },
3058
+ "SendScheduledEventToCreateCarrierConsignment": {
3059
+ "description": "This rule receives an event with Articles and Consignment information as attributes and proceeds to send a scheduled event {eventName} to default carrier {defaultCarrierRef}",
3060
+ "parameters": [
3061
+ {
3062
+ "name": "eventName",
3063
+ "type": "STRING",
3064
+ "description": "The name of event to be triggered"
3065
+ },
3066
+ {
3067
+ "name": "defaultCarrierRef",
3068
+ "type": "STRING",
3069
+ "description": "The ref of carrier to send event to"
3070
+ }
3071
+ ],
3072
+ "entityTypes": [
3073
+ "FULFILMENT"
3074
+ ],
3075
+ "eventAttributes": [
3076
+ "articles"
3077
+ ],
3078
+ "producedEvents": [
3079
+ "eventName"
3080
+ ]
3081
+ },
3082
+ "SendWebhook": {
3083
+ "description": "Submit the event to the {url} specified",
3084
+ "parameters": [
3085
+ {
3086
+ "name": "url",
3087
+ "type": "STRING",
3088
+ "description": "The url of the webhook endpoint"
3089
+ }
3090
+ ],
3091
+ "entityTypes": [
3092
+ "ORDER",
3093
+ "FULFILMENT_PLAN",
3094
+ "FULFILMENT",
3095
+ "ARTICLE",
3096
+ "FULFILMENT_OPTIONS"
3097
+ ],
3098
+ "eventAttributes": [],
3099
+ "producedEvents": []
3100
+ },
3101
+ "SendWebhookToDC": {
3102
+ "description": "Submit the event with action {action} and all order fulfilments in it's payload to the URL corresponding to the specified setting {httpEndpointUrlSetting} ",
3103
+ "parameters": [
3104
+ {
3105
+ "name": "httpEndpointUrlSetting",
3106
+ "type": "STRING",
3107
+ "description": "The name of the setting corresponding to the webhook endpoint"
3108
+ },
3109
+ {
3110
+ "name": "action",
3111
+ "type": "STRING",
3112
+ "description": "The action (CREATE or CANCEL) fulfilment to be sent"
3113
+ }
3114
+ ],
3115
+ "entityTypes": [
3116
+ "FULFILMENT"
3117
+ ],
3118
+ "eventAttributes": [],
3119
+ "producedEvents": []
3120
+ },
3121
+ "SetAggregateVirtualPosition": {
3122
+ "description": "Using inventory position with status other than {ignoreStatus}create / update an aggregate virtual position for network {networkRef} and {groupRef} on aggregate virtual catalogue after applying controls for location type {controlsForLocationType}. Generate {eventName} event to set the status of newly created aggregate virtual position. Use Product catalogue as {productCatalogueRef}",
3123
+ "parameters": [
3124
+ {
3125
+ "name": "eventName",
3126
+ "type": "STRING",
3127
+ "description": "Event name"
3128
+ },
3129
+ {
3130
+ "name": "ignoreStatus",
3131
+ "type": "STRING",
3132
+ "description": "Status for the the IPs will be ignored"
3133
+ },
3134
+ {
3135
+ "name": "networkRef",
3136
+ "type": "STRING",
3137
+ "description": "Network Ref"
3138
+ },
3139
+ {
3140
+ "name": "groupRef",
3141
+ "type": "STRING",
3142
+ "description": "Group Reference"
3143
+ },
3144
+ {
3145
+ "name": "productCatalogueRef",
3146
+ "type": "STRING",
3147
+ "description": "Product catalogue Ref"
3148
+ },
3149
+ {
3150
+ "name": "controlsForLocationType",
3151
+ "type": "STRING",
3152
+ "description": "Type of location to which controls are applicable"
3153
+ }
3154
+ ],
3155
+ "entityTypes": [
3156
+ "VIRTUAL_CATALOGUE"
3157
+ ],
3158
+ "eventAttributes": [],
3159
+ "producedEvents": []
3160
+ },
3161
+ "SetBaseVirtualPosition": {
3162
+ "description": "Using inventory position with status other than {ignoreStatus} create / update the virtual position record on base virtual catalogue after applying controls for location type {controlsForLocationType}. Generate an {eventName} event to set the status of the newly created virtual position. Use {productCatalogueRef} Product catalogue, and {controlNetworks} to find controls for network",
3163
+ "parameters": [
3164
+ {
3165
+ "name": "eventName",
3166
+ "type": "STRING",
3167
+ "description": "Event name"
3168
+ },
3169
+ {
3170
+ "name": "ignoreStatus",
3171
+ "type": "STRING",
3172
+ "description": "Status for the the IPs will be ignored"
3173
+ },
3174
+ {
3175
+ "name": "controlsForLocationType",
3176
+ "type": "STRING",
3177
+ "description": "Type of location to which controls are applicable"
3178
+ },
3179
+ {
3180
+ "name": "productCatalogueRef",
3181
+ "type": "STRING",
3182
+ "description": "Product catalogue ref"
3183
+ },
3184
+ {
3185
+ "name": "controlNetworks",
3186
+ "type": "STRING",
3187
+ "description": "List of networks to for controls"
3188
+ }
3189
+ ],
3190
+ "entityTypes": [
3191
+ "VIRTUAL_CATALOGUE"
3192
+ ],
3193
+ "eventAttributes": [],
3194
+ "producedEvents": []
3195
+ },
3196
+ "SetCategory": {
3197
+ "description": "Create or updated a category based on its existence",
3198
+ "parameters": [],
3199
+ "entityTypes": [
3200
+ "PRODUCT_CATALOGUE"
3201
+ ],
3202
+ "eventAttributes": [],
3203
+ "producedEvents": []
3204
+ },
3205
+ "SetProduct": {
3206
+ "description": "Create or updated a product based on its existence",
3207
+ "parameters": [],
3208
+ "entityTypes": [
3209
+ "PRODUCT_CATALOGUE"
3210
+ ],
3211
+ "eventAttributes": [
3212
+ "product"
3213
+ ],
3214
+ "producedEvents": []
3215
+ },
3216
+ "SetProductStatus": {
3217
+ "description": "Set status if product on Default catalogue using {productCatalogueRef} product catalogue",
3218
+ "parameters": [
3219
+ {
3220
+ "name": "productCatalogueRef",
3221
+ "type": "STRING",
3222
+ "description": "Compatibility Product Catalogue Ref"
3223
+ }
3224
+ ],
3225
+ "entityTypes": [
3226
+ "PRODUCT"
3227
+ ],
3228
+ "eventAttributes": [],
3229
+ "producedEvents": [
3230
+ "eventName"
3231
+ ]
3232
+ },
3233
+ "SetVirtualPositionStatus": {
3234
+ "description": "Set the status of virtual position based on the status of inventory position",
3235
+ "parameters": [],
3236
+ "entityTypes": [
3237
+ "VIRTUAL_CATALOGUE"
3238
+ ],
3239
+ "eventAttributes": [],
3240
+ "producedEvents": []
3241
+ },
3242
+ "UpdateBillingAccountForPayment": {
3243
+ "description": "Verifies if a Billing Account is associated with this Payment. If yes, then just logs the same and returns.If no, then does a lookup of Billing Account for the customer of any Order associated with this Payment and update it with the Billing Account details.",
3244
+ "parameters": [],
3245
+ "entityTypes": [
3246
+ "PAYMENT"
3247
+ ],
3248
+ "eventAttributes": [],
3249
+ "producedEvents": []
3250
+ },
3251
+ "UpdateInventoryPositionStatus": {
3252
+ "description": "This rule sets the status of newly created inventory position if the status of product and location is {status}. Use {productCatalogueRef} as product catalogue",
3253
+ "parameters": [
3254
+ {
3255
+ "name": "status",
3256
+ "type": "STRING",
3257
+ "description": "Status of product and location to be validated"
3258
+ },
3259
+ {
3260
+ "name": "productCatalogueRef",
3261
+ "type": "STRING",
3262
+ "description": "Product catalogue Ref"
3263
+ }
3264
+ ],
3265
+ "entityTypes": [
3266
+ "INVENTORY_POSITION",
3267
+ "INVENTORY_CATALOGUE"
3268
+ ],
3269
+ "eventAttributes": [],
3270
+ "producedEvents": []
3271
+ },
3272
+ "UpdateInventoryPositionStatusOnLocationChangedEvent": {
3273
+ "description": "Update the status of inventory position based on the LocationChanged event on Product Catalogue {productCatalogueRef} and send event to virtual catalogues {virtualCatalogueRefList} with {eventName} event name.",
3274
+ "parameters": [
3275
+ {
3276
+ "name": "eventName",
3277
+ "type": "STRING",
3278
+ "description": "The name of event to be triggered"
3279
+ },
3280
+ {
3281
+ "name": "virtualCatalogueRefList",
3282
+ "type": "STRING",
3283
+ "description": "Virtual Catalogue Ref List"
3284
+ },
3285
+ {
3286
+ "name": "productCatalogueRef",
3287
+ "type": "STRING",
3288
+ "description": "PProduct Catalogue Ref"
3289
+ }
3290
+ ],
3291
+ "entityTypes": [
3292
+ "INVENTORY_CATALOGUE"
3293
+ ],
3294
+ "eventAttributes": [],
3295
+ "producedEvents": []
3296
+ },
3297
+ "UpdateInventoryPositionStatusOnProductChangedEvent": {
3298
+ "description": "Update the status of inventory position based on the productChange event on product catalogue with ref {productCatalogueRef}.Send event to virtual catalogues {virtualCatalogueRefList} with {eventName} event name.",
3299
+ "parameters": [
3300
+ {
3301
+ "name": "productCatalogueRef",
3302
+ "type": "STRING",
3303
+ "description": "Product Catalogue reference"
3304
+ },
3305
+ {
3306
+ "name": "eventName",
3307
+ "type": "STRING",
3308
+ "description": "The name of event to be triggered"
3309
+ },
3310
+ {
3311
+ "name": "virtualCatalogueRefList",
3312
+ "type": "STRING",
3313
+ "description": "Virtual Catalogue Ref List"
3314
+ }
3315
+ ],
3316
+ "entityTypes": [
3317
+ "INVENTORY_CATALOGUE"
3318
+ ],
3319
+ "eventAttributes": [],
3320
+ "producedEvents": []
3321
+ },
3322
+ "UpdateInventoryPositionStatusOnSkuChangedEvent": {
3323
+ "description": "Update the status of inventory position based on the skuChanged event on product catalogue. Send event to virtual catalogues {virtualCatalogueRefList} with {eventName} event name.",
3324
+ "parameters": [
3325
+ {
3326
+ "name": "eventName",
3327
+ "type": "STRING",
3328
+ "description": "The name of event to be triggered"
3329
+ },
3330
+ {
3331
+ "name": "virtualCatalogueRefList",
3332
+ "type": "STRING",
3333
+ "description": "Base Virtual Catalogue Ref"
3334
+ }
3335
+ ],
3336
+ "entityTypes": [
3337
+ "INVENTORY_CATALOGUE"
3338
+ ],
3339
+ "eventAttributes": [],
3340
+ "producedEvents": []
3341
+ },
3342
+ "UpdateInventoryQuantity": {
3343
+ "description": "Update inventory quantity of type {inventoryQuantityType} using event attributes",
3344
+ "parameters": [
3345
+ {
3346
+ "name": "inventoryQuantityType",
3347
+ "type": "STRING",
3348
+ "description": "Inventory quantity type"
3349
+ }
3350
+ ],
3351
+ "entityTypes": [
3352
+ "INVENTORY_POSITION"
3353
+ ],
3354
+ "eventAttributes": [
3355
+ "INVENTORY_POSITION"
3356
+ ],
3357
+ "producedEvents": []
3358
+ },
3359
+ "UpdateOrderItemAttribute": {
3360
+ "description": "This rule updates/adds returnableQty to order item/s attributes base on returnItems incoming event attribute information.",
3361
+ "parameters": [],
3362
+ "entityTypes": [
3363
+ "ORDER"
3364
+ ],
3365
+ "eventAttributes": [
3366
+ "returnItems"
3367
+ ],
3368
+ "producedEvents": []
3369
+ },
3370
+ "UpdateRevisedOrderAttribute": {
3371
+ "description": "Update original order attribute with link to new revised order ref",
3372
+ "parameters": [],
3373
+ "entityTypes": [
3374
+ "ORDER"
3375
+ ],
3376
+ "eventAttributes": [],
3377
+ "producedEvents": []
3378
+ },
3379
+ "UpsertAttributesToOrder": {
3380
+ "description": "This rule will add {attributeNames} with {attributeDefaultValues} and {attributeDefaultTypes} to the incoming entity. In case of an existing attribute it will be either replaced if {upsertMode} is true or kept unchanged otherwise.",
3381
+ "parameters": [
3382
+ {
3383
+ "name": "attributeNames",
3384
+ "type": "STRING",
3385
+ "description": "List of attributeNames to be searched in the current entity and if not found be added (mandatory)."
3386
+ },
3387
+ {
3388
+ "name": "attributeDefaultTypes",
3389
+ "type": "STRING",
3390
+ "description": "List of corresponding attribute types (mandatory)."
3391
+ },
3392
+ {
3393
+ "name": "attributeDefaultValues",
3394
+ "type": "STRING",
3395
+ "description": "List of corresponding attribute default values."
3396
+ },
3397
+ {
3398
+ "name": "upsertMode",
3399
+ "type": "STRING",
3400
+ "description": "If true existing attribute values will be replaced; otherwise they will be kept unchanged "
3401
+ }
3402
+ ],
3403
+ "entityTypes": [
3404
+ "ORDER"
3405
+ ],
3406
+ "eventAttributes": [
3407
+ "attributeNames"
3408
+ ],
3409
+ "producedEvents": []
3410
+ },
3411
+ "UpsertInventoryQuantity": {
3412
+ "description": "Update or create the inventory quantity of type {inventoryQuantityType} using event attributes. Set default type as {defaultType}, condition as {defaultCondition} and storageRef as {defaultStorageAreaRef}",
3413
+ "parameters": [
3414
+ {
3415
+ "name": "inventoryQuantityType",
3416
+ "type": "STRING",
3417
+ "description": "Inventory quantity type"
3418
+ },
3419
+ {
3420
+ "name": "defaultType",
3421
+ "type": "STRING",
3422
+ "description": "Default inventory quantity type"
3423
+ },
3424
+ {
3425
+ "name": "defaultCondition",
3426
+ "type": "STRING",
3427
+ "description": "Default inventory quantity condition"
3428
+ },
3429
+ {
3430
+ "name": "defaultStorageAreaRef",
3431
+ "type": "STRING",
3432
+ "description": "Default inventory quantity storage area ref"
3433
+ }
3434
+ ],
3435
+ "entityTypes": [
3436
+ "INVENTORY_POSITION"
3437
+ ],
3438
+ "eventAttributes": [
3439
+ "INVENTORY_POSITION"
3440
+ ],
3441
+ "producedEvents": []
3442
+ },
3443
+ "ValidateAppeasementAmount": {
3444
+ "description": "Validate the appeasement amount does not exceed the original total order price",
3445
+ "parameters": [],
3446
+ "entityTypes": [
3447
+ "ORDER"
3448
+ ],
3449
+ "eventAttributes": [
3450
+ "appeasementAmount",
3451
+ "appeasementReason",
3452
+ "comment"
3453
+ ],
3454
+ "producedEvents": []
3455
+ },
3456
+ "ValidateChangesInProduct": {
3457
+ "description": "Send {statusChangeEvent} event for change in status or {attributesChangeEvent} event for change in attributes to {inventoryCatalogueRef} inventory catalogue if there is a mismatch in product fields {productFields} and product attributes {productAttributes} on current product catalogue as compared to {productCatalogueRef} product catalogue.",
3458
+ "parameters": [
3459
+ {
3460
+ "name": "statusChangeEvent",
3461
+ "type": "STRING",
3462
+ "description": "The name of event to be triggered if product's status is changed"
3463
+ },
3464
+ {
3465
+ "name": "attributesChangeEvent",
3466
+ "type": "STRING",
3467
+ "description": "The name of event to be triggered if any of product's attribute is changed"
3468
+ },
3469
+ {
3470
+ "name": "productFields",
3471
+ "type": "STRING",
3472
+ "description": "List of Prodcut fields to be validated"
3473
+ },
3474
+ {
3475
+ "name": "productAttributes",
3476
+ "type": "STRING",
3477
+ "description": "List of Prodcut attributes to be validated"
3478
+ },
3479
+ {
3480
+ "name": "productCatalogueRef",
3481
+ "type": "STRING",
3482
+ "description": "Compatibility Product Catalogue Ref"
3483
+ },
3484
+ {
3485
+ "name": "inventoryCatalogueRef",
3486
+ "type": "STRING",
3487
+ "description": "Compatibility Product Catalogue Ref"
3488
+ }
3489
+ ],
3490
+ "entityTypes": [
3491
+ "PRODUCT"
3492
+ ],
3493
+ "eventAttributes": [],
3494
+ "producedEvents": [
3495
+ "eventName"
3496
+ ]
3497
+ },
3498
+ "ValidateLocationInNetwork": {
3499
+ "description": "Validate that the location is in {networkRef} network. If the location exists in the network then send event {locationFoundInNetworkEvent} else send event {locationNotFoundInNetworkEvent}",
3500
+ "parameters": [
3501
+ {
3502
+ "name": "locationFoundInNetworkEvent",
3503
+ "type": "STRING",
3504
+ "description": "The name of the event to be triggered if location is in the network"
3505
+ },
3506
+ {
3507
+ "name": "locationNotFoundInNetworkEvent",
3508
+ "type": "STRING",
3509
+ "description": "The name of the event to be triggered if location is not in the network"
3510
+ },
3511
+ {
3512
+ "name": "networkRef",
3513
+ "type": "STRING",
3514
+ "description": "Network ref"
3515
+ }
3516
+ ],
3517
+ "entityTypes": [
3518
+ "ORDER",
3519
+ "VIRTUAL_CATALOGUE"
3520
+ ],
3521
+ "eventAttributes": [],
3522
+ "producedEvents": []
3523
+ },
3524
+ "ValidateOrderDeliveryAddress": {
3525
+ "description": "Validate and update delivery address coordinates and send an event {responseEventIfValidAddress}. Use default coordinates for postcode ranges(YES/NO) : {applyDefaultCoordinates}. Send an event {responseEventIfInvalidAddress} if coordinates are invalid. Send an event {responseEventIfMissingAddress} if no address is provided.",
3526
+ "parameters": [
3527
+ {
3528
+ "name": "responseEventIfValidAddress",
3529
+ "type": "STRING",
3530
+ "description": "Event to be triggered in case of valid address"
3531
+ },
3532
+ {
3533
+ "name": "responseEventIfInvalidAddress",
3534
+ "type": "STRING",
3535
+ "description": "Event to be triggered in case of invalid address"
3536
+ },
3537
+ {
3538
+ "name": "responseEventIfMissingAddress",
3539
+ "type": "STRING",
3540
+ "description": "Event to be triggered in case of missing address"
3541
+ },
3542
+ {
3543
+ "name": "applyDefaultCoordinates",
3544
+ "type": "STRING",
3545
+ "description": "Option to choose if default coordinates should be applied"
3546
+ }
3547
+ ],
3548
+ "entityTypes": [
3549
+ "ORDER"
3550
+ ],
3551
+ "eventAttributes": [],
3552
+ "producedEvents": []
3553
+ },
3554
+ "ValidateReturnQty": {
3555
+ "description": "Validates if ReturnOrder can be processed based on order item qty passed in event attributes",
3556
+ "parameters": [],
3557
+ "entityTypes": [
3558
+ "ORDER"
3559
+ ],
3560
+ "eventAttributes": [],
3561
+ "producedEvents": []
3562
+ },
3563
+ "ValidateRevisedOrder": {
3564
+ "description": "Validate Revised Order request before cancelling the existing Order. This rule will perform a simple validation whether any SKU and/or quantities has been changed. Positive case, it will follow the event to the next rule. Otherwise, it will fail",
3565
+ "parameters": [],
3566
+ "entityTypes": [
3567
+ "ORDER"
3568
+ ],
3569
+ "eventAttributes": [
3570
+ "revisedItems"
3571
+ ],
3572
+ "producedEvents": []
3573
+ },
3574
+ "VerifyBillingAccount": {
3575
+ "description": "Does a lookup of billing account for the customer, if there is a billing account already exist then send event with the name {BillingAccountExistsEventName} to billing account workflow to ProcessCredit, otherwise send an event with the name {NoBillingAccountExistsEventName} to NewBillingAccount in return workflow",
3576
+ "parameters": [
3577
+ {
3578
+ "name": "BillingAccountExistsEventName",
3579
+ "type": "STRING",
3580
+ "description": "The state to apply to the entity"
3581
+ },
3582
+ {
3583
+ "name": "NoBillingAccountExistsEventName",
3584
+ "type": "STRING",
3585
+ "description": "The state to apply to the entity"
3586
+ }
3587
+ ],
3588
+ "entityTypes": [
3589
+ "RETURN_ORDER",
3590
+ "ORDER"
3591
+ ],
3592
+ "eventAttributes": [],
3593
+ "producedEvents": [
3594
+ "NoBillingAccountExistsEventName",
3595
+ "BillingAccountExistsEventName",
3596
+ "NoBillingAccountExistsEventName",
3597
+ "BillingAccountExistsEventName"
3598
+ ]
3599
+ },
3600
+ "VerifyFulfilmentStatesForWave": {
3601
+ "description": "Verifies all fulfilment statuses{statuses} for the wave.Sends {eventName} event to the wave if statuses match.",
3602
+ "parameters": [
3603
+ {
3604
+ "name": "eventName",
3605
+ "type": "STRING",
3606
+ "description": "Event name for outgoing event"
3607
+ },
3608
+ {
3609
+ "name": "statuses",
3610
+ "type": "STRING",
3611
+ "description": "Fulfilment statuses"
3612
+ }
3613
+ ],
3614
+ "entityTypes": [
3615
+ "WAVE"
3616
+ ],
3617
+ "eventAttributes": [],
3618
+ "producedEvents": [
3619
+ "eventName"
3620
+ ]
3621
+ },
3622
+ "VerifyProductOnProductCatalogue": {
3623
+ "description": "Send {eventName} event if a product exist on this product catalogue, otherwise create it using {productCatalogueRef} product catalogue and trigger {changeStateEvent}.",
3624
+ "parameters": [
3625
+ {
3626
+ "name": "eventName",
3627
+ "type": "STRING",
3628
+ "description": "The name of event to be triggered if Product exists"
3629
+ },
3630
+ {
3631
+ "name": "changeStateEvent",
3632
+ "type": "STRING",
3633
+ "description": "The name of event to be triggered if a new product is created"
3634
+ },
3635
+ {
3636
+ "name": "productCatalogueRef",
3637
+ "type": "STRING",
3638
+ "description": "Compatibility Product Catalogue Ref"
3639
+ }
3640
+ ],
3641
+ "entityTypes": [
3642
+ "PRODUCT_CATALOGUE"
3643
+ ],
3644
+ "eventAttributes": [],
3645
+ "producedEvents": [
3646
+ "eventName"
3647
+ ]
3648
+ },
3649
+ "VerifyingFulfilmentItems": {
3650
+ "description": "Send an {eventName} Event for Fulfilment on verifying if {quantity} Fulfilment items are available",
3651
+ "parameters": [
3652
+ {
3653
+ "name": "eventName",
3654
+ "type": "STRING",
3655
+ "description": "The event name which will be sent to fulfilment"
3656
+ },
3657
+ {
3658
+ "name": "quantity",
3659
+ "type": "STRING",
3660
+ "description": "Quantity fulfilled: NONE, ALL or PARTIAL"
3661
+ }
3662
+ ],
3663
+ "entityTypes": [
3664
+ "FULFILMENT"
3665
+ ],
3666
+ "eventAttributes": [],
3667
+ "producedEvents": []
3668
+ }
3669
+ }
3670
+ },
3671
+ "globalinventory": {
3672
+ "ruleCount": 58,
3673
+ "rules": {
3674
+ "CalculateOnHand": {
3675
+ "description": "Calculates the onHand of an inventory position using inventory quantities filtered by types {filterTypes} and statuses {filterStatuses}. Sends event {eventName}.",
3676
+ "parameters": [
3677
+ {
3678
+ "name": "filterTypes",
3679
+ "type": "STRING",
3680
+ "description": "List of inventory quantity types"
3681
+ },
3682
+ {
3683
+ "name": "filterStatuses",
3684
+ "type": "STRING",
3685
+ "description": "List of inventory quantity statuses"
3686
+ },
3687
+ {
3688
+ "name": "eventName",
3689
+ "type": "STRING",
3690
+ "description": "The name of event to be triggered"
3691
+ }
3692
+ ],
3693
+ "entityTypes": [
3694
+ "INVENTORY_POSITION"
3695
+ ],
3696
+ "eventAttributes": [],
3697
+ "producedEvents": []
3698
+ },
3699
+ "ChangeStateGQL": {
3700
+ "description": "Change the state of the {event.entityType} to {status} using GraphQL. ",
3701
+ "parameters": [
3702
+ {
3703
+ "name": "status",
3704
+ "type": "STRING",
3705
+ "description": "The new state to apply to the entity"
3706
+ }
3707
+ ],
3708
+ "entityTypes": [],
3709
+ "eventAttributes": [],
3710
+ "producedEvents": [
3711
+ "STATE_CHANGE"
3712
+ ]
3713
+ },
3714
+ "CreateAggregateVirtualPosition": {
3715
+ "description": "Creates an aggregate virtual position including inventory positions in statuses {statuses}. Sends event {eventName}.",
3716
+ "parameters": [
3717
+ {
3718
+ "name": "eventName",
3719
+ "type": "STRING",
3720
+ "description": "Event name"
3721
+ },
3722
+ {
3723
+ "name": "statuses",
3724
+ "type": "STRING",
3725
+ "description": "Status for the the inventory positions that will be in"
3726
+ }
3727
+ ],
3728
+ "entityTypes": [
3729
+ "VIRTUAL_CATALOGUE"
3730
+ ],
3731
+ "eventAttributes": [
3732
+ "productRef",
3733
+ "targetVirtualPositionRef",
3734
+ "virtualCatalogueRef",
3735
+ "virtualCatalogueInventoryCatalogueRef",
3736
+ "virtualCatalogueProductCatalogueRef",
3737
+ "virtualCatalogueControlGroupRef",
3738
+ "virtualCatalogueNetworkIds"
3739
+ ],
3740
+ "producedEvents": []
3741
+ },
3742
+ "CreateBaseVirtualPosition": {
3743
+ "description": "Creates a base virtual position. Sends event {eventName}.",
3744
+ "parameters": [
3745
+ {
3746
+ "name": "eventName",
3747
+ "type": "STRING",
3748
+ "description": "The name of event to be triggered"
3749
+ }
3750
+ ],
3751
+ "entityTypes": [
3752
+ "VIRTUAL_CATALOGUE"
3753
+ ],
3754
+ "eventAttributes": [
3755
+ "productRef",
3756
+ "locationRef",
3757
+ "targetVirtualPositionRef",
3758
+ "virtualCatalogueRef",
3759
+ "virtualCatalogueControlGroupRef",
3760
+ "virtualCatalogueProductCatalogueRef",
3761
+ "virtualCatalogueInventoryCatalogueRef"
3762
+ ],
3763
+ "producedEvents": [
3764
+ "{eventName}"
3765
+ ]
3766
+ },
3767
+ "CreateCategory": {
3768
+ "description": "Create a category based on the information provided in the event.",
3769
+ "parameters": [],
3770
+ "entityTypes": [
3771
+ "PRODUCT_CATALOGUE"
3772
+ ],
3773
+ "eventAttributes": [
3774
+ "ref",
3775
+ "type",
3776
+ "name"
3777
+ ],
3778
+ "producedEvents": []
3779
+ },
3780
+ "CreateFulfilmentInventoryQuantity": {
3781
+ "description": "Create inventory quantity of type {inventoryQuantityType} using event attributes, or set default type as {defaultType}, condition as {defaultCondition} and storageRef as {defaultStorageAreaRef}",
3782
+ "parameters": [
3783
+ {
3784
+ "name": "inventoryQuantityType",
3785
+ "type": "STRING",
3786
+ "description": "Inventory quantity type"
3787
+ },
3788
+ {
3789
+ "name": "defaultType",
3790
+ "type": "STRING",
3791
+ "description": "Default inventory quantity type"
3792
+ },
3793
+ {
3794
+ "name": "defaultCondition",
3795
+ "type": "STRING",
3796
+ "description": "Default inventory quantity condition"
3797
+ },
3798
+ {
3799
+ "name": "defaultStorageAreaRef",
3800
+ "type": "STRING",
3801
+ "description": "Default inventory quantity storage area ref"
3802
+ }
3803
+ ],
3804
+ "entityTypes": [
3805
+ "INVENTORY_POSITION"
3806
+ ],
3807
+ "eventAttributes": [
3808
+ "inventoryPosition"
3809
+ ],
3810
+ "producedEvents": []
3811
+ },
3812
+ "CreateInventoryPosition": {
3813
+ "description": "Create inventory position using event attributes",
3814
+ "parameters": [],
3815
+ "entityTypes": [
3816
+ "INVENTORY_CATALOGUE"
3817
+ ],
3818
+ "eventAttributes": [
3819
+ "inventoryPositionRef",
3820
+ "type",
3821
+ "productRef",
3822
+ "locationRef",
3823
+ "qty"
3824
+ ],
3825
+ "producedEvents": []
3826
+ },
3827
+ "CreateInventoryQuantity": {
3828
+ "description": "Create an inventory quantity of type {type} using event attributes.",
3829
+ "parameters": [
3830
+ {
3831
+ "name": "type",
3832
+ "type": "STRING",
3833
+ "description": "Inventory quantity type"
3834
+ }
3835
+ ],
3836
+ "entityTypes": [
3837
+ "INVENTORY_POSITION"
3838
+ ],
3839
+ "eventAttributes": [
3840
+ "qty",
3841
+ "condition",
3842
+ "expectedOn",
3843
+ "storageAreaRef",
3844
+ "inventoryPositionRef"
3845
+ ],
3846
+ "producedEvents": []
3847
+ },
3848
+ "CreateStandardProduct": {
3849
+ "description": "Create a standard product based on the information provided in the event.",
3850
+ "parameters": [],
3851
+ "entityTypes": [
3852
+ "PRODUCT_CATALOGUE"
3853
+ ],
3854
+ "eventAttributes": [
3855
+ "ref",
3856
+ "type",
3857
+ "name",
3858
+ "gtin"
3859
+ ],
3860
+ "producedEvents": []
3861
+ },
3862
+ "CreateVariantProduct": {
3863
+ "description": "Create a variant product based on the information provided in the event.",
3864
+ "parameters": [],
3865
+ "entityTypes": [
3866
+ "PRODUCT_CATALOGUE"
3867
+ ],
3868
+ "eventAttributes": [
3869
+ "ref",
3870
+ "type",
3871
+ "name",
3872
+ "gtin"
3873
+ ],
3874
+ "producedEvents": []
3875
+ },
3876
+ "DownToCategory": {
3877
+ "description": "Forward the incoming event with event name {eventName} to the category entity with the provided ref.",
3878
+ "parameters": [
3879
+ {
3880
+ "name": "eventName",
3881
+ "type": "STRING",
3882
+ "description": "The name of event to be triggered"
3883
+ }
3884
+ ],
3885
+ "entityTypes": [
3886
+ "PRODUCT_CATALOGUE"
3887
+ ],
3888
+ "eventAttributes": [
3889
+ "ref"
3890
+ ],
3891
+ "producedEvents": [
3892
+ "{eventName}"
3893
+ ]
3894
+ },
3895
+ "DownToInventoryPosition": {
3896
+ "description": "Send event {eventName} to inventory position using event attributes. ",
3897
+ "parameters": [
3898
+ {
3899
+ "name": "eventName",
3900
+ "type": "STRING",
3901
+ "description": "The name of event to be triggered"
3902
+ }
3903
+ ],
3904
+ "entityTypes": [
3905
+ "INVENTORY_CATALOGUE"
3906
+ ],
3907
+ "eventAttributes": [
3908
+ "type",
3909
+ "inventoryPositionRef"
3910
+ ],
3911
+ "producedEvents": []
3912
+ },
3913
+ "DownToInventoryPositionIfExists": {
3914
+ "description": "Forward event {eventName} if the inventory position exists.",
3915
+ "parameters": [
3916
+ {
3917
+ "name": "eventName",
3918
+ "type": "STRING",
3919
+ "description": "The name of event to be triggered if inventory position exists"
3920
+ }
3921
+ ],
3922
+ "entityTypes": [
3923
+ "INVENTORY_CATALOGUE"
3924
+ ],
3925
+ "eventAttributes": [
3926
+ "inventoryPositionExists",
3927
+ "inventoryPositionRef"
3928
+ ],
3929
+ "producedEvents": []
3930
+ },
3931
+ "DownToProduct": {
3932
+ "description": "Forward the incoming event with event name {eventName} to the product entity with the provided ref.",
3933
+ "parameters": [
3934
+ {
3935
+ "name": "eventName",
3936
+ "type": "STRING",
3937
+ "description": "The name of the event to be triggered"
3938
+ }
3939
+ ],
3940
+ "entityTypes": [
3941
+ "PRODUCT_CATALOGUE"
3942
+ ],
3943
+ "eventAttributes": [
3944
+ "ref",
3945
+ "type"
3946
+ ],
3947
+ "producedEvents": [
3948
+ "{eventName}"
3949
+ ]
3950
+ },
3951
+ "DownToVirtualPositionIfExists": {
3952
+ "description": "Sends event {eventName} to the virtual position.",
3953
+ "parameters": [
3954
+ {
3955
+ "name": "eventName",
3956
+ "type": "STRING",
3957
+ "description": "The name of event to be triggered"
3958
+ }
3959
+ ],
3960
+ "entityTypes": [
3961
+ "VIRTUAL_CATALOGUE"
3962
+ ],
3963
+ "eventAttributes": [],
3964
+ "producedEvents": [
3965
+ "{eventName}"
3966
+ ]
3967
+ },
3968
+ "Forward": {
3969
+ "description": "Forward the incoming event with event name {eventName}.",
3970
+ "parameters": [
3971
+ {
3972
+ "name": "eventName",
3973
+ "type": "STRING",
3974
+ "description": "The name of event to be triggered"
3975
+ }
3976
+ ],
3977
+ "entityTypes": [
3978
+ "VIRTUAL_POSITION",
3979
+ "INVENTORY_QUANTITY",
3980
+ "PRODUCT_CATALOGUE",
3981
+ "INVENTORY_POSITION",
3982
+ "CATEGORY",
3983
+ "PRODUCT",
3984
+ "INVENTORY_CATALOGUE",
3985
+ "VIRTUAL_CATALOGUE"
3986
+ ],
3987
+ "eventAttributes": [],
3988
+ "producedEvents": [
3989
+ "{eventName}"
3990
+ ]
3991
+ },
3992
+ "ForwardIfCategoryExists": {
3993
+ "description": "Forwards the event with name {eventName} if the category exists.",
3994
+ "parameters": [
3995
+ {
3996
+ "name": "eventName",
3997
+ "type": "STRING",
3998
+ "description": "The name of event to be triggered"
3999
+ }
4000
+ ],
4001
+ "entityTypes": [
4002
+ "PRODUCT_CATALOGUE"
4003
+ ],
4004
+ "eventAttributes": [
4005
+ "ref"
4006
+ ],
4007
+ "producedEvents": []
4008
+ },
4009
+ "ForwardIfCategoryNotExists": {
4010
+ "description": "Forwards the event with name {eventName} if the category does not exist.",
4011
+ "parameters": [
4012
+ {
4013
+ "name": "eventName",
4014
+ "type": "STRING",
4015
+ "description": "The name of the event to be triggered"
4016
+ }
4017
+ ],
4018
+ "entityTypes": [
4019
+ "PRODUCT_CATALOGUE"
4020
+ ],
4021
+ "eventAttributes": [
4022
+ "ref"
4023
+ ],
4024
+ "producedEvents": []
4025
+ },
4026
+ "ForwardIfIncomingAttributeEquals": {
4027
+ "description": "Forward the incoming event with event name {eventName} if event attribute key {attributeKey} has value {attributeValue}",
4028
+ "parameters": [
4029
+ {
4030
+ "name": "eventName",
4031
+ "type": "STRING",
4032
+ "description": "The name of event to be triggered"
4033
+ },
4034
+ {
4035
+ "name": "attributeKey",
4036
+ "type": "STRING",
4037
+ "description": "Key of the attribute to be checked"
4038
+ },
4039
+ {
4040
+ "name": "attributeValue",
4041
+ "type": "STRING",
4042
+ "description": "Value of the attribute to be checked"
4043
+ }
4044
+ ],
4045
+ "entityTypes": [
4046
+ "VIRTUAL_POSITION",
4047
+ "INVENTORY_QUANTITY",
4048
+ "PRODUCT_CATALOGUE",
4049
+ "INVENTORY_POSITION",
4050
+ "CATEGORY",
4051
+ "PRODUCT",
4052
+ "INVENTORY_CATALOGUE",
4053
+ "VIRTUAL_CATALOGUE"
4054
+ ],
4055
+ "eventAttributes": [
4056
+ "{attributeKey}"
4057
+ ],
4058
+ "producedEvents": [
4059
+ "{eventName}"
4060
+ ]
4061
+ },
4062
+ "ForwardIfInventoryPositionNotExists": {
4063
+ "description": "Forward event {eventName} if the inventory position does NOT exist.",
4064
+ "parameters": [
4065
+ {
4066
+ "name": "eventName",
4067
+ "type": "STRING",
4068
+ "description": "The name of event to be triggered if inventory position does not exist"
4069
+ }
4070
+ ],
4071
+ "entityTypes": [
4072
+ "INVENTORY_CATALOGUE"
4073
+ ],
4074
+ "eventAttributes": [
4075
+ "inventoryPositionExists"
4076
+ ],
4077
+ "producedEvents": []
4078
+ },
4079
+ "ForwardIfInventoryPositionStatusEquals": {
4080
+ "description": "Resets the quantity and status of the base virtual position if the inventory position status matches {statuses}. Sends event {eventName}.",
4081
+ "parameters": [
4082
+ {
4083
+ "name": "eventName",
4084
+ "type": "STRING",
4085
+ "description": "The name of event to be triggered"
4086
+ },
4087
+ {
4088
+ "name": "statuses",
4089
+ "type": "STRING",
4090
+ "description": "List of status of inventory position"
4091
+ }
4092
+ ],
4093
+ "entityTypes": [
4094
+ "VIRTUAL_POSITION"
4095
+ ],
4096
+ "eventAttributes": [
4097
+ "virtualCatalogueInventoryCatalogueRef",
4098
+ "virtualPositionProductRef",
4099
+ "virtualPositionGroupRef"
4100
+ ],
4101
+ "producedEvents": [
4102
+ "{eventName}"
4103
+ ]
4104
+ },
4105
+ "ForwardIfLocationStatusEquals": {
4106
+ "description": "Forwards event {eventName} if the location has a different status compared to the inventory position and the location has become {status}.",
4107
+ "parameters": [
4108
+ {
4109
+ "name": "eventName",
4110
+ "type": "STRING",
4111
+ "description": "The name of event to be triggered when the status matches"
4112
+ },
4113
+ {
4114
+ "name": "status",
4115
+ "type": "STRING",
4116
+ "description": "The status"
4117
+ }
4118
+ ],
4119
+ "entityTypes": [
4120
+ "INVENTORY_POSITION"
4121
+ ],
4122
+ "eventAttributes": [],
4123
+ "producedEvents": [
4124
+ "{eventName}"
4125
+ ]
4126
+ },
4127
+ "ForwardIfOnHandChanged": {
4128
+ "description": "Forward event {eventName} if the inventory position onHand value has changed",
4129
+ "parameters": [
4130
+ {
4131
+ "name": "eventName",
4132
+ "type": "STRING",
4133
+ "description": "The name of event to be triggered if inventory position onHand value has changed"
4134
+ }
4135
+ ],
4136
+ "entityTypes": [
4137
+ "INVENTORY_POSITION"
4138
+ ],
4139
+ "eventAttributes": [
4140
+ "inventoryPositionOnHand",
4141
+ "inventoryPositionOnHandCalculated"
4142
+ ],
4143
+ "producedEvents": []
4144
+ },
4145
+ "ForwardIfProductStatusEquals": {
4146
+ "description": "Send event {eventName} if the status of the product in catalogue with ref {productCatalogueRef} has a different status compared to the inventory position and the product has become {status}.",
4147
+ "parameters": [
4148
+ {
4149
+ "name": "eventName",
4150
+ "type": "STRING",
4151
+ "description": "The name of event to be triggered when the status matches"
4152
+ },
4153
+ {
4154
+ "name": "status",
4155
+ "type": "STRING",
4156
+ "description": "The status"
4157
+ },
4158
+ {
4159
+ "name": "productCatalogueRef",
4160
+ "type": "STRING",
4161
+ "description": "Product catalogue Ref"
4162
+ }
4163
+ ],
4164
+ "entityTypes": [
4165
+ "INVENTORY_POSITION"
4166
+ ],
4167
+ "eventAttributes": [],
4168
+ "producedEvents": [
4169
+ "{eventName}"
4170
+ ]
4171
+ },
4172
+ "ForwardIfStandardProductExists": {
4173
+ "description": "Forwards the event with name {eventName} if the product exists.",
4174
+ "parameters": [
4175
+ {
4176
+ "name": "eventName",
4177
+ "type": "STRING",
4178
+ "description": "The name of event to be triggered"
4179
+ }
4180
+ ],
4181
+ "entityTypes": [
4182
+ "PRODUCT_CATALOGUE"
4183
+ ],
4184
+ "eventAttributes": [
4185
+ "ref",
4186
+ "type"
4187
+ ],
4188
+ "producedEvents": []
4189
+ },
4190
+ "ForwardIfStandardProductNotExists": {
4191
+ "description": "Forwards the event with name {eventName} if the product does not exist.",
4192
+ "parameters": [
4193
+ {
4194
+ "name": "eventName",
4195
+ "type": "STRING",
4196
+ "description": "The name of event to be triggered"
4197
+ }
4198
+ ],
4199
+ "entityTypes": [
4200
+ "PRODUCT_CATALOGUE"
4201
+ ],
4202
+ "eventAttributes": [
4203
+ "ref",
4204
+ "type"
4205
+ ],
4206
+ "producedEvents": []
4207
+ },
4208
+ "ForwardIfVariantProductExists": {
4209
+ "description": "Forwards the event with name {eventName} if the product exists.",
4210
+ "parameters": [
4211
+ {
4212
+ "name": "eventName",
4213
+ "type": "STRING",
4214
+ "description": "The name of the event to be triggered"
4215
+ }
4216
+ ],
4217
+ "entityTypes": [
4218
+ "PRODUCT_CATALOGUE"
4219
+ ],
4220
+ "eventAttributes": [
4221
+ "ref",
4222
+ "type"
4223
+ ],
4224
+ "producedEvents": []
4225
+ },
4226
+ "ForwardIfVariantProductNotExists": {
4227
+ "description": "Forwards the event with name {eventName} if the product does not exists.",
4228
+ "parameters": [
4229
+ {
4230
+ "name": "eventName",
4231
+ "type": "STRING",
4232
+ "description": "The name of event to be triggered"
4233
+ }
4234
+ ],
4235
+ "entityTypes": [
4236
+ "PRODUCT_CATALOGUE"
4237
+ ],
4238
+ "eventAttributes": [
4239
+ "ref",
4240
+ "type"
4241
+ ],
4242
+ "producedEvents": []
4243
+ },
4244
+ "ForwardIfVirtualPositionNotExists": {
4245
+ "description": "Forwards event {eventName} if the virtual position does not exists.",
4246
+ "parameters": [
4247
+ {
4248
+ "name": "eventName",
4249
+ "type": "STRING",
4250
+ "description": "The name of event to be triggered"
4251
+ }
4252
+ ],
4253
+ "entityTypes": [
4254
+ "VIRTUAL_CATALOGUE"
4255
+ ],
4256
+ "eventAttributes": [
4257
+ "virtualPositionRef"
4258
+ ],
4259
+ "producedEvents": [
4260
+ "{eventName}"
4261
+ ]
4262
+ },
4263
+ "LoadInventoryPosition": {
4264
+ "description": "Forwards event {eventName} (inline event) with the attribute 'inventoryPositionExists' set to true or false if the inventory position exists or not respectively",
4265
+ "parameters": [
4266
+ {
4267
+ "name": "eventName",
4268
+ "type": "STRING",
4269
+ "description": "The name of event to be triggered"
4270
+ }
4271
+ ],
4272
+ "entityTypes": [
4273
+ "INVENTORY_CATALOGUE"
4274
+ ],
4275
+ "eventAttributes": [
4276
+ "entityRef"
4277
+ ],
4278
+ "producedEvents": []
4279
+ },
4280
+ "LoadProductAndLocationStatus": {
4281
+ "description": "Forward event {eventName} with the attribute 'productStatus' and 'locationStatus' if the product (product catalogue ref: {productCatalogueRef}) and location exist.",
4282
+ "parameters": [
4283
+ {
4284
+ "name": "eventName",
4285
+ "type": "STRING",
4286
+ "description": "The name of event to be triggered"
4287
+ },
4288
+ {
4289
+ "name": "productCatalogueRef",
4290
+ "type": "STRING",
4291
+ "description": "The product catalogue ref for loading the variant product information"
4292
+ }
4293
+ ],
4294
+ "entityTypes": [
4295
+ "INVENTORY_CATALOGUE"
4296
+ ],
4297
+ "eventAttributes": [
4298
+ "productRef",
4299
+ "locationRef"
4300
+ ],
4301
+ "producedEvents": []
4302
+ },
4303
+ "LoadVirtualPositionAndVirtualCatalogueDetails": {
4304
+ "description": "Loads the virtual position details and virtual catalogue with type {type}. Sends event {eventName}.",
4305
+ "parameters": [
4306
+ {
4307
+ "name": "eventName",
4308
+ "type": "STRING",
4309
+ "description": "The name of event to be triggered"
4310
+ },
4311
+ {
4312
+ "name": "type",
4313
+ "type": "STRING",
4314
+ "description": "The type of the virtual position"
4315
+ }
4316
+ ],
4317
+ "entityTypes": [
4318
+ "VIRTUAL_CATALOGUE"
4319
+ ],
4320
+ "eventAttributes": [
4321
+ "locationRef",
4322
+ "productRef"
4323
+ ],
4324
+ "producedEvents": [
4325
+ "{eventName}"
4326
+ ]
4327
+ },
4328
+ "NotifyInventoryCatalogueForProduct": {
4329
+ "description": "Send {eventName} event with productRef attributeto the {inventoryCatalogueRef} inventory catalogue with retailer id {retailerId}.",
4330
+ "parameters": [
4331
+ {
4332
+ "name": "eventName",
4333
+ "type": "STRING",
4334
+ "description": "The name of event to be sent to the inventory catalogue."
4335
+ },
4336
+ {
4337
+ "name": "inventoryCatalogueRef",
4338
+ "type": "STRING",
4339
+ "description": "The reference of the inventory catalogue."
4340
+ },
4341
+ {
4342
+ "name": "retailerId",
4343
+ "type": "STRING",
4344
+ "description": "The ID of the retailer receiving the event"
4345
+ }
4346
+ ],
4347
+ "entityTypes": [
4348
+ "PRODUCT"
4349
+ ],
4350
+ "eventAttributes": [],
4351
+ "producedEvents": []
4352
+ },
4353
+ "NotifyVirtualCatalogueOnNetworkMatch": {
4354
+ "description": "Forward the event with name {eventName} to the virtual catalogue with ref {virtualCatalogueRef} if the location's network ref is listed in the virtual catalogue's networkIds. ",
4355
+ "parameters": [
4356
+ {
4357
+ "name": "eventName",
4358
+ "type": "STRING",
4359
+ "description": "The name of event to be triggered"
4360
+ },
4361
+ {
4362
+ "name": "virtualCatalogueRef",
4363
+ "type": "STRING",
4364
+ "description": "The name of the virtual catalogue to be notified"
4365
+ }
4366
+ ],
4367
+ "entityTypes": [
4368
+ "INVENTORY_POSITION"
4369
+ ],
4370
+ "eventAttributes": [],
4371
+ "producedEvents": []
4372
+ },
4373
+ "ProducePositionEventsForLocation": {
4374
+ "description": "Send event {eventName} to each inventory position using the locationRef from the event attributes.",
4375
+ "parameters": [
4376
+ {
4377
+ "name": "eventName",
4378
+ "type": "STRING",
4379
+ "description": "The name of event to be triggered"
4380
+ }
4381
+ ],
4382
+ "entityTypes": [
4383
+ "INVENTORY_CATALOGUE"
4384
+ ],
4385
+ "eventAttributes": [
4386
+ "locationRef"
4387
+ ],
4388
+ "producedEvents": [
4389
+ "{eventName}"
4390
+ ]
4391
+ },
4392
+ "ProducePositionEventsForProduct": {
4393
+ "description": "Send event {eventName} to each inventory position using the productRef from the event attributes.",
4394
+ "parameters": [
4395
+ {
4396
+ "name": "eventName",
4397
+ "type": "STRING",
4398
+ "description": "The name of event to be triggered"
4399
+ }
4400
+ ],
4401
+ "entityTypes": [
4402
+ "INVENTORY_CATALOGUE"
4403
+ ],
4404
+ "eventAttributes": [
4405
+ "productRef"
4406
+ ],
4407
+ "producedEvents": [
4408
+ "{eventName}"
4409
+ ]
4410
+ },
4411
+ "ProduceVirtualPositionEventsForControlUpdate": {
4412
+ "description": "Send event {eventName} to each virtual position in catalogue {virtualCatalogueRef} impacted by the control update. Only VariantProduct/Location & VariantProduct control changes are considered.",
4413
+ "parameters": [
4414
+ {
4415
+ "name": "eventName",
4416
+ "type": "STRING",
4417
+ "description": "The name of the event to be triggered"
4418
+ },
4419
+ {
4420
+ "name": "virtualCatalogueRef",
4421
+ "type": "STRING",
4422
+ "description": "The reference of the virtual catalogue"
4423
+ }
4424
+ ],
4425
+ "entityTypes": [
4426
+ "CONTROL"
4427
+ ],
4428
+ "eventAttributes": [],
4429
+ "producedEvents": [
4430
+ "{eventName}"
4431
+ ]
4432
+ },
4433
+ "ResetBaseVirtualPosition": {
4434
+ "description": "Resets the quantity of the given virtual position to 0.",
4435
+ "parameters": [],
4436
+ "entityTypes": [
4437
+ "VIRTUAL_POSITION"
4438
+ ],
4439
+ "eventAttributes": [
4440
+ "virtualPositionRef",
4441
+ "virtualCatalogueRef"
4442
+ ],
4443
+ "producedEvents": []
4444
+ },
4445
+ "SendEventGQL": {
4446
+ "description": "Send an {eventName} event for the (current entity) ",
4447
+ "parameters": [
4448
+ {
4449
+ "name": "eventName",
4450
+ "type": "STRING",
4451
+ "description": "The name of event to be triggered"
4452
+ }
4453
+ ],
4454
+ "entityTypes": [],
4455
+ "eventAttributes": [],
4456
+ "producedEvents": [
4457
+ "{eventName}"
4458
+ ]
4459
+ },
4460
+ "SendEventOnFulfilmentInventoryUpdate": {
4461
+ "description": "Send event {inventoryConfirmationEvent} if inventory is confirmed, or send {inventoryReserveEvent} if inventory is reserved, or {inventoryCancelEvent} if inventory is cancelled, to inventory position and include inventory quantities of type {inventoryQuantityTypes} in event attribute",
4462
+ "parameters": [
4463
+ {
4464
+ "name": "inventoryConfirmationEvent",
4465
+ "type": "STRING",
4466
+ "description": "The name of event to be triggered if inventory is confirmed"
4467
+ },
4468
+ {
4469
+ "name": "inventoryCancelEvent",
4470
+ "type": "STRING",
4471
+ "description": "The name of event to be triggered if inventory is cancelled"
4472
+ },
4473
+ {
4474
+ "name": "inventoryReserveEvent",
4475
+ "type": "STRING",
4476
+ "description": "The name of event to be triggered if inventory is reserved"
4477
+ },
4478
+ {
4479
+ "name": "inventoryQuantityTypes",
4480
+ "type": "STRING",
4481
+ "description": "Inventory quantity types"
4482
+ }
4483
+ ],
4484
+ "entityTypes": [
4485
+ "INVENTORY_CATALOGUE"
4486
+ ],
4487
+ "eventAttributes": [],
4488
+ "producedEvents": []
4489
+ },
4490
+ "SendEventToAllInventoryQuantities": {
4491
+ "description": "Send event {eventName} to inventory quantities of type {inventoryQuantityTypes} using event attributes",
4492
+ "parameters": [
4493
+ {
4494
+ "name": "eventName",
4495
+ "type": "STRING",
4496
+ "description": "The name of event to be triggered"
4497
+ },
4498
+ {
4499
+ "name": "inventoryQuantityTypes",
4500
+ "type": "STRING",
4501
+ "description": "List of inventory quantity types"
4502
+ }
4503
+ ],
4504
+ "entityTypes": [
4505
+ "INVENTORY_POSITION"
4506
+ ],
4507
+ "eventAttributes": [
4508
+ "inventoryPosition"
4509
+ ],
4510
+ "producedEvents": []
4511
+ },
4512
+ "UpdateAggregateVirtualPosition": {
4513
+ "description": "Updates an aggregate virtual position including inventory positions in statuses {statuses}.",
4514
+ "parameters": [
4515
+ {
4516
+ "name": "statuses",
4517
+ "type": "STRING",
4518
+ "description": "Status for the the inventory positions that will be in"
4519
+ }
4520
+ ],
4521
+ "entityTypes": [
4522
+ "VIRTUAL_POSITION"
4523
+ ],
4524
+ "eventAttributes": [
4525
+ "virtualPositionRef",
4526
+ "virtualPositionProductRef",
4527
+ "virtualPositionGroupRef",
4528
+ "virtualCatalogueRef",
4529
+ "virtualCatalogueInventoryCatalogueRef",
4530
+ "virtualCatalogueProductCatalogueRef",
4531
+ "virtualCatalogueControlGroupRef",
4532
+ "virtualCatalogueNetworkIds"
4533
+ ],
4534
+ "producedEvents": []
4535
+ },
4536
+ "UpdateBaseVirtualPosition": {
4537
+ "description": "Updates a base virtual position.",
4538
+ "parameters": [],
4539
+ "entityTypes": [
4540
+ "VIRTUAL_POSITION"
4541
+ ],
4542
+ "eventAttributes": [
4543
+ "virtualPositionRef",
4544
+ "virtualCatalogueRef",
4545
+ "virtualPositionGroupRef",
4546
+ "virtualPositionProductRef",
4547
+ "virtualCatalogueControlGroupRef",
4548
+ "virtualCatalogueProductCatalogueRef",
4549
+ "virtualCatalogueInventoryCatalogueRef"
4550
+ ],
4551
+ "producedEvents": []
4552
+ },
4553
+ "UpdateCategoriesForStandardProduct": {
4554
+ "description": "Updates the categories of the standard product based on the information provided in the event.",
4555
+ "parameters": [],
4556
+ "entityTypes": [
4557
+ "PRODUCT"
4558
+ ],
4559
+ "eventAttributes": [
4560
+ "ref",
4561
+ "categoryRefs"
4562
+ ],
4563
+ "producedEvents": []
4564
+ },
4565
+ "UpdateCategoriesForVariantProduct": {
4566
+ "description": "Updates the categories of the variant product based on the information provided in the event.",
4567
+ "parameters": [],
4568
+ "entityTypes": [
4569
+ "PRODUCT"
4570
+ ],
4571
+ "eventAttributes": [
4572
+ "ref",
4573
+ "categoryRefs"
4574
+ ],
4575
+ "producedEvents": []
4576
+ },
4577
+ "UpdateCategory": {
4578
+ "description": "Update a category based on the information provided in the event.",
4579
+ "parameters": [],
4580
+ "entityTypes": [
4581
+ "CATEGORY"
4582
+ ],
4583
+ "eventAttributes": [
4584
+ "ref"
4585
+ ],
4586
+ "producedEvents": []
4587
+ },
4588
+ "UpdateControlValue": {
4589
+ "description": "Updates the value of a control with the inbound value",
4590
+ "parameters": [],
4591
+ "entityTypes": [
4592
+ "CONTROL"
4593
+ ],
4594
+ "eventAttributes": [
4595
+ "controlValue",
4596
+ "executionOrder"
4597
+ ],
4598
+ "producedEvents": []
4599
+ },
4600
+ "UpdateInventoryQuantitiesStatus": {
4601
+ "description": "Updates the status of inventory quantities to status {status} which belong to the inventory position and are of type {filterTypes} and in statuses {filterStatuses}",
4602
+ "parameters": [
4603
+ {
4604
+ "name": "filterTypes",
4605
+ "type": "STRING",
4606
+ "description": "List of inventory quantity types which should be updated"
4607
+ },
4608
+ {
4609
+ "name": "status",
4610
+ "type": "STRING",
4611
+ "description": "The status to which inventory quantities will be updated to"
4612
+ },
4613
+ {
4614
+ "name": "filterStatuses",
4615
+ "type": "STRING",
4616
+ "description": "List of inventory quantity statuses which should be updated"
4617
+ }
4618
+ ],
4619
+ "entityTypes": [
4620
+ "INVENTORY_POSITION"
4621
+ ],
4622
+ "eventAttributes": [],
4623
+ "producedEvents": []
4624
+ },
4625
+ "UpdateInventoryQuantity": {
4626
+ "description": "Update inventory quantity of type {type} using event attributes.",
4627
+ "parameters": [
4628
+ {
4629
+ "name": "type",
4630
+ "type": "STRING",
4631
+ "description": "Inventory quantity type"
4632
+ }
4633
+ ],
4634
+ "entityTypes": [
4635
+ "INVENTORY_POSITION"
4636
+ ],
4637
+ "eventAttributes": [
4638
+ "qty",
4639
+ "condition",
4640
+ "expectedOn",
4641
+ "storageAreaRef",
4642
+ "inventoryPositionRef"
4643
+ ],
4644
+ "producedEvents": []
4645
+ },
4646
+ "UpdateOnHand": {
4647
+ "description": "Updates the on-hand of an inventory position to the value of event attribute 'inventoryPositionOnHandCalculated' from the incoming event regardless of its current value",
4648
+ "parameters": [],
4649
+ "entityTypes": [
4650
+ "INVENTORY_POSITION"
4651
+ ],
4652
+ "eventAttributes": [
4653
+ "inventoryPositionOnHandCalculated"
4654
+ ],
4655
+ "producedEvents": []
4656
+ },
4657
+ "UpdateStandardProduct": {
4658
+ "description": "Update a standard product based on the information provided in the event.",
4659
+ "parameters": [],
4660
+ "entityTypes": [
4661
+ "PRODUCT"
4662
+ ],
4663
+ "eventAttributes": [
4664
+ "ref"
4665
+ ],
4666
+ "producedEvents": []
4667
+ },
4668
+ "UpdateVariantProduct": {
4669
+ "description": "Update a variant product based on the information provided in the event.",
4670
+ "parameters": [],
4671
+ "entityTypes": [
4672
+ "PRODUCT"
4673
+ ],
4674
+ "eventAttributes": [
4675
+ "ref"
4676
+ ],
4677
+ "producedEvents": []
4678
+ },
4679
+ "ValidateCategoriesExist": {
4680
+ "description": "Validates the incoming category event for the existence of the parent and child categories.",
4681
+ "parameters": [],
4682
+ "entityTypes": [
4683
+ "PRODUCT_CATALOGUE"
4684
+ ],
4685
+ "eventAttributes": [
4686
+ "childCategories",
4687
+ "parentCategory"
4688
+ ],
4689
+ "producedEvents": []
4690
+ },
4691
+ "ValidateIncomingCategory": {
4692
+ "description": "Validates the incoming category event.",
4693
+ "parameters": [],
4694
+ "entityTypes": [
4695
+ "PRODUCT_CATALOGUE"
4696
+ ],
4697
+ "eventAttributes": [
4698
+ "ref"
4699
+ ],
4700
+ "producedEvents": []
4701
+ },
4702
+ "ValidateIncomingProduct": {
4703
+ "description": "Validates the incoming product event.",
4704
+ "parameters": [],
4705
+ "entityTypes": [
4706
+ "PRODUCT_CATALOGUE"
4707
+ ],
4708
+ "eventAttributes": [
4709
+ "ref",
4710
+ "type"
4711
+ ],
4712
+ "producedEvents": []
4713
+ },
4714
+ "ValidateProductCategoriesExist": {
4715
+ "description": "Validates the incoming product event for the existence of the categories.",
4716
+ "parameters": [],
4717
+ "entityTypes": [
4718
+ "PRODUCT_CATALOGUE"
4719
+ ],
4720
+ "eventAttributes": [
4721
+ "categoryRefs"
4722
+ ],
4723
+ "producedEvents": []
4724
+ },
4725
+ "ValidateStandardProduct": {
4726
+ "description": "Validates the incoming standard product event.",
4727
+ "parameters": [],
4728
+ "entityTypes": [
4729
+ "PRODUCT_CATALOGUE"
4730
+ ],
4731
+ "eventAttributes": [
4732
+ "ref",
4733
+ "type"
4734
+ ],
4735
+ "producedEvents": []
4736
+ },
4737
+ "ValidateVariantProduct": {
4738
+ "description": "Validates the incoming variant product event.",
4739
+ "parameters": [],
4740
+ "entityTypes": [
4741
+ "PRODUCT_CATALOGUE"
4742
+ ],
4743
+ "eventAttributes": [
4744
+ "ref",
4745
+ "type",
4746
+ "standardProductRef"
4747
+ ],
4748
+ "producedEvents": []
4749
+ }
4750
+ }
4751
+ }
4752
+ },
4753
+ "contentHash": "a61f117830f217fa"
4754
+ }