Fluent Commerce Logo
Docs

fc.rubix.order.sourcing.conditions

Setting

Changed on:

25 Sept 2025

Setting AreaOrders, UI component
Supported context levels:GLOBAL

Overview

This setting defines the Reference Sourcing Conditions Schema. It:

  • Establishes the structure of available Sourcing Conditions and their parameters
  • Allows business users to configure Sourcing Conditions through the user interface and apply them in Sourcing Strategies
  • Ensures flexibility and consistency in managing sourcing logic

Values

Data TypeValues
JSON
1[
2  {
3    "name": "orderCreationDateBetween",
4    "type": "fc.sourcing.condition.path",
5    "tags": [
6      "Order"
7    ],
8    "params": [
9      {
10        "name": "path",
11        "value": "createdOn"
12      },
13      {
14        "name": "operator",
15        "value": "between"
16      },
17      {
18        "name": "value",
19        "component": "fc.field.daterange",
20        "mandatory": true
21      }
22    ]
23  },
24  {
25    "name": "orderCreationDateGreaterThan",
26    "type": "fc.sourcing.condition.path",
27    "tags": [
28      "Order"
29    ],
30    "params": [
31      {
32        "name": "path",
33        "value": "createdOn"
34      },
35      {
36        "name": "operator",
37        "value": "greater_than"
38      },
39      {
40        "name": "value",
41        "component": "fc.field.datetime",
42        "mandatory": true
43      }
44    ]
45  },
46  {
47    "name": "orderCreationDateGreaterThanOrEquals",
48    "type": "fc.sourcing.condition.path",
49    "tags": [
50      "Order"
51    ],
52    "params": [
53      {
54        "name": "path",
55        "value": "createdOn"
56      },
57      {
58        "name": "operator",
59        "value": "greater_than_or_equals"
60      },
61      {
62        "name": "value",
63        "component": "fc.field.datetime",
64        "mandatory": true
65      }
66    ]
67  },
68  {
69    "name": "orderCreationDateLessThan",
70    "type": "fc.sourcing.condition.path",
71    "tags": [
72      "Order"
73    ],
74    "params": [
75      {
76        "name": "path",
77        "value": "createdOn"
78      },
79      {
80        "name": "operator",
81        "value": "less_than"
82      },
83      {
84        "name": "value",
85        "component": "fc.field.datetime",
86        "mandatory": true
87      }
88    ]
89  },
90  {
91    "name": "orderCreationDateLessThanOrEquals",
92    "type": "fc.sourcing.condition.path",
93    "tags": [
94      "Order"
95    ],
96    "params": [
97      {
98        "name": "path",
99        "value": "createdOn"
100      },
101      {
102        "name": "operator",
103        "value": "less_than_or_equals"
104      },
105      {
106        "name": "value",
107        "component": "fc.field.datetime",
108        "mandatory": true
109      }
110    ]
111  },
112  {
113    "name": "customerTierIn",
114    "type": "fc.sourcing.condition.path",
115    "tags": [
116      "Customer"
117    ],
118    "params": [
119      {
120        "name": "path",
121        "value": "customer.attributes.byName.tier"
122      },
123      {
124        "name": "operator",
125        "value": "in"
126      },
127      {
128        "name": "value",
129        "component": "fc.field.multistring",
130        "exactSearch": true,
131        "mandatory": true
132      }
133    ]
134  },
135  {
136    "name": "customerIn",
137    "type": "fc.sourcing.condition.path",
138    "tags": [
139      "Customer"
140    ],
141    "params": [
142      {
143        "name": "path",
144        "value": "customer.ref"
145      },
146      {
147        "name": "operator",
148        "value": "in"
149      },
150      {
151        "name": "value",
152        "component": "fc.field.multistring",
153        "exactSearch": true,
154        "mandatory": true
155      }
156    ]
157  },
158  {
159    "name": "deliveryCountryIn",
160    "type": "fc.sourcing.condition.path",
161    "tags": [
162      "Delivery"
163    ],
164    "params": [
165      {
166        "name": "path",
167        "value": "fulfilmentChoice.address.country"
168      },
169      {
170        "name": "operator",
171        "value": "in"
172      },
173      {
174        "name": "value",
175        "component": "fc.field.multistring",
176        "exactSearch": true,
177        "mandatory": true
178      }
179    ]
180  },
181  {
182    "name": "deliveryPostcodeIn",
183    "type": "fc.sourcing.condition.path",
184    "tags": [
185      "Delivery"
186    ],
187    "params": [
188      {
189        "name": "path",
190        "value": "fulfilmentChoice.address.postcode"
191      },
192      {
193        "name": "operator",
194        "value": "in"
195      },
196      {
197        "name": "value",
198        "component": "fc.field.multistring",
199        "exactSearch": true,
200        "mandatory": true
201      }
202    ]
203  },
204  {
205    "name": "deliveryRegionIn",
206    "type": "fc.sourcing.condition.path",
207    "tags": [
208      "Delivery"
209    ],
210    "params": [
211      {
212        "name": "path",
213        "value": "fulfilmentChoice.address.region"
214      },
215      {
216        "name": "operator",
217        "value": "in"
218      },
219      {
220        "name": "value",
221        "component": "fc.field.multistring",
222        "exactSearch": true,
223        "mandatory": true
224      }
225    ]
226  },
227  {
228    "name": "deliveryStateIn",
229    "type": "fc.sourcing.condition.path",
230    "tags": [
231      "Delivery"
232    ],
233    "params": [
234      {
235        "name": "path",
236        "value": "fulfilmentChoice.address.state"
237      },
238      {
239        "name": "operator",
240        "value": "in"
241      },
242      {
243        "name": "value",
244        "component": "fc.field.multistring",
245        "exactSearch": true,
246        "mandatory": true
247      }
248    ]
249  },
250  {
251    "name": "deliverAfterGreaterThanOrEquals",
252    "type": "fc.sourcing.condition.path",
253    "tags": [
254      "Delivery"
255    ],
256    "params": [
257      {
258        "name": "path",
259        "value": "fulfilmentChoice.deliverAfter"
260      },
261      {
262        "name": "operator",
263        "value": "greater_than_or_equals"
264      },
265      {
266        "name": "value",
267        "component": "fc.field.datetime",
268        "mandatory": true
269      }
270    ]
271  },
272  {
273    "name": "deliverBeforeLessThanOrEquals",
274    "type": "fc.sourcing.condition.path",
275    "tags": [
276      "Delivery"
277    ],
278    "params": [
279      {
280        "name": "path",
281        "value": "fulfilmentChoice.deliverBefore"
282      },
283      {
284        "name": "operator",
285        "value": "less_than_or_equals"
286      },
287      {
288        "name": "value",
289        "component": "fc.field.datetime",
290        "mandatory": true
291      }
292    ]
293  },
294  {
295    "name": "deliveryTypeIn",
296    "type": "fc.sourcing.condition.path",
297    "tags": [
298      "Delivery"
299    ],
300    "params": [
301      {
302        "name": "path",
303        "value": "fulfilmentChoice.deliveryType"
304      },
305      {
306        "name": "operator",
307        "value": "in"
308      },
309      {
310        "name": "value",
311        "component": "fc.field.multistring",
312        "exactSearch": true,
313        "mandatory": true
314      }
315    ]
316  },
317  {
318    "name": "pickupLocationCarrierIn",
319    "type": "fc.sourcing.condition.path",
320    "tags": [
321      "Pickup Location"
322    ],
323    "params": [
324      {
325        "name": "path",
326        "value": "fulfilmentChoice.pickupLocation.defaultCarrier"
327      },
328      {
329        "name": "operator",
330        "value": "in"
331      },
332      {
333        "name": "value",
334        "component": "fc.field.multistring",
335        "exactSearch": true,
336        "mandatory": true
337      }
338    ]
339  },
340  {
341    "name": "pickupLocationAllNetworksIn",
342    "type": "fc.sourcing.condition.path",
343    "tags": [
344      "Pickup Location"
345    ],
346    "params": [
347      {
348        "name": "path",
349        "value": "fulfilmentChoice.pickupLocation.networks"
350      },
351      {
352        "name": "operator",
353        "value": "in"
354      },
355      {
356        "name": "value",
357        "component": "fc.field.filterComplex",
358        "mandatory": true,
359        "label": "label",
360        "extensions": {
361          "query": "query ($networks_first: Int) {networks(first: $networks_first) {edges {node {id ref type}}}}",
362          "variables": {
363            "networks_first": 100
364          },
365          "searchItemConfig": {
366            "component": "fc.card.product",
367            "props": {
368              "title": "{{node.ref}}",
369              "attributes": []
370            }
371          },
372          "chipItemConfig": {
373            "label": "{{node.ref}}"
374          },
375          "onChangeValues": {
376            "value": "node.ref",
377            "variableName": "networks_ref"
378          },
379          "exclude": [
380            "createdon",
381            "updatedon",
382            "type",
383            "status"
384          ]
385        }
386      },
387      {
388        "name": "conditionScope",
389        "value": "ALL"
390      }
391    ]
392  },
393  {
394    "name": "pickupLocationAnyNetworkIn",
395    "type": "fc.sourcing.condition.path",
396    "tags": [
397      "Pickup Location"
398    ],
399    "params": [
400      {
401        "name": "path",
402        "value": "fulfilmentChoice.pickupLocation.networks"
403      },
404      {
405        "name": "operator",
406        "value": "in"
407      },
408      {
409        "name": "value",
410        "component": "fc.field.filterComplex",
411        "mandatory": true,
412        "label": "label",
413        "extensions": {
414          "query": "query ($networks_first: Int) {networks(first: $networks_first) {edges {node {id ref type}}}}",
415          "variables": {
416            "networks_first": 100
417          },
418          "searchItemConfig": {
419            "component": "fc.card.product",
420            "props": {
421              "title": "{{node.ref}}",
422              "attributes": []
423            }
424          },
425          "chipItemConfig": {
426            "label": "{{node.ref}}"
427          },
428          "onChangeValues": {
429            "value": "node.ref",
430            "variableName": "networks_ref"
431          },
432          "exclude": [
433            "createdon",
434            "updatedon",
435            "type",
436            "status"
437          ]
438        }
439      },
440      {
441        "name": "conditionScope",
442        "value": "ANY"
443      }
444    ]
445  },
446  {
447    "name": "pickupLocationIn",
448    "type": "fc.sourcing.condition.path",
449    "tags": [
450      "Pickup Location"
451    ],
452    "params": [
453      {
454        "name": "path",
455        "value": "fulfilmentChoice.pickupLocation.ref"
456      },
457      {
458        "name": "operator",
459        "value": "in"
460      },
461      {
462        "name": "value",
463        "component": "fc.field.multistring",
464        "exactSearch": true,
465        "mandatory": true
466      }
467    ]
468  },
469  {
470    "name": "pickupLocationTypeIn",
471    "type": "fc.sourcing.condition.path",
472    "tags": [
473      "Pickup Location"
474    ],
475    "params": [
476      {
477        "name": "path",
478        "value": "fulfilmentChoice.pickupLocation.type"
479      },
480      {
481        "name": "operator",
482        "value": "in"
483      },
484      {
485        "name": "value",
486        "component": "fc.field.multistring",
487        "exactSearch": true,
488        "mandatory": true
489      }
490    ]
491  },
492  {
493    "name": "allItemCharacteristicIn",
494    "type": "fc.sourcing.condition.path",
495    "tags": [
496      "Order Item"
497    ],
498    "params": [
499      {
500        "name": "path",
501        "value": "items.attributes.byName.characteristic"
502      },
503      {
504        "name": "operator",
505        "value": "in"
506      },
507      {
508        "name": "value",
509        "component": "fc.field.multistring",
510        "exactSearch": true,
511        "mandatory": true
512      },
513      {
514        "name": "conditionScope",
515        "value": "ALL"
516      }
517    ]
518  },
519  {
520    "name": "anyItemCharacteristicIn",
521    "type": "fc.sourcing.condition.path",
522    "tags": [
523      "Order Item"
524    ],
525    "params": [
526      {
527        "name": "path",
528        "value": "items.attributes.byName.characteristic"
529      },
530      {
531        "name": "operator",
532        "value": "in"
533      },
534      {
535        "name": "value",
536        "component": "fc.field.multistring",
537        "exactSearch": true,
538        "mandatory": true
539      },
540      {
541        "name": "conditionScope",
542        "value": "ANY"
543      }
544    ]
545  },
546  {
547    "name": "orderTag1In",
548    "type": "fc.sourcing.condition.path",
549    "tags": [
550      "Order"
551    ],
552    "params": [
553      {
554        "name": "path",
555        "value": "tag1"
556      },
557      {
558        "name": "operator",
559        "value": "in"
560      },
561      {
562        "name": "value",
563        "component": "fc.field.multistring",
564        "exactSearch": true,
565        "mandatory": true
566      }
567    ]
568  },
569  {
570    "name": "orderTag2In",
571    "type": "fc.sourcing.condition.path",
572    "tags": [
573      "Order"
574    ],
575    "params": [
576      {
577        "name": "path",
578        "value": "tag2"
579      },
580      {
581        "name": "operator",
582        "value": "in"
583      },
584      {
585        "name": "value",
586        "component": "fc.field.multistring",
587        "exactSearch": true,
588        "mandatory": true
589      }
590    ]
591  },
592  {
593    "name": "orderTag3In",
594    "type": "fc.sourcing.condition.path",
595    "tags": [
596      "Order"
597    ],
598    "params": [
599      {
600        "name": "path",
601        "value": "tag3"
602      },
603      {
604        "name": "operator",
605        "value": "in"
606      },
607      {
608        "name": "value",
609        "component": "fc.field.multistring",
610        "exactSearch": true,
611        "mandatory": true
612      }
613    ]
614  },
615  {
616    "name": "totalPriceBetween",
617    "type": "fc.sourcing.condition.path",
618    "tags": [
619      "Order"
620    ],
621    "params": [
622      {
623        "name": "path",
624        "value": "totalPrice"
625      },
626      {
627        "name": "operator",
628        "value": "between"
629      },
630      {
631        "name": "value",
632        "component": "intrange",
633        "mandatory": true
634      }
635    ]
636  },
637  {
638    "name": "totalPriceGreaterThan",
639    "type": "fc.sourcing.condition.path",
640    "tags": [
641      "Order"
642    ],
643    "params": [
644      {
645        "name": "path",
646        "value": "totalPrice"
647      },
648      {
649        "name": "operator",
650        "value": "greater_than"
651      },
652      {
653        "name": "value",
654        "component": "float",
655        "mandatory": true
656      }
657    ]
658  },
659  {
660    "name": "totalPriceGreaterThanOrEquals",
661    "type": "fc.sourcing.condition.path",
662    "tags": [
663      "Order"
664    ],
665    "params": [
666      {
667        "name": "path",
668        "value": "totalPrice"
669      },
670      {
671        "name": "operator",
672        "value": "greater_than_or_equals"
673      },
674      {
675        "name": "value",
676        "component": "float",
677        "mandatory": true
678      }
679    ]
680  },
681  {
682    "name": "totalPriceLessThan",
683    "type": "fc.sourcing.condition.path",
684    "tags": [
685      "Order"
686    ],
687    "params": [
688      {
689        "name": "path",
690        "value": "totalPrice"
691      },
692      {
693        "name": "operator",
694        "value": "less_than"
695      },
696      {
697        "name": "value",
698        "component": "float",
699        "mandatory": true
700      }
701    ]
702  },
703  {
704    "name": "totalPriceLessThanOrEquals",
705    "type": "fc.sourcing.condition.path",
706    "tags": [
707      "Order"
708    ],
709    "params": [
710      {
711        "name": "path",
712        "value": "totalPrice"
713      },
714      {
715        "name": "operator",
716        "value": "less_than_or_equals"
717      },
718      {
719        "name": "value",
720        "component": "float",
721        "mandatory": true
722      }
723    ]
724  },
725  {
726    "name": "anyProductCharacteristicIn",
727    "type": "fc.sourcing.condition.path",
728    "tags": [
729      "Product"
730    ],
731    "params": [
732      {
733        "name": "path",
734        "value": "unfulfilledItems.product.attributes.byName.characteristic"
735      },
736      {
737        "name": "operator",
738        "value": "in"
739      },
740      {
741        "name": "value",
742        "component": "fc.field.multistring",
743        "exactSearch": true,
744        "mandatory": true
745      },
746      {
747        "name": "conditionScope",
748        "value": "ANY"
749      }
750    ]
751  },
752  {
753    "name": "anyProductSizeIn",
754    "type": "fc.sourcing.condition.path",
755    "tags": [
756      "Product"
757    ],
758    "params": [
759      {
760        "name": "path",
761        "value": "unfulfilledItems.product.attributes.byName.size"
762      },
763      {
764        "name": "operator",
765        "value": "in"
766      },
767      {
768        "name": "value",
769        "component": "fc.field.multistring",
770        "exactSearch": true,
771        "mandatory": true
772      },
773      {
774        "name": "conditionScope",
775        "value": "ANY"
776      }
777    ]
778  },
779  {
780    "name": "allProductSpecialCareIn",
781    "type": "fc.sourcing.condition.path",
782    "tags": [
783      "Product"
784    ],
785    "params": [
786      {
787        "name": "path",
788        "value": "unfulfilledItems.product.attributes.byName.specialCare"
789      },
790      {
791        "name": "operator",
792        "value": "in"
793      },
794      {
795        "name": "value",
796        "component": "fc.field.multistring",
797        "exactSearch": true,
798        "mandatory": true
799      },
800      {
801        "name": "conditionScope",
802        "value": "ALL"
803      }
804    ]
805  },
806  {
807    "name": "anyProductSpecialCareIn",
808    "type": "fc.sourcing.condition.path",
809    "tags": [
810      "Product"
811    ],
812    "params": [
813      {
814        "name": "path",
815        "value": "unfulfilledItems.product.attributes.byName.specialCare"
816      },
817      {
818        "name": "operator",
819        "value": "in"
820      },
821      {
822        "name": "value",
823        "component": "fc.field.multistring",
824        "exactSearch": true,
825        "mandatory": true
826      },
827      {
828        "name": "conditionScope",
829        "value": "ANY"
830      }
831    ]
832  },
833  {
834    "name": "anyProductCategoryIn",
835    "type": "fc.sourcing.condition.path",
836    "tags": [
837      "Product"
838    ],
839    "params": [
840      {
841        "name": "path",
842        "value": "unfulfilledItems.product.categories.ref"
843      },
844      {
845        "name": "operator",
846        "value": "in"
847      },
848      {
849        "name": "value",
850        "component": "fc.field.multistring",
851        "exactSearch": true,
852        "mandatory": true
853      },
854      {
855        "name": "conditionScope",
856        "value": "ANY"
857      }
858    ]
859  },
860  {
861    "name": "allProductsIn",
862    "type": "fc.sourcing.condition.path",
863    "tags": [
864      "Product"
865    ],
866    "params": [
867      {
868        "name": "path",
869        "value": "unfulfilledItems.product.ref"
870      },
871      {
872        "name": "operator",
873        "value": "in"
874      },
875      {
876        "name": "value",
877        "component": "fc.field.multistring",
878        "exactSearch": true,
879        "mandatory": true
880      },
881      {
882        "name": "conditionScope",
883        "value": "ALL"
884      }
885    ]
886  },
887  {
888    "name": "allProductsNotIn",
889    "type": "fc.sourcing.condition.path",
890    "tags": [
891      "Product"
892    ],
893    "params": [
894      {
895        "name": "path",
896        "value": "unfulfilledItems.product.ref"
897      },
898      {
899        "name": "operator",
900        "value": "not_in"
901      },
902      {
903        "name": "value",
904        "component": "fc.field.multistring",
905        "exactSearch": true,
906        "mandatory": true
907      },
908      {
909        "name": "conditionScope",
910        "value": "ALL"
911      }
912    ]
913  },
914  {
915    "name": "anyProductIn",
916    "type": "fc.sourcing.condition.path",
917    "tags": [
918      "Product"
919    ],
920    "params": [
921      {
922        "name": "path",
923        "value": "unfulfilledItems.product.ref"
924      },
925      {
926        "name": "operator",
927        "value": "in"
928      },
929      {
930        "name": "value",
931        "component": "fc.field.multistring",
932        "exactSearch": true,
933        "mandatory": true
934      },
935      {
936        "name": "conditionScope",
937        "value": "ANY"
938      }
939    ]
940  },
941  {
942    "name": "anyItemQuantityGreaterThan",
943    "type": "fc.sourcing.condition.path",
944    "tags": [
945      "Order Item"
946    ],
947    "params": [
948      {
949        "name": "path",
950        "value": "unfulfilledItems.quantity"
951      },
952      {
953        "name": "operator",
954        "value": "greater_than"
955      },
956      {
957        "name": "value",
958        "component": "integer",
959        "mandatory": true
960      },
961      {
962        "name": "conditionScope",
963        "value": "ANY"
964      }
965    ]
966  },
967  {
968    "name": "anyItemQuantityGreaterThanOrEquals",
969    "type": "fc.sourcing.condition.path",
970    "tags": [
971      "Order Item"
972    ],
973    "params": [
974      {
975        "name": "path",
976        "value": "unfulfilledItems.quantity"
977      },
978      {
979        "name": "operator",
980        "value": "greater_than_or_equals"
981      },
982      {
983        "name": "value",
984        "component": "integer",
985        "mandatory": true
986      },
987      {
988        "name": "conditionScope",
989        "value": "ANY"
990      }
991    ]
992  },
993  {
994    "name": "anyItemQuantityLessThan",
995    "type": "fc.sourcing.condition.path",
996    "tags": [
997      "Order Item"
998    ],
999    "params": [
1000      {
1001        "name": "path",
1002        "value": "unfulfilledItems.quantity"
1003      },
1004      {
1005        "name": "operator",
1006        "value": "less_than"
1007      },
1008      {
1009        "name": "value",
1010        "component": "integer",
1011        "mandatory": true
1012      },
1013      {
1014        "name": "conditionScope",
1015        "value": "ANY"
1016      }
1017    ]
1018  },
1019  {
1020    "name": "anyItemQuantityLessThanOrEquals",
1021    "type": "fc.sourcing.condition.path",
1022    "tags": [
1023      "Order Item"
1024    ],
1025    "params": [
1026      {
1027        "name": "path",
1028        "value": "unfulfilledItems.quantity"
1029      },
1030      {
1031        "name": "operator",
1032        "value": "less_than_or_equals"
1033      },
1034      {
1035        "name": "value",
1036        "component": "integer",
1037        "mandatory": true
1038      },
1039      {
1040        "name": "conditionScope",
1041        "value": "ANY"
1042      }
1043    ]
1044  },
1045  {
1046    "name": "allItemPriceGreaterThan",
1047    "type": "fc.sourcing.condition.path",
1048    "tags": [
1049      "Order Item"
1050    ],
1051    "params": [
1052      {
1053        "name": "path",
1054        "value": "unfulfilledItems.totalPrice"
1055      },
1056      {
1057        "name": "operator",
1058        "value": "greater_than"
1059      },
1060      {
1061        "name": "value",
1062        "component": "float",
1063        "mandatory": true
1064      },
1065      {
1066        "name": "conditionScope",
1067        "value": "ALL"
1068      }
1069    ]
1070  },
1071  {
1072    "name": "allItemPriceGreaterThanOrEquals",
1073    "type": "fc.sourcing.condition.path",
1074    "tags": [
1075      "Order Item"
1076    ],
1077    "params": [
1078      {
1079        "name": "path",
1080        "value": "unfulfilledItems.totalPrice"
1081      },
1082      {
1083        "name": "operator",
1084        "value": "greater_than_or_equals"
1085      },
1086      {
1087        "name": "value",
1088        "component": "float",
1089        "mandatory": true
1090      },
1091      {
1092        "name": "conditionScope",
1093        "value": "ALL"
1094      }
1095    ]
1096  },
1097  {
1098    "name": "allItemPriceLessThan",
1099    "type": "fc.sourcing.condition.path",
1100    "tags": [
1101      "Order Item"
1102    ],
1103    "params": [
1104      {
1105        "name": "path",
1106        "value": "unfulfilledItems.totalPrice"
1107      },
1108      {
1109        "name": "operator",
1110        "value": "less_than"
1111      },
1112      {
1113        "name": "value",
1114        "component": "float",
1115        "mandatory": true
1116      },
1117      {
1118        "name": "conditionScope",
1119        "value": "ALL"
1120      }
1121    ]
1122  },
1123  {
1124    "name": "allItemPriceLessThanOrEquals",
1125    "type": "fc.sourcing.condition.path",
1126    "tags": [
1127      "Order Item"
1128    ],
1129    "params": [
1130      {
1131        "name": "path",
1132        "value": "unfulfilledItems.totalPrice"
1133      },
1134      {
1135        "name": "operator",
1136        "value": "less_than_or_equals"
1137      },
1138      {
1139        "name": "value",
1140        "component": "float",
1141        "mandatory": true
1142      },
1143      {
1144        "name": "conditionScope",
1145        "value": "ALL"
1146      }
1147    ]
1148  },
1149  {
1150    "name": "anyItemPriceGreaterThan",
1151    "type": "fc.sourcing.condition.path",
1152    "tags": [
1153      "Order Item"
1154    ],
1155    "params": [
1156      {
1157        "name": "path",
1158        "value": "unfulfilledItems.totalPrice"
1159      },
1160      {
1161        "name": "operator",
1162        "value": "greater_than"
1163      },
1164      {
1165        "name": "value",
1166        "component": "float",
1167        "mandatory": true
1168      },
1169      {
1170        "name": "conditionScope",
1171        "value": "ANY"
1172      }
1173    ]
1174  },
1175  {
1176    "name": "anyItemPriceGreaterThanOrEquals",
1177    "type": "fc.sourcing.condition.path",
1178    "tags": [
1179      "Order Item"
1180    ],
1181    "params": [
1182      {
1183        "name": "path",
1184        "value": "unfulfilledItems.totalPrice"
1185      },
1186      {
1187        "name": "operator",
1188        "value": "greater_than_or_equals"
1189      },
1190      {
1191        "name": "value",
1192        "component": "float",
1193        "mandatory": true
1194      },
1195      {
1196        "name": "conditionScope",
1197        "value": "ANY"
1198      }
1199    ]
1200  },
1201  {
1202    "name": "anyItemPriceLessThan",
1203    "type": "fc.sourcing.condition.path",
1204    "tags": [
1205      "Order Item"
1206    ],
1207    "params": [
1208      {
1209        "name": "path",
1210        "value": "unfulfilledItems.totalPrice"
1211      },
1212      {
1213        "name": "operator",
1214        "value": "less_than"
1215      },
1216      {
1217        "name": "value",
1218        "component": "float",
1219        "mandatory": true
1220      },
1221      {
1222        "name": "conditionScope",
1223        "value": "ANY"
1224      }
1225    ]
1226  },
1227  {
1228    "name": "anyItemPriceLessThanOrEquals",
1229    "type": "fc.sourcing.condition.path",
1230    "tags": [
1231      "Order Item"
1232    ],
1233    "params": [
1234      {
1235        "name": "path",
1236        "value": "unfulfilledItems.totalPrice"
1237      },
1238      {
1239        "name": "operator",
1240        "value": "less_than_or_equals"
1241      },
1242      {
1243        "name": "value",
1244        "component": "float",
1245        "mandatory": true
1246      },
1247      {
1248        "name": "conditionScope",
1249        "value": "ANY"
1250      }
1251    ]
1252  }
1253]

Detailed technical description

The `fc.rubix.order.sourcing.conditions` Setting provides the reference schema of Sourcing Conditions used  for Sourcing Strategies. It defines:

  • the complete list of reference Sourcing Conditions
  • their structure 
  • the user interface (UI) components required to configure them

Key Characteristics

Condition Registry

The Setting acts as a reference catalog of available Sourcing Conditions. Each Condition is represented as a JSON object with:

  • `name`
    unique identifier for the Condition
  • `type`
    mapped to a specific Condition implementation in the `util-sourcing` library (Condition Utilities)
  • One or more `tags` (e.g., Order, Customer, Delivery, Product)
    classify Conditions by corresponding JSON path location of the Sourcing Context 
  • A set of `params`
    describing the JSON `path`, `operator`, and `value` input component (for UI)

Scope Management

Some Conditions include a `conditionScope` parameter, which controls how the Condition is applied when multiple entities are present in the Sourcing Request:

  • ALL – the Condition must be satisfied by every entity (for example, all Products in the request)
  • ANY – the Condition must be satisfied by at least one entity
  • NONE - the Condition must not be satisfied by any entity (for example, no Item in the request may match the specified criteria)

The available `conditionScope` options are defined in the `SourcingConditionConstants` class of the Condition Utilities.

This distinction enables precise modeling of business rules across collections such as Products, Networks, or Items.

UI Integration

Business users interact with Sourcing Conditions through the configuration UI. The params definitions (such as `fc.field.multistring`, `fc.field.datetime`, or `fc.field.filterComplex`) ensure that the correct data entry component is automatically rendered for each Condition. For example:

  • `fc.field.daterange` allows selection of an Order creation date range
  • `fc.field.multistring` supports multiple string values with exact match validation (`"exactSearch": true`)
  • `fc.field.filterComplex` enables selection from complex, query-backed lists (such as Networks)

Configuration example

1This setting is automatically available for all accounts and does not require a creation process.

Update example

1This setting is immutable.
2To extend or override specific conditions, a separate fc.rubix.order.sourcing.conditions.custom setting can be created. 
3If a condition with the same name is defined in the custom setting, it takes precedence over the global one. 
4This ensures flexibility while preserving a stable baseline schema.