Fluent Commerce Logo
Docs

fc.rubix.order.sourcing.conditions

Setting

Changed on:

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

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:

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.