2651355fdbb086e9bbf710ba014e63168bea3abf
[policy/apex-pdp.git] /
1 {
2    "apexPolicyModel" : {
3       "key" : {
4          "name" : "MyFirstPolicyModel",
5          "version" : "0.0.1"
6       },
7       "keyInformation" : {
8          "key" : {
9             "name" : "MyFirstPolicyModel_KeyInfo",
10             "version" : "0.0.1"
11          },
12          "keyInfoMap" : {
13             "entry" : [ {
14                "key" : {
15                   "name" : "MorningBoozeCheck",
16                   "version" : "0.0.1"
17                },
18                "value" : {
19                   "key" : {
20                      "name" : "MorningBoozeCheck",
21                      "version" : "0.0.1"
22                   },
23                   "UUID" : "3351b0f4-cf06-4fa2-8823-edf67bd30223",
24                   "description" : "This task checks if the sales request is for an item that contains alcohol. \nIf the local time is between 00:00:00 and 11:30:00 then the sale is not authorised. Otherwise the sale is authorised. \nIn this implementation we assume that all items with item_ID values between 1000 and 2000 contain alcohol :-)"
25                }
26             }, {
27                "key" : {
28                   "name" : "MyFirstPolicy",
29                   "version" : "0.0.1"
30                },
31                "value" : {
32                   "key" : {
33                      "name" : "MyFirstPolicy",
34                      "version" : "0.0.1"
35                   },
36                   "UUID" : "6c5e410f-489a-46ff-964e-982ce6e8b6d0",
37                   "description" : "This is my first Apex policy. It checks if a sale should be authorised or not."
38                }
39             }, {
40                "key" : {
41                   "name" : "MyFirstPolicyModel",
42                   "version" : "0.0.1"
43                },
44                "value" : {
45                   "key" : {
46                      "name" : "MyFirstPolicyModel",
47                      "version" : "0.0.1"
48                   },
49                   "UUID" : "540226fb-55ee-4f0e-a444-983a0494818e",
50                   "description" : "This is my first Apex Policy Model."
51                }
52             }, {
53                "key" : {
54                   "name" : "MyFirstPolicyModel_Albums",
55                   "version" : "0.0.1"
56                },
57                "value" : {
58                   "key" : {
59                      "name" : "MyFirstPolicyModel_Albums",
60                      "version" : "0.0.1"
61                   },
62                   "UUID" : "3f70ec50-f896-31ba-afec-5fd47e69045b",
63                   "description" : "Generated description for concept referred to by key \"MyFirstPolicyModel_Albums:0.0.1\""
64                }
65             }, {
66                "key" : {
67                   "name" : "MyFirstPolicyModel_Events",
68                   "version" : "0.0.1"
69                },
70                "value" : {
71                   "key" : {
72                      "name" : "MyFirstPolicyModel_Events",
73                      "version" : "0.0.1"
74                   },
75                   "UUID" : "ef281318-5ac9-3ef0-8db3-8f9c4e4a81e2",
76                   "description" : "Generated description for concept referred to by key \"MyFirstPolicyModel_Events:0.0.1\""
77                }
78             }, {
79                "key" : {
80                   "name" : "MyFirstPolicyModel_KeyInfo",
81                   "version" : "0.0.1"
82                },
83                "value" : {
84                   "key" : {
85                      "name" : "MyFirstPolicyModel_KeyInfo",
86                      "version" : "0.0.1"
87                   },
88                   "UUID" : "d9248c6f-7c00-38df-8251-611463ba4065",
89                   "description" : "Generated description for concept referred to by key \"MyFirstPolicyModel_KeyInfo:0.0.1\""
90                }
91             }, {
92                "key" : {
93                   "name" : "MyFirstPolicyModel_Policies",
94                   "version" : "0.0.1"
95                },
96                "value" : {
97                   "key" : {
98                      "name" : "MyFirstPolicyModel_Policies",
99                      "version" : "0.0.1"
100                   },
101                   "UUID" : "77c01a6b-510c-3aa9-b640-b4db356aa03b",
102                   "description" : "Generated description for concept referred to by key \"MyFirstPolicyModel_Policies:0.0.1\""
103                }
104             }, {
105                "key" : {
106                   "name" : "MyFirstPolicyModel_Schemas",
107                   "version" : "0.0.1"
108                },
109                "value" : {
110                   "key" : {
111                      "name" : "MyFirstPolicyModel_Schemas",
112                      "version" : "0.0.1"
113                   },
114                   "UUID" : "d0cc3aa0-ea69-3a43-80ff-a0dbb0ebd885",
115                   "description" : "Generated description for concept referred to by key \"MyFirstPolicyModel_Schemas:0.0.1\""
116                }
117             }, {
118                "key" : {
119                   "name" : "MyFirstPolicyModel_Tasks",
120                   "version" : "0.0.1"
121                },
122                "value" : {
123                   "key" : {
124                      "name" : "MyFirstPolicyModel_Tasks",
125                      "version" : "0.0.1"
126                   },
127                   "UUID" : "b02a7e02-2cd0-39e6-b3cb-946fa83a8f08",
128                   "description" : "Generated description for concept referred to by key \"MyFirstPolicyModel_Tasks:0.0.1\""
129                }
130             }, {
131                "key" : {
132                   "name" : "SALE_AUTH",
133                   "version" : "0.0.1"
134                },
135                "value" : {
136                   "key" : {
137                      "name" : "SALE_AUTH",
138                      "version" : "0.0.1"
139                   },
140                   "UUID" : "c4500941-3f98-4080-a9cc-5b9753ed050b",
141                   "description" : "An event emitted by the Policy to indicate whether the sale of an item has been authorised"
142                }
143             }, {
144                "key" : {
145                   "name" : "SALE_INPUT",
146                   "version" : "0.0.1"
147                },
148                "value" : {
149                   "key" : {
150                      "name" : "SALE_INPUT",
151                      "version" : "0.0.1"
152                   },
153                   "UUID" : "4f04aa98-e917-4f4a-882a-c75ba5a99374",
154                   "description" : "An event raised by the PoS system each time an item is scanned for purchase"
155                }
156             }, {
157                "key" : {
158                   "name" : "assistant_ID_type",
159                   "version" : "0.0.1"
160                },
161                "value" : {
162                   "key" : {
163                      "name" : "assistant_ID_type",
164                      "version" : "0.0.1"
165                   },
166                   "UUID" : "36df4c71-9616-4206-8b53-976a5cd4bd87",
167                   "description" : "A type for 'assistant_ID' values"
168                }
169             }, {
170                "key" : {
171                   "name" : "authorised_type",
172                   "version" : "0.0.1"
173                },
174                "value" : {
175                   "key" : {
176                      "name" : "authorised_type",
177                      "version" : "0.0.1"
178                   },
179                   "UUID" : "d48b619e-d00d-4008-b884-02d76ea4350b",
180                   "description" : "A type for 'authorised' values"
181                }
182             }, {
183                "key" : {
184                   "name" : "branch_ID_type",
185                   "version" : "0.0.1"
186                },
187                "value" : {
188                   "key" : {
189                      "name" : "branch_ID_type",
190                      "version" : "0.0.1"
191                   },
192                   "UUID" : "6468845f-4122-4128-8e49-0f52c26078b5",
193                   "description" : "A type for 'branch_ID' values"
194                }
195             }, {
196                "key" : {
197                   "name" : "item_ID_type",
198                   "version" : "0.0.1"
199                },
200                "value" : {
201                   "key" : {
202                      "name" : "item_ID_type",
203                      "version" : "0.0.1"
204                   },
205                   "UUID" : "4f227ff1-aee0-453a-b6b6-9a4b2e0da932",
206                   "description" : "A type for 'item_ID' values"
207                }
208             }, {
209                "key" : {
210                   "name" : "message_type",
211                   "version" : "0.0.1"
212                },
213                "value" : {
214                   "key" : {
215                      "name" : "message_type",
216                      "version" : "0.0.1"
217                   },
218                   "UUID" : "ad1431bb-3155-4e73-b5a3-b89bee498749",
219                   "description" : "A type for 'message' values"
220                }
221             }, {
222                "key" : {
223                   "name" : "notes_type",
224                   "version" : "0.0.1"
225                },
226                "value" : {
227                   "key" : {
228                      "name" : "notes_type",
229                      "version" : "0.0.1"
230                   },
231                   "UUID" : "eecfde90-896c-4343-8f9c-2603ced94e2d",
232                   "description" : "A type for 'notes' values"
233                }
234             }, {
235                "key" : {
236                   "name" : "price_type",
237                   "version" : "0.0.1"
238                },
239                "value" : {
240                   "key" : {
241                      "name" : "price_type",
242                      "version" : "0.0.1"
243                   },
244                   "UUID" : "52c2fc45-fd8c-463c-bd6f-d91b0554aea7",
245                   "description" : "A type for 'amount'/'price' values"
246                }
247             }, {
248                "key" : {
249                   "name" : "quantity_type",
250                   "version" : "0.0.1"
251                },
252                "value" : {
253                   "key" : {
254                      "name" : "quantity_type",
255                      "version" : "0.0.1"
256                   },
257                   "UUID" : "ac3d9842-80af-4a98-951c-bd79a431c613",
258                   "description" : "A type for 'quantity' values"
259                }
260             }, {
261                "key" : {
262                   "name" : "sale_ID_type",
263                   "version" : "0.0.1"
264                },
265                "value" : {
266                   "key" : {
267                      "name" : "sale_ID_type",
268                      "version" : "0.0.1"
269                   },
270                   "UUID" : "cca47d74-7754-4a61-b163-ca31f66b157b",
271                   "description" : "A type for 'sale_ID' values"
272                }
273             }, {
274                "key" : {
275                   "name" : "timestamp_type",
276                   "version" : "0.0.1"
277                },
278                "value" : {
279                   "key" : {
280                      "name" : "timestamp_type",
281                      "version" : "0.0.1"
282                   },
283                   "UUID" : "fd594e88-411d-4a94-b2be-697b3a0d7adf",
284                   "description" : "A type for 'time' values"
285                }
286             } ]
287          }
288       },
289       "policies" : {
290          "key" : {
291             "name" : "MyFirstPolicyModel_Policies",
292             "version" : "0.0.1"
293          },
294          "policyMap" : {
295             "entry" : [ {
296                "key" : {
297                   "name" : "MyFirstPolicy",
298                   "version" : "0.0.1"
299                },
300                "value" : {
301                   "policyKey" : {
302                      "name" : "MyFirstPolicy",
303                      "version" : "0.0.1"
304                   },
305                   "template" : "FREEFORM",
306                   "state" : {
307                      "entry" : [ {
308                         "key" : "BoozeAuthDecide",
309                         "value" : {
310                            "stateKey" : {
311                               "parentKeyName" : "MyFirstPolicy",
312                               "parentKeyVersion" : "0.0.1",
313                               "parentLocalName" : "NULL",
314                               "localName" : "BoozeAuthDecide"
315                            },
316                            "trigger" : {
317                               "name" : "SALE_INPUT",
318                               "version" : "0.0.1"
319                            },
320                            "stateOutputs" : {
321                               "entry" : [ {
322                                  "key" : "MorningBoozeCheck_Output_Direct",
323                                  "value" : {
324                                     "key" : {
325                                        "parentKeyName" : "MyFirstPolicy",
326                                        "parentKeyVersion" : "0.0.1",
327                                        "parentLocalName" : "BoozeAuthDecide",
328                                        "localName" : "MorningBoozeCheck_Output_Direct"
329                                     },
330                                     "outgoingEvent" : {
331                                        "name" : "SALE_AUTH",
332                                        "version" : "0.0.1"
333                                     },
334                                     "nextState" : {
335                                        "parentKeyName" : "NULL",
336                                        "parentKeyVersion" : "0.0.0",
337                                        "parentLocalName" : "NULL",
338                                        "localName" : "NULL"
339                                     }
340                                  }
341                               } ]
342                            },
343                            "contextAlbumReference" : [ ],
344                            "taskSelectionLogic" : {
345                               "key" : "NULL",
346                               "logicFlavour" : "UNDEFINED",
347                               "logic" : ""
348                            },
349                            "stateFinalizerLogicMap" : {
350                               "entry" : [ ]
351                            },
352                            "defaultTask" : {
353                               "name" : "MorningBoozeCheck",
354                               "version" : "0.0.1"
355                            },
356                            "taskReferences" : {
357                               "entry" : [ {
358                                  "key" : {
359                                     "name" : "MorningBoozeCheck",
360                                     "version" : "0.0.1"
361                                  },
362                                  "value" : {
363                                     "key" : {
364                                        "parentKeyName" : "MyFirstPolicy",
365                                        "parentKeyVersion" : "0.0.1",
366                                        "parentLocalName" : "BoozeAuthDecide",
367                                        "localName" : "MorningBoozeCheck"
368                                     },
369                                     "outputType" : "DIRECT",
370                                     "output" : {
371                                        "parentKeyName" : "MyFirstPolicy",
372                                        "parentKeyVersion" : "0.0.1",
373                                        "parentLocalName" : "BoozeAuthDecide",
374                                        "localName" : "MorningBoozeCheck_Output_Direct"
375                                     }
376                                  }
377                               } ]
378                            }
379                         }
380                      } ]
381                   },
382                   "firstState" : "BoozeAuthDecide"
383                }
384             } ]
385          }
386       },
387       "tasks" : {
388          "key" : {
389             "name" : "MyFirstPolicyModel_Tasks",
390             "version" : "0.0.1"
391          },
392          "taskMap" : {
393             "entry" : [ {
394                "key" : {
395                   "name" : "MorningBoozeCheck",
396                   "version" : "0.0.1"
397                },
398                "value" : {
399                   "key" : {
400                      "name" : "MorningBoozeCheck",
401                      "version" : "0.0.1"
402                   },
403                   "inputFields" : {
404                      "entry" : [ {
405                         "key" : "amount",
406                         "value" : {
407                            "key" : "amount",
408                            "fieldSchemaKey" : {
409                               "name" : "price_type",
410                               "version" : "0.0.1"
411                            },
412                            "optional" : false
413                         }
414                      }, {
415                         "key" : "assistant_ID",
416                         "value" : {
417                            "key" : "assistant_ID",
418                            "fieldSchemaKey" : {
419                               "name" : "assistant_ID_type",
420                               "version" : "0.0.1"
421                            },
422                            "optional" : false
423                         }
424                      }, {
425                         "key" : "branch_ID",
426                         "value" : {
427                            "key" : "branch_ID",
428                            "fieldSchemaKey" : {
429                               "name" : "branch_ID_type",
430                               "version" : "0.0.1"
431                            },
432                            "optional" : false
433                         }
434                      }, {
435                         "key" : "item_ID",
436                         "value" : {
437                            "key" : "item_ID",
438                            "fieldSchemaKey" : {
439                               "name" : "item_ID_type",
440                               "version" : "0.0.1"
441                            },
442                            "optional" : false
443                         }
444                      }, {
445                         "key" : "notes",
446                         "value" : {
447                            "key" : "notes",
448                            "fieldSchemaKey" : {
449                               "name" : "notes_type",
450                               "version" : "0.0.1"
451                            },
452                            "optional" : true
453                         }
454                      }, {
455                         "key" : "quantity",
456                         "value" : {
457                            "key" : "quantity",
458                            "fieldSchemaKey" : {
459                               "name" : "quantity_type",
460                               "version" : "0.0.1"
461                            },
462                            "optional" : false
463                         }
464                      }, {
465                         "key" : "sale_ID",
466                         "value" : {
467                            "key" : "sale_ID",
468                            "fieldSchemaKey" : {
469                               "name" : "sale_ID_type",
470                               "version" : "0.0.1"
471                            },
472                            "optional" : false
473                         }
474                      }, {
475                         "key" : "time",
476                         "value" : {
477                            "key" : "time",
478                            "fieldSchemaKey" : {
479                               "name" : "timestamp_type",
480                               "version" : "0.0.1"
481                            },
482                            "optional" : false
483                         }
484                      } ]
485                   },
486                   "outputFields" : {
487                      "entry" : [ {
488                         "key" : "amount",
489                         "value" : {
490                            "key" : "amount",
491                            "fieldSchemaKey" : {
492                               "name" : "price_type",
493                               "version" : "0.0.1"
494                            },
495                            "optional" : false
496                         }
497                      }, {
498                         "key" : "assistant_ID",
499                         "value" : {
500                            "key" : "assistant_ID",
501                            "fieldSchemaKey" : {
502                               "name" : "assistant_ID_type",
503                               "version" : "0.0.1"
504                            },
505                            "optional" : false
506                         }
507                      }, {
508                         "key" : "authorised",
509                         "value" : {
510                            "key" : "authorised",
511                            "fieldSchemaKey" : {
512                               "name" : "authorised_type",
513                               "version" : "0.0.1"
514                            },
515                            "optional" : false
516                         }
517                      }, {
518                         "key" : "branch_ID",
519                         "value" : {
520                            "key" : "branch_ID",
521                            "fieldSchemaKey" : {
522                               "name" : "branch_ID_type",
523                               "version" : "0.0.1"
524                            },
525                            "optional" : false
526                         }
527                      }, {
528                         "key" : "item_ID",
529                         "value" : {
530                            "key" : "item_ID",
531                            "fieldSchemaKey" : {
532                               "name" : "item_ID_type",
533                               "version" : "0.0.1"
534                            },
535                            "optional" : false
536                         }
537                      }, {
538                         "key" : "message",
539                         "value" : {
540                            "key" : "message",
541                            "fieldSchemaKey" : {
542                               "name" : "message_type",
543                               "version" : "0.0.1"
544                            },
545                            "optional" : true
546                         }
547                      }, {
548                         "key" : "notes",
549                         "value" : {
550                            "key" : "notes",
551                            "fieldSchemaKey" : {
552                               "name" : "notes_type",
553                               "version" : "0.0.1"
554                            },
555                            "optional" : true
556                         }
557                      }, {
558                         "key" : "quantity",
559                         "value" : {
560                            "key" : "quantity",
561                            "fieldSchemaKey" : {
562                               "name" : "quantity_type",
563                               "version" : "0.0.1"
564                            },
565                            "optional" : false
566                         }
567                      }, {
568                         "key" : "sale_ID",
569                         "value" : {
570                            "key" : "sale_ID",
571                            "fieldSchemaKey" : {
572                               "name" : "sale_ID_type",
573                               "version" : "0.0.1"
574                            },
575                            "optional" : false
576                         }
577                      }, {
578                         "key" : "time",
579                         "value" : {
580                            "key" : "time",
581                            "fieldSchemaKey" : {
582                               "name" : "timestamp_type",
583                               "version" : "0.0.1"
584                            },
585                            "optional" : false
586                         }
587                      } ]
588                   },
589                   "taskParameters" : {
590                      "entry" : [ ]
591                   },
592                   "contextAlbumReference" : [ ],
593                   "taskLogic" : {
594                      "key" : "TaskLogic",
595                      "logicFlavour" : "JAVASCRIPT",
596                      "logic" : "/**============LICENSE_START=======================================================*Copyright(C)2016-2018Ericsson.Allrightsreserved.*================================================================================*LicensedundertheApacheLicense,Version2.0(the\"License\");*youmaynotusethisfileexceptincompliancewiththeLicense.*YoumayobtainacopyoftheLicenseat**http://www.apache.org/licenses/LICENSE-2.0**Unlessrequiredbyapplicablelaworagreedtoinwriting,software*distributedundertheLicenseisdistributedonan\"ASIS\"BASIS,*WITHOUTWARRANTIESORCONDITIONSOFANYKIND,eitherexpressorimplied.*SeetheLicenseforthespecificlanguagegoverningpermissionsand*limitationsundertheLicense.**SPDX-License-Identifier:Apache-2.0*============LICENSE_END=========================================================*/\nvar returnValueType = Java.type(\"java.lang.Boolean\");\nvar returnValue = new returnValueType(true);\n\n// Load compatibility script for imports etc \nload(\"nashorn:mozilla_compat.js\");\nimportPackage(java.text);\nimportClass(java.text.SimpleDateFormat);\n\nexecutor.logger.info(\"Task Execution: '\"+executor.subject.id+\"'. Input Fields: '\"+executor.inFields+\"'\");\n\nexecutor.outFields.put(\"amount\"      , executor.inFields.get(\"amount\"));\nexecutor.outFields.put(\"assistant_ID\", executor.inFields.get(\"assistant_ID\"));\nexecutor.outFields.put(\"notes\"       , executor.inFields.get(\"notes\"));\nexecutor.outFields.put(\"quantity\"    , executor.inFields.get(\"quantity\"));\nexecutor.outFields.put(\"branch_ID\"   , executor.inFields.get(\"branch_ID\"));\nexecutor.outFields.put(\"item_ID\"     , executor.inFields.get(\"item_ID\"));\nexecutor.outFields.put(\"time\"        , executor.inFields.get(\"time\"));\nexecutor.outFields.put(\"sale_ID\"     , executor.inFields.get(\"sale_ID\"));\n\nitem_id = executor.inFields.get(\"item_ID\");\n\n//All times in this script are in GMT/UTC since the policy and events assume time is in GMT. \nvar timenow_gmt =  new Date(Number(executor.inFields.get(\"time\")));\n\nvar midnight_gmt = new Date(Number(executor.inFields.get(\"time\")));\nmidnight_gmt.setUTCHours(0,0,0,0);\n\nvar eleven30_gmt = new Date(Number(executor.inFields.get(\"time\")));\neleven30_gmt.setUTCHours(11,30,0,0);\n\nvar timeformatter = new java.text.SimpleDateFormat(\"HH:mm:ss z\");\n\nvar itemisalcohol = false;\nif(item_id != null && item_id >=1000 && item_id < 2000)\n    itemisalcohol = true;\n    \nif( itemisalcohol\n    && timenow_gmt.getTime() >= midnight_gmt.getTime()\n    && timenow_gmt.getTime() <  eleven30_gmt.getTime()) {\n\n  executor.outFields.put(\"authorised\", false);\n  executor.outFields.put(\"message\", \"Sale not authorised by policy task \" +\n    executor.subject.taskName+ \" for time \" + timeformatter.format(timenow_gmt.getTime()) +\n    \". Alcohol can not be sold between \" + timeformatter.format(midnight_gmt.getTime()) +\n    \" and \" + timeformatter.format(eleven30_gmt.getTime()));\n}\nelse{\n  executor.outFields.put(\"authorised\", true);\n  executor.outFields.put(\"message\", \"Sale authorised by policy task \" + \n    executor.subject.taskName + \" for time \"+timeformatter.format(timenow_gmt.getTime()));\n}\n\n/*\nThis task checks if a sale request is for an item that is an alcoholic drink.\nIf the local time is between 00:00:00 GMT and 11:30:00 GMT then the sale is not\nauthorised. Otherwise the sale is authorised. \nIn this implementation we assume that items with item_ID value between 1000 and \n2000 are all alcoholic drinks :-)\n*/"
597                   }
598                }
599             } ]
600          }
601       },
602       "events" : {
603          "key" : {
604             "name" : "MyFirstPolicyModel_Events",
605             "version" : "0.0.1"
606          },
607          "eventMap" : {
608             "entry" : [ {
609                "key" : {
610                   "name" : "SALE_AUTH",
611                   "version" : "0.0.1"
612                },
613                "value" : {
614                   "key" : {
615                      "name" : "SALE_AUTH",
616                      "version" : "0.0.1"
617                   },
618                   "nameSpace" : "com.hyperm",
619                   "source" : "APEX",
620                   "target" : "POS",
621                   "parameter" : {
622                      "entry" : [ {
623                         "key" : "amount",
624                         "value" : {
625                            "key" : "amount",
626                            "fieldSchemaKey" : {
627                               "name" : "price_type",
628                               "version" : "0.0.1"
629                            },
630                            "optional" : false
631                         }
632                      }, {
633                         "key" : "assistant_ID",
634                         "value" : {
635                            "key" : "assistant_ID",
636                            "fieldSchemaKey" : {
637                               "name" : "assistant_ID_type",
638                               "version" : "0.0.1"
639                            },
640                            "optional" : false
641                         }
642                      }, {
643                         "key" : "authorised",
644                         "value" : {
645                            "key" : "authorised",
646                            "fieldSchemaKey" : {
647                               "name" : "authorised_type",
648                               "version" : "0.0.1"
649                            },
650                            "optional" : false
651                         }
652                      }, {
653                         "key" : "branch_ID",
654                         "value" : {
655                            "key" : "branch_ID",
656                            "fieldSchemaKey" : {
657                               "name" : "branch_ID_type",
658                               "version" : "0.0.1"
659                            },
660                            "optional" : false
661                         }
662                      }, {
663                         "key" : "item_ID",
664                         "value" : {
665                            "key" : "item_ID",
666                            "fieldSchemaKey" : {
667                               "name" : "item_ID_type",
668                               "version" : "0.0.1"
669                            },
670                            "optional" : false
671                         }
672                      }, {
673                         "key" : "message",
674                         "value" : {
675                            "key" : "message",
676                            "fieldSchemaKey" : {
677                               "name" : "message_type",
678                               "version" : "0.0.1"
679                            },
680                            "optional" : true
681                         }
682                      }, {
683                         "key" : "notes",
684                         "value" : {
685                            "key" : "notes",
686                            "fieldSchemaKey" : {
687                               "name" : "notes_type",
688                               "version" : "0.0.1"
689                            },
690                            "optional" : true
691                         }
692                      }, {
693                         "key" : "quantity",
694                         "value" : {
695                            "key" : "quantity",
696                            "fieldSchemaKey" : {
697                               "name" : "quantity_type",
698                               "version" : "0.0.1"
699                            },
700                            "optional" : false
701                         }
702                      }, {
703                         "key" : "sale_ID",
704                         "value" : {
705                            "key" : "sale_ID",
706                            "fieldSchemaKey" : {
707                               "name" : "sale_ID_type",
708                               "version" : "0.0.1"
709                            },
710                            "optional" : false
711                         }
712                      }, {
713                         "key" : "time",
714                         "value" : {
715                            "key" : "time",
716                            "fieldSchemaKey" : {
717                               "name" : "timestamp_type",
718                               "version" : "0.0.1"
719                            },
720                            "optional" : false
721                         }
722                      } ]
723                   }
724                }
725             }, {
726                "key" : {
727                   "name" : "SALE_INPUT",
728                   "version" : "0.0.1"
729                },
730                "value" : {
731                   "key" : {
732                      "name" : "SALE_INPUT",
733                      "version" : "0.0.1"
734                   },
735                   "nameSpace" : "com.hyperm",
736                   "source" : "POS",
737                   "target" : "APEX",
738                   "parameter" : {
739                      "entry" : [ {
740                         "key" : "amount",
741                         "value" : {
742                            "key" : "amount",
743                            "fieldSchemaKey" : {
744                               "name" : "price_type",
745                               "version" : "0.0.1"
746                            },
747                            "optional" : false
748                         }
749                      }, {
750                         "key" : "assistant_ID",
751                         "value" : {
752                            "key" : "assistant_ID",
753                            "fieldSchemaKey" : {
754                               "name" : "assistant_ID_type",
755                               "version" : "0.0.1"
756                            },
757                            "optional" : false
758                         }
759                      }, {
760                         "key" : "branch_ID",
761                         "value" : {
762                            "key" : "branch_ID",
763                            "fieldSchemaKey" : {
764                               "name" : "branch_ID_type",
765                               "version" : "0.0.1"
766                            },
767                            "optional" : false
768                         }
769                      }, {
770                         "key" : "item_ID",
771                         "value" : {
772                            "key" : "item_ID",
773                            "fieldSchemaKey" : {
774                               "name" : "item_ID_type",
775                               "version" : "0.0.1"
776                            },
777                            "optional" : false
778                         }
779                      }, {
780                         "key" : "notes",
781                         "value" : {
782                            "key" : "notes",
783                            "fieldSchemaKey" : {
784                               "name" : "notes_type",
785                               "version" : "0.0.1"
786                            },
787                            "optional" : true
788                         }
789                      }, {
790                         "key" : "quantity",
791                         "value" : {
792                            "key" : "quantity",
793                            "fieldSchemaKey" : {
794                               "name" : "quantity_type",
795                               "version" : "0.0.1"
796                            },
797                            "optional" : false
798                         }
799                      }, {
800                         "key" : "sale_ID",
801                         "value" : {
802                            "key" : "sale_ID",
803                            "fieldSchemaKey" : {
804                               "name" : "sale_ID_type",
805                               "version" : "0.0.1"
806                            },
807                            "optional" : false
808                         }
809                      }, {
810                         "key" : "time",
811                         "value" : {
812                            "key" : "time",
813                            "fieldSchemaKey" : {
814                               "name" : "timestamp_type",
815                               "version" : "0.0.1"
816                            },
817                            "optional" : false
818                         }
819                      } ]
820                   }
821                }
822             } ]
823          }
824       },
825       "albums" : {
826          "key" : {
827             "name" : "MyFirstPolicyModel_Albums",
828             "version" : "0.0.1"
829          },
830          "albums" : {
831             "entry" : [ ]
832          }
833       },
834       "schemas" : {
835          "key" : {
836             "name" : "MyFirstPolicyModel_Schemas",
837             "version" : "0.0.1"
838          },
839          "schemas" : {
840             "entry" : [ {
841                "key" : {
842                   "name" : "assistant_ID_type",
843                   "version" : "0.0.1"
844                },
845                "value" : {
846                   "key" : {
847                      "name" : "assistant_ID_type",
848                      "version" : "0.0.1"
849                   },
850                   "schemaFlavour" : "Java",
851                   "schemaDefinition" : "java.lang.Long"
852                }
853             }, {
854                "key" : {
855                   "name" : "authorised_type",
856                   "version" : "0.0.1"
857                },
858                "value" : {
859                   "key" : {
860                      "name" : "authorised_type",
861                      "version" : "0.0.1"
862                   },
863                   "schemaFlavour" : "Java",
864                   "schemaDefinition" : "java.lang.Boolean"
865                }
866             }, {
867                "key" : {
868                   "name" : "branch_ID_type",
869                   "version" : "0.0.1"
870                },
871                "value" : {
872                   "key" : {
873                      "name" : "branch_ID_type",
874                      "version" : "0.0.1"
875                   },
876                   "schemaFlavour" : "Java",
877                   "schemaDefinition" : "java.lang.Long"
878                }
879             }, {
880                "key" : {
881                   "name" : "item_ID_type",
882                   "version" : "0.0.1"
883                },
884                "value" : {
885                   "key" : {
886                      "name" : "item_ID_type",
887                      "version" : "0.0.1"
888                   },
889                   "schemaFlavour" : "Java",
890                   "schemaDefinition" : "java.lang.Long"
891                }
892             }, {
893                "key" : {
894                   "name" : "message_type",
895                   "version" : "0.0.1"
896                },
897                "value" : {
898                   "key" : {
899                      "name" : "message_type",
900                      "version" : "0.0.1"
901                   },
902                   "schemaFlavour" : "Java",
903                   "schemaDefinition" : "java.lang.String"
904                }
905             }, {
906                "key" : {
907                   "name" : "notes_type",
908                   "version" : "0.0.1"
909                },
910                "value" : {
911                   "key" : {
912                      "name" : "notes_type",
913                      "version" : "0.0.1"
914                   },
915                   "schemaFlavour" : "Java",
916                   "schemaDefinition" : "java.lang.String"
917                }
918             }, {
919                "key" : {
920                   "name" : "price_type",
921                   "version" : "0.0.1"
922                },
923                "value" : {
924                   "key" : {
925                      "name" : "price_type",
926                      "version" : "0.0.1"
927                   },
928                   "schemaFlavour" : "Java",
929                   "schemaDefinition" : "java.lang.Long"
930                }
931             }, {
932                "key" : {
933                   "name" : "quantity_type",
934                   "version" : "0.0.1"
935                },
936                "value" : {
937                   "key" : {
938                      "name" : "quantity_type",
939                      "version" : "0.0.1"
940                   },
941                   "schemaFlavour" : "Java",
942                   "schemaDefinition" : "java.lang.Integer"
943                }
944             }, {
945                "key" : {
946                   "name" : "sale_ID_type",
947                   "version" : "0.0.1"
948                },
949                "value" : {
950                   "key" : {
951                      "name" : "sale_ID_type",
952                      "version" : "0.0.1"
953                   },
954                   "schemaFlavour" : "Java",
955                   "schemaDefinition" : "java.lang.Long"
956                }
957             }, {
958                "key" : {
959                   "name" : "timestamp_type",
960                   "version" : "0.0.1"
961                },
962                "value" : {
963                   "key" : {
964                      "name" : "timestamp_type",
965                      "version" : "0.0.1"
966                   },
967                   "schemaFlavour" : "Java",
968                   "schemaDefinition" : "java.lang.Long"
969                }
970             } ]
971          }
972       }
973    }
974 }